单片机循环灯控制设计 第3页
软件电路设计
2.1 程序流程图
2.2 程序清单
程序如下: ORG 0000H
AJMP START
ORG 0003H ; 外部中断向量地址
AJMP DELAY
START:
MOV R2,#10 ; 设定闪烁次数
MOV A,#00H ;上电后八个灯口置0
SETB EA ;开中断
SJMP DELAY
SJMP $ ;等待中断
LOOP:
MOV A,#01H ;P1.0口送1
MOV P1,A
LCALL DELAY ;延时100ms
RLC A ;左移一位
DJNZ R2, LOOP ;判断是否闪烁10次
LOOP1:
751com.cn
烁10次
LJMP START
DELAY:
MOV TMOD,#10H ;定时器1工作方式1
MOV TH1,#3CH ;设置计数初值
MOV TL1,#0B0H
SETB EA ; 开中断
SETB TR1 ; 定时器1允许中断
LOOP2:
JB TF1,LOOP3 ;查询溢出标志,TF1=1时转移
SJMP LOOP2
LOOP3:
CLR TR1
MOV TH1,#3CH ; 重新设置计数初值
MOV TL1,#0B0H
CPL P1.0 ; 输出取反
RETI ; 中断返回
END