单片机课程设计--交通信号灯实时控制系统设计

单片机课程设计--交通信号灯实时控制系统设计

ID:9860263

大小:284.50 KB

页数:16页

时间:2018-05-12

单片机课程设计--交通信号灯实时控制系统设计_第1页
单片机课程设计--交通信号灯实时控制系统设计_第2页
单片机课程设计--交通信号灯实时控制系统设计_第3页
单片机课程设计--交通信号灯实时控制系统设计_第4页
单片机课程设计--交通信号灯实时控制系统设计_第5页
资源描述:

《单片机课程设计--交通信号灯实时控制系统设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、交通信号灯实时控制系统设计一、设计目的1.学习单片机基本电路的设计,加深对单片机理论知识的理解2.掌握单片机内部各功能模块的功能与应用,学会单片机基本外设电路的设计3、学习单片机汇编语言及程序设计方法,掌握单片机汇编语言的程序设计4.掌握单片机应用系统的软件和硬件设计过程、调试方法及功能实现二、设计要求1、根据实际交通状况,分别控制红、绿、黄灯的燃亮与熄灭情况2、各信号灯的燃亮时间为:绿灯:60秒,红灯:80秒,黄灯:5秒3、红灯倒计时时间,当有车辆闯红灯时,启动蜂鸣器进行报警,3S后然后恢复正常。4、绿灯倒计时时,检测车流量三、硬件电路设计1.芯片选

2、用选用设备8051单片机一片,8255并行通用接口芯片一片,74LS07两片,MAX692‘看门狗’一片,共阴极的七段数码管两个双向晶闸管若干,7805三端稳压电源一个,红、黄、绿交通灯各两个,开关键盘、连线若干。8051是MCS-51系列单片机的典型产品,8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。8051引脚图8255可编程并行接口芯片有三个输入输出端口,即A口、B口和C口,对应于引脚PA7~PA0、PB7~PB0和PC7~P

3、C0。其内部还有一个控制寄存器,即控制口。通常A口、B口作为输入输出的数据端口。C口作为控制或状态信息的端口,它在方式字的控制下,可以分成4位的端口,每个端口包含一个4位锁存器。它们分别与端口A/B配合使用,可以用作控制信号输出或作为状态信号输入。8255引脚图74LS373是一种带三态门的8D锁存器,其管脚示意图如图1:其中:1D-8D为8个输入端。1Q-8Q为8个输出端。LE为数据打入端:当LE为“1”时,锁存器输出状态同输入状态;当LE由“1”变“0”时,数据打入锁存器OE为输出允许端:当OE=0时,三态门打开;当OE=1时,三态门关闭,输出高阻

4、。74LS373芯片管脚图2.系统工作原理(1)开关键盘输入交通灯初始时间,通过8051单片机P1输入到系统(2)由8051单片机的定时器每秒钟通过P0口向8255的数据口送信息,由8255的PA口显示红、绿、黄灯的燃亮情况;由8255的PC口显示每个灯的燃亮时间。(3)8051设置各个信号灯的燃亮时间,通过8051设置,绿、红时间分别为60秒、80秒循环,由8051的P0口向8255的数据口输出。(4)通过8051单片机的P3.0位来控制系统是工作或设置初值,当为0就对系统进行初始化,为1系统就开始工作。(5)红灯倒计时时间,当有车辆闯红灯时,启动蜂

5、鸣器进行报警,3S后然后恢复正常。(6)增加每次绿灯时间车流量检测的功能,并且通过查询P2.0端口的电平是否为低,开关按下为低电平,双位数码管显示车流量,直到下一次绿灯时间重新记入。(7)绿灯时间倒计时完毕,重新循环。三、软件设计1.秒脉冲的产生延时方法可以有两种一中是利用MCS-51内部定时器才生溢出中断来确定1秒的时间,另一种是采用软件延时的方法。2.计数器硬件延时2.1设置计数器初值定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值

6、设定为C和计数初值设定为TC可得到如下计算通式:TC=M-C式中,M为计数器摸值,该值和计数器工作方式有关。在方式0时M为213;在方式1时M的值为216;在方式2和3为282.2计算公式T=(M-TC)T计数或TC=M-T/T计数T计数是单片机时钟周期TCLK的12倍;TC为定时初值;如单片机的主脉冲频率为TCLK12MHZ,经过12分频:方式0:TMAX=213*1微秒=8.192毫秒方式1:TMAX=216*1微秒=65.536毫秒显然1秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题。2.3秒计时我们采

7、用在主程序中设定一个初值为20的软件计数器和使T0定时50毫秒.这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。为零表示1秒已到可以返回到输出时间显示程序。2.4相应程序代码(1)主程序定时器需定时50毫秒,故T0工作于方式1。初值:TC=M-T/T计数=216-50ms/1us=15536=3CB0HORG1000HSTART:MOVTMOD,#01H;令T0为定时器方式1MOVTH0,#3CH;装入定时器初值MOVTL0,#B0HMOVIE,#82H;开

8、T0中断SEBTTR0;启动T0计数器MOVR0,#14H;软件计数器赋初值LOOP:SJMP

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。