单片机技术课程设计说明书 交通灯——课程设计_第1页
单片机技术课程设计说明书 交通灯——课程设计_第2页
单片机技术课程设计说明书 交通灯——课程设计_第3页
单片机技术课程设计说明书 交通灯——课程设计_第4页
单片机技术课程设计说明书 交通灯——课程设计_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

单片机技术课程设计说明书交通灯院、部电气与信息工程学院学生姓名沐弓指导教师王韧职称副教授专业电子信息工程班级电子120班完成时间2013年12月21日摘要交通灯在现代社会交通管理的作用毋庸置疑,它使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。本系统采用单片机AT89S52为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。本设计就是采用单片机模拟十字路口交通灯的状态显示以及倒计时。设计以AT89S52单片机为核心,外接外围电路构成基本电路,本设计除基本的交通灯功能外,还增加了在紧急情况下能手动切换信号灯让特殊车辆优先通行,较好的模拟实现了十字路口可能出现的状况。软件上采用汇编语言编程,主要编写了主程序,LED数码管显示程序。经过整机调试,实现了对十字路口交通灯的模拟关键词交通灯;单片机ABSTRACTTHETRAFFICLIGHTSINTHEMODERNSOCIETYTRAFFICMANAGEMENTROLEITSOCCURRENCE,MAKETRAFFICTOEFFECTIVELYCONTROLFORRELIEVESTRAFFICFLOW,IMPROVETRAFFICCAPACITY,REDUCETHENUMBEROFTRAFFICACCIDENTSHAVEOBVIOUSEFFECTTHESYSTEMADOPTSSINGLECHIPMICROCOMPUTERAT89C51ASTHECENTERDEVICETODESIGNINGTRAFFICLIGHTCONTROLLER,SYSTEMSTRONGPRACTICALITY,SIMPLEOPERATION,EXTENSIBLETHISDESIGNISONECHIPCOMPUTERSIMULATIONINTERSECTIONTRAFFICLIGHTSSTATEDISPLAYANDCOUNTDOWNDESIGNWITHAT89S52SINGLECHIPMICROCOMPUTERASTHECORE,ANEXTERNALCIRCUITCONSTITUTETHEBASICCIRCUITINTELLIGENTTRAFFICCONTROLSYSTEMWILLUSUALLYACHIEVEAUTOMATICCONTROLANDINEMERGENCYSITUATIONSCANMANUALSWITCHINGLIGHTSMAKESPECIALVEHICLERIGHEOFWAYGOODSIMULATIONCROSSROADSPOSSIBLECONDITIONSSOFTWAREISUSEDONASSEMBLYLANGUAGEPROGRAMMING,MAINLYPREPAREDTHEMAINPROGRAM,LEDDIGITALPIPEDISPLAYPROGRAMAFTERTHEMACHINECOMMISSIONING,REALIZETHEINTERSECTIONTRAFFICSIMULATIONKEYWORDSTHETRAFFICLIGHTSSINGLECHIP目录1系统总体设计方案111设计课题任务112功能要求说明113总体方案介绍及工作原理12设计课题硬件系统的设计221设计课题硬件系统各模块功能简要介绍222设计课题电路原理图、PCB图、元器件布局图各1份323设计课题元器件清单43设计课题软件系统的设计431设计课题使用单片机资源的情况432设计课题软件系统各模块功能简要介绍633设计课题软件系统程序流程框图734设计课题软件系统程序清单84使用说明,仿真结果及误差分析841设计使用说明842程序仿真结果843误差分析1044设计体会10结束语11致谢12参考文献13附录A14附录B15附录C16附录D17附录E18附录F2601系统总体设计方案11设计课题任务设计一个具有特定功能的十字路口交通灯。12功能要求说明(1)该交通灯上电或按键复位后能自动显示系统提示符“P”。(2)进入准备工作状态。按开始键则开始工作,按结束键则返回“P”状态。(3)要求甲车道和乙车道两条交叉道路上的车辆交替运行,甲车道为主车道,每次通车时间为60秒,乙车道为次车道,每次通车时间为30秒,要求黄灯亮3秒,并且1秒闪烁一次。(4)有应急车辆出现时,红灯全亮,应急车辆通车时间10秒,同时禁止其他车辆通过。13总体方案介绍及工作原理交通灯的总体功能原理是以AT89S52单片机为主要的控制核心,通过外接4个独立式键盘作为控制信号源,八个七段数码管作为显示器件。单片机实时的去执行相应的功能。在数码管上显示出来,此时通过不同的按键来观看和调节各种数据。系统的硬件框图如图1所示。图1系统的硬件框图12设计课题硬件系统设计21设计课题硬件系统各模块功能简要介绍211单片机最小系统片机最小系统包括AT89S52单片机以及电源电路、时钟电路、复位电路。只有当单片机有了这些电路才会工作。AT89S52主要性能与MCS51单片机产品兼容、8K字节在系统可编程FLASH存储器,1000次擦写周期,全静态操作。0HZ33H三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器、八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。AT89S52具有8K在系统可编程FLASH存储器。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。时钟电路中主要由石英晶体这个感性元件,与电容构成振荡回路,为片内放大器提供正反馈和振荡所需的相移条件,从而构成一个稳定的自激振荡器。从而给单片机提供计数时间。复位电路复位电路有上电复位,按键电平复位和按键脉冲复位3种。80C51的RST引脚是复位信号的输入端。复位信号时高电平有效,其有效时间应持续24个振荡脉冲周期以上,整个复位电路包括芯片内、外两部分。外部电路产生的复位信号RST送施密特触发器;再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样;最后才得到内部复位操作所需要的信号。电源电路给单片机提供稳定的直流稳压电源。212键盘功能模块按键电路的设计就是在一端公共接地,另一端通过上拉电阻接到P1口,当有按键按下,相应的口就会变成低电平,产生一个下降沿各键功能单一,互不影响,操作起来十分的清晰与方便213数码管显示模块数码管的八个位控口接在AT89S52单片机的P2口线上,段控制线接在P02口线上,由于数码管的本身显示亮度不够,所以一般都会在其位控和段控口前加上一定的驱动电路,本次设计中采用74HC573作为驱动本次采用的数码管为共阳极。214蜂鸣器模块蜂鸣器通过9012三极管与单片机P31口线连接,当P31口线取低电平时,蜂鸣器鸣叫。215LED模块LED电路直接挂接在单片机的P3口上,采用共阳接法。P3口线取低电平时LED216下载电路下载口的1脚接P15口,2脚悬空,3脚接单片机的复位口,4脚接P16口,5脚接P17口,6脚接地,7、8、8、10脚接地。22设计课题电路原理图、PCB图、元器件布局图各1份电路原理图见附录A电路PCB图见附录B元器件布局图见附录C电路CDA图件附录F23设计课题元器件清单元器件清单见附录D33设计课题软件系统的设计31设计课题使用单片机资源的情况P0口输出数码管段控信号,P2口输出数码管位控信号,P1口接按键,P3口接流水灯;晶振12MHZ;按键S0P10,复位显示P;按键S1P11;按键S2P12;按键S3P13;按键S4P14,复位显示P。40H用于显示缓冲区个位;41H用于显示缓冲区十位;堆栈栈底70H。32设计课题软件系统各模块功能简要介绍321键扫描子程序键处理函数主要是将从P1口取值送往单片机进行取反处理。键扫描函数主要是判断是否真的有键按下,即度过前沿抖动之后再判断是否有键按下,如果确实有键按下再判断是否释放,同样也要度过后沿抖动。最终将处理完的键值作为返回值返回322显示子程序显示子程序主要是完成数码管的动态显示,将相应的段控码送P0口,位控码送P2口,根据查表显示需要的字符信息。323延时子程序根据程序的设计要求,需要1MS,500MS,1S的延时,由于时间比较短,故采用软件方式延时。324外部中断程序本课题是用外部中断函数来实现应急车道通车。外部中断函数里面用到的延时1S和正常通车时用到的延时1S不是同一个延时函数,因为按键扫描是加在正常通车时的延时1S中,这样是为了防止其他按键影响中断服务的进行。325主程序本课题的主程序中,包含上电显示P和键扫描程序,当没有键按下时,一直显示P。当S1按下时,甲车道通车;当S2按下时,乙车道通车;当S4按下时显示P;当S3按下时,显示紧急车道通车。433设计课题软件系统程序流程框图根据软件系统各模块设计程序流程框图331主程序流程框图图2主程序流程框图332显示子程序流程框图图3显示子程序流程框图5333键扫描子程序流程框图开始有键按下调DIR去抖动调DIR去抖动键确实按下计算保存键值按键释放调DIR延时恢复键值返回是是是否否否图4键扫描子程序流程框图334键功能子程序流程框图开始调键扫描子程序键值送A键值为01H键值为02H键值为04H甲车道通车乙车道通车显示P结束否否否是是是图5键功能子程序流程框图6335中断子程序流程框图开始讲断电内容入栈两红灯亮,蜂鸣器叫倒计时10S恢复现场结束图6中断子程序流程框图34设计课题软件系统程序清单程序清单见附录E74使用说明,仿真结果及误差分析41设计使用说明本次设计的十字路口交通灯能够运用在大多情况下,S1键控制甲车道通车,S2键控制乙车道通车,S3键控制紧急情况通车,S4键显示P。42程序仿真结果上电显示P仿真。图7上电显示仿真图按下S1后,甲车道通车,甲车道绿灯亮60S,乙车道红灯亮60S。图8甲车道通车仿真图甲车道通车60S内,最后3秒黄灯闪烁。图9甲车道黄灯闪烁仿真图8按下S2后,乙车道通车30S,乙车道绿灯亮30S,甲车道红灯亮30S。图10乙车道通车仿真乙车道通车30S内,最后3秒乙车道黄灯闪烁,甲车道红灯亮。图11乙车道黄灯闪烁仿真按下S4后,显示P,LED灯全部熄灭。图12显示P仿真按下S3后,紧急情况通车,甲乙两车道红灯亮10S。图13紧急情况仿真943误差分析交通灯在紧急情况下入栈后经过中断程序后出栈的值会有所出入。该误差可能的产生原因是(1)首先是采用的计时方案是软件计时的,计时又是利用中断来实现。而你开启定时器和开启LED灯顺序上是有先后的,这个过程需时间的,所以就产生了一定的误差,当然这个误差是避免不了的;(2)设计用到12MHZ的晶振,计算是满20次为一秒钟,但实际会慢很多;(3)受到外部因素的影响,如温度等44设计体会通过本次课程设计,我进一步地掌握了单片机的接口技术以及汇编语言程序设计。在编写程序之前,我首先好好的看了一下要用到的书上的内容,然后理清思路,画出大概的流程图以后才开始动手编写程序。第一次写这样长的程序,刚开始时非常害怕的,但在老师的指导下,通过分模块的编写,将一个大的程序分成几个小程序编写果然简单了许多。我认为本次课题的难点在与堆栈的使用,刚开始因为对断点保护的不熟悉,反复几次通过PROTEUS和KEIL的验证才找出问题并解决,让我对着两个软件的功能有了更进一步的认识。10结束语将本设计的程序下载到单片机中,通过测试,基本上完成了任务书的基本要求,并且在不外加干扰的情况下可以实现智能控制十字路口的车辆交通情况。但是因为定时是用的延时编写的程序,所以定时的精度有待进一步提高在设计过程中,画电路图制PCB板、打孔、溶铜、焊接等,真的经历了许多困难,却积累了很多宝贵的经验,在调试时出现异常,不过这些都是经常性错误,经过调试修改都一一解决,程序顺利完成,并实现了其功能。由于使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。但是在我们设计和调试的过程中,也发现了一些问题,譬如红灯和绿灯的切换还不够迅速,红绿灯规则不效率还不是很高等等,这需要在实践中进一步完善。当然,通过这次课程设计,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我。11致谢通过本次课程设计,我懂得了单片机学习的重要性,更是了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。另外,要非常感谢我的指导老师王韧老师,是她细心的给我讲解了许多关于AT89S52、独立式键盘、数码管显示相关的知识,并在设计过程中所遇到的难题都给了非常重要的意见,是她指引我克服一个由一个的困难,让我学会对困难无所畏惧,以及对问题的一些很重要的思考方法。同时,在我的实际作品的制作过程之中,得到的学校许多的同学的热情的指导和详细的说明。此外,在实际程序的编写的过程之中得到了别人的认可,在遇到许多的不解困难的时候,自己班里的电子制作的爱好者也给我提供的最详细的解答,没有以上的每一个人的帮助,我的单片机课程设计很难顺利的完成,在此,我对于在我的设计和制作的过程中给予我帮助的每一个人一并表示感谢。12参考文献1马忠梅单片机C程序设计M,北京北京航空航天大学出版社,2007MAZHONGMEIMICROCONTROLLERCPROGRAMMINGM,BEIJINGBEIJINGAEROSPACEUNIVERSITYPRESS,20072李广弟单片机基础M,北京北京航空航天大学出版社,2007LIGUANGDIMICROCONTROLLERBASEDONM,BEIJINGBEIJINGAEROSPACEUNIVERSITYPRESS,20073曹巧媛单片机原理及应用M,北京电子工业出版社,19977CAOQIAOYUANMICROCONTROLLERTHEORYANDAPPLICATIONSM,BEIJINGELECTRONICINDUSTRYPRESS,199774张洪润兰清华,单片机应用技术教程M,北京清华大学出版社,199711ZHANGHONGRUN,LANQINGHUA,MCUAPPLICATIONTECHNOLOGYTUTORIALM,BEIJINGTSINGHUAUNIVERSITYPRESS,19971113附录A电路原理图14图14电路原理图附录B电路PCB图图15顶层PCB图图16底层PCB图15附录C元器件布局图图17元器件布局图16附录D材料清单表1元器件清单名称数量参数单片机1个AT89S52共阳数码管2个4位一体晶振1个12MHZ发光二极管9个芯片插座1个20DIP芯片插座1个40DIP蜂鸣器1个按键10个排阻4个10K下载口座子1个十芯六脚按键开关1个USB电源线加接口1个电阻1个200电阻3个1K电阻8个470电解电容2个22F瓷片电容2个33P短路帽3个PCB板子1块电源白色插座1个杜邦线2个铜柱(带螺母)4个集成芯片1个74HC573排阻1个470三极管1个901217附录E程序清单/项目名称交通灯/设计者宋强/时间2013年12月21日/项目功能设计一个具有特定功能的十字路口交通灯。/项目所以单片机资源P0口输出数码管段控信号,P2口输出数码管位控信号,P1口接按键,P3口接流水灯;晶振12MHZ;按键S1P10,甲车道通车;按键S2P11,乙车道通车;按键S3P13,紧急情况通车;按键S4P12,复位显示P;40H用于显示缓冲区个位;41H用于显示缓冲区十位;堆栈栈底70H。/项目所用的显示模块四位一体数码管最后2位;6个LED灯(LED0,LED3,LED4,LED5,LED6,LED7)/项目所用报警装置蜂鸣器(与单片机P31口线相连接)。/建立显示缓冲区个位40H,十位41H,ORG0000HLJMPMAINORG0003HLJMPWBZDMAINMOVSP,70HSETBEASETBEX0SETBIT018MOV40H,17MOV41H,16显示PSETBP30SETBP33SETBP34SETBP35SETBP36SETBP37关闭所有灯DDLCALLKEYLJMPDD判有无按键按下甲车道通60SJIACLRP33甲车道绿灯亮CLRP35乙车道红灯亮SETBP34SETBP30SETBP37SETBP36关闭其他灯MOV40H,0MOV41H,6初始化60SLCALLDELAY延时1秒并显示MOVR4,05LOOP1DEC41H十位减MOV40H,9个位显示9LCALLDELAYLOOP2DEC40H个位减LCALLDELAYMOVA,40HCJNEA,00H,LOOP2LOOP3DJNZR4,LOOP1FFMOV40H,9MOV41H,0LCALLDELAYDD1DEC40HLCALLDELAY19MOVA,40HCJNEA,04H,DD1黄灯闪烁3SHD1CLRP34甲车道黄灯亮CLRP35乙车道红灯亮SETBP30SETBP33SETBP37SETBP36MOV40H,3MOV41H,0初始化3SLCALLDLY显示500MS并延时SETBP34LCALLDLY显示500MS并延时LOOP4DEC40HCLRP34LCALLDLY显示500MS并延时SETBP34LCALLDLY显示500MS并延时MOVA,40HCJNEA,01H,LOOP4乙车道30SJICLRP36乙车道绿灯亮CLRP30甲车道红灯亮SETBP35SETBP33SETBP34SETBP37关闭其他灯MOV40H,0MOV41H,3初始化30SLCALLDELAY延时1秒并显示MOVR3,02LOOP5DEC41H十位减MOV40H,9个位显示920LCALLDELAYLP1DEC40H个位减LCALLDELAYMOVA,40HCJNEA,00H,LP1判断个位是否为0LP2DJNZR3,LOOP5FF1MOV40H,9MOV41H,0LCALLDELAYDQDEC40HLCALLDELAYMOVA,40HCJNEA,04H,DQ黄灯闪3SHD2CLRP37乙车道黄灯亮CLRP30甲车道红灯亮SETBP36SETBP35SETBP33SETBP34MOV40H,3MOV41H,0初始化3SLCALLDLY显示500MS并延时SETBP37LCALLDLY显示500MS并延时LOOP6DEC40HCLRP37LCALLDLY显示500MS并延时SETBP37LCALLDLY显示500MS并延时MOVA,40HCJNEA,01H,LOOP6LJMPJIA500MS延时21DLYMOVA,R0PUSHACCMOVR0,125LLLCALLDIRLCALLKEYDJNZR0,LLMOVR0,APOPACCRET延时1S,显DELAYMOVA,R0PUSHACCMOVR0,250LOO11LCALLDIRLCALLKEYDJNZR0,LOO11MOVR0,APOPACCRET显示程序DIRPUSHDPHPUSHDPLPUSHACCMOVDPTR,TABMOVP2,00000001B选中个位数码管MOVA,40HMOVCA,ADPTRMOVP0,A送个位数LCALLDL延时1MSMOVP0,0FFHMOVP2,00000010B选中十位数码管22MOVA,41HMOVCA,ADPTRMOVP0,A送十位数LCALLDLMOVP0,0FFHPOPACCPOPDPLPOPDPHRET延时1MSDLMOVR7,01HDL1MOVR6,8EHDL0MOVR

温馨提示

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

最新文档

评论

0/150

提交评论