单片机课程设计报告智能交通灯_第1页
单片机课程设计报告智能交通灯_第2页
单片机课程设计报告智能交通灯_第3页
单片机课程设计报告智能交通灯_第4页
单片机课程设计报告智能交通灯_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、 目 录前言3一,任务和要求31.1设计任务31.2设计要求41.3设计思路4二,硬件设计52.1 at89sc21单片机的概述52.2 89c51单片机的时钟72.3 89c51单片机的封装和引脚8三,电路模块设计103.1系统的整体方案设计10四,单元电路模块设计124.1复位电路124.2晶振电路134.3倒计时显示电路144.4交通灯电路154.5紧急通行电路16五,系统程序设计175.1主程序流程图175.2紧急中断程序流程图185.3程序清单18心得体会22参考文献前言近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。单片机的特点控制功能强

2、抗干扰性强,可靠性高,工作温度范围宽开发周期短,性价比高,易于产品化。交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。本系统采用单片机at89c51为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。本设计就是采用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间。本设计系统由单片机i/o口扩展系统、交通灯状态显示系统、led数码显示系统、紧急情况中断系统、复位电路等几大部分组成。系统除基本的交通灯功能外,还具有倒计时、紧急情况处理等功能,较

3、好的模拟实现了十字路口可能出现的状况。一,任务和要求1.1设计任务 本设计要求用单片机设计一个智能交通灯控制系统,使其能模仿城市“十字”路口交通灯的功能,并能满足特殊的控制要求(如按键k1、k2、k3的使用),该系统的具体功能如下:(1) 该控制系统能控制东、西、南、北四个路口的红、黄、绿信号灯正常工作。(2) 当东西方向准行,南北方向禁行时,东西方向亮绿灯,南北方向亮红灯。(3) 当南北方向准行,东西方向禁行时,南北方向亮绿灯,东西方向亮红灯。(4) 两垂直方向的准行时间均为15s。(5) 准行方向亮绿灯与禁行方向亮红灯10s后,四个道口同时加亮一盏黄灯进行闪烁,以警告车辆及行人,准行方向与

4、禁行方向即将改变(即准行变为禁行,禁行变为准行)。(6) 四个道口只用一组由十位和个位组成的数码管显示准行(或禁行)的剩余时间。(7) 在交通情况比较特殊的情况下,可以通过k1、k2、k3三个按键对交通灯进行控制,具体要实现的功能如下:当有紧急情况发生,如消防车、救护车等紧急车辆通过时,按下k1键,四个路口同时加亮黄色灯进行闪烁(闪烁时间为5s),并且倒计时显示装置关闭,黄色灯5s闪烁完成后,四个路口的信号灯全部变成红灯,这样四个路口的普通车辆禁行,只允许紧急车辆通过,待紧急车辆通过后。松开k1键,表示紧急状态消除,交通灯控制系统恢复正常工作。 当东西方向车辆过多时,按下k2键,四个路口同时加

5、亮黄灯进行闪烁(闪烁时间为5s),并且倒计时显示装置关闭,黄灯5s闪烁完成后,只允许东西方向车辆通过,南北方向车辆禁行,从而有效地调节东西方向车辆过多的情况,松开k2键,交通灯又开始正常工作。当南北方向车辆过多时,按下k3键,四个路口同时加亮黄灯进行闪烁(闪烁时间为5s),并且倒计时显示装置关闭,黄灯5s闪烁完成后,只允许南北方向车辆通过,东西方向车辆禁行,从而有效地调节南北方向车辆过多的情况,松开k3键,交通灯又开始正常工作。12设计要求(1)十字路口的4个路口都有双色led(红光,绿光,叠加为黄色光)显示各路口的各条通道的的状态;(2)每个路口都有两位数码管显示当前红灯的倒计时;(3)有三

6、种工作状态:正常工作状态,紧急工作状态,设置状态;(4)可利用按键进行改变工作状态;1.3 设计思路 利用单片机实现交通灯的控制,该任务分以下几个方面: a 实现红、绿、黄灯的循环控制。要实现此功能需要表示三种不同颜色的led灯分别接在p1个管脚,用软件实现。 b 用数码管显示倒计时。可以利用动态显示或静态显示,串行并出或者并行并出实现。 c 实现急通车。这需要人工实现,编程时利用到中断才能带到目的,只要有按钮按下,那么四个方向全部显示红灯,禁止以诶车辆通行。当情况解除,让时间回到只能隔断处继续进行。总体设计框图交通灯循环最小系统倒计时显示强通车控制图1-1二,硬件设计2.1 at89sc51

7、单片机概述: at89sc51是mcs-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。下图是89sc51的基本结构:图21 89sc51的基本结构89sc51单片机包含中央处理器、程序存储器(rom)、数据存储器(ram)、定时/计数器、并行接口、串行接口和中断系统等极大单元及数据总线、地址总线和控制总线等三大总线,现在分别加以说明。中央处理器:8位cpu,含布尔处理器;时钟电路;总线控制逻辑。中央处理器(cpu)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,cpu负责控制、指挥和调度整个单元系统的工作,完成运算和控制输入输出等操控。数据存储器(

8、ram):128kb数据存储器(ram,可再扩64kb);特殊功能寄存器sfr。 89cs51内部有128个8位用户数及存储单元和128个寄存器单元,他们是统一编址的,专营寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的ram只有128个,可存放读写的数据,运算的中间结果或用户自定义的字型表。程序存储器(rom): 4kb的程序存储器(rom/eprom/flash,可扩至64kb); 89cs51共有4096个8位掩膜rom,用于存放用户程序,原始数据或表格。定时/计数器(rom): 89cs51有两个16位的可编程定时/计数器,一时想定时或计数产生中

9、断用于控制程序转向。 并行输入输出(i/o)口: 9cs51共有4组8位i/o口(p0、p1、p2或p3),用于对外数据传输。 中断系统: 89cs51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,客满著不同的控制要求,并具有2级优先级别选择。 时钟电路: 89cs51内置最高频率高达12hz的时钟电路,用于产生整个单片机运行的脉冲时序,但89cs51单片继续外置震荡电容。单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(princeton)结

10、构。2.2 89sc51单片机的时钟(1)振荡器和时钟电路89sc51内部有一个高增益反相放大器,用于构成振荡器,但要形成时钟脉冲,外部还需附加电路。89sc51的时钟产生方法有以下两种。a 内部时钟方式利用芯片内部的振荡器,然后在引脚xtall和xtal2两端跨接晶体振荡器(简称晶振),就构成了稳定的自激振荡器,发出的脉冲直接送入内部时钟电路。外接晶振时,cl和c2的值通常选择为30pf左右;cl、c2对频率有微调作用,晶振或陶瓷谐振器的频率范围可在1.2mhz12mhz之间选择。为了减小寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器和电容应尽可能安装得与单片机引脚xtall和xtal2

11、靠近。图22 89sc51时钟电路接线方法b 外部时钟方式此方式是利用外部振荡脉冲接入xtall或xtal2。hmos和chmos单片机外时钟信号接入方式不同。表2-1 80c51单片机外部时钟接入方法芯片类型接线方法xtal1xtal2hmos接地接片外时钟脉输入端(引脚需接上拉电阻)chmos接片外时钟脉冲输入端悬空2.3 89sc51单片机的的封装和引脚80sc51系列单片机采用双列直插式(dip).qfp44(quad flat pack)和lcc(leaded chip caiier)形式封装。这里仅介绍常用的总线型dip40封装。如图3-4所示。40个引脚按引脚功能大致可分为4个种

12、类:电源、时钟、控制和i/o引脚(1) 电源:  vcc - 芯片电源,接+5v; vss - 接地端;图2-3 80c51单片机的的封装和引脚(2)时钟:xtal1、xtal2 - 晶体振荡电路反相输入端和输出端。 (3) 控制线:控制线共有4根,ale/prog:地址锁存允许/片内eprom编程脉冲ale功能:用来锁存p0口送出的低8位地址prog功能:片内有eprom的芯片,在eprom编程期间,此引脚输入编程脉冲。psen:外rom读选通信号。rst/vpd:复位/备用电源。rst(reset)功能:复位信号输入端。vpd功能:在vcc掉电情况下,接备用电源。ea/vpp:内

13、外rom选择/片内eprom编程电源。ea功能:内外rom选择端。vpp功能:片内eprom的芯片,在eprom编程期间,施加编程电源vpp。 (4) i/o线 80c51共有4个8位并行i/o端口:p0、p1、p2、p3口,共32个引脚。p3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。三,电路模块设计3.1系统的整体方案设计本系统拟采用at89c51单片机作为智能交通灯系统的控制核心。从设计所要完成的任务来看,单一路口显示倒计时时间的数码必须用两位,对于七段数码管,考虑到at89c51单片机所能提供i/o接口的数量,倒计时显示装置中的数码管在本系统中采

14、用的是静态显示;设置了3个按键用来处理交通灯在实际应用中可能出现的特殊情况,共使用3个i/o端口,其中p3.0接k1键,p3.2接k2键,p3.3接k3键;十字路口共需4组红绿灯,加上转换黄灯,一共是12只灯,须用6个端口进行控制,具体i/o接口分配为:p1.0p1.2分别接东西方向的红、绿、黄共6盏信号灯,p1.3p1.5分别接南北方向的红、绿、黄共6盏信号灯;at89c51单片机的i/o口作为输出时,具有较大的吸收电流能力,因此我们可以选用共阳极数码管,这样由单片机的i/o口就可以驱动,从而简化硬件电路的设计;此外专门设计了监控电路对控制系统进行实时监控,保证系统工作的稳定性和持续性。系统

15、的整体方案设计如图31所示单片机at89c51时钟电路复位电路红绿灯装置倒计时显示装置四,单元电路模块设计4.1 复位电路图41上电自动复位电路为了确保控制系统能够稳定可靠的工作,复位电路是必不可少的一部分。它可以保证程序从指保证程序从指定处开始执行,即从程序存储器的0000h地址单元开始执行程序。另外当程序运行出错或操作错误使系统处于死机状态时需复位以重新启动。上电自动复位是通过外部复位电路的电容充电实现的。通电时,电容两端相当于短路,于是rst引脚上为高电平,然后电源通过电阻对电容进行麅,rst端电压慢慢降下来,降到一定程度时变为低电平,单片机正常工作。上电自动复位电路如图41所示4.2

16、晶振电路图42 晶振电路单片机必须在时钟的驱动下才能进行工作。at89c51单片机内部具有一个时钟振荡电路,只需要外接振荡器,即可为各部分提供时钟信号。使用晶振电路时,只要在引脚xtal1和xtal2上外接定时反馈回路,振荡器osc就能自激振荡,产生矩形时钟脉冲序列。定时反馈回路常由石英晶振和微调电容组成,其中石英晶振的频率是单片机的重要性能指标之一,时钟频率越高,单片机控制器的控制节拍就越快,运算速度也就越快。该电路是用12mhz的石英晶振和两个30p的电容器。石英晶振的频率选为典型值12mhz,这样有得于得到没有误差的波特率。电容器c2和c3是起稳定振荡频率、快速起振的作用。4.3倒计时显

17、示电路图43 倒计时显示电路图 该交通灯控制系统在正常工作情况下,每15s循环变换一次,为方便提示路上的行人及车辆交通灯转换的剩余时间,专门为控制系统设计了一个倒计时显示装置。该显示装置选用七段数码管来显示交通灯的剩余时间。本来根据控制要求,每个路口需要两个数码管,这样四个路口就需要八个数码管,但由于四组显示的倒计时时间都是一样所以只需使用一组数码管即可。由于at89c51单片机的i/o作为输出时,具有较大的吸收电流能力,因此我们可以选用共阳型数码管,这样由单片机的i/o就可以直接驱动,从而简化硬件电路的设计。而在电路中是用阻值为4.7k的排电路作为上位电路,限流电阻却用阻值为200的电阻。如

18、图33所示。4.4 交通灯电路南北方向东西方向图44 交通灯电路图 单片机的i/o接口直接和交通灯(led)连接。在十字路口的四组红、黄、绿三色交通灯中,东西方向道路上的两组同色灯连接在一起,南北方向道路上的两组同色灯连接在一起,受单片机p1.0p1.5控制。12个发光二极管采用了共阳极的连接方式,因此i/o口输出低电平时,与之相连的led会亮,i/o口输出高电平时,与之相连的led会灭。交通灯电路如图44所示。4.5 紧急通行电路图35 紧急通行电路 该系统的k1、k2、k3三个键分别与单片机的p3.0、p3.1、p3.6相接,它们可以在特殊的交通情况下使用。例如,当有紧急情况发生时:按下k

19、1键,四个路口同时加亮黄灯进行闪烁5s后,并且关闭倒计装置,四个路口信号灯同时转为红灯,从而保证紧急车辆通过。松开k1键,交通灯系统恢复正常工作状态;按下k2键,四个路口同时加亮黄灯进行闪烁5s后,并且关闭倒计装置,只允许东西方向车辆通行,南北方向禁行。松开k2键,交通灯系统恢复正常工作状态;按下k3键,四个路口同时加亮黄灯进行闪烁5s后,并且关闭倒计装置,只允许南北方向车辆通行,东西方向禁行。松开k3键,交通灯系统恢复正常工作状态五,系统程序设计5.1 主程序流程图该智能交通灯控制系统的软件设计采用的是顺序执行并反复循环的方法。智能交通灯控制系统在正常的情况下,每15s循环变化一次。每个循环

20、周期在还剩余5s时,四个路口的黄灯同时点亮并开始闪烁,以提醒行人及车辆,交通灯将发生转换。要程序中定时扫描p3口,若有键按下,则调用键盘子程序进行相应也处理;若无,则程序继续执行。主程序流程图如图51所示。开 始初始化初始化纵向通行显示状态15s到?黄灯闪显示子程序5s到?是是横向通行显示状态否15s到?黄灯闪显示子程序5s到?否是是否主程序流程图5-1关总中断保存数据开启相应信号灯纵向通行显示状态延时到?恢复数据ret是紧急中断程序流程图5-25.3程序清单程序如下:org 0000h ljmp main org 001bh;定时器t1中断入口 ljmp kk org 0100h;主程序入口

21、main: mov sp,#60h mov tmod,#10h;定时器t1工作在方式1 mov th1,#9eh;给定时器t1赋初值 mov tl1,#58h setb ea;开中断系统总开关 setb et1;开定时器t1中断开关 setb tr1;启动定时器t1here: mov 88h,#15h;设置中断循环次数 mov 33h,#10h;设置倒计时显示数值 mov p1,#0f3h;使交通灯东西绿,南北红 mov r7,#0ahmm: lcall disp mov a,p3;键盘扫描 cjne a,#0ffh, readkey djnz r7, mm mov p1,#0e1h;交通灯东

22、西绿,南北红同时加亮黄灯 mov 20h,#02hnn: mov a,p3 cjne a,#0ffh,readkey setb p1.1;黄灯进行闪烁5s setb p1.4 lcall disp clr p1.1 clr p1.4 lcall disp;调显示子程序 djnz 20h,nn setb p1.1 setb p1.4 lcall disp mov p1,#0deh;交通灯南北绿,东西红 mov r7,#0ahpp: lcall disp mov a,p3 cjne a,#0ffh,readkey djnz r7,pp mov p1,#0cch;交通灯南北绿,东西红同时加亮黄灯 m

23、ov 20h,#02hqq: mov a,p3;扫描p3口 cjne a,#0ffh,readkey setb p1.1 setb p1.4 lcall disp clr p1.1 clr p1.4 lcall disp clr p1.1 clr p1.4 lcall disp djnz 20h,qq setb p1.1 setb p1.4 lcall qw qw: sjmp here ret delay:mov r1, #0ah delay0:mov r2, #0c8h delay1:mov r3, #0f8h nop delay2:djnz r3, delay2 djnz r2, dela

24、y1 djnz r1, delay0 ret readkey: mov a,#0ffh mov p3,a mov a,p3 jnb acc.0, k1;判断k1键是否按下 jnb acc.1, k2;判断k2键是否按下 jnb acc.6, k3;判断k3键是否按下 retk1: mov p0,#0ffh;判断倒计时显示装置 mov p2,#0ffh lcall xx lcall yy sjmp readkeyk2: mov p0,#0ffh;关断倒计时显示装置 mov p2,#0ffh lcall xx lcall yy1 sjmp readkeyk3: mov p0,#0ffh;关断倒计时

25、显示装置 mov p2,#0ffh lcall xx lcall yy2 sjmp readkeyxx: mov 20h,#05h lcall bb retbb: setb p1.1 setb p1.4 lcall delay clr p1.1 clr p1.4 lcall delay djnz 20h,bb retyy: mov p1,#0f6h;四个路口均变为红灯 mov a,#0ffh mov p3,a mov a,p3 jnb acc.0,yy;判断k2键是否仍然按下 lcall qwyy1: mov p1,#0f3h;东西方向亮绿灯,南北方向亮红灯 mov a,#0ffh mov p

26、3,a mov a,p3 jnb acc.1,yy1;判断k2键是否仍然按下 lcall qwyy2: mov p1,#0deh;南北方向亮绿灯,东西方向亮红灯 mov a,#0ffh mov p3,a mov a,p3 jnb acc.6,yy2;判断k3键是否仍然按下 lcall qw ret kk: dec 88h mov a, 88h cjne a, #01h,bn mov 88h, #15h lcall dispbn: mov th1,#9eh;重新给定时器t1赋初值 mov tl1,#58h retidisp: dec 33h mov a,33h cjne a,#01h,dir1 mov 33h,#10hdir1: mov b,#0ah div ab;提取出倒计时数值的十位和个位数 mov dptr,#tab;字形表的入口地址 movc a,a+dptr;查表获取十位数的字型码 mov 30h,a mov a,b movc

温馨提示

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

评论

0/150

提交评论