计算机控制系统课程设计-单片机交通信号灯控制系统设计.doc_第1页
计算机控制系统课程设计-单片机交通信号灯控制系统设计.doc_第2页
计算机控制系统课程设计-单片机交通信号灯控制系统设计.doc_第3页
计算机控制系统课程设计-单片机交通信号灯控制系统设计.doc_第4页
计算机控制系统课程设计-单片机交通信号灯控制系统设计.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

计算机控制系统课程设计题目:单片机交通信号灯控制系统设计学 院:信息科学与工程学院专 业:自动化学 号:学生姓名:指导教师:日 期:2014年11月29日目录一 设计题目 (3) 二 设计目的 . (3)三 系统设计要求 (3)四 设计说明书要求 (3)五 目的与意义 (4)六 设计内容和要求 (4)七常见交通信号灯系统概述 (4)八 系统硬件设计方案.(4)九 原理图设计(5)十 软件设计方案(9)十一 程序及注释(10)十二 设计心得.(14)十三 参考文献. (15)一、设计题目:单片机交通信号灯控制系统设计二、设计目的:通过本课程的设计,进一步掌握I/O接口设计和常用程序设计技术,掌握单片机控制系统的设计的一般方法,能根据系统设计要求,完成应用系统的硬件和软件设计。三、系统设计要求:交通灯控制系统控制东西、南北两个方向信号灯,每个方向设置两组红绿灯,红灯禁止通行,绿灯允许通行。每个方向的通行时间各由两位LED数码显示,通行时间可设置,绿灯向红灯转换前绿灯闪烁三次共3秒钟,红灯向绿灯过渡时不闪烁。系统上电时的初始状态为东西、南北两个方向均为红灯,持续2秒后为东西方向绿灯,南北方向红灯,之后以定时方式控制两个方向的汽车轮流通行。四、设计说明书要求:1. 根据交通灯控制系统功能要求,选择合适的INTEL51系列CPU,设计单片机复位、振荡电路。2. 设计接口,实现每个方向的通行时间设定和通行时间的显示。3. 设计输出接口,每个LED代表一个灯,由输出口控制东西、南北方向红、绿信号灯的点亮与熄灭。4. 设计并绘制控制系统接线原理图。5. 设计并绘出系统软件框图。6. 根据系统软件框图编写控制系统应用程序。7. 撰写计算机控制系统课程设计说明书。8. 设计说明书包括封面、目录、正文、参考文献。正文包括设计目的与意义、设计要求、常见交通信号灯系统概述、系统硬件设计方案、系统原理图及描述、软件设计方案、程序框图及描述、程序清单与注解说明、设计小结(体会与收获)等。五、设计目的与意义1、通过用51单片机控制交通灯的课程设计,熟练51单片机的编程方法。2、通过本课程的设计,进一步掌握I/O接口设计和常用程序设计技术,掌握单片机控制系统的设计的一般方法,能根据系统设计要求,完成应用系统的硬件和软件设计。3、通过本课程设计将理论用于实践,提高动手能力。六、设计内容和要求交通灯控制系统控制东西、南北两个方向信号灯,每个方向设置两组红绿灯,红灯禁止通行,绿灯允许通行。每个方向的通行时间各由两位LED数码显示,通行时间可设置,绿灯向红灯转换前绿灯闪烁三次共3秒钟,红灯向绿灯过渡时不闪烁。系统上电时的初始状态为东西、南北两个方向均为红灯,持续2秒后为东西方向绿灯,南北方向红灯,之后以定时方式控制两个方向的汽车轮流通行。七、常见交通信号灯系统概述:交通信号灯是交通信号中的重要组成部分,是道路交通的基本语言。交通信号灯由红灯(表示禁止通行)、绿灯(表示允许通行)、黄灯(表示警示)组成。绿灯信号是准许通行信号。按交通安全法实施条例规定:绿灯亮时,准许车辆、行人通行,但转弯的车辆不准妨碍被放行的直行车辆和行人通行。红灯信号是绝对禁止通行信号。红灯亮时,禁止车辆通行。右转弯车辆在不妨碍被放行的车辆和行人通行的情况下,可以通行。红灯信号是带有强制意义的禁行信号,遇此信号时,被禁行车辆须停在停止线以外,被禁行的行人须在人行道边等候放行;机动车等候放行时,不准熄火,不准开车门,各种车辆驾驶员不准离开车辆;自行车左转弯不准推车从路口外边绕行,直行不准用右转弯方法绕行。黄灯亮时,已越过停止线的车辆,可以继续通行。黄灯信号的含义介于绿灯信号和红灯信号之间,既有不准通行的一面,又有准许通行的一面。黄灯亮时,警告驾驶人和行人通行时间已经结束,马上就要转换为红灯,应将车停在停止线后面,行人也不要进入人行横道。但车辆如因距离过近不便停车而越过停止线时,可以继续通行。已在人行横道内的行人要视来车情况,或尽快通过,或原地不动,或退回原处。本设计为了简便起见,将黄灯取消,使用红灯的闪烁代替。八、系统硬件设计方案主控芯片选择intel的AT89C51单片机,此单片机有32个I/O口,2个定时器,5个中断源,4 KB 的片上ROM,128 Bytes 的片上 RAM。使用4对红绿LED灯作为4个方向的信号灯,共阳极接法。通过单片机的P2.0,P2.1,P2.2,P2.3口控制LED的状态。使用4对七段数码管作为时间显示设备,每个方向一对,可以显示099s的倒计时时间。使用单片机的P0.0-P0.6口作为数码管的段码输出端,P2.4,P2.5,P2.6,P2.7口作为数码管的位选端。整个数码管使用动态显示技术驱动。为了实现时间的可控,使用BCD拨码开关作为外部输入设备,调节时间,将拨码开关接到单片机的P1和P3口,由于是8位,故可以选择28=256个状态,等待时间的范围为099s,故使用拨码开关的调节范围足够。九、原理图设计1、 硬件设计框图: P0 AT89C51单片机 P2 P1 P3 复位电路振荡电路东西通行时间设定七段显示器段码4对交通灯(低四位),七段显示器位码(高四位)南北通行时间设定2、 最小系统原理图:51单片机的最小系统包括时钟振荡电路电路和复位电路,如图:时钟振荡电路:单片机可以看成是在时钟驱动下的逻辑电路,单片机在工作过程中,所有工作都是在 时钟信号控制下进行的,每执行一条指令,CPU的控制器都要发出一系列特定的控制信号。单片机复位电路:在上电或复位过程中,控制CPU的复位状态,这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。3、通行时间显示模块如上图为七段显示器,它由段码和位码两种端口组成。其中段码ABCDEFG决定显示数字0-9中哪一个数的数据,DP决定是否显示小数点;位码1和2则决定显示十位还是个位。4、交通灯模块设计中利用LED灯来模仿道路交通中的交通灯,如上图中的红灯和绿灯。由图可看出它们的正极直接接在电源上,可知它们的点亮是由低电平控制的,即给一个低电平它就点亮;给个高电平它就熄灭。5、交通定时显示数据锁存或驱动模块由上图可知,它起到了数据的锁存,同时也起到了驱动作用。它能提供七段显示器稳定可靠的显示数据。它的OE端和LE端分别接了地和电源,可知它是直通的。6、通行时间设定模块通行时间设定有两个BCD转换开关组成,如上图,19和17为可读的十进制数。我们可以很容易的设定它的数值,通过和可以将数据从0-9改变。它的转换原理为当调到9时,它将9这个数转化为四个电平信号1001,也即是二进制数码。在程序内部将它接收,再转化为相应的十进制数就行啦。7、系统的总体图8、上电效果图 图1 图2系统刚上电时如图1所示,交通灯左边为红灯右边为绿灯,东西方向和南北方向红灯亮。经过2S后,如图2所示东西方向绿灯亮起,南北依然为红灯,同时东西方向的通行时间也显示出来,它的通行时间可设定,如图2单片机左下P1口的19即为设定东西方向通行时间为19秒。 当东西方向运行时间只有三秒时,东西方向的绿灯闪烁三次共三秒后,它的运行状态转换为图3所示东西方向红灯,南北方向绿灯。同时南北方向通行时间也显示出来,它的通行时间也可以设定,如图3单片机右下P3口的17秒。 图3十、软件设计方案1、 为了使倒计时更为准确,使用定时器作为倒计时的基准时间,系统使用6M的晶振,定时器设置为0.1S中断一次。2、 设置开机初始化状态,信号灯全部为红灯,等待2秒后,东西方向绿灯,南北方向红灯,然后开始正常工作。3、 每个方向的通行时间各由两位LED数码显示,通行时间可设置,绿灯向红灯转换前绿灯闪烁三次共3秒钟,红灯向绿灯过渡时不闪烁。4、 软件设计流程图:东西方向和南北方向均红灯开始延时2s后东西方向绿灯,南北方向红灯扫描东西时间设定输入,显示通行剩余时间通行时间到倒数三秒东西方向绿灯闪烁后南北绿灯东西红灯通行时间到倒数三秒南北方向绿灯闪烁十一、程序及注释#include / 定义51头文件#define git P0 /将P0口作为交通灯倒计时七段显示器数据口sbit dxshi=P27; /P2.7口作为东西向七段显示器十位选择口sbit dxge=P26; /P2.6口作为东西向七段显示器个位选择口sbit nbshi=P25; /P2.5口作为南北向七段显示器十位选择口sbit nbge=P24; /p2.4口作为南北向七段显示器个位选择口sbit dxred=P23; /P2.3口作为东西向红灯选择口sbit dxgreen=P22; /P2.2口作为东西绿灯选择口sbit nbred=P21; /P2.1口作为南北红灯选择口sbit nbgreen=P20; /P2.0口作为南北绿灯选择口void display(unsigned char T,unsigned char n);/定义七段显示器显示函数 void delay2s(void); /定义2s延时子函数void Delay1ms(unsigned int t);/定义1ms可传参子函数,如:Delay1ms(2)void delay2Ms(void);/定义2ms子函数void dx_shanshuo(void);/定义东西绿灯闪烁子函数void nb_shanshuo(void);/定义南北绿灯闪烁子函数void shuruzhuanhua(void);/定义外部输入定时值转换子函数void TimerConfiguration1();/定义定时器函数unsigned char Time1,Time,dxshuru=20,nbshuru=20;/定义全局变量 char table= 0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90; /定义共阴数码表void main(void)/main主函数shuruzhuanhua();/输入扫描转化dxred=0;/程序初始化东西,南北均为红灯,点亮低电平有效nbred=0;delay2s();/延时2s后东西向绿灯,南北向红灯dxgreen=0;dxred=1;nbgreen=1;nbred=0;Time1=0;/变量Time1赋初值0TimerConfiguration1();/调用定时子函数while(1)/进入主函数循环扫描 shuruzhuanhua();/输入扫描转化if(Time=(dxshuru-3)&Timedxshuru&Time=(dxshuru+nbshuru-3)&Time0;z-)for(i=120;i0;i-)for(j=150;j0;j-);void delay2Ms(void) /2ms延时子函数实现unsigned char o,p,q;for(o=50;o0;o-)for(p=12;p0;p-)for(q=15;q0;q-);void Delay1ms(unsigned int t)/1ms可传参子函数实现 unsigned char k,j; for(;t0;t-) for(k=10;k0;k-) for(j=10;j0;j-); void dx_shanshuo(void)/东西向绿灯闪烁子函数实现 while(Time=(dxshuru-3)&Time=(dxshuru+nbshuru-3)&Time(dxshuru+nbshuru) display(dxshuru+nbshuru)-Time,0); P2=0XDF;dxred=0;dxgreen=1;nbred=1;nbgreen=1;Delay1ms(1000);P2=0XDE;dxred=0;dxgreen=1;nbred=1;nbgreen=0;Delay1ms(1000);void shuruzhuanhua(void)/输入转化子函数实现 unsigned char a,b,c,d;a=P1;b=P3;c=a/16;d=a%16;dxshuru=c*10+d;c=b/16;d=b%16;nbshuru=c*10+d;十二、设计心得 通过本次课程设计,让我加深了对课本知识的理解和掌握,也让我对单片机与外部器件的接口技术有了更深的了解,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。对于各种相关软件如DXP、KEIL的使用更加熟练,C语言的编程风格也有所改善。在设计过程中遇到了许多困难,为了解决这些问题就不得不在课本上查找资料或者在网上查找资料,或者与同学讨论。在课本上学的毕竟是理论知识,理解也不会太深,只有像做这种课

温馨提示

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

评论

0/150

提交评论