版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于STCC单片机的智能交通灯设计基于STC90C51单片机的交通灯设计1、设计题目基于STC90C51单片机的智能交通灯设讣2、设计要求、系统功能(1)按照交通规则,控制宝田路和前进路方向及其人行道的交通信号灯(红、 黃、绿)的通断。(2)设置信号灯的通断时间。(3)可人工干预,使交通信号灯开启不同模式。、性能参数:(1)电源:5VDC(2)LED 灯电流:10mA(3)定时时间:10s-200s3、总体设计根据系统功能和设讣要求,系统采用单片机控制的方案,基于HC6800S开发板,111 STC90C51, 74HC573,交通灯模块,动态数码显示管以及4*2独立按键组成。系统工作原理在十
2、字路口,分为宝田路和前进路,正常情况下,在任一时刻只有一个方向通 行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对 换。其具体状态如下:(1)普通模式:状态一:宝田路通行阶段(宝田路及其人行道亮绿灯30秒、前进路及其人行道 亮红灯30秒);状态二:黃灯阶段(宝田路和前进路亮黄灯5秒、两侧人行道亮红灯5秒);状态三:前进路通行阶段(前进路及其人行道亮绿灯30秒、宝田路及其人行道 亮红灯30秒):状态四:黃灯阶段(宝田路和前进路亮黃灯5秒、两侧人行道亮红灯5秒);返回到状态一。(2)高峰期模式(设宝田路为主干道):按下按键2 (key2),开启高峰期模式;状态一:宝田路通行阶段
3、(宝田路及其人行道亮绿灯60秒、前进路及其人行道 亮红灯30秒);状态二:黃灯阶段(宝田路和前进路亮黄灯3秒、两侧人行道亮红灯5秒); 状态三:前进路通行阶段(前进路及其人行道亮绿灯30秒、宝田路及其人行道 亮红灯30秒):状态四:黄灯阶段(宝田路和前进路亮黃灯5秒、两侧人行道亮红灯5秒):返回到状态一;按键2释放,回到普通模式。(3)紧急模式:按下按键1 (keyl),开启紧急模式,所有道路及其人行道均红灯亮,数码管不 显示。释放按键1,回到普通模式。单片机交通控制系统的功能要求本设计能模拟基本的交通控制系统,用红绿黃灯表示禁行,通行和等待的信号发 生,还能进行倒计时显示,通行时间调整功能和
4、紧急情况全面禁行。(1)倒计时显示倒计时显示可以提醒驾驶员在信号灯灯色发生改变的时间、在“停止”和“通过”两者间作出合适的选择。驾驶员和行人普遍都愿意选择有倒汁时显示的信号控制 方式,并且认为有倒计时显示的路口更安全。倒计时显示是用来减少驾驶员在信号灯 色改变的关键时刻做出复杂判断的一种方法,它可以提醒驾驶员灯色发生改变的时 间,帮助驾驶员在“停止”和“通过”两者间作出合适的选择。(2)时间的设置本设计中对时间进行了人为控制设置,正常惜况下宝田路和前进路的绿灯通行与 红灯禁行时间均设置为30秒、黃灯等待时间设置为3秒。假设前进路为主干道,考 虑到主干道在上下班高峰期车流量和人流量较大,人为增加
5、开关K2。当K2开启时,主干道前进路上绿灯通行时间和宝田路上的红灯禁行时间更改为60秒,其余设置均 不变;当K1关闭时,又恢复正常情况下的时间设置。(3)紧急悄况全面禁行本设计中在紧急悄况下增加了全面禁行状态,增加开关K1。当K1开启时,宝田 路和前进路及其各自人行道均量红灯禁行;当K1关闭时,交通灯恢复正常状态。4、详细设计一硬件设计为了实现本设计要求的具体功能,选用STC90C51单片机及外围器件构成最小控制 系统,10个发光二极管分别分成两组红黃绿和两组红绿灯构成信号灯指示模块,4个 LED动态数码管构成各个方向倒汁时显示模式,两个按键分别用来设置高峰期模式和 紧急模式。、单片机系统设计
6、单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可 以指挥交通的具体通行,当然,接入LED数码管就可以显示倒计时以提醒行使者,更 具人性化。单片机上电后,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间 数据倒计时输入到LED数码管上实时显示。HC6800S整体结构视图:PO Pl P2. PX P4STC9OC5 RCVRD-系列内部佶肉梔阁STC90C51内部结构图:AUX-RAMuRAM 如 t_ _上RAM1024 V字节rr fr itSTC90C51芯片引脚图:、LED数码管显示屏设计LED动态数码管的显示原理为:si t2.WI.IPI.3PL4ruP
7、L?R4IKccyn.0JNTI/PJ.3TWW.4TlflW.5 WiWPJ.frKLVP.L7XTAL2X7A1Chui逊B心o L气亠3 f 占b 7/p旦-7 5 4 J 1 - I o VCCHM血刚ffi-isw加rg5r皿 5吕nnnnnn吕吕nnmmbi 43 1- Ltt .4 763 4 3-1 4 3 3 3 3 J 3 3 3 9 3 2 A - 2 *1 *1 2 4.)PDlIMr1錶営弋4 口I -1 3 4 3 u IL Tl 1- 4 J3 B 7 Mrt H H2位8段数码管电路采用“共阳”连接驱动代码,如右图所 示。段码和位码,段码即段选信号SEG,它负责
8、数码管显示的内 容,图中dp组成的数据(&为最低位,dp为最高位)就是 段码。位码即位选信号DIG,它决定哪个数码管工作,哪个数码管不工作。LED数码管显示代码表如下表所示:显示数值dp, g, f, e, d, c, b, a代码0011111110x3f1000001100x062010110110x5b3010011110x4f4011001100x665011011010x6d6011111010x7d7000011010x078011111110x7f9011011110x6fHC6800S开发板中动态数码管模块原理图如下图所示:、交通灯设计HC6800S开发板中交通灯模块原理图如下
9、图所示,宝田路红黄绿灯及其人行道上的 红绿灯和前进路上的红黃绿灯由JP1控制,前进路人行道上的红绿灯由J22控制。5、详细设计一软件设计、软件开发工具和环境keil C51 u、软件总体设计程序源代码厂、红灯闪烁,黃灯闪烁,、绿灯闪烁,r黃灯闪烁,倒计时5秒a-Z1)while辻(S 二二 71)S二0;/*宝田路通行,宝FR路绿灯亮30秒*/Data0=0x00;Data1=0x00;Data2=duan(30-S)/101;Data3=duan(30-S)%10;Data4=0x00;Data5=0x00;Data6=Data2;Data7=Data3;2.将编好的程序“.a3.将开发板D
10、isplayO ;“hj %卜炷十按照如执行相应代4.用普中科技自己的下载软il C 51编写程序;文件;动下载软件将“h?x”下载到开发板上,下载步骤如下:下载软件,在usb转串口1) 插上USB 口,打开开发板电源开关,然后打开普中ISF 驱动安装成功后,打开软件应该有串口号;2) .芯片类型选择STC90C5XX;加载我们要下载到单片3) 同时需要把开发板中J0跳线帽拔掉,设置成USB接口机里的程序,单击打开文件,选择下载的后缀为.Hex文件;下载程序4).点击下载程序,即可下载成功。4.观察运行现象是否与设计结果相符;、硬件调试硬件部分是在51单片机上完成,所以调试过程比较简单。首先按
11、照电路原理图进行 检查,检查无误后进行按键、数码管和发光二极管的检测。、软件调试首先用ke订C51软件对程序进行编译和调试,经过对程序多次修改后,编译通过, 结束软件调试。、联合调试硬件调试和硬件调试结束之后,将最终调试好的程序下载到单片机上,观察结果并进 行调试。、系统实验经过多次调试,最终可以在单片机上观察到本次设汁的实验结果:(1)用发光二极管模拟的红黄绿交通信号灯有序闪烁,实验现象正确;(2)动态数码管可以显示到信号灯颜色改变所剩时间,并采用倒计时方式计数;(3)按下按键1,所有道路及其人行道的红灯亮,数码管均不显示,开启紧急模 式;(4)按下按键2,主干道绿灯时间变为60秒,其余均不
12、变,开启高峰期模式。7、总结、工作总结在本次智能交通信号灯的设汁中,我主要负责的是软件部分以及最后的联合调试部 分。主要有:(1)编写代码。本次程序的编写我用的是C语言,一是因为之前在大一有上过C语 言的课,对C语言不会感到很陌生,二是学习过程中,教材也都是C语言教 程。一开始我们汁划仅实现普通模式下的智能交通信号灯的控制。同时我们参 考了单片机自带的程序,后来经过深入学习,发现只有普通模式太过简单,所 以我们就打算尝试一下能否实现紧急模式和高峰期模式。(2)联合调试。由于单片机自带交通灯模块,所以我觉得调试应该比较简单,直接 将程序烧录到单片机上就可以了。没想到在这个过程中还出现了很多了问题
13、。 比如发光二极管一直亮或者不亮,数码显示管显示错误等。我以为是程序出了 问题,就一直在修改程序,结果发现,很大一部分原因是山于我们太粗心了, 把线接反了或者接触不良,原来是硬件的问题。所以在联合调试的过程中,一 定要同时兼顾软件和硬件的调试。本次设计还存在一些问题如下:(1)由于我主要负责软件部分,所以在后期的联合调试部分出了很多问题,主要是山于我对硬件部分不够熟悉,这是本次实验中我主要需要改进的地方;(2)在编写代码的过程中,我还发现了一些自身存在的问题,比如说主函数写的过长,容易造成里面的括号丢失,代码后面不加注释,代码没有层次感,使程 序看起来很乱,而且在查找问题时也不方便,还有就是对
14、语句运用不够熟 悉,容易犯一些语法错误,这一点还需要加以改进。(3)本次设计编译程序之后直接在单片机上调试较为麻烦,这一点需要改进,可加入仿真调试。、心得体会本次科研训练接近尾声,从一开始根本不了解科研训练是什么,需要做什么, 到确定题U, 起学习,编写程序,硬件软件调试到最后的报告撰写,我真的觉得自 己收获了很多。不仅仅是感受到了我们这个团队的合作精神,还有自己的那一份责任 感,既然是小组合作完成一个项日,那就必须要每个人确确实实的做好自己的工作, 只有这样,我们的设计才是完整的。本次科研训练我们选择的是智能交通灯的设计,说实话,老师让我们确定题U 时,我们也不知道自己能做什么擅长做什么,其
15、至不确定是否能完成这个项口。确定 这个题目之后,也是没有头绪,不知道要怎么开始。后来我们明确了一下分工,我主 要负责软件部分,硬件我们是用的单片机,所以我就开始学习单片机的C语言。我用 的教材是郭天祥老师主编的51单片机C语言教程,我觉得这本书最大的好处就是 通俗易懂,很适合我这样的单片机新手。一边看书学习,一边就开始编写程序,编写 程序首先得确定算法,我还是没有概念,所以我就参考了别的交通信号灯的程序,我 觉得编程是一件很神奇的事悄,我们的很多想法靠着这些代码就能够实现,这极大的 激发了我的好奇心,就想一定要完成这个程序。我们本来是打算做个普通模式就结 束,做出来之后乂想挑战一下自己,就做了
16、个紧急模式和高峰期模式。在做普通模式 时还觉得很简单,想着变成也不是那么难的一件事,但是在做高峰期模式时,就出现 了很多问题,反复调试了很多次还是不行,我们就去请教别人,别人一眼就发现了其 中的问题,我们也恍然大悟了。所以以后还是要不断的学习,积攒经验,才能够少犯 一些低级错误。通过这次科研训练,真的学到了很多东西,也发现了自己本身的一些局限性,希 望自己以后能够多向优秀的人学习,弥补自身不足。本次科研训练使我们团队合作的 结果,每一个人都不可缺少,真的很感谢此次训练,让我体会到了团队合作的重要 性,感谢我的队友们。附:交通信号灯程序源代码nclude#define uchar unsigne
17、d char#define uint unsigned int#define Weixuan Pl/定义使用的 I/O 口#define Duanxuan PO#define led P2sbit RED10二 P20;/上人行道红灯sbit GREEN10=P2l;/上人行道绿灯sbit RED11=P22;sbit YELLOW11= P23;sbit GREEN11=P24;sbit REDOO=P30;/右人行道红灯sbit GREENOO=P3l;/右人行道绿灯sbit REDOI=P25;sbit YELL0W01= P26;sbit GREEN01=P27;sbit keyl=P
18、33;sbit key2=P35;uchar code wei=Oxfe, Oxfd, Oxfb, 0xf7, Oxef, Oxdf, Oxbf, 0x7f ;/位选控制uchar code duan = 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79,0x71; 段选显示码uchar Data8;uchar T, S, M;/*声明全局函数*/void Display ();void init ();void delayms ();void keyscan();v
19、oid main() S二0;M二 0;init();/初始化函数while(1) 辻(S二二71)S 二0;/*宝田路通行,宝田路绿灯亮30秒*/辻(S31) Data0=0x00;Data11=0x00;Data2=duan(30-S)/10;Data3=duan(30-S)%10;Data4=0x00;Data5=0x00;Data6=Data2;Data7=Data3;Display();led二OxFF;/将所有的灯都熄灭REDOO二1;GREENOO=1;/宝田路人行道绿灯亮/宝田路绿灯亮/前进路人行道红灯亮GREEIO二0;GREEN11=O;REDOO二0;RED01二0;/前
20、进路红灯亮/*黃灯阶段,5秒*/else 辻(S36)Data01=0x00;Data11=0x00;Data2=duan(35-S)/10;Data3=duan(35S)%10;Data4=0x00;Data5=0x00;Data6=Data2;Data7=Data3;DisplayO ;led二OxFF;/将所有的灯都熄灭REDOO二1;GREENOO=1;RED10二0;/宝田路人行道红灯亮YELLOWU=O;/宝田路黃灯亮REDOO二0;/前进路人行道红灯亮YELL0W01二0;前进路黄灯亮/*前进路通行,前进路绿灯亮30秒*/ else 辻(S66)Data01=0x00;Data1
21、=0x00;Data2=duan(65-S) /10;Data3=duan(65-S)%10;Data4=0x00;Data5=0x00;Data6=Data2;Data7=Data3;Display ();led二OxFF;REDOO二1;GREENOO=1;RED10二0;RED11二0;GREEOO二0;GREEOl二0;/*黃灯阶段,5秒*/else Data01=0x00;Data11=0x00;Data2=duan(70-S)/10;Data3=duan(70-S)%10;Data4=0x00;Data5=0x00;Data6=Data2;Data7=Data3;Display()
22、;led二OxFF;REDOO二1;GREENOO=1;RED10二0;YELLOW11=O;REDOO二0;YELL0W01二0;/*按下按键1,开启紧急模式,所有红灯亮,数码管不显示*/辻(keyl0) delayms ();/去抖延时i.f (keyl0) Data01=0x00;Data11=0x00;Data2=0x00;Data3=0x00;Data4=0x00;Data5=0x00;Data6=0x00;Data7=0x00;Display();led二OxFF;REDOO二1;GREENOO=1;RED10二0;RED11二0;REDOO二0;REDOI二0;while(!keyl) ;/按键 1 释放 keyscan ();/*按下按键2,开启上下班高峰期模式,主干道宝田路绿灯时间为60秒void keyscan () if(key2=0)delayms () ;/去抖延时if(key2=0)while(1)if (key2!=0) break; /当按键2释放,跳出循环辻(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 暨南大学《国际事务专题》2021-2022学年第一学期期末试卷
- 济宁学院《数字信号处理》2021-2022学年第一学期期末试卷
- 汽车改装技术 课件 7.2汽车尾门升级改装
- 派遣工(保安)安全管理协议
- 二零二四年度融资风险评估协议3篇
- 科学计算语言Julia及MWORKS实践 课件 7-Syslab与Sysplorer的软件集成
- 小学主任培训专题讲座
- 脑血管意外护理查房
- 钢筋加工场安全教育培训
- 人音版音乐七年级上册《婚礼进行曲》课件
- 2024年上海市奉贤区高三年级上册期末高考与等级考一模政治试卷含答案
- 技能比赛开幕式闭幕式及裁判工作实施方案
- 电致变色玻璃项目运营方案
- 03s702型钢筋混凝土排水沟设计图集上传
- 中国社交电商行业市场现状及投资态势分析报告(智研咨询)
- 机房运维服务合同范本
- 马龙比赛事迹
- 牙周病与全身健康关系的研究
- (招标投标)装饰工程投标书(完整版)
- 企业跨文化管理以海尔为例
- ECN执行管理教材
评论
0/150
提交评论