单片机交通灯课程设计_第1页
单片机交通灯课程设计_第2页
单片机交通灯课程设计_第3页
单片机交通灯课程设计_第4页
单片机交通灯课程设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 单片机技术及其应用课程设计报告题 目: 基于C51单片机交通信号灯 . 班 级: 15电信本3 . 学 号: 15434005 .姓 名: 刘帮亮 .同组人员:张书政 陈钰婕 李家月 刘帮亮 .指导教师: 王 瑞 瑛 . 2015年10月30日 目录1 总体设计方案 .1 1.1设计思路 .1 1.2设计目的 .2 1.3设计任务 .3 1.4设计内容.32 交通管理方案 .53 硬件设计 .5 3.1芯片主要性能.5 3.2功能特性描述 .6 3.3 设计电路.6 3.4显示电路设计 .7 3.5 晶振电路.84 软件程序流程.8 4.1 主程序流程说明.8 4.2 显示子程序流程说明.1

2、0 4.3 软件设计电路.115总结.12参考文献.14附录1.15附录2.18引言 Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。本文就用Keil编程,相比硬件设计程序设计较为复杂,必需同时考虑灯控制、时间显示、紧急开关等问题,并且具有一定的C语言基础和一定的思维能力及逻辑能力。本文对十字路口状态预设为两种,一种是正常状态,即倒计时60秒,交通灯循环亮,另一种是故障或紧

3、急状态,即无论交通灯处于何种状态只要按下紧急开关,就立即打开相应的绿灯,另一方向则亮红灯,当再按起开关则反向,并从60秒倒计时,恢复正常状态,分别用黄、红、绿色灯的不同组合来表示。本系统采用单片机AT89C52为核心器件来设计交通灯控制器,模拟现实中的交通灯控制方法,具有较强的实用性。1 总体设计方案 1.1设计思路 以单片机为核心器件,对系统进行控制,外加辅助电路对系统参数进行必 要的设置和显示。交通信号灯的显示时间可以固定,也可用键盘重新设置,时间 控制和LED显示均由单片机进行控制。交通信号灯控制系统主要可以分为定时、红绿灯转换、倒计时显示等三个控制模块,单片机作为系统的控制单元,在系统

4、中的作用主要有以下几个方面:(1)利用单片机中的定时器循环出一秒时间,然后将它累计到处于活动状 态的寄存器中。寄存器里的计数是递减的,一秒时间到则减1,直到计数为0,说明定时时间到。(2)定时时间到后,单片机将对寄存器地址进行判断,不同的寄存器对应不同的红绿灯显示。(3)每次一秒时间到,寄存器自减1后,还要将寄存器中的值,也就是剩余的秒数反映到LED显示器上,构成倒计时显示。(4)扫描键盘上的数值,并将它反映到特定的寄存器里,根据寄存器的存储值对定时程序进行重新置数操作 基于完成以上任务分析,结合所学有关知识,尤其是本学期所学关于单片机的中断系统和定时/计数器的相关知识及应用,我们知道对于红、

5、绿、黄两组各三盏灯的控制,可以通过把这六盏灯分别接到单片机的六个输出引脚,若用P1口进行输出,则分配如下: AT89C51P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 L1 L2 L3 L4 L5 L6(东西红) (东西黄) (东西绿) (南北红) (南北黄) (南北绿) LED显示分布 通过对P1口P0P5编程从而实现控制。而时间的各盏灯的熄灭时间的延 图1单片机引脚分布1.2设计目的(1)加强对单片机和汇编语言的认识,充分掌握和理解设计各部分的工作 原理、设计过程、选择芯片器件、模块化编程等多项知识。(2)用单片机模拟实现具体应用,使个人设计能够真正使用。(3)把理论知识与实

6、践相结合,充分发挥个人能力,并在实践中锻炼。(4)提高利用已学知识分析和解决问题的能力。(5)提高实践动手能力。1.3设计任务 目前,我们接触到的交通灯都位于十字路口,假设实际情况为东西南北走向 的十字路口,如下图: 图2实际交通图1.4 设计内容 a设计并绘制硬件电路图 b制作PCB并焊接好元器件 c编写程序并将调试好的程序固化到单片机中 利用单片机的定时器定时,实现道路的红绿灯交替点亮和熄灭。以AT89C52单片机为核心,设计一个十字路口交通灯控制系统。用单片机控制LED灯模拟交通信号灯显示。在设计中利用软件程序延时的方法来控制红(绿)的亮的时间。 考虑延时时间较长所以先用T0产生终端然后

7、通过计数的方法来实现延时。利用口的P1.1、P1.2、P1.3作为红绿灯控制端口。南北方向、东西方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用计时的方法)。 交 通 灯 AT89C51时 钟 电 路 LED 数 码 管振 荡 电 路上 电 复位 电 路3、软件结构图: 图3硬件原理框图 主 程 序显示子程序调用 实现 功能模块 图4软件结构框图2 交通管理的方案 东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共

8、停车时间。(1) 当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。时间为25秒。(2) 黄灯5秒,警示车辆和行人红、绿灯的状态即将切换。(3) 当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。时间为25秒。(4) 这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。3 硬件设计 3.1芯片主要性能AT89S52单片机与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、 1000次擦写周期、 全静态操作:0Hz33Hz 、 三级加密程序存储器 、 32个可编程I/O口线 、

9、三个16位定时器/计数器 八个中断源 、全双工UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒、双数据指针 、掉电标识符 。 3.2功能特性描述At89C52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89C52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89C52具有以下标准功能: 8k字节F

10、lash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89C52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。3.3设计电路: 设计电路主要由两部分组成,一部分为P1口与十二个发光二极管连接电路,另一部分是P0、P2口与八个七段显示器相连的电路, 设计中采用发光二极管作为交通灯

11、来使用, 单片机的I/O接口直接和交通灯(发光二极管)连接。在十字路口的四组红、黄、绿三色交通灯中,东西方向道路上的两组同色灯连接在一起,南北方向道路上的两组同色的灯也彼此连接在,受单片机P1.0P1.5控制。单片机的I/O接口与交通灯电路的具体连接方式为:P1.0P1.2分别接东西方向的红、黄、绿共6个放光二极管,P1.3P1.5分别接南北方向的红、黄、绿共6个发光二极管。12个发光二极管采用了共阳极的连接方式,因此I/O口输出低电平时,与之相连的发光二极管会亮,I/O口输出高电平时,相应的发光二极管会灭。交通灯电路如图所示 图5 交通电路3.4显示电路设计 东西和南北方向的放行时间的长短是

12、依据路口的各个方向平时的车流量来设定。 各个状态保持的时间之有严格的对应关系。我们可以依据标准来改变车辆的放行时间。按照一般的规则,一个十字路口可分为主干道和次干道,主干道的放行时间大于次干道的放行时间。该显示装置选用七段数码管来显示交通灯转换的剩余时间,根据控制要求,每个路口需要两个数码管,这样四个路口就要求八个数码管。有序AT89C51单片机的I/O作为输出时,具有较强吸收电流能力,因此我们可以选用共阳型数码管,这样由单片机的I/O就可以直接驱动,从而简化硬件电路的设计。四个路口倒计时显示被置在同一时刻显示相同的数字,期中P0口用来显示时间的十位,P2口用来显示时间的个位。电路如下图所示

13、图 6显示电路图3.5 晶振电路 晶振电路原理图,晶振为12MHz。 图9晶振模块原理图 选取原则:传统做法,但能够实现所需,即最简单也最是实用。电容选取30pF。 图7晶振电路4 软件程序流程 4.1主程序流程说明 当定时器定时为1秒,时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间 ,同时一直显示信号灯的颜色,这时在返回定时子程序定时一秒,在显示黄灯的下一个时间,这样依次把所有的灯色的时间显示完后在重新给时间计数器赋初值 ,重新进入循环。 开始初始化,全部为黄灯并按照初始化运行东西红灯亮,南北绿灯亮调用显示程序,将时间送显示东西黄灯闪烁,南北黄灯烁调用显示程序,将时间送显示

14、返回东西绿灯亮,南北红灯亮调用显示程序,将时间送显示东西黄灯闪烁,南北黄灯闪烁调用显示程序,将时间送显示 图8主程序流程图4.2显示子程序流程说明 在此流程中P0端口代表十位,P2端口代表个位。在设计中利用软件程序延时的方法来控制红(绿)的亮的时间。考虑延时时间较长所以先用T0产生终端然后通过计数的方法来实现延时。利用口的P1.1、P1.2、P1.3作为红绿灯控制端口。 图9显示子程序图4.3软件设计电路 图10仿真电路 图11仿真效果5 总结在这次实验过程中,通过本组成员的共同合作完成了此次实验、我们就去图书馆借来了书,学习交通灯技术,了解交通灯的原理。当然这些的学习与我们的实习进程是同步的

15、,我们分几个模块来设计,针对每个模块有针对性的快速学习,然后用Keil软件编程。这已经是最后一次实习了,每结束一个实习,就越发觉得自己实在是有太多知识不会的,即便是在实习过程中掌握了的知识自己也不是很有底,当时目的性太强,学的太专,也许这就是快速学习的后遗症吧。但实习本身重点就不是用来系统学习知识的,而是用来锻炼能力的,锻炼查找资料快速学习融会贯通以及动手的能力,只要能有这方面的收获实习的目的就已经达到了,自己还是有不少收获的!参考文献1.单片机原理及应用 张毅刚 高等教育出版社 。2.单片机控制实习与专题制作蔡朝洋。3.单片机实验教程 彭冬明、韦友春 北京理工大学出社。4.单片机基础李广弟,

16、朱月秀 北京航空航天大学出版社。5.单片机课程设计实例指导李光飞 北京航空航天大学出版社。附录1程序及其清单 ORG 0000H AJMP STAT ORG 0100HSTAT: SETB EA ;EA=1 SETB EX0 ;EX0=1 SETB IT0 ;IT0=1 SETB EX1 ;EX1=1 SETB IT1 ;IT1=1 MOV SP,#60H STAT1: MOV R0, #0EDH ;初始化,东西南北均为黄灯 MOV P1, R0 MOV R7,#05 ;显示5秒 LCALL DISP1 ;调显示子程序A1: MOV R0,#0DEH ;东西红灯亮 南北绿灯亮 MOV P1,R

17、0 MOV R7,#25 ;显示25秒 LCALL DISP ;调显示子程序SHANHD: MOV R0, #0EDH ;点亮东西黄灯 点亮南北黄灯 MOV P1, R0 MOV R7,#05 ;显示5秒 LCALL DISP1 ;调显子程序A2: MOV R0,#0F3H ;东西绿灯亮 南北红灯亮 MOV P1,R0 MOV R7,#25 ;显示25秒 LCALL DISP ; 调显子程序DISP: MOV 40H,R7 NEXT: MOV A,40H MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A MOV A,B MOVC A

18、,A+DPTR MOV P2,A LCALL DELAY1S DEC 40H MOV A,40H CJNE A,#00,NEXT MOV R7,#00 CJNE R0,#0DEH,STAT CJNE R0,#0F3H,SHANHDNEXT1: MOV A,41H DISP1: MOV 41H,R7 MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A MOV A,B MOVC A,A+DPTR MOV P2,A MOV R0, #0EDH MOV P1, R0 ACALL DELAY10MS MOV R0, #0FFH MOV P1, R0 LCALL DELAY1S DEC 41H MOV A,41H CJNE A,#00,NEXT1DELAY10MS: MOV R1,#10 D6: MOV R2,#20 D5: MOV R3,#248 DJNZ R3,$ DJNZ R2,D5 DJNZ R1,D6 RETDELAY1S: MOV R6,#

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论