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