汇编语言交通灯

上传人:kms****20 文档编号:41047148 上传时间:2018-05-28 格式:DOC 页数:8 大小:33.50KB
返回 下载 相关 举报
汇编语言交通灯_第1页
第1页 / 共8页
汇编语言交通灯_第2页
第2页 / 共8页
汇编语言交通灯_第3页
第3页 / 共8页
汇编语言交通灯_第4页
第4页 / 共8页
汇编语言交通灯_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《汇编语言交通灯》由会员分享,可在线阅读,更多相关《汇编语言交通灯(8页珍藏版)》请在金锄头文库上搜索。

1、汇编语言交通灯汇编语言交通灯SECOND1EQU30H;东西路口计时寄存器SECOND2EQU31H;南北路口计时寄存器 DBUFEQU40H;显示码缓冲区 1TEMPEQU44H;显示码缓冲区 2LED_G1BITP2.1;东西路口绿灯LED_Y1BITP2.2;东西路口黄灯LED_R1BITP2.0;东西路口红灯LED_G2BITP2.5;南北路口绿灯LED_Y2BITP2.6;南北路口黄灯LED_R2BITP2.4;南北路口红灯ORG0000HLJMPSTARTORG0100HSTART:MOVTMOD,#01H;置 T0 为工作方式 1MOVTH0,#3CH;置 T0 定时初值 50m

2、sMOVTL0,#0B0HCLRTF0SETBTR0;启动 T0CLRAMOVP1,A;关闭不相关的 LED;*LOOP: MOVR2,#20;置 1s 计数初值,50ms*20=1sMOVR3,#20;红灯亮 20sMOVSECOND1,#25;东西路口计时显示初值 25sMOVSECOND2,#25;南北路口计时显示初值 25sLCALL DISPLAYLCALL STATE1;调用状态 1WAIT1:JNBTF0,WAIT1;查询 50ms 到否CLRTF0MOVTH0,#3CH;恢复 T0 定时初值 50msMOVTL0,#0B0HDJNZR2,WAIT1;判断 1s 到否?未到继续状

3、态 1MOVR2,#20;置 50ms 计数初值 DECSECOND1;东西路口显示时间减 1sDECSECOND2;南北路口显示时间减 1sLCALL DISPLAYDJNZR3,WAIT1;状态 1 维持 20s;*MOVR2,#5;置 50ms 计数初值5*4=20MOVR3,#3;绿灯闪 3sMOVR4,#4;闪烁间隔 200msMOVSECOND1,#5;东西路口计时显示初值 5sMOVSECOND2,#5;南北路口计时显示初值 5sLCALL DISPLAYWAIT2:LCALL STATE2;调用状态 2JNBTF0,WAIT2;查询 50ms 到否CLRTF0MOVTH0,#3

4、CH;恢复 T0 定时初值 50msMOVTL0,#0B0HDJNZR4,WAIT2;判断 200ms 到否?未到继续状态 2CPLLED_G1;东西绿灯闪MOVR4,#4;闪烁间隔 200msDJNZR2,WAIT2;判 1s 到否?未到继续状态 2MOVR2,#5;置 50ms 计数初值DECSECOND1;东西路口显示时间减 1sDECSECOND2;南北路口显示时间减 1sLCALL DISPLAYDJNZR3,WAIT2;状态 2 维持 3s;*MOVR2,#20;置 50ms 计数初值MOVR3,#2;黄灯闪 2sMOVSECOND1,#2;东西路口计时显示初值 2sMOVSECO

5、ND2,#2;南北路口计时显示初值 2sLCALL DISPLAYWAIT3:LCALL STATE3;调用状态 3JNBTF0,WAIT3;查询 100ms 到否CLRTF0MOVTH0,#3CH;恢复 T0 定时初值 100msMOVTL0,#0B0HDJNZR2,WAIT3;判断 1s 到否?未到继续状态 3MOVR2,#20;置 100ms 计数初值DECSECOND1;东西路口显示时间减 1sDECSECOND2;南北路口显示时间减 1sLCALL DISPLAYDJNZR3,WAIT3;状态 3 维持 2s;*MOVR2,#20;置 50ms 计数初值MOVR3,#20;红灯闪 2

6、0sMOVSECOND1,#25;东西路口计时显示初值 25sMOVSECOND2,#25;南北路口计时显示初值 25sLCALL DISPLAYWAIT4:LCALL STATE4;调用状态 4JNBTF0,WAIT4;查询 100ms 到否CLRTF0MOVTH0,#3CH;恢复 T0 定时初值 100msMOVTL0,#0B0HDJNZR2,WAIT4;判断 1s 到否?未到继续状态 4MOVR2,#20;置 100ms 计数初值DECSECOND1;东西路口显示时间减 1sDECSECOND2;南北路口显示时间减 1sLCALL DISPLAYDJNZR3,WAIT4;状态 4 维持

7、20s;*MOVR2,#5;置 50ms 计数初值MOVR4,#4;红灯闪 20msMOVR3,#3;绿灯闪 3sMOVSECOND1,#5;东西路口计时显示初值 5sMOVSECOND2,#5;南北路口计时显示初值 5sLCALL DISPLAYWAIT5:LCALL STATE5;调用状态 5JNBTF0,WAIT5;查询 100ms 到否CLRTF0MOVTH0,#3CH;恢复 T0 定时初值 100msMOVTL0,#0B0HDJNZR4,WAIT5;判断 200ms 到否?未到继续状态 5CPLLED_G2;南北绿灯闪MOVR4,#4;闪烁 200msDJNZR2,WAIT5;判断

8、1s 到否?未到继续状态 5MOVR2,#5;置 100ms 计数初值DECSECOND1;东西路口显示时间减 1sDECSECOND2;南北路口显示时间减 1sLCALL DISPLAYDJNZR3,WAIT5;状态 5 维持 3s;*MOVR2,#20;置 50ms 计数初值MOVR3,#2;红灯闪 2sMOVSECOND1,#2;东西路口计时显示初值 2sMOVSECOND2,#2;南北路口计时显示初值 2sLCALL DISPLAYWAIT6:LCALL STATE6;调用状态 6JNBTF0,WAIT6;查询 100ms 到否CLRTF0MOVTH0,#3CH;恢复 T0 定时初值

9、100msMOVTL0,#0B0HDJNZR2,WAIT6;判断 1s 到否?未到继续状态 6MOVR2,#20;置 100ms 计数初值DECSECOND1;东西路口显示时间减 1sDECSECOND2;南北路口显示时间减 1sLCALL DISPLAYDJNZR3,WAIT6;状态 6 维持 2sLJMPLOOP;大循环;*STATE1:;状态 1SETBLED_G1;东西路口绿灯亮CLRLED_Y1CLRLED_R1CLRLED_G2CLRLED_Y2SETBLED_R2;南北路口红灯亮RETSTATE2:;状态 2CLRLED_Y1CLRLED_R1CLRLED_G2CLRLED_Y2

10、SETBLED_R2;南北路口红灯亮RETSTATE3:;状态 3CLRLED_G1CLRLED_R1CLRLED_G2CLRLED_Y2SETBLED_R2;南北路口红灯亮SETBLED_Y1;东西路口绿灯亮RETSTATE4:;状态 4CLRLED_G1CLRLED_Y1SETBLED_R1;东西路口红灯亮SETBLED_G2;南北路口绿灯亮CLRLED_Y2CLRLED_R2RETSTATE5:;状态 5CLRLED_G1CLRLED_Y1SETBLED_R1;东西路口红灯亮CLRLED_Y2CLRLED_R2RETSTATE6:;状态 6CLRLED_G1CLRLED_Y1SETBLE

11、D_R1;东西路口红灯亮CLRLED_G2CLRLED_R2SETBLED_Y2;南北路口红灯亮RETDISPLAY:;数码显示MOVA,SECOND1;东西路口计时寄存器MOVB,#10;16 进制数拆成两个 10 进制数DIVABMOVDBUF+3,AMOVA,BMOVDBUF+2,AMOVA,SECOND2;南北路口计时寄存器MOVB,#10;16 进制数拆成两个 10 进制数DIVABMOVDBUF+1,AMOVA,BMOVDBUF,AMOVR0,#DBUFMOVR1,#TEMPMOVR7,#4DP10: MOVDPTR,#LEDMAPMOVA,R0MOVCA,A+DPTRMOVR1,AINCR0INCR1DJNZR7,DP10MOVR0,#TEMPMOVR1,#4DP12: MOVR7,#8MOVA,R0DP13: RLCAMOVP3.0,CCLRP3.1SETBP3.1DJNZR7,DP13INCR0DJNZR1,DP12RETLEDMAP:DB 3FH,06H,5BH,4FH,66H,6DH;0,1,2,3,4,5DB 7DH,07H,7FH,6FH,77H,7CH;6,7,8,9,A,BDB 58H,5EH,7BH,71H,0,40H;C,D,E,F, ,-END

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号