资源描述:
《基于唐都实验箱的交通灯设计(汇编)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、接口技术——交通灯交通信号灯设计——基于唐都实验箱班级:XXXXXXX队员:XXXXXXXXXXX接口技术——交通灯摘要:本次试验主要是实现了微机原理与接口技术的重要应用之一——交通灯的设计与实现,主要是模拟十字路口的红绿灯,以及同步人行道。本次试验主要是在对原先实验的复习总结基础之上,进行进一步的综合应用。主要用到的芯片有可编程并行通信接口芯片8255,可编程中断控制器8259A以及可编程计数器/定时器8254。在设计中所用到的编程语言是汇编语言,设计所用到的设备是由西安唐都科技仪器公司生产的实验系统一套。在实验室将汇编程序调试通过后即可看到设计的结果。关键字:交通
2、灯,汇编接口技术——交通灯目录摘要实验目的。。。。。。。。。。。。。。。。。。。。。。。。。。。1实验原理。。。。。。。。。。。。。。。。。。。。。。。。。。。1硬件连接图。。。。。。。。。。。。。。。。。。。。。。。。。。。2软件流程图。。。。。。。。。。。。。。。。。。。。。。。。。。。3实验结果及分析。。。。。。。。。。。。。。。。。。。。。。。。。。。4总结。。。。。。。。。。。。。。。。。。。。。。。。。。。4附录:完整代码。。。。。。。。。。。。。。。。。。。。。。。。。。。5接口技术——交通灯一、实验目的基于唐都实验箱的相关模块,进行交通信号灯的设计(含
3、人行道),能够支持手动设置主路以及支路的时间。实验模拟图二、实验原理主要是模拟十字路口的红绿灯,以及同步人行道。正常情况下,两路口轮流放行。本实验主要用到的芯片有可编程并行通信接口芯片8255,可编程中断控制器8259A以及可编程计数器/定时器8254。通过认真学习了以前的8259A中断级联实验,8254定时/计时实验,8255并行接口实验,流水灯显示实验以及键盘扫描及显示设计实验。基于在试验中获得的知识,进行交通灯的设计。我们用定时器8254产生秒脉冲,用中断控制器8259A控制产生中断,用并行接口芯片8255完成键盘的输入以及LED数码管的时间显示,并完成LED灯
4、的点亮。实验原理简单明了。~15~接口技术——交通灯一、硬件连接图~15~接口技术——交通灯一、软件流程图~15~接口技术——交通灯一、完整结果及分析在试验箱中我们看到,完全模拟了交通灯的实际情况。每个状态都是按照预先设置的时间运行,人行道也同步运行正常。当然设计中有些不足之处,设置时间的时候是从预先设置的时间倒计时,计时到0过后才会发生状态的变化,从而使得实际的运行时间比预先设置的时间总是多1秒。但是不是很大的问题,通过软件编程完全可以解决。二、总结通过此次实验设计,结合所学的《接口技术》这门课程的基础知识,在以前相关实验的基础之上,完整的实现了其重要的应用之一,交
5、通灯的设计。首先,要把握整个的设计的大概的流程,然后再对每一小块进行设计,最后进行调试。在本次设计的过程中,认识到了很重要的一点,就是是要熟悉可编程并行通信接口芯片8255的初始化及其端口的使用。总体感觉收获比较多,在将书本上的知识应用到了实践当中的过程中,翻阅资料提高了自学能力,和同学一起讨论汲取别人的长处。每小组两个人的分工也比较重要,团队合作能力也有所提高。对以后的实践会有很大的帮助。~15~接口技术——交通灯附录:完整代码MY8255_AEQU0600HMY8255_BEQU0602HMY8255_CEQU0604HMY8255_CONEQU0606HA825
6、4EQU06C0HB8254EQU06C2HC8254EQU06C4HCON8254EQU06C6HSSTACKSEGMENTSTACKDW16DUP(?)SSTACKENDSDATASEGMENTDTABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,6FH,77H,7CH,39H,5EH,79H,00HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXNEXT11:CLIMOVSI,3000HMOVAL,00HMOV[SI],AL;清显示缓冲MOV[SI
7、+1],ALMOV[SI+2],ALMOV[SI+3],ALMOV[SI+4],ALMOV[SI+5],ALMOVDI,3005HMOVDX,MY8255_CON;写8255控制字MOVAL,81HOUTDX,ALBEGIN:CALLDIS;调用显示子程序CALLCLEAR;清屏CALLCCSCAN;扫描JNZINK1JMPBEGININK1:CALLDISCALLDALLY~15~接口技术——交通灯CALLDALLYCALLCLEARCALLCCSCANJNZINK2;有键按下,转到INK2JMPBEGIN;====================