单片机课程设计——交通信号灯详解.ppt
文本预览下载声明
ACALL DE5MS ; 延时5ms以点亮数码管 MOV A,21H ; 支干道方向要显示时间移到寄 存器A MOV DPTR,#TAB ; 要显示的数字代码表首地址 MOV B,#10 DIV AB ; 要显示的时间与10相除,求出个 位和十位 MOVC A,@A+DPTR ; 找到十位的显示代码 MOV P1, ; 选择支干道数码管的十位片选 MOV P0,A ; 送出十位显示代码 ACALL DE5MS ; 延时5ms以点亮数码管 MOV A,B ; 把个位数移到寄存器A MOVC A,@A+DPTR ; 找到个位的显示代码 MOV P1, ; 选择支干道数码管的个位片选 MOV P0,A ; 送出个位显示数码 ACALL DE5MS DJNZ R7,RP1 ; 是否已循环25次 RET 主干道直行黄灯的时间显示子程序 DISP4:MOV P0,#00 ; 熄灭数码管 MOV R7,#25 ; 以下调用两次0.01S延时程序 RP4:MOV A,22H ; 要显示的时间移到寄存器A MOV DPTR,#TAB ; 要显示的数字代码表首地址 MOV B,#10 DIV AB ; 要显示的时间10相除,求出十 位和个位 MOVC A,@A+DPTR ; 找到十位的显示代码 MOV P1, ; 选择主干道数码管十位片 MOV P0,A ; 送出十位显示代码 ACALL DE5MS ; 延时5ms以点亮数码管 MOV A,B ; 把个位数移到寄存器A MOVC A,@A+DPTR ; 找到个位数显示代码 MOV P1, ;选择南北数码管个位片选 MOV P0,A ; 送出个位数显示代码 ACALL DE5MS ; 延时5ms以点亮数码管 MOV A,21H MOV DPTR,#TAB ; 要显示的数字代码表首地址 MOV B,#10 DIV AB ; 要显示的时间与10相除,求出个 位和十位 MOVC A,@A+DPTR ; 找到十位的显示代码 MOV P1, ; 选择东西数码管的十位片选 MOV P0,A ; 送出十位显示代码 ACALL DE5MS ; 延时5ms以点亮数码管 MOV A,B ; 把个位数移到寄存器A MOVC A,@A+DPTR ; 找到个位的显示代码 MOV P1, ; 选择东西数码管的个位片选 MOV P0,A ; 送出个位显示数码 ACALL DE5MS DJNZ R7,RP4 RET 支干道左转弯黄灯的时间显示子程序 DISP2:MOV
显示全部