数电交通灯课程设计.doc_第1页
数电交通灯课程设计.doc_第2页
数电交通灯课程设计.doc_第3页
数电交通灯课程设计.doc_第4页
数电交通灯课程设计.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

武汉理工大学数字电子技术基础课程设计说明书目录摘 要1Abstract21、方案设计与论证31.1 系统方案设计与论证31.2 模块方案设计与论证31.2.1 控制模块方案31.2.2 显示模块方案41.2.3 交通灯模块方案41.2.4 调节模块方案41.2.5 电源模块方案41.3 总体设计思想52、系统硬件电路设计52.1 单片机模块设计52.2 显示模块设计62.3 交通灯模块电路设计72.4 按键调节电路设计73、 交通灯软件设计73.1 主监控程序设计73.2 中断的程序设计83.3 按键的程序设计83.4 显示的程序设计94、性能测试94.1 LED交通灯与数码管的显示94.2 按键调试105、 心得体会11参考文献12附件1 源程序13附件2 总原理图20附件3 元件清单21摘 要 交通灯在交通环境中起着一个重要的角色,是交通管理的重要工具。为实现十字路口交通灯最优控制,更大程度上的缓解交通压力,本实验设计了基于STC89C52单片机的智能交通灯控制系统,主要由单片机(MCU)、按键控制等模块组成。系统包括人行道、车行道、以及基本的交通灯的功能。除此之外,还具有倒计时、时间设置、根据具体情况手动控制等功能。该系统能够实现对十字路口交通状况的简单控制,达到控制目的,经济效益,具有一定的应用前景。关键词:STC89C52 交通灯 AbstractTraffic lights in the traffic environment plays an important role, is an important tool for traffic management. To achieve the optimal control intersection traffic lights, greater ease traffic pressure, this experiment was designed based on the STC89C52 intelligent traffic control system, mainly by microcontroller (MCU), button control etc module. System including sidewalks, the driveway, and basic functions of the traffic lights. In addition, but also has the countdown, time setting, according to the specific circumstances of manual control etc. Function. The system can realize to the intersection traffic simple control to achieve control purposes, economic benefits, have certain application prospect.Keywords: STC89C52 the traffic lights交通信号灯控制器的设计1、方案设计与论证1.1 系统方案设计与论证根据实验设计要求,使得红、黄、绿三种LED灯在单片机的控制下作为两个交通通道的指示灯显示,并且使用数码管以减计数的方式显示每个通道的通行时间。以下是几种系统设计方案。 方案一:基于数字电路的交通灯控制系统 数字电路是我们最常用的一种控制电路,但数字电路有很多弊端。首先就是电路设计起来很复杂;其次就是电路一旦设计好后其参数就不能改变,工作起来也不是很容易受到外界信号的干扰。所以其很显然不利于现代交通灯智能控制的发展。 方案二:基于单片机的设计 用单片机控制按键、数码管和LED灯,使用软件编程实现对外部器件的控制。该方案具有硬件电路简单、可修改性好、普及度高和经济效益好等的优点。综上所述,本次交通灯控制系统采用方案二基于单片机的方式。1.2 模块方案设计与论证1.2.1 控制模块方案方案一:采用AVR单片机。AVR是8位单片机,作为控制器件用于不太复杂的设备。AVR内部资源比51单片机多很多,如10位AD,PWM等等,在功耗和I/O驱动能力方面强很多,改进了内部结构,在相同晶振下AVR处理速度快于51。但是没有良好的经济效益。方案二:采用51系单片机。51系列单片机是一种价格低廉,稳定性好,应用广泛,的8位单片机,内置有4kB ROM存储单元,适用于小型控制场合,无需外围扩展存储器。综合考虑经济效益,普及性等,本系统的要求下使用一块通用的51系列单片机已经足够,故选择方案三。1.2.2 显示模块方案该系统要求显示部分能够完成对通行时间的倒计时功能。基于上述原因,我们考虑了二种方案:方案一:采用数码管显示。这种方案可以显示数字以及简单的字符,完全可以满足我们设计的要求,而且价格便宜,实用性高。方案二:采用点阵式LED 显示。点阵可以显示数字、字符、汉字、自定义符号等,作为交通灯的人机交互模块较为方便,单片点阵即可完成指示作用。但软件工作较数码管复杂,成本也较为高,对于我们的设计方案实用性不佳。权衡利弊,我们决定采用方案一以实现系统的显示功能。1.2.3 交通灯模块方案交通灯模块直接采用红、绿、黄LED灯作为指示,完全可以满足我们的设计要求。1.2.4 调节模块方案方案一:采用矩阵键盘,作为调节按钮及开关可以节约单片机IO口。方案二:采用独立按键,独立按键编程较矩阵键盘更简单,但是占用的单片机IO口较多。考虑到我们的设计方案中只用到一个功能键及两个调节键,直接采用独立按键也不会占用太多IO口,故采用方案二直接利用独立按键。1.2.5 电源模块方案方案一:设计独立的供电电路,通过变压电路、整流电路、滤波电路、稳压电路最后得到需要的电压供给电路工作。方案二:利用USB接口直接供电,由于现在电脑很普及,而且单片机的开发也需要利用电脑,电脑的USB接口的电压刚好是5V左右,可以直接供电路使用。考虑到设计的简单实用性,采用方案二。1.3 总体设计思想根据题目要求,经过如上一系列的方案设计比较与分析,制定出一个整体系统设计方案如下图所示。该系统的工作过程是:系统上电后默认的倒计时时间为30S,在无任何按键按下时,通道A红灯亮,通道B绿灯亮;自动倒计时至5S时,通道A红灯灭,黄灯闪烁;当倒计时显示为0时,变为通道A绿灯亮,通道B红灯亮同理,循环显示与计数达到控制通行的目的。两外,3个独立按键分别是功能键、加、减键,用来实现对系统的倒计时时间的调节,流程图如图1-1所示。 显示模块 数码管 MCU STC89S52 调节模块 独立按键 数码管驱动 交通灯模块 LED(红、绿、黄)图1-1 系统流程图2、系统硬件电路设计具体的硬件电路包括单片机模块设计、显示模块设计、交通灯模块及按键调节电路设计。2.1 单片机模块设计单片机是交通灯的控制中心,通过按键的输入,完成对数码管初值的设定、数码管显示的控制以及交通灯的控制。本设计采用STC89S52最小系统,外部时钟为12MHz,电路原理图如图2-1所示。图2-1 单片机模块2.2 显示模块设计 为了模拟十字路口显示器对行人及车辆等待时间的指示,本系统设计了两组2位一体共阳数码管作为倒计时的显示,分别作为两个通道方向A、B的指示显示。选用74HC04作为数码管驱动电路,其原理图如图2-2所示。图2-2 数码管显示模块2.3 交通灯模块电路设计选择红黄绿三种颜色作为交通指示灯,红灯停、绿灯行、黄灯为警告提醒。同样设计成十字形,分别作为通道A、B的指示灯。原理图如图2-3所示。 图2-3 交通灯2.4 按键调节电路设计为方便用户直接对倒计时时间的调节,设定了三个按键。按键K0是功能按键,当按下时,系统停止工作,按键K1、K2分别为加、减键,并将调节后的时间显示在数码管上。设计原理图如图2-4所示。图2-4 按键3、 交通灯软件设计3.1 主监控程序设计程序开始后,设置中断程序,运行初始化程序,包括初始化单片机IO口、按键初始状态、数码管初始显示时间等。程序进入主循环后,主要执行4个状态的相互转换及按键检测,系统软件流程图如图3-1所示。 图3-1 主程序流程图3.2 中断的程序设计本系统采用2个定时器中断方式:定时器0完成计时功能,当倒计时时间到来时,调用状态转换函数转换到相应状态,同时定义标识符,检测状态2、4的0.5s间隔,完成黄灯的闪烁;定时器2执行显示命令,利用定时器而不采用延时函数完成数码显示,可以解放CPU,不影响其他功能的实现。3.3 按键的程序设计本系统共用到3个独立按键,为了方便共用了两个按键检测函数,一个检测功能键,并利用标识符,设置了两种状态:正常工作状态和时间设定状态;另一个检测两个调节按键,并执行相应的时间加、减,此检测程序只会在时间设定状态下才会被调用,防止正常运行过程中无意按到,而出现时间显示异常的情况出现,使系统更稳定。3.4 显示的程序设计数码显示部分共涉及两个函数:一个是void time_to_display(unsigned char a),完成将显示内容送至显示缓冲区,等待显示函数调用;另一个是void display(),完成数码的显示,由于需要动态显示,若采用延时程序完成,则会占用CPU,影响其他程序的执行,以防此情况发生,所以此函数放到定时器1中断程序中执行,利用定时器2ms中断定时,完成动态显示。4、性能测试4.1 LED交通灯与数码管的显示按照设计思路,开始正常工作时通道A为绿灯亮,同时应伴随着通道B红灯亮和数码管倒计时显示时间;当倒计时到5S时,通道A绿灯灭,黄灯开始闪烁;当倒计时到1时,在下一秒进入下一状态。仿真测试如图4-1所示。 图4-1 数码管及交通灯仿真测试完成实物后,测试出现的全部结果可以简单的用状态图表述为图4-2所示。图4-2 仿真测试状态转换图4.2 按键调试当按下S键时,数码管停止计时,并将当前总时间显示在数码管上,红绿灯全部熄灭,再按下按键S(+)与S(-)时,数码管显示加1或减1。仿真测试图见图4-3。图4-3 按键仿真测试经过实物测试,电路可以正常工作,故设计达到题目要求。5、 心得体会本次课程设计至此已经接近尾声,虽然整个的设计制作过程很短,但是我还是从中学到了好多东西。此次设计主要是利用单片机控制电路,由于我们还没开设单片机课程,所以此次课程设计不仅是为了锻炼我们动手的能力,更是培养我们的自学能力。整个设计过程中首先对数字电路这门课程有了更深的了解,以前的数字实验只是针对某一个小的功能设计,而此次课程设计对我们的总体电路的设计的要求更严格,首先需要根据设计要求确立实验总体设计方案,然后逐步细化进行各模块的设计;其次,在编程和调试过程中总会出现一些问题,需要我们细心解决,所以这几天下来,我对程序和电路故障的排查能力有了很大的提高;再次,通过此次课程设计,我对设计所用到的软件有了更加深刻地了解,这对我们以后的工作和学习的帮助都很有用处。感谢学校给我们这次机会,锻炼了我们的动手能力。通过这次课设我对单片机的学习热情更高了,也对电路设计产生了浓厚的兴趣,同时通过把学到的理论知识成功应用到实际中,自己感到了一种成就感。最后感谢学校为我们提供实验室,便于我们调试、测量,感谢老师的细心指导。参考文献1郭天祥51单片机C语言教程北京:电子工业出版社,2009.122伍时和,吴友宇数字电路技术基础北京:清华大学出版社,2009.4 3欧伟明,何静等.单片机原理与应用系统设计.北京:电子工业出版社,2009.94蔡惟铮数字电子线路基础哈尔滨:哈尔滨工业大学出版社,1988.35谭浩强C语言基础设计北京:清华大学出版社,2007.76张建华数字电子技术北京:机械工业出版社,1994.4附件1 源程序#include#define uchar unsigned char#define uint unsigned intsbit kai=P10; /*按键的定义*/sbit jia=P11;sbit jian=P12;sbit shiwen=P26; /*数码管位选定义*/sbit gewen=P27;sbit LED_GREEN1=P20; /*交通灯定义*/sbit LED_RED1=P21;sbit LED_YELLOW1=P22;sbit LED_GREEN2=P23;sbit LED_RED2=P24;sbit LED_YELLOW2=P25;bit wen=1,guan; /*标识符定义*/uchar TIME,i,z;char TIME_MAX1=30; /*时间初始化*/uchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar wenxuan=0,1;shuzi=0,0;void delayms(uchar z) /*延时函数*/uchar x,y;for(x=0;xz;x+)for(y=0;y110;y+);void time_to_display(uchar z) /*缓存待显示内容的函数*/shuzi0=z/2/10;shuzi1=z/2%10;void display() /*数码显示函数*/P0=0xff;shiwen=wenxuanwen;gewen=!wenxuanwen;P0=tableshuziwen;void set_zhuangtai(uchar zhuangtai) /*状态转换函数*/if(zhuangtai=0)LED_GREEN1=0;LED_RED1=1;LED_YELLOW1=1;LED_GREEN2=1;LED_RED2=0;LED_YELLOW2=1;TIME=2*TIME_MAX1+1;else if(zhuangtai=1)LED_GREEN1=1;LED_RED1=1;LED_YELLOW1=!LED_YELLOW1;LED_GREEN2=1;LED_RED2=0;LED_YELLOW2=1;else if(zhuangtai=2)LED_GREEN1=1;LED_RED1=0;LED_YELLOW1=1;LED_GREEN2=0;LED_RED2=1;LED_YELLOW2=1;TIME=2*TIME_MAX1+1;else if(zhuangtai=3)LED_GREEN1=1;LED_RED1=0;LED_YELLOW1=1;L

温馨提示

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

评论

0/150

提交评论