ORG 30H ;初始化地址
START:MOV SP,#5FH ;初始化堆棧
MOV P2,#0ffH ;將P2端口打開(位)
MOV P3,#0FFH ;將P3端口打開(位)
L1:JNB P3.2,L2 ;P3.2上接有一只按鈕,它按下時,P3.2=0(字)
JNB P3.3,L3 ;P3.3上接有一只按鈕,它按下時,P3.3=0(字)
LJMP L1 ;跳轉到L1
L2:lJMP YS1MS ;閃爍1秒
LJMP L1 ;跳轉到L1
L3:LJMP YS10MS ;閃爍10秒
LJMP L1 ;跳轉到L1
YS1MS:MOV p0,#07FH ; 給數碼管置數“.”
MOV p2,#0FFH ; 打開八個數碼管“.”給整個P2口打開
LCALL DELAY ; 調用延時子程序
mov p2,#00H ; 關閉八個數碼管“.”
LCALL DELAY ; 調用延時子程序
LJMP YS1MS ; 返回
YS10MS:MOV P0,#07FH ;給數碼管置數“.”
MOV P2,#0FFH ;打開八個數碼管“.”給整個P2口打開
LCALL DELAY10MS ;調用延時子程序
MOV P2,#00H ;關閉八個數碼管“.”
LCALL DELAY10MS ;調用延時子程序
LJMP YS10MS ;返回
;延時1秒子程序
DELAY:MOV R7,#250 ;把250送入工作寄存器R7
D1:MOV R6,#250 ;把250送入工作寄存器R6
D2:DJNZ R6,D2 ;工作寄存器R6每次減1,即執行250次
DJNZ R7,D1 ;工作寄存器R7每次減1,即執行250次
RET ;返回調用子程序
;延時10秒子程序
DELAY10MS:MOV R5,#10 ; 把10送入工作寄存器R5
dd1:LCALL DELAY ; 調用
DJNZ R5,dd1 ; 工作寄存器R5每次減1,即執行10次
RET ; 返回調用子程序
END ; 結束
單片機網www.zg4o1577.cn 第12群 模留哥的作品,歡迎轉載,保留版權。