版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
23课程设计任务书学生姓名:专业班级:电子科学与技术指导教师:封小钰工作单位:信息工程学院题目:交通信号灯控制器的设计初始条件:本设计既可以使用集成集成译码器、计数器、定时器、脉冲发生器和必要的门电路等。本设计也可以使用单片机系统构建交通信号灯控制器。用数码管显示时间计数值,用红、黄、绿LED作信号灯。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、课程设计工作量:1周。2、技术要求:=1\*GB3①要求甲车道和乙车道两条交叉道路上的车辆交替运行(以红绿灯指示),每次通行时间设为0—30秒(可预置);变更车道以前,黄灯先亮5秒钟,黄灯亮时,要求每秒钟闪亮一次;两个车道均以减计数方式显示时间。其余部分可根据情况自行发挥。=2\*GB3②确定设计方案,按功能模块的划分选择元、器件和集成电路,设计分电路,阐述基本原理。=3\*GB3③绘制总体电路原理图。3、查阅至少5篇参考文献。按《武汉理工大学课程设计工作规范》要求撰写设计报告书。全文用A4纸打印,图纸应符合绘图规范。时间安排:1、2010年6月28日集中,作课设具体实施计划与课程设计报告格式的要求说明。2、2010年6月28日,查阅相关资料,学习电路的工作原理。3、2010年6月28日至2010年6月29日,方案选择和电路设计。4、2010年6月29日至2010年7月1日,电路调试和设计说明书撰写。5、2010年7月2日上交课程设计成果及报告,同时进行答辩。课设答疑地点:鉴主14楼电子科学与技术实验室。指导教师签名:年月日系主任(或责任教师)签名:年月日武汉理工大学《数字电子技术基础》课程设计说明书目录摘要 IAbstract II1绪论 12设计内容及要求 22.1设计的目的及主要任务 22.1.1设计的目的 22.1.2设计任务及主要技术指标 22.2设计思想 23设计原理及单元模块设计 33.1设计原理及方法 33.2单元模块设计 43.2.1AT89S52单片机 43.2.2晶振电路 63.2.3 复位电路 63.2.4 LED数码管显示模块 73.2.5 LED红绿灯显示模块 73.2.6软件设计 84电路仿真 95调试 106心得体会 11附录1元件清单 13附录2源程序 14摘要近年来随着科技的高速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识还是不够的,还应根据具体硬件结构,软硬件结合,加以完善[2]。十字路口所以能保持秩序井然,靠的就是交通信号灯的自动指挥控制器。本系统采用AT89S52单片机,数码显示管及红、绿、黄LED灯模拟实现十字路口交通灯的各种状态显示以及倒计时时。本设计系统由单片机I/O口扩展系统、交通灯状态显示系统、LED数码显示系统、复位电路等几大部分组成。系统除基本的交通灯功能外,还具有倒计时等功能,较好的模拟实现了十字路口可能出现的状况。关键词:单片机交通信号灯AT89S52数码显示管LED灯
AbstractInrecentyearsalongwithtechnicalhighspeeddevelopment,monolithicintegratedcircuit'sapplicationunceasinglythorough,simultaneouslyleadsthetraditionalcontrolexaminationtechnologytorenewdaybyday.Inthereal-timeexaminationandinautomaticcontrol'smonolithicintegratedcircuitapplicationsystem,themonolithicintegratedcircuitoftentakesacoreparttouse,onlythemonolithicintegratedcircuitaspectknowledgeisinsufficient,butshouldalsoactaccordingtotheconcretehardwarearchitecture,thesoftwareandhardwareunion,consummates.Thereforetheintersectioncanmaintainorderly,dependingonisstreet-trafficcontrollights'automaticdirectioncontroller.Thissystemusesat89C52monolithicintegratedcircuit,thedigitaldisplaytubeandred,green,theyellowLEDlampsimulationrealizestimetheintersectiontrafficlight'seachconditiondemonstrationaswellasthecountdown.ThisdesignsystembythemonolithicintegratedcircuitI/Omouthexpansionsystem,thetrafficlightconditiondisplaysystem,theLEDnumericalcodedisplaysystem,theresetcircuitandsoonseveralmajorpartsiscomposed.Systembesidesbasictrafficlightfunction,butalsohasfunctionsandsooncountdown,thegoodsimulationhasrealizedtheconditionwhichtheintersectionpossiblyappears.Keywords:Monolithicintegratedcircuitstreet-trafficcontrollightsAT89C52digitaldisplaytubeLEDlamp1绪论当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口[3]。2设计内容及要求2.1设计的目的及主要任务2.1.1设计的目的(1)加强对单片机认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。(2)用单片机模拟实现具体应用,使个人设计能够真正使用。(3)把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼。(4)提高利用已学知识分析和解决问题的能力。(5)提高实践动手能力。2.1.2设计任务及主要技术指标(1)单片机采用用AT89S52芯片,使用发光二极管(红,黄,绿)代表各个路口的交通灯,用8段数码管对转换时间进行倒时(东西路口30秒,南北路口30秒,黄灯时间5秒)(2)设计并绘制硬件电路图(3)焊接好元器件(4)编写程序并将调试好的程序固化到单片机2.2设计思想通过分析,可以用单片机P3和P0口、锁存芯片和显示译码芯片的配合来实现控制LED灯和数码管。通过锁存芯片实现单片机口的分时复用,简单易行,且编程简单,能实现数据的快速交换以及单片机的资源的充分利用。采用分模块设计的思想,程序设计实现的基本思想是一个计数器,选择一个单片机,其内部为一个计数,是十六进制计数器,模块化后,通过设置或程序清除来实现状态的转换,对不同的状态输入要产生相应状态的下一个状态的预置数,控制数码管的数字显示,并通过LED灯模拟交通灯的状态变化[6]。3设计原理及单元模块设计3.1设计原理及方法整个设计以AT89C52单片机为核心,由数码管显示,LED数码管显示,复位电路组成[1]。硬件模块如图3-1-1。AT89S52单片机数码管显示AT89S52单片机数码管显示LED数码管显示晶振电路复位电路3-1-1硬件模块图东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。指示灯燃亮的方案如表所示。25S5S25S5S……东西道红灯亮红灯亮绿灯亮黄灯亮……南北道绿灯亮黄灯亮红灯亮红灯亮……说明:(1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。时间为25秒。(2)黄灯5秒,警示车辆和行人红、绿灯的状态即将切换。(3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。时间为25秒。(4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。根据原理分析,初步设计出整体电路图(图3-1-2)。3-1-2整体电路设计图3.2单元模块设计3.2.1AT89S52单片机其引DIP封装的脚图如下:3-2-1AT89S52引脚图主要性能与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。功能特性描述AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8位微控制器8K字节在系统可编程FlashAT89S523.2.2晶振电路晶振电路原理图如3-2-2:3-2-2晶振模块原理图晶振电路的作用晶振是给单片机提供工作信号脉冲的.这个脉冲就是单片机的工作速度.比如12M晶振.单片机工作速度就是每秒12M.为了电路的稳定性起见,在晶振的两引脚处接入两个10pf-50pf的瓷片电容接地来削减谐波对减电路的稳定性的影响。3.2.3 复位电路3-2-3复位电路原理图复位方式有多种,本设计采用按键复位。在设定的定时时间内,89S52必须在RST引脚产生一个由高到低的电平变化,以清内部定时器.3.2.4 LED数码管显示模块LED数码管分共阳极与共阴极两种,本设计中采用2位共阴极八段数码管。共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起。通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。程序初始化状态1(S1)状态2(S2)状态3(S3)状态4(S4)3-2-42位共阴极八段数码管引脚图3.2.5 程序初始化状态1(S1)状态2(S2)状态3(S3)状态4(S4)3-2-42位共阴极八段数码管引脚图本实验有四种状态:状态1,东西绿灯亮,南北红灯亮。状态2,东西黄灯亮,南北红灯亮。状态3,东西红灯亮,南北绿灯亮。状态4,东西红灯亮,南北黄灯亮。再采用显示子程序与延时子程序可使LED显示灯按照要求点亮(如图3-2-5进入循环)。3-2-5状态循环流程图3.2.6软件设计软件设计应用单片机C语言编程,c语言是一种编译型设计语言.它兼顾了多种高级语言的特点,并具备汇编语言的功能.用c语言来编写目标系统软件,会大大缩短开发周期,且明显的增加软件的可读性,便于改进和扩充,以研制出规模更大,性能更完备的系统。而且采用c语言也不必对单片机和硬件接口的结构有很深入的了解,编译器可以自动完成变量的存储单元的分配.采用c语言可以很容易地进行单片机的程序移植工作[4]。主程序流程图如图3-2-6所示。3-2-6主程序流程图4电路仿真本次设计使用的仿真软件为Protues.ProteusISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。②支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeilC51uVision2等软件。④具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件[7]。仿真电路图如图4-1。4-1Protues仿真电路图5调试调试分为硬件调试和软件调试[1]。硬件调试时将加工的印制板认真对照原理图,看两者是否一致。应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查系统总线(地址总线、数据总线和控制总线)是否存在相互之间短路或与其它信号线路短路。必要时通电前,一定要检查电源电压的幅值和极性利用数字万用表的短路测试功能,可以缩短排错时间。确认各元器件可以正常工作。软件调试利用软件编程的方法来实现。51系列单片机的信号线大体分为读、写信号线、片选信号线、时钟信号线、外部程序存贮器读选通信号(PSEN)、地址锁存信号(ALE)、复位信号等几大类。这些信号大多属于脉冲信号,对于脉冲信号借助示波器(这里指通用示波器)用常规方法很难观测到,必须采取一定措施才能观测到。因此要使用一些简单的调试程序来确定硬件的组装是否正确、功能是否完整。在调试过程中,出现数码管显示过暗的情况,通过查资料和咨询同学,得知出现此种情况是由于单片机驱动电流过低所致,可添加锁存器,使其有较大的驱动电流。而且设置锁存器可以使显示的数据稳定,不会由于周期性的清零信号而不断闪烁。6心得体会通过这次课程设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技的掌握方面都能向前迈了一大步。本次课程设计的过程是艰辛的,不过收获却是很大的。综合课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更进一步的理解和认识。在此,由于自身能力有限,在课程设计中碰到了很多的问题,我通过查阅相关书籍、资料以及和周围同学交流使问题得到解决。通过这次单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为自己的东西。由于使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。当然,通过这次课程设计,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我。在此次课程设计中,同学给予了很大的帮助,对其表示深深地感谢。
参考文献[1]何立民.MCS-51系列单片机应用系统计.北京:北京航空航天大学出版社.1999.6[2]韩建,马静.单片的原理及应用.北京:中国计量出版社.2006.9[3]杨欣,王玉凤,刘湘黔.51单片机应用从零开始.北京:清华大学出版社.2008.1[4]周坚.单片机C语言轻松入门.北京:北京航空航天大学出版社.2006.1[5]于永等.51单片机C语言常用模块与综合系统设计实例精讲.北京:电子工业出版社.2007.4[6]楼然苗李光飞.单片机课程设计指导.北京:北京航空航天大学出版社.2007.1[7]周润景,张丽娜,刘印群.PROTEUS入门实用教程.北京:机械工业出版社.2007.9附录1元件清单元件数量51型号单片机AT89S52174HC573N锁存器1瓷片电容33μF×2电解电容10μF电阻2.2KΩ×610KΩ×210KΩ排阻112MHz晶振1LED灯6(红2,黄2,绿2)共阴2位八段数码管2单片机底座1锁存器底座1按钮开关1排针若干附录2源程序/**********************液晶引脚定义*********************************/#definedis_dataP0 //数据总线定义#definedis_ctrP2/****************键盘引脚定义**********************************/sbitkey1=P1^0;sbitkey2=P1^1; sbitkey3=P1^2;sbitkey4=P1^3;/**********************蜂鸣器引脚定义*********************************/#defineledP3sbitred_a=P3^0;sbitred_b=P3^3;sbitgreen_a=P3^2;sbitgreen_b=P3^5;sbityellow_a=P3^1;sbityellow_b=P3^4;/************************变量定义************************************/unsignedchardis_time,dis_time_a,dis_time_b;//定义时间存储变量unsignedcharred_time_a,red_time_b,yellow_time;//定义时间存储变量unsignedintcount; //定时器中断计数器bitflag_r,flag_g,frq; unsignedcharset_in; //闹钟设置标志unsignedcharcodedis_code[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};#include<reg52.h>#include<define.h>voidinitial();voidled_con();voidcheck_key();voiddisplay(unsignedcharn);voidflash(unsignedcharn);main(){initial();while(1){if(dis_time<=5)flag_g=1; else flag_g=0;if(dis_time==0) { if(flag_r==1) dis_time=red_time_a; else dis_time=red_time_b; flag_r=~flag_r; }led_con();check_key();display(0);}}/************************初始化函数*******************************/voidinitial(){led=0xff;//时间初始化red_time_a=30;red_time_b=30;yellow_time=5;dis_time=30;red_a=0;green_b=0;flag_g=0;flag_r=1;set_in=0; //定时器初始化TMOD=0x02;//使用定时器模式2EA=1; //开启定时器中断ET0=1;IP=0x00; //中断优先级设置TH0=56; //装载初值定时200usTL0=56;TR0=1; //开启定时器}/************************LED灯控制函数*******************************/voidled_con(){if(flag_r){red_a=0; red_b=1; green_a=1; yellow_a=1; if(flag_g) { if(count<2500) yellow_b=0; else yellow_b=1;green_b=1;} else { yellow_b=1; green_b=0; } }else{red_b=0; red_a=1; green_b=1; yellow_b=1; if(flag_g) { if(count<2500) yellow_a=0; else yellow_a=1; green_a=1;} else { yellow_a=1; green_a=0; }}}/********************键盘控制函数*******************************/voidflash(unsignedcharn);voidcheck_key(){if(!key1){TR0=0;set_in=1;while(!key1) display(0); while(key1) { flash(1); if(!key3) { while(!key3) flash(1); if(red_time_a==60) red_time_a=10; else red_time_a++; } if(!key4) { while(!key4) flash(1); if(red_time_a==10) red_time_a=60; else red_time_a--; } } if(!key1) { while(!key1); count=0; dis_time=0; TR0=1; set_in=0; }}if(!key2){TR0=0; set_in=1;while(!key2) display(0); while(key2) { flash(2); if(!key3) { while(!key3) flash(2); if(red_time_b==60) red_time_b=10; else red_time_b++; } if(!key4) { while(!key4) flash(2); if(red_time_b==10) red_time_b=60; else red_time_b--; } }if(!key2) { while(!key2); count=0; dis_time=0; TR0=1; set_in=0; }}}voidflash(unsignedcharn){unsignedchari;for(i=80;i>0;i--){ display(0); if(!(key1&&key2&&key3&&key4)) break; }for(i=80;i>0;i--){ display(n); if(!(key1&&key2&&key3&&key4)) break; }}/********************显示函数*******************************/voiddelay();voiddisplay(unsignedcharn){if(!set_in){dis_ctr=0xfe; dis_data=dis_code[dis_time/10]; delay(); dis_data=0x00; dis_ctr=0xfd; dis_data=dis_code[dis_time%10]; delay(); dis_data=0x00; dis_ctr=0xfb; dis_data=dis_code[dis_time/10]; delay(); dis_data=0x00; /r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 厂房租赁协议15篇
- (二模)石家庄市2026届普通高中高三毕业年级教学质量检测(二)英语试卷(含答案)
- 2026年海南高考历史资格考试试卷及答案
- 职业规划大赛精彩文案
- 2025年湖南张家界市初二学业水平地理生物会考真题试卷+解析及答案
- 2025年广西八年级地理生物会考真题试卷+答案
- 2025年湖北武汉市初二地生会考真题试卷(+答案)
- 质量保证体系、安全保证体系
- 大单元教学十问十答
- 四川省成都市2025-2026学年高三语文上学期10月月考试题含解析
- 生物安全实验室消毒管理制度
- 林下经济示范基地项目环境影响评估报告
- 山东省建筑工程概算价目表(2020版)
- 下水管网安全管理制度
- 中医穴位养生课件
- HCIA历年考试试题及答案
- 西门子EET Basic 电梯仿真一体化教程 课件5 电梯初始化及启停控制
- 松下机器人培训
- 从严从实抓好管酒治酒 确保队伍内部长治酒安
- 心脏支架术前术后护理
- 人教版高中地理必修二知识点高考复习大纲
评论
0/150
提交评论