?? 0000000.asm
字號:
;2051單片機P3口的低4位做流水燈輸出,分三種方式點亮,-----S1 控制點亮;
org 00h
start: mov a,#0ffh
mov p3,a
mov 20h,#00h
key :mov p3,#0ffh
mov a,#11110111b ;P2.3=0,掃描S1鍵;
mov p2,a
mov a,p2
jnb acc.4,setm ;若P2.4=0,說明S1被按下,轉(zhuǎn)setm
ajmp st
setm: lcall de5ms
mov a,p2
jnb acc.4,st
ajmp key
st: setb 00h
lamp :mov a,#0ffh
mov p3,a
jb 00h,fun0
jb 01h,fun1
jb 02h,fun2
ajmp lamp
fun0:mov r5,#12 ;逐次點亮
loop0:mov a,#0f0h
mov p3,a
call delay
mov a,#0feh
loop00:mov p3,a
call delay
jnb acc.3,loop0
rl a
anl a,p3
orl a,#0f0h
djnz r5,loop00
mm0:clr 00h
setb 01h
ljmp lamp
fun1 :mov a,#0f0h ;間隔點亮
mov p3,a
call delay
mov r7,#12
loop1:mov a,#0feh
loop11:mov p3,a
call delay
jnb acc.3,loop1
rl a
djnz r7,loop11
mm1:clr 01h
setb 02h
ljmp lamp
fun2:mov r6,#12 ;輪流點亮
mov a,#0f0h
mov p3,a
call delay
loop2:mov a,#0fah
loop22:mov p3,a
call delay
cpl a
orl a,#0f0h
mov p3,a
djnz r6,loop22
mm2: clr 02h
setb 00h
ljmp key
de5ms:mov r5,#60 ;5ms
x1:mov r4,#248
djnz r4,$
djnz r5,x1
ret
delay:mov r2,#50
d1:mov r1,#20
d2:mov r3,#248
djnz r3,$
djnz r1,d2
djnz r2,d1
ret
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -