1、单片机课程设计报告122020年4月19日文档仅供参考 单片机课程设计报告一、 设计要求交通灯模拟控制系统设计利用单片机的定时器定时,令十字路口的红绿灯交替点亮或熄灭,而且用LED数码管显示时间。用8051做输出口,控制十二个发光二极管然灭,模拟交通灯管理。二、 设计内容:因为本课程设计是交通灯的控制设计,因此要了解实际交通灯的变化情况和规律,假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后状态1南北绿灯,东西红灯通车。过一段时间转状态2南北绿灯灭,黄灯闪烁几次,东西依然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯灭,闪几次黄灯,南北依然红灯。最后
2、循环至状态1。注意:双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起。公用负端。当红色正端加高电平,绿色正端加低电平时,红灯亮;反之,绿灯亮;当两端都加高电平时,黄灯亮。三、 设计原理分析 北 人行道人人 西 行 行 东 道 道 人行道 南状态:东西:红50秒,绿45秒,黄5秒。南北:红45秒,绿50秒,黄5秒。列出交通信号灯状态如下表:状态 北西 南 东绿 黄 红绿 黄 红绿 黄 红绿 黄 红00 0 10 0 10 0 10 0 111 0 00 0 11 0 00 0 120 1 00 0 10 1 0 0 0 130 0 11 0 00 0 11 0 040 0 10 1
3、 00 0 10 1 01、对于交通灯信号灯来说你,应该有东西南北共四组灯,但由于同一道上的两组信号灯显示情况是相同的,因此只要有两组就行了,因此,采用单片机内部的I/O口上的P1口中的6个信号灯2、经过编写程序,实现对发光二级管的控制,来模拟交通信号灯的管理。每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。3、经过延时时间送显,能够在原有的交通信号灯系统的基础上,增添倒计时的显示功能,实现其功能扩展。四、硬件资源及其分配主要用到的硬件:P1口、p3口、LED数码管、LED发光二级管、定时器T0硬件分配:1、 P1口:作为输出口,与发光二极管相连接,其状态对应的十六进制值如下:
4、方向 状态 无 东 西 南 北十六进制值说明P1.7 P1.6P1.5P1.4P1.3P1.2P1.1P1.000 0 0 0 1 0 0 109 H全为红灯 1 0 0 0 0 11 0 0 0CH南北绿东西红2 0 0 0 0 10 1 0 0AH南北黄闪东西红0 00 0 1 0 0 0 08H3 0 01 0 0 0 0 1 21H东西绿南北红4 0 00 1 0 0 0 1 11H东西黄闪南北红 0 00 0 0 0 0 1 01H五、交通信号灯模拟控制系统设计程序流程图开始 8051初始化东西黄灯闪烁,南北红灯亮,延时东西绿灯亮,南北红灯亮,延时东西红灯亮,南北黄灯闪烁,延时东西红
5、灯亮,南北绿灯亮,延时四个路口红灯亮六、 交通信号灯模拟控制系统主程序ORG 0000HSJMP A3ORG 0030HA3:MOV SP,#60H ;设栈指针初值MOV A,24HMOV P1,ASETB P3.2CLR P3.3CLR P3.4SETB P3.5MOV R4,#00HMOV R7,#00HMOV R2,03HLCALL X1A2:MOV A,#0CHMOV P1,ASETB P3.2SETB P3.3CLR P3.4CLR P3.5MOV R4,#14HLOOP2: MOV R2,#03HLCALL X1DJNZ R4,LOOP2MOV R2,#03HLCALL X1LOO
6、P8:MOV R2,#03HLCALL X1MOV R4,#05HSETB P3.2CLR P3.3A1:MOV A,#14HMOV P1,ASETB P3.4CLR P3.5MOV R2,#01HLCALL DELAYMOV A,#04HMOV P1,ACLR P3.4CLR P3.5MOV R2,#01HLCALL DELAYDJNZ R4,LOOP8MOV A,#61HMOV P1,ACLR P3.2CLR P3.3CLR P3.4SETB P3.5MOV R4,#14HLOOP3:MOV R2,#03HLCALL X1DJNZ R4,LOOP3MOV R7,#05HSETB P3.5A
7、0:MOV A,#0A2HMOV P1,ACLR P3.2CLR P3.3CLR P3.4MOV R2,01HLCALL DELAYMOV A,#20HMOV P1,ACLR P3.2CLR P3.4MOV R2,#01HLCALL DELAYDJNZ R7,A0LJMP A2DELAY:PUSH 2PUSH 1PUSH 0DELAY1:MOV 1,#00HDELAY2:MOV 0,#0B2HDJNZ 0,$DJNZ 1,DELAY2DJNZ 2,DELAY1POP 0POP 1POP 2DJNZ R2,DELAYRETX1:MOV A,R4MOV B,#10DIV ABMOV R6,AMOV
8、 DPTR,#TABMOV A,BMOVC A,A+DPTRMOV SBUF,AMOV R7,#0FHH55S:DJNZ R7,H55SMOV A,R6MOVC A,A+DPTRMOV SBUF,AMOV R7,#0FHH55S1:DJNZ R7,H55S1LCALL DELAYRETTAB:DB 0fch,60h,0dah,0f2h,66h,0bch,0e0h DB 0fch,0f6h,0eeh,3ch,9ch,7ah,9ch,8chEnd七、 交通信号灯模拟控制系统原理图软件调试是经过对拥护对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。程序后,编辑看程序是否有逻辑错误。八 课程设计体会:经过这一个星期的课程设计,我对单片机有了更深的体会,我了解了编程和单片机接口的使用。这次设计是经过单片机的输入输出接口来控制交通灯。能够说式比较顺利,只是模仿其它的编程思路。再加上自己的思想来满足这次设计的需求。 经过这次的设计,对单片机的输入输出条件有更深的理解。对单片机各个管脚的功能的理解也加深了,以及在常见编程方面有了更大的一个进步,这次的课程设计让我把单片机的理论用于实践,实现了理论和实践相结合。从中更懂得理论是实践的基础,实践能检验理论的正确性。让我受益匪浅。对以后参加工作或者继续学习将会有很大的影响。、