智能交通灯单片机课程设计报告(4)

2019-04-13 19:04

关总中断 保存数据 开启相应信号灯 纵向通行 显示状态 延时到? 是 恢复数据 RET

紧急中断程序流程图5-2

5.3程序清单 程序如下:

ORG 0000H

LJMP MAIN ORG 001BH ;定时器T1中断入口 LJMP KK

ORG 0100H ;主程序入口 MAIN:

MOV SP,#60H

MOV TMOD,#10H ;定时器T1工作在方式1 MOV TH1,#9EH ;给定时器T1赋初值 MOV TL1,#58H SETB EA ;开中断系统总开关 SETB ET1 ;开定时器T1中断开关 SETB TR1 ;启动定时器T1 HERE:

16

MOV 88H,#15H ;设置中断循环次数 MOV 33H,#10H ;设置倒计时显示数值 MOV P1,#0F3H ;使交通灯东西绿,南北红 MOV R7,#0AH MM:

LCALL DISP MOV A,P3 ;键盘扫描 CJNE A,#0FFH, READKEY DJNZ R7, MM MOV P1,#0E1H ;交通灯东西绿,南北红同时加亮黄灯 MOV 20H,#02H NN:

MOV A,P3

CJNE A,#0FFH,READKEY SETB P1.1 ;黄灯进行闪烁5s SETB P1.4 LCALL DISP CLR P1.1 CLR P1.4 LCALL DISP ;调显示子程序 DJNZ 20H,NN SETB P1.1 SETB P1.4 LCALL DISP MOV P1,#0DEH ;交通灯南北绿,东西红 MOV R7,#0AH PP:

LCALL DISP MOV A,P3

CJNE A,#0FFH,READKEY DJNZ R7,PP

MOV P1,#0CCH ;交通灯南北绿,东西红同时加亮黄灯 MOV 20H,#02H QQ:

MOV A,P3 ;扫描P3口 CJNE A,#0FFH,READKEY SETB P1.1 SETB P1.4 LCALL DISP CLR P1.1 CLR P1.4 LCALL DISP CLR P1.1 CLR P1.4

17

LCALL DISP DJNZ 20H,QQ SETB P1.1 SETB P1.4 LCALL QW QW:

SJMP HERE RET

DELAY:MOV R1, #0AH DELAY0:MOV R2, #0C8H DELAY1:MOV R3, #0F8H NOP

DELAY2:DJNZ R3, DELAY2 DJNZ R2, DELAY1 DJNZ R1, DELAY0 RET

READKEY:

MOV A,#0FFH MOV P3,A MOV A,P3

JNB ACC.0, K1 ;判断K1键是否按下 JNB ACC.1, K2 ;判断K2键是否按下 JNB ACC.6, K3 ;判断K3键是否按下 RET K1:

MOV P0,#0FFH ;判断倒计时显示装置 MOV P2,#0FFH LCALL XX LCALL YY

SJMP READKEY K2:

MOV P0,#0FFH ;关断倒计时显示装置 MOV P2,#0FFH LCALL XX LCALL YY1

SJMP READKEY K3:

MOV P0,#0FFH ;关断倒计时显示装置 MOV P2,#0FFH LCALL XX LCALL YY2

SJMP READKEY XX:

18

MOV 20H,#05H LCALL BB RET BB:

SETB P1.1 SETB P1.4

LCALL DELAY CLR P1.1 CLR P1.4

LCALL DELAY DJNZ 20H,BB RET YY:

MOV P1,#0F6H ;四个路口均变为红灯 MOV A,#0FFH MOV P3,A MOV A,P3 JNB ACC.0,YY ;判断K2键是否仍然按下 LCALL QW YY1:

MOV P1,#0F3H ;东西方向亮绿灯,南北方向亮红灯 MOV A,#0FFH MOV P3,A MOV A,P3

JNB ACC.1,YY1 ;判断K2键是否仍然按下 LCALL QW YY2:

MOV P1,#0DEH ;南北方向亮绿灯,东西方向亮红灯 MOV A,#0FFH MOV P3,A MOV A,P3

JNB ACC.6,YY2 ;判断K3键是否仍然按下 LCALL QW RET

KK:

DEC 88H

MOV A, 88H CJNE A, #01H,BN MOV 88H, #15H LCALL DISP BN:

MOV TH1,#9EH ;重新给定时器T1赋初值 MOV TL1,#58H

19

RETI

DISP:

DEC 33H MOV A,33H

CJNE A,#01H,DIR1 MOV 33H,#10H DIR1:

MOV B,#0AH DIV AB ;提取出倒计时数值的十位和个位数 MOV DPTR,#TAB ;字形表的入口地址

MOVC A,@A+DPTR ;查表获取十位数的字型码 MOV 30H,A MOV A,B

MOVC A,@A+DPTR ;查表获取个位数的字型码 MOV 31H,A MOV A,30H MOV P0,A ;将十位数字型码送到P0口 MOV A, 31H MOV P2,A ;将十位数字型码送到P2口 LCALL DELAY RET

TAB: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H END

20

心得体会

在这次课程设计中,我有很深刻的体会,我学习到的知识有很多,在此提高了我获取知识的能力和解决问题的能力,同时也提高了自己群体意识和团队精神。选取了题目后和同学一起从图书馆借阅一些参考资料,和同学一起认真地挑选每一个方案以及讨论方案的可行性,确定好方案。接下来到塞格电子城购买作品所需的元件,画电路草图,这都是一个非常有必要的过程,因为后面电路板的排线安装以及焊接才能更好的进行,因为在电路板上布线不像在protel软件上一样,实物焊接时会出现较多的跳线问题。其实在这里的每一步都得一步一步的进行,如果是不够认真处理,也有可能导致作品的失败,而最后会难以检查。编程调试,在整个程序的编写过程中,研究每个子程序是否好使,我是通过Keil C和proteus两个软件来实现的。接下来就是硬件连接调试。在调试的时候虽然有一些问题,但在老师和同学的帮助下,都基本上得到了解决。在讨论每个问题的我们都是非常的投入。这整一系列的制作过程都充实了我。在这个课题中也了解到了很多不同电路的工作原理,同时也可提高自己对实物制作的水平,在制作的过程中有很多容易被忽略或被忽视的问题,都是成功与否的关键,需要我们细心去品味,只有自己亲身尝试过才会有更加深刻的了解,了解那一些方法,收获从这一过程中产生的经验和感触,将学到的知识应用到实践中去后。还有,感谢老师及所有本专业同学们给我的指导和分析,谢谢你们的建议。谢谢!

实验参考文献:

江力主编《单片机原理与应用技术》清华大学出版社2006年第1版 李萍主编《AT89C51单片机原理开发与实例应用》中国电力出版社2008年第1版

林高主编《单片机应用实例开发》西安电子科技大学出版社 2009年第1版

黄智伟主编《单片机课程设计指导》北京航空航天大学出版社2007年第1版

21


智能交通灯单片机课程设计报告(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中考英语总复习第一部分教材知识研究七下Units13试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: