欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    我模拟交通灯.docx

    • 资源ID:3977676       资源大小:182.54KB        全文页数:29页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    我模拟交通灯.docx

    1、我模拟交通灯济源职业技术学院 毕 业 设 计题目 模拟交通灯 系别 电气工程系 专业 应用电子技术 班级 电技0801 姓名 学号 08020101 指导教师 李春光 日期 2010年12月 设计李务书设计题目:单片机的交通灯控制器设计要求:1.在十字路口的两个方向上各设一组红绿黄灯,显示顺序为: 其中一个方向是绿灯、黄灯、红灯,另一个方向是红灯、绿灯、黄灯。2.设置一组数码管,以倒计时的方式显示允许通过或禁止通行的时间,其中左转灯、绿灯、黄灯、红灯的持续时间分别是15S、30S、3S、48S。3.当各条路上李意一条出现特殊情况,例如消防车、救护车或其他需要优先放行的车辆时,各方向上均是红灯亮

    2、,倒计时停止,且显示数字在闪烁,当特殊运行状态结束后,控制器恢复原来状态,继续正常运行。设计进度要求:第一周:查找资料,初步确定论文题目; 第二周:与老师商讨;第三周:确定论文题目;第四周:根据论文题目进一步查找材料;第五周:完成开提报告及论文大纲交老师批阅;第六周:依据论文大纲完成论文一稿交老师批阅;第七周:.完成相关论文简介、答辩提纲等;第八周:定稿打印。指导教师(签名): 摘要近年来随着科技的飞速发展,单片机的应用正在不断地深入发展,同时带动传统控制检测的更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还应该根据具体硬件结构,

    3、以及针对具体应用对象特点的软件结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用AT89C52系列单片机和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据实际车流量通过AT89C52芯片的P1口设置红、绿灯燃亮时间的功能;为了系统稳定可靠采用了MAX629“看门狗”芯片,避免了系统因为死机而停止工作的情况发生;显示时间直接通过8255的PA、PB口输出;交通灯信号通过PC口输出;交通灯的点亮采用VT双向晶闸管来控制,直接采用220V交流电源驱动,系

    4、统实用性强、操作简单、扩展性强。 关键词:单片机,看门狗MAX629,交通灯,控制器目录摘要 II1 交通灯的发展及应用 12 控制器系统设计 22.1交通管理的方案 22.2系统设计原理 33 芯片的选择与简介 63.1 AT89C52芯片简介 63.2 8255芯片简介 93.3 数码管 114 控制器的软件设计 124.1计数器初值计算 124.2 软件延时 134.3 AT89C52并行口的扩展 145 程序设计 165.1 流程图 165.2 程序清单 186 看门狗硬件电路 226.1软件看门狗 226.2硬件看门狗 237 系统的调试与运行方案 257.1实验步骤 257.2系统

    5、内存分配和I/0接口 267.3 实验程序原代码 278 结 论 30致谢 31参考文献 321 交通灯的发展及应用目前红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。1914年,电气启动的红绿

    6、灯出现在美国。这种红绿灯由红绿黄三色圆形的投光器组成,安装在纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国道路交通和道路标志信号协定对各

    7、种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。2 控制器系统设计2.1交通管理的方案A、B两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红灯、绿灯的状态即将切换,且黄灯燃亮时间为A、B两干道的公共停车时间。设A道

    8、比B道的车流量大,指示灯燃亮的方案如表2.1。表2.1 指示灯的状态360380360A道黄灯亮红灯亮黄灯亮绿灯亮黄灯亮红灯亮B道黄灯亮绿灯亮黄灯亮红灯亮黄灯亮绿灯亮从表中可以看出:(1)当为黄灯时 A、B两道同时为黄灯;以提示行人或车辆下一个灯色即将到来,时间 3秒。(2)当A到为红灯,A 道车辆禁止通行,A 道行人可通过;B道为绿灯,B 道车辆通过,行人禁止通行。时间为60秒。(2)当A道绿灯,A 道车辆通行;B 道为红灯,B 道车辆禁止通过,行人通行。时间为80秒。 A道车流大 通行时间长(3)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。(4)此表可根

    9、据车流量动态设定2.2系统设计原理选用AT89C52单片机一片选用设备:AT89C52单片机一片,8255并行通用接口芯片一片,74LS07两片,MAX692看门狗一片,共阴极的七段数码管两个双向晶闸管若干,7805三端稳压电源一个,红、黄、绿交通灯各两个,开关键盘、连线若干。系统总框图如图2.1所示. 图2.1 交通灯控制系统总框图交通灯控制线路图2.2所示. 图2.2交通灯控制线路图(1)开关键盘输入交通灯初始时间,通过AT89C52单片机P1输入到系统 (2)由AT89C52单片机的定时器每秒钟通过P0口向8255的数据口送信息,由8255的PC 口显示红、绿、黄灯的燃亮情况;由8255

    10、的PA、PB口显示每个灯的燃亮时间。(3)AT89C52通过设置 各个信号等的燃亮时间、通过AT89C52设置,黄、绿、红时间依次为3秒、60秒、3秒、80秒、3秒循环由AT89C52的 P0口向8255的数据口输出。(4)通过AT89C52单片机的P3.0位来控制系统是工作或设置初值,当.牌位0就对系统进行初始化,为1系统就开始工作。(5)8255口用于输出时间的个位,口用于输出时间的十位,由747S07驱动芯片驱动;而口用于输出各个灯的情况,它的末段连接双向晶闸管采用220V交流电压驱动。(6)在交通控制程序中加入看门狗指令,当系统出现异常看门狗将发出溢出中断。通过专用端口输入到MAX69

    11、2看门狗芯片的WDI 引脚引起RESET复位信号复位系统.3 芯片的选择与简介3.1 AT89C52芯片简介3.1.1 AT89C52单片机内部结构 8051是AT89C52系列单片机的典型产品,AT89C52单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,见图3.1,现在说明如下:图3.1 总线结构(1)中央处理器中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功

    12、能等操作。(2)数据存储器(RAM)AT89C52内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。 (3)存储器(ROM)AT89C52共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。(4)定时/计数器(ROM)AT89C52有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。(5)并行输入输出(I/O)口AT89C52共有4组8位I/O口(P0、 P1、P2或P

    13、3),用于对外部数据的传输。(6)全双工串行口AT89C52内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。(7)中断系统AT89C52具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。(8)时钟电路AT89C52内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但AT89C52单片机需外置振荡电容。单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数

    14、据存储器合二为一的结构,即普林斯顿(Princeton)结构。INTEL的AT89C52系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。3.1.2 AT89C52的引脚说明AT89C52系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。引脚如图3.2所示.图3.2引脚图RESET/Vpd复位信号复用脚,当AT89C52通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高

    15、电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,AT89C52的初始态。AT89C52的复位方式可以是自动复位,也可以是手动复位,见图3.3。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。 图3.3 复位电路 ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,AL

    16、E端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。如果单片机是EPROM,在编程其间,将用于输入编程脉冲。当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。EA/Vpp程序存储器的内外部选通线,AT89C52单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取

    17、外部程序存储器指令。显然,对内部无程序存储器的AT89C52,EA端必须接地。在编程时,EA/Vpp脚还需加上21V的编程电压。3.2 8255芯片简介8255可编程并行接口芯片简介: 8255可编程并行接口芯片有三个输入输出端口,即A口、B口和C口,对应于引脚PA7PA0、PB7PB0和PC7PC0。其内部还有一个控制寄存器,即控制口。通常A口、B口作为输入输出的数据端口。C口作为控制或状态信息的端口,它在方式字的控制下,可以分成4位的端口,每个端口包含一个4位锁存器。它们分别与端口A配合使用,可以用作控制信号输出或作为状态信号输入。8255可编程并行接口芯片方式控制字格式说明:8255有两

    18、种控制命令字;一个是方式选择控制字;另一个是C口按位置位复位控制字。其中C口按位置位复位控制字方式使用较为繁难,说明也较冗长,故在此不作叙述,需要时用户可自行查找有关资料。方式控制字格式说明如表3.1:表3.1 8255方式控制字D7D6D5D4D3D2D1D0 D7:设定工作方式标志,1有效。 D6、D5:A口方式选 0 0 方式0 0 1 方式1 1 方式2 D4:A口功能 (1=输入,0=输出) D3:C口高4位功能 (1=输入,0=输出) D2:B口方式选择 (0=方式0,1=方式1) D1:B口功能 (1=输入,0=输出)D0:C口低4位功能 (1=输入,0=输出) 8255可编程并

    19、行接口芯片工作方式说明: 方式0:基本输入输出方式。适用于三个端口中的李何一个。每一个端口都可以用作输入或输出。输出可被锁存,输入不能锁存。 方式1:选通输入输出方式。这时A口或B口的8位外设线用作输入或输出,C口的4条线中三条用作数据传输的联络信号和中断请求信号。 方式2 :双向总线方式。只有A口具备双向总线方式,8位外设线用作输入或输出,此时C口的5条线用作通讯联络信号和中断请求信号。3.3 数码管采用共阴极的七段数码管,如图3.4所示. 图3.4 数码管电路VT为双向晶闸管,当门极为高电平时晶闸管导通,该支路指示灯亮;当门极为低电平时晶闸管关断,该支路指示灯灭。4 控制器的软件设计 延时

    20、方法可以有两种一中是利用AT89C52内部定时器才生溢出中断来确定1秒的时间,另一种是采用软延时的方法。4.1计数器初值计算 定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。 我们采用在主程序中设定一个初值为20的软件计数器和使T0定时50毫秒这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先使软件计数器减,然后判断它是否为零。为零表示秒已到可以返回到输出时间显示程序。相应程序代码:(1)主程序定时器需定时50毫秒,故T0工作于方式1。初值:TCM-T/T计数=2

    21、16-50ms/1us=15536=3CBOH ORG 1000H START: MOV TMOD, #01H ; 令T0为定时器方式1 MOV TH0, #3CH ;装入定时器初值 MOV TL0, #0B0H; MOV IE,#82H ;开T0中断 SEBT TR0;启动T0计数器 MOV R0,#14H;软件计数器赋初值OP: SJMP $;等待中断(2)中断服务子程序 ORG 000BH AJMPBRT0 ORG 00BH BRT0:DJNZ R0,NEXT AJMP TIME ; 跳转到时间及信号灯显示子程序 DJNZ:MOVR0,14H;恢复R0值 MOV TH0, #3CH ;重

    22、装入定时器初值 MOV TL0, #0B0H; MOV IE,#82H RETIEND4.2 软件延时 AT89C52的工作频率为2-12MHZ,我们选用的AT89C52单片机的工作频率为6MHZ。机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/6M)=2us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间。具体的延时程序: DELAY:MOV R4,#08H 延时1秒子程序 DE2:LCALL DELAY1 DJNZ R4,DE2 RETDELAY1:MOV R6,#0 延时125ms 子程序 MOV R5,#0DE1:DJ

    23、NZ R5,$ DJNZ R6,DE1 RET MOV RN,#DATA 所以此指令的执行时间为2ms DELAY1 为一个双重循坏 循环次数为256*256=65536 所以延时时间=65536*2=131072us 约为125us ,DELAY R4设置的初值为8 主延时程序循环8次,所以125us*8= 1秒,由于单片机的运行速度很快其它的指令执行时间可以忽略不计。4.3 AT89C52并行口的扩展 AT89C52虽然有4个8位I/O端口,但真正能提供借用的只有P1口,因为P2和P0口通常用于传送外部传送地址和数据,P3口也有它的第二功能。因此,AT89C52通常需要扩展。由于我们用外输

    24、出时间时,时间的个位、十位、信号灯的显示都要用到一个I/O端口,显然AT89C52的端口是不够,需要扩展。 扩展的方法有两种:(1)借用外部RAM地址来扩展I/O端口;(2)采用I/O接口来扩充。本设计中采用8255并行接口信片来扩展I/O端口。4.3.1显示原理当定时器定时为1秒,时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间 ,同时一直显示信号灯的颜色,这时在返回定时子程序定时一秒,在显示黄灯的下一个时间,这样依次把所有的灯色的时间显示完后在重新给时间计数器赋初值 ,重新进入循环。 4.3.2 8255输出信号的放大 要使行人能看见信号灯的情况,必须把8255输出的信号进行

    25、放大,这里我们用VT为双向晶闸管,当门极为高电平时晶闸管导通,该支路指示灯亮;当门极为低电平时关断,该支路指示灯灭。 4.3.3 8255输出信号与信号灯的连接LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点量而显示不同的字形如 SP,g,f,e,d,c,b,a 管脚上加上7FH所以SP为0伏,不亮其余为TTL高电平,全亮则显示为8,采用共阴级连接,见表4.1所示.表4.1 驱动代码表显示数值dop g f e d c b a 驱动代码(16进制)00 0 1 1 1 1 1 1 3FH1 0 0 0 0 0 1 1 006H2 0 1 0 1 1 0 1 15BH3

    26、0 1 0 0 1 1 1 14FH4 0 1 1 0 0 1 1 066H5 0 1 1 0 1 1 0 06DH6 0 1 1 1 1 1 0 07DH7 0 0 0 0 0 1 1 107H8 0 1 1 1 1 1 1 17FH 4.3.4 8255与AT89C52的连接用AT89C52的P0 口的 p0.7 连接8255的片选信号cs 我们用AT89C52的地址采用全译码方式,当p0.7 =0 时片选有效, 其它无效, p0.1 p0.1 用于选择8255端口 P0.7 p0.6 p0.5 p0.4 p0.3 p0.2 P0.1 P0.0A7 A6 A5 A4 A3 A2 A1 A0

    27、1 X X X X X 0 0 00H为8255 的PA口1 X X X X X 0 1 01H 为8255的PB口1 X X X X X 1 0 02H 为8255的PC口1 X X X X X 1 1 03H 为8255的控制口由于AT89C52是分时对8255和储存器进行访问所以AT89C52的P0口不会发生冲突5 程序设计5.1 流程图R4 存放黄灯时间 3 03H (此时间可以动态设定) R5 存放红灯时间 60 3CH R6 存放绿灯时间 80 50H PC0 显示黄灯信号 PC1 显示红灯信号PC2 显示黄灯信号 8825 工作于方式0 8255 PA、PB、 PC口输出 PC

    28、控制字为10000000B (80H)主程序如图5.1所示 图5.1 主程序流程图 图5.2 程序流程图5.2 程序清单 ORG 0000H LJMP MAIN ORG 0100HMAIN:MOV R1,#03H 初始化8255 MOV A,#80H MOVX R1,AAGAIN:MOV P3,#80H 设置初值 MOV A,P3 JB ACC.7, NEXT0 AGAIN1:MOV P3,#40H MOV A,P3 JB ACC.6, RED MOV P3,#0FH MOV A,P3 ANL A,#0FH MOV R3,A AJMP AGAIN1RED:MOV P3,#0FH MOV A,P

    29、3 ANL A,#0FH MOV R2,A AJMP AGAINNEXT0:MOV R1,#03H NEXT1:MOV DPTR,#TAB 显示黄灯个位 MOV A,R1MOVC A,A+DPTR MOV R1,#00H MOVX R1, A MOV R1,#O MOV DPTR,#TAB 显示黄灯十位 MOV A,R0 MOVC A,A+DPTR MOV R1,#01H MOVX R1,A MOV DPTR,#0C62H 显示黄灯信号 MOV A,#00H LCALL 0F4E0H ACALL DELAY 延时1秒 DJNZ R0,NEXT1 MOV A,R3 MOV R0,A NEXT2:MOV DPTR,#TAB 显示红灯个位 MOV A,R0 MOVC A,A+DPTR MOV R1,#00H MOVX R1,A MOV DPTR,#TAB 显示红灯十位 MOV A,R0 MOVC A,A+DPTR MOV R1,#01H MOV A,R0 MOVX R1,R0 MOV R1,#02H 显示红灯信号 MOV A,#02H MOVX R1,A ACALL DELAY 延时1秒 DJNZ R0,NEXT2 MOV A,R2 MOV R0,A NEXT3:MOV DPTR,#TAB 显示绿灯个位 MOV A,R0 MOVC A,A+DPTR M


    注意事项

    本文(我模拟交通灯.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开