资源预览内容
第1页 / 共17页
第2页 / 共17页
第3页 / 共17页
第4页 / 共17页
第5页 / 共17页
第6页 / 共17页
第7页 / 共17页
第8页 / 共17页
第9页 / 共17页
第10页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
单片机课程设计(论文)摘 要随着各种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯(红、黄、绿三种标志)于 1918 年诞生。它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生,使城市交通大为改善。中国最早的马路红绿灯,是于 1928 年出现在上海的英租界。随着经济的高速发展,各种交通工具都迅速发展。所以交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。单片机自问世以来,性能不断提高和完善,其资源又能满足很多场合的应用,加之单片机具有集成度高、功能强、速度快、体积小、功耗低、使用方便、性能可靠、价格低廉,其易于产品化、抗干扰能力强、可在各种恶劣环境下可靠的工作等特点。特别是它强大的面向控制能力,使它在工业控制领域,智能仪表、外设控制、家用电器、机器人、军事装置等方面得到了广泛的应用。本系统采用单片机AT89C51 为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展强、实用性高。本设计就是采用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间。本设计系统由单片机 I/O 口扩展系统、交通灯状态显示系统、LED 数码显示系统等几大部分组成。系统除基本的交通灯功能外,还具有倒计时、紧急情况处理等功能,较好的模拟实现了十字路口可能出现的状况。本系统采用单片机 C 语言编写,主要编写了主程序,LED 数码管显示程序等。总体上完成了软件的编写。关键词:交通灯,控制,AT89C51,倒计时显示单片机课程设计(论文)单片机课程设计(论文)目 录摘 要 .I 目 录 II 第 1 章 绪 论 1 第 2 章 设计内容 .2 2.1 设计目的2 2.2 设计要求2 2.3 设计思想2 2.4 实现功能2 第 3 章 系统设计方案 .4 3.1 十字路口的交通灯分布示意图4 3.2 LED 灯显示原理4 3.3 系统硬件接线图5 第 4 章 软件系统设计 .6 4.1 状态地址分配6 4.2 延时程序模块的设计6 4.3 程序流程图7 第 5 章 软件仿真 .8 第六章 心得体会 10 参考文献 .13 附 录 14 系统程序:14 实验元器件:15单片机课程设计(论文)第 1 章 绪 论从最早的手牵皮带到 20 世纪 50 年代的电气控制,从采用计算机控制到现代化的电子定时监控,交通信号灯在科学化、自动化上不断地更新、发展和完善。近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。由于近年来各大城市交通事故的增多、在交通事故中伤亡人员不断增加,解决交通事故成了广大人民和大众关注的焦点,所以我特意选择了交通信号灯课程设计。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。交通信号灯在大多数城市得到了广泛的应用。传统的交通信号灯控制一般采用了电子线路和继电器控制,结构复杂,可靠性低,故障率高。本次设计是基于 AT89C51 单片机的交通灯控制系统,东西南北的通行时间可调,倒计时显示通行时间灯功能,该系统具有设计周期短、可靠性高、维护方便、使用简单等优点。单片机课程设计(论文)第 2 章 设计内容2.1 设计目的(1)掌握交通灯的控制原理,并能运用 C 语言编写程序,对所学的知识进一步深入了解。(2)为解决近年来各大城市交通事故的增多、在交通事故中伤亡人员不断增加问题,并且疏导交通流量、提高道路通行能力,设计一款实用性高、操作简单的交通灯。(3)通过交通灯模拟系统的设计可以进一步认识单片机在控制系统中的重要性。在完成理论学习和必要的实验后,掌握了单片机的基本原理和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,所以进行一次课程设计。2.2 设计要求设计一个能够控制十二盏交通信号灯的模拟系统。利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并用 LED 灯显示倒计时间,并通过单片机 P1口控制交通灯(红黄绿三色 LCD)的替换。2.3 设计思想在该交通灯控制系统中,东西南北四个方向各有红黄绿三种颜色的指示灯各一盏,共计 12 盏指示灯,用以来指挥车辆和行人安全通行。当红色指示灯亮的时候表示禁止该方向的车辆和行人通行,当绿色指示灯亮的时候表示允许该方向的车辆和行人通行,当黄色指示灯亮的时候提示人们红、绿灯的状态即将切换。并且黄灯燃亮时为东西南北两干道的公共停车时间。为了达到上述设计要求,可以用一片 AT89C51单片机实现。用 AT89C51 的 P0 口(P1.0P1.5)分别接上垂直两个道口的 6 盏信号灯;用 LED 灯显示倒计时间。具体设计思路如下:收集并整理资料,硬件设计,软件设计,Proteus 仿真,设计体会与总结。2.4 实现功能功能如下:1)南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为 37 秒、支干道每次通行间为 37 秒,时间可设置修改。单片机课程设计(论文)2)在绿灯转为红灯时,要求黄灯先亮 3 秒钟,才能变换运行车道;3)东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用倒计时的方法) 。4)一道有车而另一道无车(实验时用开关 K0 和 K1 控制) ,交通灯控制系统能立即让有车道放行。 5)有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B 道均为红灯,紧急车由 K0K1 开关模拟。 单片机课程设计(论文)第 3 章 系统设计方案3.1 十字路口的交通灯分布示意图十字路口的交通灯分布示意图如图 3-1 所示,将这 12 个交通灯进行编号。图 3-1 十字路口交通灯分布示意图这 12 个交通灯共有四个状态:状态 1(S1):南北绿灯(3、9)亮,东西红灯(4、10)亮状态 2(S2):南北黄灯(2、8)亮,东西仍为红灯(4、10)亮状态 3(S3):南北红灯(1、7)亮,东西绿灯(6、12)亮状态 4(S4):东西黄灯(5、11)亮,南北仍为红灯(1、7)亮3.2 LED 灯显示原理LED 显示的特点是每个数码管必须接一个 7 位锁存器用来锁存待显示的字型码。送入一次字型码显示自行一直保持,直到送入新字型码为止。这种方法的优点是占用 CPU 时间少,显示便于监测和控制。交通灯用以实现对主支路的控制,红灯亮表示“停止”,绿灯亮表示“通行”,黄灯是警告信号。南北通行,东西禁止时利用定时器中断倒计时 37S;东西通行,南北禁止时利用定时器中断倒计时 37S。中间黄灯各 3 秒。单片机课程设计(论文)3.3 系统硬件接线图图 3-2 硬件接线图单片机课程设计(论文)第 4 章 软件系统设计4.1 状态地址分配状态地址分配如表 4-1 所示:表 4-1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7灯闪亮情况10000111南北绿东西红01000111南北黄东西红00110011南北红东西绿00101011南北红东西黄LED 显示器中发光二极管采用共阴极接法时,其十六进制数的字形代码见表 4-2 所示:表 4-2 十六进制数字型代码表字型共阴极代码字型共阴极代码03FH67DH 106H707H25BH87FH 34FH96FH 466H56DH4.2 延时程序模块的设计 延迟程序块是要生成一定的是时间延时,这在数码管显示模块中会用到延迟程序,以满足倒计时的效果。程序如下:void delayms(unsigned int ms) unsigned char i; while(ms-) for(i=0;i sbit p10=P10; sbit p11=P11; sbit p12=P12; sbit p13=P13; sbit p14=P14; sbit p15=P15; sbit p00=P00; sbit p01=P01; sbit p02=P02; unsigned char Tab_seg10=0x3f,0x06,0x5b, 0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6 f; void delayms(unsigned int ms) unsigned char i;while(ms-) for(i=0;i0;i-)P2=Tab_segi/10;P3=Tab_segi%10;p10=1; p11=0; p12=0; p13=0; p14=0; p15=1;delayms(1000); for(i=3;i0;i-)P2=Tab_segi/10;P3=Tab_segi%10; p10=0; p11=1; p12=0; p13=0; p14=0; p15=1;delayms(1000); for(i=37;i0;i-)P2=Tab_segi/10;P3=Tab_segi%10; p10=0; p11=0; p12=1; p13=1; p14=0; p15=0;delayms(1000); for(i=3;i0;i-)P2=Tab_segi/10;P3=Tab_segi%10; p10=0; p11=0; p12=1; p13=0; p14=1; p15=0; delayms(1000); void zhongduan() interrupt 1 if(p00=0) delayms(50);if(p00=0) p10=0,p11=0,p12=1; p13=1,p14=0,p1 5=0; delayms(50); else if(p01=0) delayms(50);if(p01=0)p10=1,p11=0,p12=0; p13=0,p14= 0,p15=1;delayms(50);单片机课程设计(论文)实验元器件:(1) AT89C51 (2) 共阴 7 段 LED 数码管 (3) 上拉电阻 RP1 (4) 交通显示灯 (5) 按钮 (6) 导线 (7) 5V 电源
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号