首页 单片机课程设计——模拟交通灯剖析

单片机课程设计——模拟交通灯剖析

举报
开通vip

单片机课程设计——模拟交通灯剖析《单片机原理及应用》课程设计课题:模拟交通灯专业:机械设计制造及其自动化班级:机101-4姓名:组长:学号:同组人:指导老师:姜风国目录一、设计任务书....................................................................................................................................1二、设计项目简介............................................

单片机课程设计——模拟交通灯剖析
《单片机原理及应用》课程设计课题:模拟交通灯专业:机械设计制造及其自动化班级:机101-4姓名:组长:学号:同组人:指导老师:姜风国目录一、设计任务书....................................................................................................................................1二、设计项目简介................................................................................................................................11.设计思路............................................................................................................................................12.单片机交通控制系统MATCH_ word word文档格式规范word作业纸小票打印word模板word简历模板免费word简历 _1714150577171_1的比较、设计与与论证.........................................................................13.单片机交通控制系统总体设计.........................................................................................................13.1单片机交通控制系统的通行方案设计...........................................................................................23.2单片机交通控制系统的功能要求..................................................................................................33.3单片机交通控制系统的基本构成及原理.......................................................................................34.智能交通灯控制系统的硬件设计.....................................................................................................44.1AT89C51单片机简介.......................................................................................................................44.2系统硬件总电路构成及原理..........................................................................................................55.系统软件程序的设计.........................................................................................................................85.1程序主体设计 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 ..........................................................................................................................85.2子程序模块设计...............................................................................................................................8三、设计电路原理图..........................................................................................................................11四、系统功能描述..............................................................................................................................11五、程序框图......................................................................................................................................12六、程序清单......................................................................................................................................14七、 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf ..............................................................................................................................................171.个人完成任务部分:........................................................................................................................172.设计总结:........................................................................................................................................17一、设计任务书题目:模拟交通灯任务要求:1.主干道绿灯60秒,支干道绿灯30秒,黄灯都是3秒;要求用定时器实现定时时间;要求显示器同步显示主干道时间的倒计时;如果有按键按下,表示有紧急车辆通过(救火车等),2路都亮红灯,蜂鸣器响,如果另外一个按键按下则恢复正常。二、设计项目简介设计思路(1)分析目前交通路口的基本控制技术以及各种通行方案,并以此为基础提出自己的交通控制的初步方案。(2)确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以及系统应拥有的各项功能,确定红绿控制、倒计时显示、紧急中断的实现方式。(3)进行显示电路,灯状态电路,按键电路的设计和对各器件的选择及连接,大体分配各个器件及模块的基本功能要求。(4)进行软件系统的设计,对于本系统,本人采用单片机汇编语言编写,对单片机内部结构和工作情况做了充足的研究,了解定时器,中断以及延时原理,总体上完成了软件的编写。单片机交通控制系统方案的比较、设计与与论证1)电源提供方案:采用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。2)电源提供方案:采用数码管显示。这种方案只显示有限的符号和数码字符,简单,方便。3)输入方案:由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O口就可实现。单片机交通控制系统总体设计第1页3.1单片机交通控制系统的通行方案设计设在十字路口,分为主干道和副干道,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态4然后循环至状态1,周而复始,即如图1所示:图1交通状态通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下:◆主干道红灯灭,同时绿灯亮,副干道黄灯灭,同时红灯亮,倒计时60秒。此状态下,主干道允许通行,副干道禁止通行。◆主干道绿灯灭,同时黄灯亮,副干道红灯亮,倒计3秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。◆副干道红灯灭,同时绿灯亮,主干道黄灯灭,同时红灯亮,倒计时30秒。此状态下,主干道禁止通行,副干道允许通行。◆副干道绿灯灭,同时黄灯亮,主干道红灯亮,倒计时3秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。下面我们可以用图表表示灯状态和行止状态的关系如下:状态1状态3状态4状态6主干道通行等待变换禁止等待变换第2页副干道禁止等待变换通行等待变换主干道红灯1100主干道黄灯1011主干道绿灯0111副干道红灯0011副干道绿灯1101副干道黄灯1110P10F3H0F5H0DEH0EEH表1交通状态及红绿灯状态主干道副干道四个路口均有红绿黄3灯和数码显示管2个,在任一个路口,遇红灯禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换。状态及红绿灯状态如表1所示。说明:1表示灭,0表示亮。3.2单片机交通控制系统的功能要求1)红绿灯、倒计时显示红绿灯可以提醒驾驶员在信号灯灯色发生改变的时间、在“停止”和“通过”两者间作出合适的选择。驾驶员和行人普遍都愿意选择有倒计时显示的信号控制方式,并且认为有倒计时显示的路口更安全。倒计时显示是用来减少驾驶员在信号灯色改变的关键时刻做出复杂判断的一种方法,它可以提醒驾驶员灯色发生改变的时间,帮助驾驶员在“停止”和“通过”两者间作出合适的选择。2)紧急处理交通路口出现紧急状况在所难免,如特大事件发生,救护车等急行车通过等,我们都必须尽量允许其畅通无阻,毕竟在这种情况下是分秒必争的,时时刻刻关系着公共财产安全,个人生死攸关等。由此在交通控制中增设禁停按键,就可达到想此目的。3.3单片机交通控制系统的基本构成及原理单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,当然,接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。本系统在此基础上,加入了紧急情况处理功能。第3页LED数码管显最小系统单片机按键外围接口电控制电路红黄绿信号图2系统的总体框图据此,本设计系统以单片机为控制核心,连接成最小系统,由按键设置模块产生输入,信号灯状态模块,LED倒计时模块模块接受输出。系统的总体框图如上所示。单片机上电后,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到LED数码管上实时显示。在此过程中随时调用急停按键中断。智能交通灯控制系统的硬件设计4.1AT89C51单片机简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。与MCS-51兼容,4K字节可编程闪烁存储器,寿命:1000写/擦循环,数据保留时间:10年,全静态工作:0Hz-24Hz,三级程序存储器锁定,128*8位内部RAM,32可编程I/O线,两个16位定时器/计数器,5个中断源(两个外部中断源和3个内部中断源),可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路。第4页图3AT89C51系列单片机的内部结构示意图图4AT89C51引脚图4.2系统硬件总电路构成及原理实现本设计要求的具体功能,可以选用AT89C51单片机及外围器件构成最小控制系统,12个发光二极管分成4组红绿黄三色灯构成信号灯指示模块,2个LED主干道构成倒计时显示模块,若干按键组成时间设置和紧急按钮以及蜂鸣器第5页作为紧急报警。4.2.1系统硬件电路构成本系统以单片机为核心,系统硬件电路由状态灯、LED显示、,按键、蜂鸣器组成。其具体的硬件电路总图如图3.1所示。其中P0用于送显两片LED数码管,P1用于控制红绿黄发光二极管,XTAL1和XTAL2接入晶振时钟电路,REST引脚接上复位电路,P2.6与P2.7对数码管进行位选,P3.2即INT0紧急情况处理按键,P2.4为中断复位按键,P2.5为蜂鸣器控制。图3.1基于单片机的交通灯控制系统电路图系统上电或手动复位之后,系统先显示状态灯及LED数码管,将状态码值送显P1口,将要显示的时间值的个位和十位分别送显P0口,在此同时用软件方法计时1秒,到达1s就要将时间值减1,刷新LED数码管。时间到达一个状态所要全部时间,则要进行下一状态判断及衔接,并装入次状态的相应状态码值以及时间值,当然,还要开启一个外部中断为紧急情况处理中断,一旦信号有效,即K1键为低电平时进入中断服务子程序,主干道副干道路口的红灯全亮禁止全部通行,再按一下K2键,中断结束返回。4.2.2显示器——七段LED数码管LED显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等优点。LED数码管的结构简单,有共阳和共阴之分。以七段共阳管为例,它有8个发光二极管(多一个发光二极管用来显示dP,即点),每个发光二极管的阳极连在一起,如图3.6所示。这样,一个LED数码管就有I根位选线和8第6页根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。为方便起见,本文主要讨论共阳八段LED数码显示管,其他类形的显示管与其类似。图3.6LED数码管LED灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形,如dp,g,f,e,d,c,b,a全亮显示为8,采用共阳极连接驱动代码,代码表如下表4所示。显示数值dp,g,f,e,d,c,b,a驱动代码011010000C0H111111001F9H210100100A4H310110000B0H41001100199H51001001092H61000001082H711111000F8H81000000080H91001000090H表4驱动代码表相应在程序软件上,可以通过调用程序给定的秒值经过特定计算算出需要显示的个位和十位,然后有DPTR调取LEDMAP的代码。4.2.3红绿灯——发光二极管根据本设计的特点,红绿灯的显示不可少,红绿灯的显示采用普通的发光二极管。每个方向上设置红绿黄灯,总共4组。如果主干道红灯亮,那副干道就是绿灯亮,反之亦然,所以在硬件上连接图上也是对称分布的。4.2.4紧急停止设置K1键为紧急停止的输入,K2为复位键,P2.5为蜂鸣器的控制口,当P2.5输出低电平时,信号通过电路控制蜂鸣器报警。由于蜂鸣器工作电压大于5V,第7页故增设运算放大器。系统软件程序的设计5.1程序主体设计流程全部控制程序实际上分为若干模块:键盘设置处理程序,状态灯控制程序,LED显示程序紧停程序,中断服务子程序,红绿灯时间调整程序等。整个软件程序方面主要分两大部分:主程序部分和中断处理程序。流程图如图5.2所示。开始系统初始化主干道亮绿灯,支干道亮中断处理子程序调显示子程序(动态显示)处理主干道黄灯闪烁,副干道亮主干道,副干道换向返回图5系统总流程图5.2子程序模块设计5.2.1状态灯显示及判断在本设计中,实际控制的灯只有6个,即:主干道红灯,主干道绿灯,主干道黄灯,副干道红灯,副干道绿灯,副干道黄灯。定义IO端口如下,其中均是第8页低电平有效。H_REDBITP1.0H_YELLOWBITP1.1H_GREENBITP1.2L_REDBITP1.3L_YELLOWBITP1.4L_GREENBITP1.5共有4钟状态:副干道红灯亮,主干道绿灯亮(0F3H);副干道红灯亮,主干道黄灯亮(0F5H);副干道绿灯亮,主干道红灯亮(0DEH);副干道黄灯亮,主干道红灯亮(0EEH)。括号中是P1端口8个引脚值对应的十六进制码。用于显示发光二极管时,部分程序如下:副干道红,主干道绿,计时时间为30s:MOVP1,#0F3HMOV61H,#60H;设置主干道60sMOV60H,61HA1:MOVR1,#50A2:ACALLBCD;ACALLDISPCLKDJNZR1,A2MOVA,60HMOVR0,60HADDA,#99HDAAMOV60H,ACJNER0,#04H,A15.2.2LED倒计时显示MCS-51的工作频率为12MHZ,机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/12MHZ)=1us。我们可以知道具体每条指令的周期数,这样我们就可以通过定时器及延时来来实现60秒、30秒计时,但同时由于单片机的运行速度很快其他的指令执行时间可以忽略不计。LED计时每1秒都要刷新1次,采用的是动态显示,首先将R4除以10H,整数即十位放在50H中,余数即个位放在51H中,设置7段LED显示数据的数据表,用数据指针寄存器DPTR指向数据表的首地址,再加上A中的偏移量,就可以指向十位数字,然后送显即可,个位显示同理。具体程序如下:BCD:;将十位数送到(51H),个位数送到(50H)MOVA,60H;60H单元放的是倒计时值MOVB,#10HDIVABMOV51H,AMOVA,BMOV50H,ARET第9页DISPCLK:;显示部分MOVDPTR,#TABMOVA,50HMOVCA,@A+DPTRMOVP0,ACLRP2.6LCALLDELAYSETBP2.6MOVA,51HMOVCA,@A+DPTRMOVP0,ACLRP2.7LCALLDELAYSETBP2.7RET定时器1s子程序:ORG0200HDELAY:MOVTMOD,#01HMOVTH0,#0D8HMOVTL0,#0F0HSETBTR0MLP1:JNBTF0,$CLRTF0RET5.2.3紧停及调整时间中断子程序紧停按键连接到外部中断引脚P3.2,即INT0捕获到一个低电平,则进入该中断进行相关处理。程序如下:紧急情况处理:IINT0:CLREAJBP3.2,$;等待P3.2低电平A9:MOVR3,P1;保护现场PUSH60HPUSHP0MOVP1,#0F6HCLRP2.5CLRP2.6CLRP2.7JBP2.4,$;等待P2.6低电平SETBP2.5第10页POPP0POP60HMOVP1,R3SETBEARETI三、设计电路原理图四、系统功能描述该系统为基于单片机的交通指示灯的设计,主要包括以下功能:1、实现基本的红绿灯指示,其中主干道绿灯为60秒,副干道绿灯30秒,黄灯都为3秒,黄灯闪烁指示。、实现倒计时LED显示,方便通行。、可实现紧急停止,当有紧急车辆通过时,按下K1键,主副干道都为红灯,并发出警报。当紧急车辆通过时,按下K2可复位继续。第11页五、程序框图开始设置红绿灯状态0F3H主干道绿灯、副干道红灯设置时间60s到61H,61H送入60H调用BCD译码、显示子程序延时1s60H送入R0、A,A-1送入60HR0=04H?Y设置红绿灯状态0F5H主干道黄灯、副干道红灯设置3s到R2调用BCD译码、显示子程序延时1sR2=0?Y设置红绿灯状态0DEH主干道红灯、副干道绿灯设置时间30s到61H,61H送入60H调用BCD译码、显示子程序延时1sNN60H送入R0、A,A-1送入60HR0=04H?设置红绿灯状态0EEH主干道红灯、副干道黄绿灯设置3s到R2调用BCD译码、显示子程序NN延时1sR2=0?第12页Y主程序N是否有中断INT0Y保护现场主副道全红显示器、蜂鸣器置低电平NP2.4是否有低电平蜂鸣器置高电平恢复现场主程序第13页六、程序清单ORG0000HLJMPSTARTORG0003HLJMPIINT0ORG0030HSTART:MOVSP,#6FH;系统初始化LIGHT:SETBEASETBEX0CLRIT0MOVP1,#0F3H;主干道绿灯,副干道红灯,计时60sMOV61H,#60H;设置主干道60sMOV60H,61HA1:MOVR1,#50A2:ACALLBCD;调用BCD译码子程序ACALLDISPCLK;调用显示子程序DJNZR1,A2;1s循环MOVA,60HMOVR0,60HADDA,#99HDAAMOV60H,ACJNER0,#04H,A1;最后3s黄灯MOVP1,#0F5H;主干道黄灯闪烁3s,副干道红灯MOVR2,#3;设置黄灯3sA3:MOVR1,#50A4:ACALLBCDACALLDISPCLKDJNZR1,A4CPLP1.1;黄灯闪烁MOVA,60HADDA,#99HDAAMOV60H,ADJNZR2,A3MOVP1,#0DEH;副干道绿灯,主干道红灯,计时30sMOV61H,#30HMOV60H,61HA5:MOVR1,#50A6:ACALLBCD第14页ACALLDISPCLKDJNZR1,A6MOVR0,60HMOVA,60HADDA,#99HDAAMOV60H,ACJNER0,#04H,A5MOVP1,#0EEH;副干道黄灯闪烁3s,主干道红灯MOVR2,#3A7:MOVR1,#50A8:ACALLBCDACALLDISPCLKDJNZR1,A8CPLP1.4MOVA,60HADDA,#99HDAAMOV60H,ADJNZR2,A7LJMPLIGHT;循环DISPCLK:;显示子程序MOVDPTR,#TABMOVA,50HMOVCA,@A+DPTRMOVP0,ASETBP2.7;个位显示10msLCALLDELAYCLRP2.7MOVA,51H;十位显示10msMOVCA,@A+DPTRMOVP0,ASETBP2.6LCALLDELAYCLRP2.6RETBCD:MOVA,60H;将十位数送到(51H),个位数送到(50H)MOVB,#10HDIVABMOV51H,A第15页MOVA,BMOV50H,ARETIINT0:;中断子程序CLREAJBP3.2,$;等待中断输入A9:MOVR3,P1PUSH60HPUSHP0MOVP1,#0F6HCLRP2.5;蜂鸣器报警CLRP2.6CLRP2.7;LED显示关闭JBP2.4,$;等待复位输入SETBP2.5;关闭蜂鸣器POPP0;恢复现场POP60HMOVP1,R3SETBEARETIORG0200HDELAY:MOVTMOD,#01H;10ms子程序MOVTH0,#0D8HMOVTL0,#0F0HSETBTR0MLP1:JNBTF0,$CLRTF0RETTAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;LED显示表END第16页七、总结个人完成任务部分:设计中断部分原理图及编程,整合整个程序。设计总结:这次的单片机课程设计让自己学到了很多东西,可谓获益匪浅。首先是课程知识方面,通过这次课程设计,对单片原理与应用的的知识有了更深的巩固,对一些知识进行了了查缺补漏。不仅如此,通过课程设计,将所学的知识用于实践,加深了对理论知识的理解,扩展了应用。最初拿到课程设计题目时,感觉无从下手,没有任何思路。冷静下来思考后,就会发现我们交通灯的题目大体可分为三块内容,即红绿灯显示、倒计时显示与紧急中断,有了这个框架后,便可以逐一进行。通过查阅资料,找到了入口。所以,对一个任务有一个总体的把握是至关重要的。在设计过程中,会有许多小问题层出不起穷。例如程序问题、电阻的选择、电器元件电压不够、电流过载等等。遇到这些小的问题,就要去积极的解决,通过询问同学老师,查阅文献等,逐一攻破,比如对于蜂鸣器电压达不到,我们增设运算放大电路,对于电流过载,我们添加驱动等等。在整个设计中,团队的合作不可缺少。时间紧、任务重,就需要同组成员的合理分工并按时完成每阶段的任务。在我们设计过程中,每名成员都能按时完成自己的任务,并互相帮助,问题互相讨论。所以我们组能够较好较快的完成任务。这次的课程设计难得而有意义的,在学习生活中,我们需要更多的机会。第17页
本文档为【单片机课程设计——模拟交通灯剖析】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_113440
暂无简介~
格式:doc
大小:317KB
软件:Word
页数:0
分类:
上传时间:2021-11-18
浏览量:1