1樓:做而論道
雙擊功能。
統計《按鍵釋放》到《下次按鍵》的時間,很簡單的。
**********===
;下列程式,已經經過實驗檢測,可以滿足題目要求:
;---------------------------------------------
led equ p3.5
key equ p3.7
org 0000h
ljmp start
org 0030h
start:
jb key, $
call delay10ms
jb key, start
jnb key, $
dan_ji:
call delay10ms
mov r2, #20
k_loop:
call delay10ms
jnb key, shuang_ji
djnz r2, k_loop
sjmp start
shuang_ji:
call delay10ms
jb key, dan_ji
cpl led
jnb key, $
sjmp start
;-------------------------delay10ms:
mov r6, #20
djnz r7, $
djnz r6, $ - 2
ret;-------------------------end題目的要求,十分簡單,不用定時器就可以完成。
按照本程式的思路、方法,編寫《單擊》、《長按》、《雙擊》、《三連擊》的程式,都不是難事。
2樓:匿名使用者
一分都不給,太吝嗇了吧?
你要先告訴我,51微控制器用什麼晶振,最好有個電路貼圖,按鍵是上拉觸發還是下拉觸發?按鍵是否並有電容。
3樓:匿名使用者
key equ p1.0
led equ p1.1
org 0000h
ljmp main
org 000bh
ljmp t0isr
org 0030h
main:
mov sp,#5fh
mov tmod,#01h
mov th0,#high(65536-40000)mov tl0,#low(65536-40000)setb et0
setb ea
clr a
loop:
clr 00h
clr tr0
jb key,loop
setb tr0
loop1:
jb 00h,loop
jb key,loop1
cpl led
sjmp loop
t0isr:
clr tr0
mov th0,#high(65536-40000)mov tl0,#low(65536-40000)setb tr0
inc a
cjne a,#10,t0e
clr a
setb 00h
t0e:
retiend
急求一個微控制器控制一個led燈發光的彙編程式,啟動時led發光有按鍵按下燈熄滅
微控制器用組合語言編寫一個。用十個按鈕分別控制十個燈。比如:按下按鈕k1 led1燈亮。按下"
4樓:
檢測是否有按鍵按下,相應的指示燈點亮,並熄滅其它的指示燈。至於10s鎖住其他按鈕,如果程式不做其它的事情,最簡單的方法就是點亮指示燈後延時10s,再回到主函式掃描其它按鍵即可
微控制器怎麼實現一個開關控制八個燈按一下亮一個按八下八個燈都亮組合語言程式
5樓:做而論道
;一個開關控制八個燈
;按一下亮一個
;按八下八個燈都亮
;按鍵接在p1.0
;八個燈在p0,低電平燈亮
key equ p1.0
org 0000h
mov a, #11111111b
wait:
mov p0, a
jb key, $
djnz r7, $
djnz r7, $
jb key, wait
jnb key, $
clr c
rlc a
jc wait
jmp 0000hend
6樓:匿名使用者
c語言才會,彙編不會。。。。。
一個io作key,再用一個全域性變數判斷亮燈狀態,隨按鍵反轉。另外可以使用一p1 io連線8個led
7樓:
用一個暫存器做變數就可以。
假如按鍵是一個開個,接在p1.0,八個燈在p0,低電平燈亮程式是這樣的
mov 30h ,#00
lop :
setb p1.0
jnb p1.0, press
ajmp lop
press:
inc 30h
mov a,30h
cjne a,#9,l_next
mov 30h,#1
l_next:
jnb p1.0,$
mov a,30h
cjne a,#1 ,led1_on
cjne a,#2, led2_on
cjne a,#3, led3_on
cjne a,#4, led4_on
cjne a,#5, led5_on
cjne a,#6, led6_on
cjne a,#7, led7_on
cjne a,#8, led8_on
ljmp lop
led1_on: mov p0,#0feh //亮一個燈ljmp lop
led2_on: mov p0,#0fdh //亮一個燈ljmp lop
led3_on: mov p0,#0f8h //亮一個燈ljmp lop
led4_on: mov p0,#0f0h //亮一個燈ljmp lop
led5_on: mov p0,#0e0h //亮一個燈ljmp lop
led6_on: mov p0,#0d0h //亮一個燈ljmp lop
led7_on: mov p0,#080h //亮一個燈ljmp lop
led8_on: mov p0,#00h //亮一個燈ljmp lop
微控制器組合語言程式設計,全國微控制器組合語言程式設計師
org 0000h main mov dptr,3000h clr r0 clr r1 clr r2 mov r3,100 loop mov a,dptr clr c cjne a,0h,loop1 inc r0 djnz r3,loop loop1 rl a jc fushu inc r1 djn...
組合語言微控制器,組合語言怎麼寫入微控制器
rlc 是帶進位的迴圈左移,rlc a即將a的內容左移一位,將進位位c中的值移到累加器a的最低位,a的最高位移到c裡。譬如說 設a 01000001,c 1 則如果執行rl 則a 10000010,c 1 a所有位左移一位,最低位補零,c不參加移位操作,保持原值不變 如果執行rlc後,則a 1000...
52微控制器的keil程式?題目 中斷按鍵控制秒錶的走停。要求 按鍵必須使用中斷秒錶必須使用定
c語言編寫和製作還是很困難的。求微控制器大神 寫10s的秒錶程式,用三個按鍵分別控制秒錶啟動 停止 清零 要求 使用定時器0定時,50 52微控制器不用定時中斷如何實現60s秒錶功能 怎麼用微控制器組合語言設計按鍵控制秒錶的啟動和停止 很急 你要是用的硬體中斷作為計時訊號的話,加一個更高優先順序的中...