单片机课程设计--基于51单片机的交通灯

单片机课程设计--基于51单片机的交通灯

ID:9531463

大小:202.50 KB

页数:16页

时间:2018-05-02

单片机课程设计--基于51单片机的交通灯_第1页
单片机课程设计--基于51单片机的交通灯_第2页
单片机课程设计--基于51单片机的交通灯_第3页
单片机课程设计--基于51单片机的交通灯_第4页
单片机课程设计--基于51单片机的交通灯_第5页
资源描述:

《单片机课程设计--基于51单片机的交通灯》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、物理与信息工程学院单片机课程设计题目:基于51单片机的交通灯学院:物理与信息工程学院专业:自动化目录1、概述------------------------------------------------32、系统各部分硬件的设计------------------------4(1)总的硬件设计流程---------------------------4(2)各硬件部分的电路设计---------------------53、软件的分块流程图及程序编写---------------74、软件仿真图-------------------

2、--------------------155、心得体会-----------------------------------------161、概述背景:交通的发达,标志着城市的发达,相对交通的管理则显得越来越重要。对于复杂的城市交通系统,为了确保安全,保证正常的交通秩序,十字路口的信号控制必需按照一定的规律变化,以便于车辆行人能顺利地通过十字路口。正常情况下,十字路口的红绿灯应交替变换,考虑紧急情况下,如有救护车或警车到来时,应优先让其通过。交通灯在安全行车过程中起着十分重要的作用,现在交通灯一般设在十字路口,在醒目位置用红、绿、黄

3、三种颜色的指示灯,加上一个倒计时的显示计时器来控制行车,对于一般情况下的安全行车、车辆分流发挥着作用,但根据实际行车过程中出现的情况,主要有如下几个缺点:1两车道让车轮流放行时间相同且固定,在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间短些。2没有考虑紧急车通过时,两车道应采取的措施,譬如,有消防车通过执行紧急任务时,两车道的车都应停止,让紧急车通过。根据行车过程中出现的实际情况,如何全面有效地利用交通灯指示交通情况,本人尝试用单片机来控制交通灯,在软、硬件方面采取一些改进措施,使交通

4、灯在控制中灵活而有效。实现的任务:⑴单片机来实现,根据设计要求,交通信号灯控制器的外部输出信号为主、副车道红、黄、绿灯共12个驱动信号;编程使相应位复/置位来实现信号灯的亮/灭控制,使得十字路口的红、绿灯交替点亮;在灯色交换时,黄灯闪烁提醒。⑵设计要求有紧急车辆通过时,十字路口均显示红灯。可以通过软件中断来完成紧急任务,定义T0为计数中断并为下降沿触发,编写对应中断向量子程序和中断服务程序,完成中断处理。⑶设计还对定时控制有所要求。对于精确定时,应该用计数器加以控制,硬件实现复杂度增加。考虑到该设计对时间精度要求不高,所以采用软件定时可

5、以大大简化电路。先计算出程序单部执行的时间,设置循环参数,利用if语句按设计要求完成定时控制。(4)当南北方向车辆较多,东西方向车俩较少时,通过开关来改变各方向的灯来调节。2、系统硬件的设计与流程晶振电路输入控制输出显示外围功能器件单片机⑴晶振和复位电路:单片机系统的必要组成部分,控制单片机的机器周期和功能复位通用的晶振电路单片机的晶振电路是一种典型电路,分为内部时钟方式和外部时钟方式两种。⑵输入控制:是指在一定要求下,采取何种形式的控制方式来实现单片机不同功能的转换,以及控制指令以何种方式传送到单片机⑶输出显示:是指单片机将需要显示的

6、数据发送到LED、液晶等显示模块,并控制LED等显示模块按照一定的格式显示的功能。⑷外围功能器件:单片机只是控制器件,对应与一定的设计要求,需要加入特定功能的器件。单片机的最简单系统是指单片机能正常工作所必须的外围元件,主要由单片机、晶振电路和复位电路构成。而输入/输出部分则通过单片机的I/O口实现。开关用来实现特殊的功能,当有救护车等出现时,按下开关,所有灯变成红灯,让救护车通行。2、软件的分块流程与程序编写1、编写延时程序voiddelay0(uintz){uinti,j;for(i=0;i

7、=0;j<110;j++);}/*********************************************************500ms延时函数晶振:11.0592MHz*********************************************************/voiddelay(uchary){uchark;uinti;for(;y>0;y--){for(i=1250;i>0;i--){for(k=180;k>0;k--);}}}2、定时1ms的程序代码当单片机的晶振为12MHz时,计数值1

8、代表的时间就是1us。计数器的容量是16位,也就是最大的计数值达到65536,因此计数计到65536就会产生溢出。Voidt0(void)interrupt1using0{TH0=(65536-1000)/

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

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

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