![基于单片机的交通灯系统设计_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/2b97c6f5-ecb6-4080-a1d2-b88677e42147/2b97c6f5-ecb6-4080-a1d2-b88677e421471.gif)
![基于单片机的交通灯系统设计_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/2b97c6f5-ecb6-4080-a1d2-b88677e42147/2b97c6f5-ecb6-4080-a1d2-b88677e421472.gif)
![基于单片机的交通灯系统设计_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/2b97c6f5-ecb6-4080-a1d2-b88677e42147/2b97c6f5-ecb6-4080-a1d2-b88677e421473.gif)
![基于单片机的交通灯系统设计_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/2b97c6f5-ecb6-4080-a1d2-b88677e42147/2b97c6f5-ecb6-4080-a1d2-b88677e421474.gif)
![基于单片机的交通灯系统设计_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/2b97c6f5-ecb6-4080-a1d2-b88677e42147/2b97c6f5-ecb6-4080-a1d2-b88677e421475.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于51单片机的交通灯设计1 前言近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多,在学习了单片机的有关知识之后,运用相关知识来设计完成交通信号灯。2 功能概述2.1设计任务:通灯的硬件和软件设计2.2设计目的1.进一步熟悉和掌握单片机的结构和工作原理。2.掌握单片机的接口技
2、术及相关外围芯片的外特性,控制方法。3.通过课程设计,掌握以单片机为核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。4.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。5.通过完成一个包括电路设计和程序开发的完整过程,为我们今后从事相应工作打下基础。3 设计思路按照常规我们假设一个十字路口为东西南北走向。初始状态为状态1,南北方向绿灯通车,东西方向红灯。经过过一段时间(55S)转换状态2,南北方向由绿灯转亮黄灯,延时5S,东西方向仍然红灯。再转换到状态3,东西方向绿灯通车,南北方向红灯。过一段时间(55S)转换到状态4,东西方向由绿灯转亮黄灯,延时5S,南北方向仍然红
3、灯。最后循环至南北绿灯,东西红灯。在这些状态下,有时钟倒数计时。当按下S1键时,进入绿灯时间设置模式,第二次按下S1键,进入黄灯设置模式,第三次按下S1键,设置时间结束。4 芯片介绍AT89S52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89S52单片机可为您提供许多较复杂系统控制应用场合。AT89S52有40个引脚,32个外部双向输入/输出
4、(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89S52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。主要功能特性: 兼容MCS51指令系统 8k可反复擦写(>1000次)Flash ROM 32个双向I/O口 256x8bit内部RAM 3个16位可编程定时/计数器中断 时钟频率0-24MHz 2个串行中断 可编程UART串行通道 2个外部中断源 共6个中断源 2个读写中断口线 3级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤
5、醒功能5 硬件设计6 软件程序设计6.1定时器初始化定时器计数器是单片机中最常用、最重要的功能模块之一,本次实训通过交通灯控制器实例来演示定时器的使用。首先介绍交通灯以及定时器计数器的基础知识,接着介绍本实例的硬件电路构成,然后逐步分析定时器的编程以及程序的全貌。定时器计数器的4种工作方式下的逻辑结构如表所示。M1M2工作方式00方式0,为13位定时器/计数器01方式1,为16位定时器/计数器10方式2,为初值自动重装的8位定时器/计数器11方式3,仅T0有效,将T0分为两个8位定时器/计数器定时器工作在工作方式1,是初值自动重装的16位定时器/计数器,在12MHz晶振条件下,16位定时器的最
6、长定时时间是65.535ms,为了方便计算取定时时间为1ms,所以,定时1s需要定时器中断100次。下面计算定时器的初值。定时器初值TC=M-T/t=65535-1000/1=64535,因此TH0=d8H,TL0=f0H.定时器初始化程序如下,定时器T0设定为工作方式1,初始值为d8f0H,自动重装入值为d8f0H。TMOD|=0x01;/定时器T0设置 10ms in 12M crystalTH0=0xd8;/设定时器T0的初始值,并自动重载TL0=0xf0;ET0=1; /打开中断TR0=1;/启动定时器EA=1;/中断允许总控制位使能6.2程序流程图流程图如下:6.3程序设计(见附件)
7、7 总结本次单片机的实训,回顾起整个过程,我们仍感慨颇多,学到了很多的东西。同时不仅巩固了以前所学过的知识,而且还学到了很多在书本上所没有学到过的知识。在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。对于单片机设计,其硬件电路是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此可以说单片机的设计是软件和硬件的结合,二者是密不可分的。通过这次
8、课程设计我发现单片机原理应用行很强,只有老师的讲解不行,只看也不中,只有自己动手去做才会发现自己确实有太多的不足,许多的原理,程序看似简单,真正去做才知道知识并没有自己想象的那样扎实。从而懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。附件#include <reg52.h>bit red_green=
9、0,red_yellow=1,green_red=0,yellow_red=0;sbit KEY1=P30;sbit KEY2=P31;sbit KEY3=P32;unsigned char second=55,counts=0,green_time=55,yellow_time=5;/红灯55s,黄灯5scode unsigned char tab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /共阴数码管 0-9 unsigned char StrTab4; /定义缓冲区void Delay(unsigned int cnt) whi
10、le(-cnt);void time(void) interrupt 1 using 1static unsigned char count=0;TH0=0xd8;/重新赋值,10ms中断一次TL0=0xf0;count+;if (count=100) count=0; second-;/秒减1if(second=0)if(red_yellow)red_yellow=0;green_red=1;second=yellow_time;P1=0xf6;/车道红灯,人行道黄灯,5selse if(green_red)green_red=0;yellow_red=1;second=green_time
11、;P1=0xed;/车道绿灯,人行道红灯,55selse if(yellow_red)yellow_red=0;red_green=1;second=yellow_time;P1=0xf9;/车道黄灯5s,人行道红灯,5selse if(red_green)red_green=0;red_yellow=1;second=green_time;P1=0xde;/车道红灯,人行道绿灯,55svoid Settime(void)if(!KEY1) /按键去抖以及动作 Delay(10000); if(!KEY1) counts+;if(counts=3) /设置完成counts=0;red_gree
12、n=0,red_yellow=1,green_red=0,yellow_red=0;/second=green_time;P1=0xde;if(counts=1 && !KEY2)/绿灯时间+Delay(10000);if(counts=1 && !KEY2)green_time+;if(green_time=100) green_time=55;if(counts=1 && !KEY3)/绿灯时间-Delay(10000);if(counts=1 && !KEY3)green_time-;if(green_time=0) gre
13、en_time=55;if(counts=2 && !KEY2)/黄灯时间+Delay(10000);if(counts=2 && !KEY2)yellow_time+;if(yellow_time=100) yellow_time=5;if(counts=2 && !KEY3)/黄灯时间-Delay(10000);if(counts=2 && !KEY3)yellow_time-;if(yellow_time=0) yellow_time=5;void Display (void)/显示函数if(counts=0)if(red_
14、yellow)StrTab0=tab(second+yellow_time)/10; StrTab1=tab(second+yellow_time)%10;StrTab2=tab(second)/10;StrTab3=tab(second)%10;if(green_red | red_green)StrTab0=tabsecond/10; StrTab1=tabsecond%10;StrTab2=tabsecond/10;StrTab3=tabsecond%10;if(yellow_red)StrTab0=tabsecond/10; StrTab1=tabsecond%10;StrTab2=t
15、ab(second+yellow_time)/10;StrTab3=tab(second+yellow_time)%10;if(!(counts=0)StrTab0=tabgreen_time/10; StrTab1=tabgreen_time%10;StrTab2=tabyellow_time/10;StrTab3=tabyellow_time%10;void time1(void) interrupt 3 using 0/定时器1用来动态扫描 static unsigned char num; TH1=0xF8;/重入初值TL1=0xf0;num+; if(num=4) num=0;/扫描
16、4次,使用4个数码管if(counts=0)switch (num) case 0:P2=0;P0=StrTab0;break; /分别调用缓冲区的值进行扫描 case 1:P2=1;P0=StrTab1;break; case 2:P2=2;P0=StrTab2;break; case 3:P2=3;P0=StrTab3;break; default:break;if(counts=1)switch (num) case 0:P2=0;P0=StrTab0;break; /分别调用缓冲区的值进行扫描 case 1:P2=1;P0=StrTab1;break; case 2:P2=4;break; case 3:P2=4;break; default:break;if(counts=2)switch (num) case 0:P2=4;break; /分别调用缓冲区的值进行扫描 case 1:P2=4;break; case 2:P2=2;P0=StrTab2;br
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 项目收购协议书范本
- 车间租赁合同范本
- 河南物流职业学院《建筑结构与》2023-2024学年第二学期期末试卷
- 河北农业大学现代科技学院《工厂电气技术》2023-2024学年第二学期期末试卷
- 长春建筑学院《生物医学光子学》2023-2024学年第二学期期末试卷
- 南京大学《音乐教学设计与案例分析》2023-2024学年第二学期期末试卷
- 湘教版七年级数学下册第5章5.3图形变换的简单应用听评课记录
- 河北医科大学《临床微生物学检验》2023-2024学年第二学期期末试卷
- 贵州工程职业学院《文献检索与科技写作》2023-2024学年第二学期期末试卷
- 浙江理工大学《光电技术基础》2023-2024学年第二学期期末试卷
- 药企销售总经理竞聘
- 开封市第一届职业技能大赛健康照护项目技术文件(国赛)
- 公路电子收费系统安装合同范本
- 医院培训课件:《伤口评估与测量》
- 2021年全国高考物理真题试卷及解析(全国已卷)
- 期末试卷(试题)-2024-2025学年四年级上册数学沪教版
- 《第一单元口语交际:即兴发言》教案-2023-2024学年六年级下册语文统编版
- 综合实践项目 制作水族箱饲养淡水鱼 教学设计-2024-2025学年鲁科版生物六年级上册
- 公转私付款合同模板
- 安徽省2024年高考语文模拟试卷及答案5
- 关于餐饮合同范本
评论
0/150
提交评论