




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-.z机电一体化强化训练单片机系统设计说明书交通灯控制系统设计学生指导教师201.设计题目:交通灯控制系统2.应完成的工程:课程设计任务书〔1〕查找相关资料,确定设计方案。〔2〕用AltiumDesignerWiner09绘制微机最小系统配置原理图和相关工程的接口原理图,并对其进展封装。〔3〕进展PCB的设计和制作。〔4〕用KeiluVision编写有关工程的程序,并进展调试。〔5〕编写课程设计报告。3.参考资料及其说明:"微机原理与接口技术课程设计"微机原理与接口技术"机电一体化强化训练实训"〔1〕国栋汪新中陆志平周盛华编著,微机原理与接口技术课程设计,大学,2007;〔2〕虎周赔玲傅忠谦编著,微机原理与接口技术,电子工业,2021;〔3〕"机电一体化强化训练实训"教材主编:超友华南理工大学学院实验中心出版,2021;4.本设计任务书于2011年11月1日发出,应于2011年11月4日前完成,然后进展辩论。专业教研室、研究所负责人审核2021年11月4日指导教师签发2011年11月设计评语:设计总评成绩:设计辩论负责人签字:年月日摘要本设计是简单交通灯控制设计,主要能实现系统要求的功能:(1)在LED数码管上显示倒计时秒的时间,(2)采用LED模拟信号灯,信号灯分东西、南北二组,分别有红,黄,绿,三种颜色。其工作状态由单片机程序控制,启动、停顿按钮分别控制信号灯的启动和停顿。白天/黑夜开关控制信号灯白天/黑夜转换.按下启动按钮开场工作,按下停顿按钮停顿工作,白天/黑夜开关按下闭合时为黑夜工作状态,这时只有黄灯闪烁,断开时按时序控制图工作。关键词单片机;交通灯;控制器目录第一章绪论3第二章方案论证与设计4第三章系统硬件设计63.1总体设计63.2单片机的选择63.3单片机的根本构造73.4单片机最小系统83.4.1电源引脚103.4.2时钟电路103.4.3复位电路113.4.4输入输出引脚123.4.5数码管显示电路14第四章系统软件设计164.1软件流程图设计16第五章系统仿真165.1PROTUES软件介绍175.2交通灯系统PROTUES仿真17第六章调试与功能说明186.1硬件调试186.2软件调试问题及解决18结论19参考文献1程序2电路图3原理图绪论随着我国社会经济的开展,城市化、城镇化进程的加快,道路交通堵塞问题日趋严重,如何对交通进展合理的管理和调度而尽可能减少堵车现象成为目前我国很多地方尤其是特大城市急需解决的问题,显然交通灯在其中起着不可缺少的作用。当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两种旋转式方形玻璃提灯组成,红色表示"停顿〞,绿色表示"注意〞。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年开场安装于纽约市5号大街的一座高塔上。红灯亮表示"停顿〞,绿灯亮表示"通行〞。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能发觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国"道路交通和道路标志信号协定"对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志制止*一种转向。左右转弯车辆都必须让合法地正在路口行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在穿插路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能平安停车时可以进入穿插路口。我国机动车辆开展迅速,而城镇道路建立由于历史等各种原因相对滞后。道路拥挤、阻塞现象及交通事故常有发生。如何利用当今自动控制技术,有效地疏导交通,提高城镇交通路口的通行能力,提高车辆速度,减少交通事故是值得我们研究的新课题。交通灯是城市交通中的重要指挥系统,它与人们日常生活密切相关。随着人们生活水平的提高,对交通管制也提出了更高的要求,因此提供一个可靠、平安、便捷的多功能交通灯控制系统有着现实的必要性,本文介绍的交通灯控制系统除具有一般的红绿灯显示功能外,还具有倒计时功能,以方便人们的生活需求。此系统的核心控制器是MCS-51系列单片机中的AT89C51。本次设计对红绿灯显示系统、按键系统都采用keil软件调试程序,并给出了调试过程及全部程序代码。方案讨论与设计本设计以单片机为核心,以LED数码管作为倒计时指示,根据设计的要求我们考虑了各功能模块的几种设计方案,以求最正确方案,实现实时显示系统各种状态,系统还增设了根据交通拥挤情况可分别设置主干道和次干道的通行时间,以提高效率,缓减交通拥挤。系统总体设计框图如下图。交通灯控制的框图如下列图所示,主要有控制电路、按键电路、晶振电路、复位电路、显示电路、电源电路等电路组成。图1图12.1课程设计的目的和意义课程设计是在学完"单片机原理及接口技术"课程之后综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现,从而加深对单片机软硬知识的理解,获得初步的应用经历,为走出校门从事单片机应用的相关工作打下根底.课程设计的要求1〕数码管上显示倒计时秒的时间2〕LED灯现实交通灯功能,焊接成十字路口模型3〕4*4键盘设有启动和停顿,并设有白天、黑夜工作状态转换功能键课程设计的容南北向东西向绿1南北向东西向黄1红1绿2黄2红220S6S40S6S图2交通灯工作过程这一次课程设计,所设计的是一个模拟交通灯,能控制十字路口的红绿灯的,而且能按要求倒计时,并且可以分白天黑夜工作时段,起到节能的功能。设计的局部分为软件及硬件,软件局部写出控制交通灯的亮灭时间、倒计时以及它是如何工作的,而硬件局部是软件的载体,画出正确的电路图然后在软件的控制下才能使设计的模拟交通灯正常工作。2.2显示界面方案该系统要求完成倒计时功能。基于上述原因,本次设计考虑了两种方案:方案一:完全采用点阵式LED显示。这种方案功能强大,可方便的显示各种英文字符,汉字,图形等,但实现复杂,且须完成大量的软件工作。方案二:完全采用共阴双8数码管显示。这种方案优点是实现简单,可以完成倒计时功能。缺点是功能较少,只能显示有限的符号和数码字符。根据本设计的要求,方案二已经满足了要求,所以本次设计采用方案二以实现系统的显示功能。2.3输入方案这里同样讨论了两种方案:方案一:采用8155扩展I/O口、键盘及显示等。该方案的优点是使用灵活可编程,并且有RAM及计数器。假设用该方案,可提供较多I/O口,但操作起来稍显复杂。方案二:直接在I/O口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的端口资源还比拟多。方案三:串口插口的4*4键盘开关,能组合使用,功能使用多,由于零件选择只有4*4键盘开关,所以选这个、由于该系统是对交通灯及数码管的控制,只需用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,应选择方案三。系统硬件设计硬件设计是整个系统的根底,要考虑的方方面面很多,除了实现交通灯根本功能以外,主要还要考虑如下几个因素:①系统稳定度;②器件的通用性或易选购性;③软件编程的易实现性;④系统其它功能及性能指标;因此硬件设计至关重要。现从各功能模块的实现逐个进展分析探讨。3.1总体设计本设计以单片机为控制核心,采用模块化设计,共分以下几个功能模块:单片机控制系统、键盘及状态显示、倒计时模块等。单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。它由单片机振荡电路、复位电路等组成。键盘及状态显示,4*4开关键盘输入交通灯控制信号,通过单片机P2输入到系统。系统采用双8数码管倒计时计数功能,最大显示数字99。友好的人机界面、灵活的控制方式、优化的物理构造是本设计的亮点。3.2单片机的选择单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,部包含有计算机的根本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机经过1、2、3、3代的开展,正朝着多功能、高性能、低电压、低功耗、低价格、大存储容量、强I/O功能及较好的构造兼容性方向开展。其开展趋势不外乎以下几个方面:1、多功能单片机中尽可能地把所需要的存储器和I/O口都集成在一块芯片上,使得单片机可以实现更多的功能。比方A/D、PWM、PCA〔可编程计数器阵列〕、WDT〔监视定时器看家狗〕、高速I/O口及计数器的捕获/比拟逻辑等。有的单片机针对*一个应用领域,集成了相关的控制设备,以减少应用系统的芯片数量。例如,有的芯片以51核为核心,集成了USB控制器、SMARTCARD接口、MP3解码器、CAN或者I*I*C总线控制器等,LED、LCD或VFD显示驱动器也开场集成在8位单片机中。2、高效率和高性能为了提高执行速度和执行效率,单片机开场使用RISC、流水线和DSP的设计技术,使单片机的性能有了明显的提高,表现为:单片机的时钟频率得到提高;同样频率的单片机运行效率也有了很大的提升;由于集成度的提高,单片机的寻址能力、片ROM〔FLASH〕和RAM的容量都突破了以往的数量和限制。由于系统资源和系统复杂程度的增加,开场使用高级语言〔如C语言〕来开发单片机的程序。使用高级语言可以降低开发难度,缩短开发周期,增强软件的可读性和可移植性,便于改良和扩大功能。3、低电压和低功耗单片机的嵌入式应用决定了低电压和低功耗的特性十分重要。由于CMOS等工艺的大量采用,很多单片机可以在更低的电压下工作〔1.2V或0.9V〕,功耗已经降低到uA级。这些特性使得单片机系统可以在更小电源的支持下工作更长的时间。4、低价格单片机应用面广,使用数量大,带来的直接好处就是本钱的降低。目前世界各大公司为了提高竞争力,在提高单片机性能的同时,十分注意降低其产品的价格。下面大致介绍一下单片机的主要应用领域和特点。〔1〕家用电器领域用单片机控制系统取代传统的模拟和数字控制电路,使家用电器〔如洗衣机、空调、冰箱、微波炉、和电视机等〕功能更完善,更加智能化和易于使用。〔2〕办公自动化领域单片机作为嵌入式系统广泛应用于现代办公设备,如计算机的键盘、磁盘驱动、打印机、复印机、机和机等。〔3〕商业应用领域商业应用系统局部与家用和办公应用系统相似,但更加注重设备的稳定性、可靠性和平安性。商用系统中广泛使用的电子计量仪器、收款机、条形码阅读器、平安监测系统、空气调节系统和冷冻保鲜系统等,都采用了单片机构成的专用系统。与通用计算机相比,这些系统由于比拟封闭,可以更有效地防止病毒和电磁干扰等,可靠性更高。〔4〕工业自动化在工业控制和机电一体化控制系统中,除了采用工控计算机外,很多都是以单片机为核心的单片机和多机系统。〔5〕智能仪表与集成智能传感器目前在各种电气测量仪表中普遍采用了单片机应用系统来代替传统的测量系统,使得测量系统具有存储、数据处理、查询及联网等智能功能。将单片机和传感器相结合,可以构成新一代的智能传感器。它将传感器变换后的物理量作进一步的变化和处理,使其成为数字信号,可以远距离传输并与计算机接口。〔6〕现代交通与航空航天领域通常应用于电子综合显示系统、动力监控系统、自动驾驶系统、通信系统以及运行监视系统等。这些领域对体积、功耗、稳定性和实时性的要求往往比商用系统还要高,因此采用单片机系统更加重要。目前,我国生产很多型号的单片机,在此,我们采用型号为AT89C52的单片机。因为:AT89C52是一个低电压,高性能CMOS8位单片机,片含4kbytes的可反复擦写的Flash只读程序存储器和128bytes的随机存取数据存储器〔RAM〕,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-52指令系统,片置通用8位中央处理器和Flash存储单元,置功能强大的微型计算机的AT89C52提供了高性价比的解决方案。AT89C52是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出〔I/O〕端口,同时含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进展编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发本钱。3.3单片机的根本构造MCS-52单片机部构造8052单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据存储器(RAM)8052部有128个8位用户数据存储单元和128个专用存放器单元,它们是统一编址的,专用存放器只能用于存放控制指令数据,用户只能,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。图3图3单片机8051的内部构造程序存储器(ROM):8052共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。定时/计数器:8052有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。并行输入输出(I/O)口:8052共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。全双工串行口:8052置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。中断系统:8052具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。时钟电路:8052置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。MCS-52的引脚说明:MCS-52系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP构造,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:MCS-52的引脚说明:MCS-52系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP构造,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:Pin9:RESET/Vpd复位信号复用脚,当8052通电,时钟电路开场工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写图4图4单片机的引脚图入07H,其它专用存放器被清"0”。RESET由高电平下降为低电平后,系统即从0000H地址开场执行程序。然而,初始复位不改变RAM〔包括工作存放器R0-R7〕的状态,8052的初始态。8052的复位方式可以是自动复位,也可以是手动复位,见下列图4。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机部RAM的数据不丧失。Pin30:ALE/当外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当外部程序存储器,ALE会跳过一个脉冲。如果单片机是EPROM,在编程其间,将用于输入编程脉冲。Pin29:当外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。Pin31:EA/Vpp程序存储器的外部选通线,8051和8751单片机,置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对部无程序存储器的8031,EA端必须接地。3.4单片机最小系统单片机最小应用系统,是指用最少的原件组成的单片机可以工作的系统。对51系列单片机来说,最小系统应包括单片机、晶振电路、复位电路。下面介绍51单片机的最小系统电路图图5图5单片机的最小系统是由电源、复位、时钟,下面介绍一下每一个组成局部。电源引脚Vcc40电源端GND20接地端工作电压为5V,另有AT89LV51工作电压则是2.7-6V,引脚功能一样。图6时钟电路时钟电路图6时钟电路*TAL1是片振荡器的反相放大器输入端,*TAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到*TAL1,而*TAL2悬空。部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz选择。电容取30PF左右。系统的时钟电路设计是采用的部方式,即利用芯片部的振荡电路。AT89单片机部有一个用于构成振荡器的高增益反相放大器。引脚*TAL1和*TAL2分别是此放大器的输入端和输出端。这个放大器与作为反应元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反应回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的上下、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择瓷电容,电容值约为22μF。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。复位电路在振荡器运行时,有两个机器周期〔24个振荡周期〕以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P0-P3口均置1引脚表现为高电平,程序计数器和特殊功能存放器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的00H处开场运行程序。复位是由外部的复位电路来实现的。片复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路。当时钟频率选用6MHz时,C取22μF,Rs约为200Ω,Rk约为1K。复位操作不会对部RAM有所影响。本设计用的复位为上电复位,电路图如下:图7上电复位图7上电复位常用的复位电路常用的复位电路3.4.4输入输出引脚(1)P0端口[P0.0-P0.7]P0是一个8位漏极开路型双向I/O端口,端口置1〔对端口写1〕时作高阻抗输入端。作为输出口时能驱动8个TTL。对部Flash程序存储器编程时,接收指令字节;校验程序时输出指令字节,要求外接上拉电阻。在外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,期间部的上拉电阻起作用。(2)P1端口[P1.0-P1.7]P1是一个带有部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,部上拉电阻将端口拉到高电平,作输入用。对部Flash程序存储器编程时,接收低8位地址信息。(3)P2端口[P2.0-P2.7]P2是一个带有部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,部上拉电阻将端口拉到高电平,作输入用。对部Flash程序存储器编程时,接收高8位地址和控制信息。在外部程序和16位外部数据存储器时,P2口送出高8位地址。而在8位地址的外部数据存储器时其引脚上的容在此期间不会改变。(4)P3端口[P3.0-P3.7]P2是一个带有部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,部上拉电阻将端口拉到高电平,作输入用。P3引脚兼用功能P3.0串行通讯输入〔R*D〕P3.1串行通讯输出〔T*D〕P3.2外部中断0〔INT0〕P3.3外部中断1〔INT1〕P3.4定时器0输入(T0)P3.5定时器1输入(T1)P3.6外部数据存储器写选通WRP3.7外部数据存储器写选通RDP3.7外部数据存储器写选通RD对部Flash程序存储器编程时,接控制信息。除此之外P3端口还用于一些专门功能,具体请看下表。该系统输入电路采用的是P2口,外接4*4键盘。其图如下:系统的数码管显示采用的是P1口,交通灯led灯采用P0和P3.0、P3.1、P3.2、P3.3管脚。其电路如下列图:图8Led灯数码管的锁存器局部电路数码管的锁存器局部电路Led灯数码管数码管数码管显示电路单片机常使用7段LED,LED是发光二极管显示器的缩写。LED显示器由于构造简单,价格廉价,体积小,亮度高,电压低,可靠性高,寿命长,响应速度快,颜色鲜艳,配置灵活,与单片机接口方便而得到广泛应用。LED显示器是由假设干个发光二极管组成显示字段的显示部件,当发光二极管导通时,相应的一个点或一个笔划发光,控制不同组合的二极管导通,就能显示出各种字符。LED七段数码显示器由8个发光二极管组成显示字符,根据部发光二极管的连接形式不同,LED有共阴极和共阳极两种,本系统采用共阴极。LED的构造及连接如下图LED显示原理中选用共阴极的LED时,所有发光二极管阴极连在一起接地,当*个发光二极管的阳极参加高电平时,对应的二极管点亮。因此要显示*字形就应使此字形的相应段的二极管点亮,实际上就是送一个用不同电平组合代表的数据字来控制LED的显示,此数据为字符的段码或称为字型码。字型码与LED显示器各段的关系为D7D6D5D4D3D2D1D0dpgfedcba表3-1dp为小数点,字符0、1、2……F的段码如表所示字符段码〔共阴〕段码〔共阳〕03FHCOH106HF9H25BHA4H34FHB0H466H99H56DH92H67DH82H707HF8H87FH80H96FH90HA77H88HB7CH83HC39HC6HD5EHA1HE79H86HF71H8EH-40HBFH.80H7FH熄灭00HFFH表3-2系统软件设计软件在硬件平台上构筑,完成各局部硬件的控制和协调。系统功能是由软件共同实现的,由于软件的可伸缩性,最终实现的系统功能可强可弱,差异可能很大。因此,软件是本系统的灵魂。软件采用模块化设计方法,不仅易于编程和调试,也可减小软件故障率和提高软件的可靠性。同时,对软件进展全面测试也是检验错误排除故障的重要手段。4.1软件流程图设计软件总体设计主要完成各局部的软件控制和协调。本系统主程序模块主要完成的工作是对系统的初始化,发送显示数据,同时对键盘进展扫描,等待外部中断,以及根据所需要的功能进展相应的操作。其流程图如下图。软件总体流程图系统仿真5.1软件介绍Proteus软件是LabcenterElectronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比方MCS-51系列、PIC系列等等,以及单片机外围电路,比方键盘、LED、LCD等等。通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。5.2交通灯系统PROTUES仿真用PROTUES软件,根据交通灯的原理图,画出仿真图,得到的图如下所示仿真图仿真图第六章调试与功能说明单片机应用系统的调试包括硬件和软件两局部,但是他们并不能完全分开。一般的方法是排除明显的硬件故障,再进展综合调试,排除可能的软/硬件故障。调试与功能说明6.1硬件调试拿到电路板后,首先要检查加工质量,并确保没有任何方面的错误,如短路和断路,尤其要防止电源短路;元器件在安装前要逐一检查,用万用表测其数值,看是否与所用一样;完成焊接后,应先空载上电〔芯片座上不插芯片〕,并检查各引脚的电位是否正确。假设一切正常,方可在断电的情况下将芯片插入,再次检查各引脚的电位及其逻辑关系。将万用表的探针放到单片机接电源的引脚上检测一下,看是否符合要求。6.2软件调试问题及解决软件程序的调试一般可以将重点放在分模块调试上,统调是最后一环。软件调试可以采取离线调试和在线调试两种方式。前者不需要硬件仿真器,可借助于软件仿真器即可;后者一般需要仿真系统的支持。本次课题,Keil软件来调试程序,通过各个模块程序的单步或跟踪调试,使程序逐渐趋于正确,最后统调程序。仿真局部采用protus6professional软件,此软件功能强大且操作较为简单,可以很容易的实现各种系统的仿真。首先翻开protus6professional软件,在元件库中找到要选用的所有元件,然后进展原理图的绘制;绘制好后再选择wave6000已经编译好的*.he*文件,选择运行,观察显示结果,根据显示的结果和课题的要求再修改程序,再运行查,直到满足要求。第七章总结本设计以单片机为核心,以LED数码管作为倒计时指示,该设计很好地完成了设计的各项要求,主要表达如下:该设计的交通灯控制器,实现了能根据实际车流量通过AT89C51芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩6秒时黄灯闪烁警示绿灯时间可通过双位数码管显示。单片机是一门应用性很强的学科,课程设计是培养我们综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对我们实际工作能力的具体训练和考察过程,为自己今后从事与单片机控制系统有关的工作打下了根底。虽然在做课程设计以前已经系统的把单片机课本认真的学习了一下,但是在刚开场时还是有点一头雾水,不知道该从哪里下手。令人欣慰的是经过几周的学习,虽然过程很艰辛,问了很多朋友,但是总算实现了定时闹钟的功能,所有的努力都很值得。这几周的大局部时间都在研究程序怎么处理,在这个过程中加深了我对汇编语言命令的应用,而且也更加了解到软硬件配套的重要性。以下是我本次单片机课程设计的几点心得与体会:
1.在设计程序之前,务必要对所学单片机课程的容有一个系统的了解,知道单片机片片外的容及其功能。
2.设计程序采用什么编程语言并不是非常重要,关键要有一个清晰的思路和一个完整的软件流程图。模块化的设计思想在程序设计中的作用是十分大的,它可以为你提供一个比拟清晰的思路,并且很容易找到头绪,不至于在设想一个程序时感觉到无从下手。
3.在设计程序时,不能妄想一次就将整个程序设计好,"反复修改,不断改良"是程序设计的必经之路。程序刚开场编好时,一般情况下会存在很多错误,要不断地修改,不断的改良才能到达预期的目的,编写程序的时间并不是很长,主要是修改程序会花很多时间。
4.要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便。刚开场我在编写程序时,很不习惯于写注释,感觉很麻烦,而且没用,但是在修改的过程中我就遇到了较大的麻烦,以至于不得不重新的作了注释,以增加程序的易读性,从而使修改正程变得容易一些。总之,通过这次课程设计不仅使我稳固了本课程所学的根本知识,还使我具有了撰写设计报告的初步训练能力,我相信这些能力在我以后的工作或者是再学习中一定会起到不小的作用,看到自己几周的小成果,感觉一切的辛苦和困难都是值得的。参考文献[1]余发山著.单片机原理及应用技术:中国矿业大学.2003年.97-118[2]阎石.数字电子技术根底〔第三版〕.:高等教育,1989[3]廖常初.现场总线概述[J].电工技术,1999.[4]金显贺,王昌长,王忠东,等.一种用于在线检测局部放电的数字滤波技术.清华大学学报(自然科学版),1993,33(4):62-67[5]国钧,绍业,王凤翥.图书馆目录.:高等教育,1957.15-18[6]康华光.数字电子技术.:高等教育,2003[7]吴金戌.8051单片机实践与应用.:清华大学,20031:交通灯控制程序*include<reg51.h>*include<intrins.h>*defineucharunsignedchar*defineuintunsignedint*definescanportP2sbityellowled_d=P0^6; //东西黄灯sbityellowled_n=P0^3; //南北黄灯sbityellowled_*=P0^0; //东西黄灯sbityellowled_b=P3^1;sbitw_sel_1=P3^4;sbitw_sel_2=P3^5;sbitw_sel_3=P3^6;sbitw_sel_4=P3^7;sbitL1=P3^0;sbitL2=P3^2;sbitL3=P3^3;ucharcodetable[11]={0*3f,0*06,0*5b,0*4f,0*66,0*6d,0*7d,0*07,0*7f,0*6f,0*00};ucharuca_LineScan[4]={0*EF,0*DF,0*BF,0*7F};uchardatadig; //位选uchardataled; //偏移量uchardatabuf[4];uchardatasec_d*=46;//东西数码指示值uchardatasec_nb=26;//南北数码指示值uchardataset_timed*=46;uchardataset_timenb=26;//倒计时设置的键值保存ucharday_flag;uchardatab;//定时器中断次数bittime;//灯状态循环标志voiddelay(intms);//延时子程序ucharkey_scan();//按键扫描子程序voidkey_process();//按键处理函数voidmain(){ TMOD=0*01; //定时器0选择方式1,16位定时 TH0=0*3C; //设定定时初值 TL0=0*B0; EA=1; //开中断 ET0=1; TR0=1; //开场计时 P0=0*b6;//南北通行 L2=0; yellowled_b=1; L1=1; L3=1; day_flag=1; //标志位初始化 time=0; while(1) { key_process();//按键处理函数 } }ucharkey_scan(){ ucharucTemp=0; //扫描状态暂存。 ucharucRow=0,ucLine=0; //行号,列号。 for(ucLine=0;ucLine<4;ucLine++) //列扫描 { scanport=uca_LineScan[ucLine]; //输出扫描电位。 ucTemp=scanport&0*0f; //输入扫描电位,并屏蔽高4位。 if(ucTemp!=0*0f) //判断该列是否有按键按下 { delay(10); if(ucTemp!=0*0f) { switch(ucTemp) { case0*0e:ucRow=10;break; //如果有,则判断行号。 case0*0d:ucRow=20;break; case0*0b:ucRow=30;break; case0*07:ucRow=40;break; default:ucRow=50;break; } break; } } } returnucRow+ucLine+1; //返回按键编码。格式为2位数,高位为行号,低位为列号。}voidkey_process(){ucharkey_value; key_value=key_scan(); if(key_value==11) //停顿 { EA=0; ET0=0; TR0=0; } if(key_value==12) //开场 { EA=1; ET0=1; TR0=1; } if(key_value==13) //黑夜 { day_flag=0; P1=0*ff; }if(key_value==14) //白天 { day_flag=1; P1=0*7c; sec_d*=set_timed*; sec_nb=set_timenb; }} voiddisplay(){ if(time==0) { buf[1]=sec_nb/10;//第1位东西秒十位 buf[2]=sec_nb%10;//第2位东西秒个位 buf[3]=sec_nb/10;//第3位南北秒十位 buf[0]=sec_nb%10;//第4位南北秒个位 } else { buf[1]=sec_d*/10;//第1位东西秒十位 buf[2]=sec_d*%10;//第2位东西秒个位 buf[3]=sec_d*/10;//第3位南北秒十位 buf[0]=sec_d*%10;//第4位南北秒个位 } w_sel_4=0; w_sel_4=1; w_sel_4=1; w_sel_4=1; P1=table[buf[0]]; delay(2); w_sel_4=1; w_sel_4=0; w_sel_4=1; w_sel_4=1; P1=table[buf[1]]; delay(2); w_sel_4=1; w_sel_4=1; w_sel_4=0; w_sel_4=1; P1=table[buf[2]]; delay(2); w_sel_4=1; w_sel_4=1; w_sel_4=1; w_sel_4=0; P1=table[buf[3]]; delay(2); } voidtime0(void)interrupt1using1//定时中断子程序{ b++; if(b==10) //定时器中断次数。 { b=0; if(day_flag==1) //如果是白天 { if(time==0) sec_nb--; else sec_d*--; } else //如果是晚上 { sec_d*=8; sec_nb=8; } if(day_flag==1) { if(sec_d*==6&&time==1) { yellowled_n=1;//南北黄灯亮 yellowled_b=1; delay(300); yellowled_n=0; yellowled_b=0; } if(sec_d*==5&&time==1) { yellowled_n=1;//南北黄灯亮 yellowled_b=1; delay(300); yellowled_n=0; yellowled_b=0; } if(sec_d*==4&&time==1) { yellowled_n=1;//南北黄灯亮 yellowled_b=1; delay(300); yellowled_n=0;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T-ZSM 0057-2024“领跑者”评价技术要求 石油、石化及相关工业用的钢制球阀
- T-ZJZYC 010-2024 中药材产业合规管理规范
- 二零二五年度个人向新能源车辆制造商借款购买电动车的合同
- 历年合同法司考备考辅导班师资聘用合同2025年度
- 2025年度集体土地租赁与特色小镇建设合同
- 二零二五年度互联网广告联盟合作协议合同
- 2025年度砂石场劳务人员薪酬及福利待遇合同
- 二零二五年度网红独家经纪合作协议模板
- 二零二五年度电子商务平台支付清算合同范本
- 新能源汽车项目买卖合同
- 国企治理三会一层详解
- 公司企业生产安全事故应急预案演练计划
- 人教鄂教版科学六年级下册全册教案
- 铝合金铸造基础知识(课堂PPT)
- 诊断学课件:临床常用免疫学检测
- jw甲级设计院十六层医院综合楼全套电气施工图纸103张含多大样图
- 港股通开户测评答案
- 广东专插本高等数学真题
- 云南省普通初中学生成长记录
- 仿真技术在车架防腐性能开发中的应用
- 初一平面直角坐标系集体备课
评论
0/150
提交评论