- 5
- 0
- 约4.25千字
- 约 8页
- 2016-08-21 发布于贵州
- 举报
单片机课程设计报告
一、设计目的
1、通过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。
2、通过交通信号灯控制系统的设计,掌握定时/计数哭的使用方法,和简单程序的编写,最终提高我们的逻辑抽象能力。
二、设计任务和要求
任务:设计一个能够控制十二盏交通信号灯的模拟系统
要求:利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并用LED灯显示倒计时间。
三、设计原理分析
1、首先了解实际交通灯的变化情况和规律。假设一个十字路口如上图所以,为东南西北走向。初始状态0为东西南北都红灯亮。然后转状态1东西绿灯通车,南北红灯亮。过一段时间后,转状态2,东西绿灯灭,黄灯闪几下,南北还是红灯。再转状态3,南北绿灯通车,东西红灯亮。过一段时间后转状态4,南北绿灯灭,闪几个黄灯,东西还是为红灯亮,一段时间后,又循环至状态1。
列出交通信号灯的状态表如下:(其中,1代表灯亮,0代表灯灭)
状态 北 西 南 东 绿黄红 绿黄红 绿黄红 绿黄红 0 001 001 001 001 1 001 100 001 100 2 001 010 001 010 3 100 001 100 001 4 010 001 010 001
2、对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的信号灯的显示情况是相同的,所以只要用两组就行了,因此,采用单片机内部的I/O口上的P1口中的6个引脚即可来控制6个信号灯。
3、通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。
4、通过延时时间送显,可以在原有的交通信号灯系统的基础上,增添其倒计时间的显示功能,实现其功能的扩展。
四、硬件资源及其分配
主要用到的硬件:P1口、P3口、LED数码管、LED发光二级管、定时器T0
硬件分配:
1、P1口:做为输出口,与发光二极管相连接,其状态及对应的十六进制值如下:
方向
状态 无 南 北 东 西 十六进制值 说 明 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 0 00 001 001 09H 都为红灯亮 1 00 001 100 0CH 东西绿南北红
2 00 001 010 0AH 东西黄闪
南北红 00 001 000 08H 3 00 100 001 21H 东西红南北绿
4 00 010 001 11H 南北黄闪
东西红 00 000 001 01H
2、P3口中的P3.0(RXD)和P3.1(TXD)作特殊用途,数据(倒计时时间)从RXD端输入,TXD端输出。
3、74LS240和LED发光二极管用来显示灯亮情况。
4、定时/计数器T0用来产生1秒的定时
5、74LS240和数码管用来显示时间
五、硬件图
六、程序框图
七、程序流程图及程序
程序流程图:
主程序:
程序清单:
;主程序:
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN: MOV SP,#60H
MOV SCON,#00H ;设置串行口工作方式为方式0
CLR TI
CLR RI
MOV A,#09H ;置初态,东南西北都为红灯亮
MOV P1,A
MOV R2,#4
LCALL DELAY ; 调用4次1秒的延时子程序
H1:MOV A,#0CH ;东西绿灯亮,南北红灯亮
MOV P1,A
MOV R2,#10
LCALL DELAY ;调用10次1秒的延时子程序
MOV R7,#03H ;黄灯闪烁次数为3次
H2:MOV A,#0AH ;东西黄灯闪,南北红灯亮
MOV P1,A
MOV R2,#1
LCALL DELAY ;每1秒闪烁一次
MOV A,#18H ;南北红灯亮,南北黄灯也闪
MOV P1,A
MOV R2,#1
LCALL DELAY ;调用1秒的延时子程序
DJNZ R7,H2
原创力文档

文档评论(0)