版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
专业综合课程设计任务书班级:计算08-2 学号: 姓名: 成绩: 电子与信息工程学院计算机科学系交通灯总体设计交通灯的功能要求本设计能模拟单方向的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行计时显示。(1)实现红绿灯交替点亮红绿灯是在规定的时间上进行交互更迭的讯号,设置在交岔路口或其他特殊地点,用以将道路通行权指定给车辆驾驶人与行人,管制其行止及转向之交通管制设施。指示车辆及行人停止与行进,设于交岔路口或其他必要地点。(2)计时显示计时显示可以提醒驾驶员在信号灯灯色发生改变的时间、在“停止”和“通过”两者间作出合适的选择。驾驶员和行人普遍都愿意选择有计时显示的信号控制方式,并且认为有计时显示的路口更安全。计时显示是用来减少驾驶员在信号灯色改变的关键时刻做出复杂判断的一种方法。(3)在绿灯要灭的前3秒钟变成黄灯闪烁在红、绿灯中间再加上一个黄色信号灯,提醒人们注意危险。红、黄、绿三色信号灯形成一个完整的马路工具。用来指示车辆及行人注意。交通灯的基本构成和原理单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,当然,接入LED数码管就可以显示计时以提醒行使者,更具人性化。图1系统的总体框图据此,本设计系统以单片机为控制核心,连接成最小系统,信号灯状态模块,LED计时模块。系统的总体框图如上所示。单片机上电后,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据计时输入到LED数码管上实时显示。硬件详细设计AT89C51单片机简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。与MCS-51兼容,4K字节可编程闪烁存储器,寿命:1000写/擦循环,数据保留时间:10年,全静态工作:0Hz-24Hz,三级程序存储器锁定,128*8位内部RAM,32可编程I/O线,两个16位定时器/计数器,5个中断源(两个外部中
断源和3个内部中断源),可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路。•时钟电路:时钟电路的作用是产生单片机工作所需要的时钟脉冲序列。PO.Ij—P0.7P2.0—P2.7HHHHUACCTHF2PO.Ij—P0.7P2.0—P2.7HHHHUACCTHF2IAT89C51系列单片机的内部结构示意图主要引脚功能:(T2)P1.C匚斗0□VCC(T2EX)P1.1□239□PC-.C-(ADD)P1.2匚330□PG.1(AD1)P1.3匚斗37□PG.2(ADE)P1.4匚536□PC.3(AD3i(MOSliP1,5E6AT89S35□PC-.4(AD4)(MISO)P1丘匚34□PG.5(ADS)(SCK)P1.7匚S33□P0.6(ADS)RSTE932□PC.7(AD7)i:RXDiP3.CE1031□□t'VPPiTKDiR3.1匚1130□ALE-PROG([NTOjR3.2L1229□PSEF](nTn-)P3.3L132日□P2.7(A15)(TO)P3.斗匚1斗27□P2.6(A14)rn:iP3.5匚152-5□P2.5(A13)(WR)P3.6L1625□P2.4(A12)(FlDiP3.7C1724□P2.3(A11)XTAL2E1823□P2.2(A10)JCTAL1匚1922□P2.1(AS)GNDE2021ZlP2.0(AS)图3AT89C51引脚图・VCC:电源电压・GND:接地・P0口:P0口是一组8位双向I/O口。P0口即可作地址/数据总线使用,又可以作为通用的I/O口使用。当CPU访问片外存储器时,P0口分时先作低8位地址总线,后作双向数据总线,此时,P0口就不能再作I/O口使用了。在访问期间激活要使用上拉电阻。・P1口:Pl是一个带内部上拉电阻的8准位双向I/O口,P1作为通用的I/O口使用。・P2口:P2是一个带有内部上拉电阻的8位准双向I/O口,P2即可作为通用的I/O口使用,也可以作为片外存储器的高8位地址总线,与P0口配合,组成16位片外存储器单元地址。・P3口:P3口是一组带有内部上拉电阻的8位准双向I/O口。P3口除了作为通用的I/O口使用之外,每个引脚还具有第二功能,具体分配如表2・RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。WDT溢出将使该引脚输出高电平,设置SFRAUXR的DISRTO位(地址8EH)可打开或关闭该功能oDISRTO位缺省为RESET输出高电平打开状态。・ALE/PROG":当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对F1ash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条M0VX和M0VC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。•1PSIN"程序储存允许(TW)输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次—SET有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的"PSEF信号。•1EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程电压Vcc。•XTAL1:振荡器反相放大器及内部时钟发生器的输入端。其他硬件介绍七段LED数码管LED显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等优点。LED数码管的结构简单,分为七段和八段两种形式,也有共阳和共阴之分。以七段共阳管为例,它有7个发光二极管,每个发光二极管的阳极连在一起,要想显示一个数值,就要分别对它们的高低电平来加以控制。表4驱动代码表显示数值dp,g,f,e,d,c,b,a驱动代码00101000040H10111100179H20010010024H30011000030H40001100119H50001001012H60000001002H70111100078H80000000000H90001000010H相应在程序软件上,可以通过调用程序给定的秒值经过特定计算算出需要显示的个位和十位,然后有DPTR调取LEDMAP的代码。系统硬件总电路构成及原理实现本设计要求的具体功能,可以选用AT89C51单片机及外围器件构成最小控制系统,3个发光二极管代表红绿黄三色灯构成信号灯指示模块,LED构成
计时显示模块。本系统以单片机为核心,系统硬件电路由状态灯,LED显示组成。其具体的硬件电路总图如图4所示。其中P0用于送LED数码管,Pl用于控制红绿黄发光二极管,XTAL1和XTAL2接入晶振时钟电路(可省略)。系统上电之后,系统先显示状态灯及LED数码管,将状态码值送显P1口,将要显示的时间值的个位和十位分别送显P0口,在此同时用软件方法计时1秒,到达ls就要将时间值减1,刷新LED数码管。时间到达一个状态所要全部时间,则要进行下一状态判断及衔接,并装入次状态的相应状态码值以及时间值。VDDAR11k<TEXT>D3D2D1LED-6REEN<TEXT>LED-YELLOW<TEXT>LED-RED=:TEXT>U2:CU2:BU2:A7404<TEXT>7404<TEXT>740斗<TEXTIJ.TD3D2D1LED-6REEN<TEXT>LED-YELLOW<TEXT>LED-RED=:TEXT>U2:CU2:BU2:A7404<TEXT>7404<TEXT>740斗<TEXTIJ.T3^XTAL1F'O.O/ADOP0.1/AD1P0.2/AD2F'0.4yAD4P0.5/AD5FO.0/AD6RSTPO.Z.'ALi?P2.0/A8P2.1/A9P2.2/A10PSENP2.3/A11ALEP2.4JA12FTP2.5/A13P2.6/A14P2.7/A15P1.1P3.1/TXDP1.2P3.2/INT0P1.3P3.3/INT1P1.4P3.4/T0P1.5P3.5/T1P1.8P3.8/WR189293031AT89C51■=:TEXT>483938^3?36"35^3?21—26272S10■1113■151617图5硬件电路总图软件详细设计程序主体设计流程全部控制程序实际上分为两个模块:状态灯控制程序,LED显示程序整个软件程序流程图如图所示。
图1系统总流程图设计说明:该交通灯控制系统的软件设计采用的是顺序执行并反复循环的方法。交通灯控制系统在正常工作的情况下,每17s循环变化一次。每个循环周期在开始7s后,正在通行路口的黄灯点亮,以提醒路人上的行人及车辆,交通灯即将发生变化。黄灯点亮3s后熄灭,改点亮红灯7s,依次循环。理论基础知识定时器原理定时器工作的基本原理其实就是给初值,让它不断加1直至减完为模值,这个初值是送到TH和TL中的。它是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值,即所要求的计数值设定为C,把计数初值设定为TC可得到如下计算通式:TC=M-C式中,M为计数器模值。计数值并不是目的,目的是时间值,设计1次的时间,即定时器计数脉冲的周期为TO,它是单片机系统主频周期的12倍,设要求的时间值为T,则有C=T/T0。计算通式变为:T=(M-TC)TO模值和计数器工作方式有关。在方式0时M为8192;在方式1时M的值为65536;在方式2和3为256。就此可以算出各种方式的最大延时。如单片机的主脉冲频率为12MHZ,经过12分频后,若采用方式0最大延时只有8.129毫秒,采用方式1最大延时也只有65.536毫秒。这就是为什么扫描周期为50ms的原因,若使用软件则会耽搁程序流程,显然不可行。相反,时间计时方面却不可能只用计数器,因为显然1秒钟已经超过了计数器的最大定时间,所以我们还必须采用定时器和软件相结合的办法才能解决这个问题。软件延时原理MCS-51的工作频率为12MHZ,机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/12MHZ)=1us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定0.5秒的时间,但同时由于单片机的运行速度很快其他的指令执行时间可以忽略不计。源程序状态灯控制程序:START:MOVP1,#00HSETBP1.2MOVR4,#0EHLP1:LCALLDLDJNZR4,LP1CLRP1.2SETBP1.1MOVR4,#06HLP2:LCALLDLDJNZR4,LP2MOVP1,#00HSETBP1.0MOVR4,#0EHLP3:LCALLDLDJNZR4,LP3MOVP1,#00HLJMPSTARTDL:MOVR7,#05HDL1:MOVR6,#0C8HDL2:MOVR5,#0FAHDJNZR5,$DJNZR6,DL2DJNZR7,DL1RETLED显示程序:LED计时每1秒都要刷新1次,采用的是动态显示,首先将R4除以10H,整数即十位放在50H中,余数即个位放在51H中,设置7段LED显示数据的数据表,用数据指针寄存器DPTR指向数据表的首地址,再加上A中的偏移量,就可以指向十位数字,然后显示器即可,个位显示同理。具体程序如下:BCD: ;将个位数送到(50H)MOVA,60H ;60H单元放的是计时值MOVB,#10HDIVABMOVA,BMOV50H,ARETDISPCLK: ;显示部分MOVDPTR,#TABMOVA,50HMOVCA,@A+DPTRMOVP0,ALCALLDELAYRET心得体会经过两周的努力工作,终于完成了自己的单片机课程设计。虽说忙碌了点,但我觉得这样的生活充实且有成就感,当然,也获益匪浅。在Proteus画电路图的过程中,先添加每个元器件,再合理的布局,确保一切准备好以后再连接电路。至于软件设计与调试,我觉得它主要考验你的思维逻辑能力及你对指令的熟悉程度。可以说在整个软件设计过程中,我不仅学会了延时,还掌握数码管的动态显示方式。当然,通过几次反复调试过程,使得我对汇编指令有了更深刻的理解。在整个课程设计过程我还掌握了一下几点:(1) 掌握了电子系统设计的流程,熟悉了各种硬件电路以及软件编程方法。(2) 理解了单片机的各部分组成及特性。(3) 熟练使用了各种计算机辅助设计工具完成设计,充分掌握了这些工具的使用。(4)学会了利用KeiluVision3对汇编语言进行编译过程.更进一步加深了对PROTEUS软件的学习。还有,我还发现自身一些毛病。一,前期准备工作做的不够好,想的还算多,可就是没落实。先说选题,就表现自己有畏难情绪,其实当时找到好几个题目,但交通灯最熟悉,所以就选了它。就这,还没做的很理想。二,行动起来不是很卖力,虽说动手还算早,但每天的进展却不大,可以说做与玩相伴而行。通过本次的课程设计,充分意识到自己所学的东西还是非常有限的,不过通过设计,还是学到了一些书本上没有学到的东西,为自己以后的学习起了很大的帮助。就我个人而言,很深刻地体会到一点,那就是我们在设计过程中一定要有一个整体的清晰的思路,知道自己的设计的对象的基本功能和核心器件的适用及其作用,只要把握住这些主要方面,一些小问题都将围绕着这些主要问题而逐步得到解决。同时我也懂得,在整个设计过程中,生活中也一样,一定要意志坚定,克服自己的畏难情绪,这样才能将事情做好,才能干出一番成就。我觉得类似这种课程设计的实践真的不错,通过这些项目练习,我自学能力,解决实际问题的能力得到提高,可以说是对综合素质全面提升,我想这也是我们上大学应真正学到的。参考文献边海龙等•单片机开发与典型工程项目实例详解[J].电子工业出版社,2008,(10):143-160.张鑫,华臻,陈书谦.单片机原理及应用[J].电子工业出版社,2008(5).黄智伟.凌阳单片机课程设计指导[J].北京航空航天大学出版社,2007,余锡存曹国华.单片机原理及接口技术[M].陕西:西安电子科技大学出版社,2000.7雷丽文等.微机原理与接口技术[M].北京:电子工业出版社,1997.2柴钰.单片机原理和应用[M].西安电子科技大学出版社.张靖武.单片机系统的PR0TUSE设计和仿真[M].电子工业出版社.2007.唐工..51单
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于毕业学生实习报告四篇
- 经股肱桡尺动脉介入治疗对比-袁晋青
- 北京小学科学教师学年工作总结大全
- 儿童临时监护协议书(2篇)
- 办公场地出租合同模板
- 深圳商铺租赁合同书
- 赠送别克商务轿车协议书
- 厂房租赁协议合同书范本
- 扬州地下停车位出租协议
- 八年级道德与法治下册第二单元理解权利义务第四课公民义务第2框依法履行义务教案新人教版
- 急停急起运球教学设计
- 2024年江西省三校生高职英语高考试卷
- 中国古代文学智慧树知到期末考试答案章节答案2024年广州大学
- 重庆市南岸区2022-2023学年五年级上学期期末语文试卷
- 现浇钢筋混凝土整体式肋梁楼盖结构-课程设计
- 挂篮施工及安全控制连续梁施工安全培训课件
- 学生学习概览StudentLearningProfile
- 小班数学《认识1到10的数字》课件
- 手工花项目策划书
- 服务器维保应急预案
- 循环系统病症的临床思维
评论
0/150
提交评论