单片机 流水灯程序 汇编语言
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ORG 0000H
LJMP START
ORG 0003H ;外部中断1
LJMP INT
ORG 100H
START:
mov TMOD ,#10H ;定时器1模式1
SETB TR1 ;启动定时器1
MOV A,#0FEH
SETB IT0 ;外部中断0下降沿触发
SETB EX0 ;外部中断0允许
SETB EA ;开总允许
MOV R4,#25
LOOP:
MOV TL1,#0E0H
MOV TH1,#0B1H ;定时器赋初值,定时20毫秒
JNB TF1,$ ;查询式,T1没有溢出就等待
CLR TF1
DJNZ R4,LOOP ;25个20毫秒的中断后,即0.5秒后点亮下一个灯RR A
MOV P1,A
MOV R4,#25
SJMP LOOP
INT: ;中断程序,
PUSH ACC ;累加器A入栈
CLR TR1
MOV A,#0ADH ;灯全亮
MOV P1,A
LCALL DELAY1S
MOV A,#0DAH ;灯全亮
MOV P1,A
LCALL DELAY1S
MOV A,#0ADH ;灯全亮
MOV P1,A
LCALL DELAY1S
POP ACC ;累加器A出栈
MOV P1,A
SETB TR1
RETI
DELAY1S:MOV R1,#100
DELAY:MOV R2,#100
DEL1: MOV R3,#100
DEL2: DJNZ R3,DEL2
DJNZ R2,DEL1
DJNZ R1,DELAY RET
END