版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用单片机设计模拟交通灯 独特的声音我再次声明,提交的毕业设计是我在导师指导下的研究成果。设计不含他人发表或撰写的研究成果,但文中特别注明和注释的除外。所有与研究成果相关的人所做的任何贡献都已经在设计中得到明确的解释和表达。签名:日期年月授权声明我完全清楚学院关于保存和使用本科毕业设计的规定,即我有权保存和向国家有关部门或机构寄送毕业设计的复印件和磁盘,并允许毕业设计被查阅和借阅。本人授权学院将毕业设计的全部或部分内容编入相关数据库进行检索,并采用影印、缩小或扫描的方式保存和编辑设计。我的设计中需要原始数据的部分是(如果没有,请填写“无”):签名:日期年月讲师签名:日期年月摘要本设计基于数字集成
2、电路和单片机技术,采用MCS-51系列单片机AT89C51作为控制器件,结合LED数字显示电路和LED指示电路组成交通灯硬件电路,利用单片机定时中断溢出产生1s实现倒计时。系统可以完成25s倒计时显示。倒计时到5s时,绿灯开始闪烁,提醒过往车辆和行人安全通行。当倒计时到达2s时,黄灯亮起。关键词:单片机;AT89C51红绿灯目录 TOC o 1-2 h z u HYPERLINK l _RefHeading_Toc293954314 1绪论1 HYPERLINK l _RefHeading_Toc293954315 1.1研究背景1 HYPERLINK l _RefHeading_Toc293
3、954316 1.2单片机的概述1 HYPERLINK l _RefHeading_Toc293954317 1.3单片机的应用2 HYPERLINK l _RefHeading_Toc293954318 1.4单片机的发展史2 HYPERLINK l _RefHeading_Toc293954319 2系统硬件设计3 HYPERLINK l _RefHeading_Toc293954320 2.1系统原理3 HYPERLINK l _RefHeading_Toc293954321 2.2 AT89C51的介绍4 HYPERLINK l _RefHeading_Toc293954322 2.3
4、 AT89C51的引脚说明5 HYPERLINK l _RefHeading_Toc293954323 2.4时钟电路7 HYPERLINK l _RefHeading_Toc293954324 2.5复位电路7 HYPERLINK l _RefHeading_Toc293954325 2.6单片机的最小系统构成8 HYPERLINK l _RefHeading_Toc293954326 2.7 7405 TTL 集电极开路六反相器8 HYPERLINK l _RefHeading_Toc293954327 2.8指示电路8 HYPERLINK l _RefHeading_Toc2939543
5、28 2.9 LED数码显示器9 HYPERLINK l _RefHeading_Toc293954329 3系统软件设计11 HYPERLINK l _RefHeading_Toc293954330 3.1系统整体程序流程图11 HYPERLINK l _RefHeading_Toc293954331 3.2设置定时,显示初始化11 HYPERLINK l _RefHeading_Toc293954332 3.3处理状态、倒计时显示13 HYPERLINK l _RefHeading_Toc293954333 3.4路口红绿灯状态子程序14 HYPERLINK l _RefHeading_T
6、oc293954334 3.5 LED显示子程序14 HYPERLINK l _RefHeading_Toc293954335 4系统仿真16 HYPERLINK l _RefHeading_Toc293954336 4.1仿真平台介绍16 HYPERLINK l _RefHeading_Toc293954337 4.1.1 Keil软件介绍16 HYPERLINK l _RefHeading_Toc293954338 4.1.2 Proteus仿真软件介绍17 HYPERLINK l _RefHeading_Toc293954339 4.2系统硬件实现19 HYPERLINK l _RefH
7、eading_Toc293954340 4.3系统仿真与分析19 HYPERLINK l _RefHeading_Toc293954341 5总结22 HYPERLINK l _RefHeading_Toc293954342 参考文献23 HYPERLINK l _RefHeading_Toc293954343 附 录24 HYPERLINK l _RefHeading_Toc293954344 致301导言1.1研究背景如今,安装在各个十字路口的交通灯已经成为缓解交通的最常见和最有效的手段。但这项技术出现在19世纪。1858年,英国伦敦主要街道安装了以燃煤燃气为光源的红蓝机械扳手信号灯,指挥
8、马车通行。这是世界上最早的交通信号。1868年,英国机械工程师耐特在伦敦威斯敏斯特议会大厦前的广场上安装了世界上第一个气体交通灯。它由红色和绿色的灯笼和旋转的方形玻璃组成。红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,打伤了警察,所以取消了。美国出现了电动交通灯。这些交通灯由红色、绿色和黄三色的圆形投影仪组成,于1914年安装在纽约第五大街的一座塔上。红灯表示“停止”,绿灯表示“通过”。1918年,又出现了带控制的红绿灯和红外线红绿灯。有控制的红绿灯,一种是在地下安装压力检测器,车辆一接近红灯就变绿;另一种是用喇叭启动红绿灯。当司机遇到红灯时,他按“哔”的一声,红灯变成绿
9、灯。红外红绿灯当行人踩在压感路上时,可以察觉到有人在过马路。红外线光束可以延长信号灯的红灯一段时间,延缓汽车放行,避免交通事故的发生。交通信号灯的出现可以有效地控制交通,对缓解交通流量,提高道路通行能力,减少交通事故有明显的作用。一般交通灯系统采用固定周期变灯的控制方式。大部分路口的红绿灯只有红、绿、黄三个指示灯。行人过路口,走到路中央会出现绿灯跳红灯的情况。本着以人为本的设计理念,可以在路口安装与信号灯同步的倒计时显示器。行人和自行车可以根据绿灯结束的时间来决定是否过路口。在设计中,我们利用AT89C51单片机的并口连接LED来模拟交通灯的变化规律。八个谢妮管用于显示第二个值,东、西、南、北
10、各两个。12个led,东三个,西三个,南三个,北三个,分为红、绿、黄三三种颜色。1.2单片机概述单片机是指集成在一个芯片上的微型计算机,即组成微型计算机的各种功能部件,包括CPU(中央处理器)、随机存取存储器(RAM)、只读存储器(ROM)、基本输入/输出接口电路、定时器/计数器等。,都制作在一个集成芯片上,形成一个完整的微型计算机,从而实现微型计算机的基本功能。1.3单片机的应用(1)智能仪器仪表现代仪器仪表采用单片机,不仅提高了仪器仪表的功能和精度,而且使仪器仪表智能化,简化了结构,减小了体积,降低了成本。(2)工业控制单片机还可以用于工业控制器采集和控制各种物理量。例如电流、温度、电压、
11、流量等物理参数的采集和控制。可以用单片机实现,从而提高生产效率和产品质量。(3)家用电器现在所有的家用电器都在向智能化发展,单片机是智能家电的大脑和心脏。如洗衣机、空调、冰箱、电视等。(4)信息和通信产品信息通讯产品的自动化和智能化离不开单片机的参与。典型的产品有打印机、电脑、考勤机、电脑等。1.4单片机的发展历史单片机技术的发展非常迅速,大致可以分为四个阶段:第一阶段(1976 1978):低性能单片机的探索阶段。Intel公司的MCS-48是代表,它采用单片结构,即一个芯片包含8位CPU、定时器/计数器、并行I/O、RAM和ROM等。主要用于工业领域。第二阶段(1978 1982):高性能
12、单片机阶段。这种单片机有串行I/O口,8位数据线,16位地址线,最大可寻址64KB。它具有控制总线和丰富的指令系统。这种单片机应用广泛,并在不断改进和发展。第三阶段(1982 1990): 16位单片机阶段。16位单片机除了16位CPU之外,还进一步增加了RAM和ROM的容量,具有更强的实时处理能力,体现了微控制器的特点。第四阶段(1990 ):单片机全面发展阶段。各公司产品尽量兼容,同时向高速、强运算、大寻址面积、小尺寸、低价格方向发展。2系统硬件设计2.1系统原理本设计主要以AT89C51单片机为核心,结合电源电路、时钟电路和复位电路构成单片机最小系统,与外围倒计时显示电路和指示电路一起构
13、成单片机模拟交通灯系统。系统的总体框图如下图2-1所示。电力网钟脉冲电路重接电路AT89C51单片机显示电路指示电路图2-1系统总体框图图2-2系统示意图2.2 at89c 51简介图2-3单片机部门的整体结构Atmel公司设计的89C51是MCS-51系列单片机的典型产品。其主要结构包括CPU、程序存储器(ROM)、数据存储器(ram)、定时器/计数器、并行接口、串行接口和中断系统,以及数据总线、地址总线和控制总线三大总线。现在我们将分别解释它们:(1)中央处理器(CPU)中央处理器(CPU)是整个单片机的核心部件,是一个8位数据宽度的处理器,可以处理8位二进制数据或代码。CPU负责控制、指
14、挥和调度整个单元系统的协调,完成计算和控制输入输出功能等操作。(2)数据存储数据存储器包括RAM(128*8)和RAM地址寄存器,用于存储可读/可写数据。实际上几个部门有256个RAM单元,但后128个单元是专用寄存器,只有前128个单元可以作为用户的常用RAM内存。因此,所谓部分数据存储器是指前128个单元,简称“部分RAM”。(3)程序记忆程序存储器包括ROM(4K*8)和程序地址寄存器等。AT89C51有4KB的掩膜ROM,用来存储程序和原始数据,所以叫程序存储器,简称“部分ROM”。(4)计时器/计数器由于控制应用的需要,89C51有两个16位定时器/计数器,分别用定时器/计数器0和定
15、时器/计数器1表示。它们用来实现定时或计数的功能,并根据其定时或计数结果控制单片机。(5)并行输入/输出端口89C51有四个8位I/O端口(P0、P1、P2和P3)实现并行数据输入/输出。(6)串行端口89C51单片机具有全双工串口,实现单片机与其他数据设备之间的串行数据传输。该串口功能强大,可用作全双工异步通信收发器或同步移位器。(7)中断控制电路89C51具有强大的中断功能,可以满足控制应用的需要。有五个中断源,即两个外部中断、两个计时/计数中断和一个串行中断。所有中断都分为两个优先级:高优先级和低优先级。(8)时钟电路89C51芯片有时钟电路,但需要外接应时晶体和微调电容。时钟电路为单片
16、机产生时钟脉冲序列。2.3 at89c 51的引脚描述图2-4 at89c 51的引脚图按其功能可分为电源、时钟、控制和I/O接口四部分:(1)电源引脚Vcc:电源端,接+5v;Vss:接地端子。(2)时钟引脚XTAL1和XTAL2:使用芯片时钟时,XTAL1和XTAL2用于石英晶体谐振器和微调电容的外接;当使用外部时钟时,它用于访问外部时钟脉冲信号。(3)控制销RST/VPD:复位/掉电保护信号输入。RST是复位信号输入。Vcc断电后,此引脚(VPD)可接入备用电源,在低功耗情况下保证部RAM中的数据。ALE/数据锁存:控制信号/编程脉冲输入端子允许ALE数据锁存。当MCU访问外部存储器时,
17、此引脚的输出信号ALE用于锁存P0端口的低8位地址。ALE输出的频率是时钟振荡频率的1/6。对8751单片机的EPROM编程时,编程脉冲通过此引脚接入。:片外程序存储器读选通有效信号指令运行时,的频率为振荡频率的1/6;但是,如果在此期间有访问外部数据存储器的操作,一个机器周期内的信号将不会出现。/VPP:访问程序存储器控制信号/编程电源输入当=0时,MCU仅访问外部程序存储器。对于8031 MCU,此引脚必须接地。=1,MCU访问程序存储器。对于带程序存储器的8xx51 MCU,此引脚应接高电平,但如果地址超过4KB (0FFFH),MCU会自动访问外部程序存储器。在8751单片机的EPRO
18、M编程过程中,此引脚接21V编程电源Vpp。(4)输入/输出引脚P0.0P0.7: P0端口数据/低8位地址多路复用总线端口。P1.0P1.7: P1港为静态通用港。P2.0p2.7: p2端口的高八位地址总线动态端口。P3.0P3.7:具有第二功能的双功能静态端口。表2-1P3端口线第二个功能的描述口仙第二功能信号第二功能信号名称P3.0接收数据串行数据接收P3.1数据发送串行数据传送P3.2INT0外部中断0请求P3.3INT1外部中断1应用程序P3.4T0定时器/计数器0计数输入P3.5一种网络的名称(传输率可达1.54mbps)定时器/计数器0计数输入P3.6外部RAM写选通脉冲P3.
19、7外部RAM读选通脉冲2.4时钟电路本设计采用AT89C51单片机的时钟模式,定时元件外接XTAL1和XTAL2引脚,使振荡器电路产生自激振荡。定时元件通常是由应时晶体和电容组成的并联谐振电路。晶体振荡器为12MHz,电容为30pF。图2-5时钟电路2.5复位电路MCU的复位是使CPU和系统中的其他功能部件处于某种初始状态,并从这种状态开始工作。例如,复位后,PC = 0000h,MCU从第一个单元获取指令。无论是单片机刚接通电源时,还是掉电或故障后都要复位,所以一定要搞清楚MCS-51单片机的复位条件、复位电路和复位状态。单片机的复位条件是RST/VPD或RST引脚必须加一个持续两个机器周期
20、(即24个振荡周期)的高电平。例如,如果时钟频率为12MHz,每个机器周期为1us,则只需要超过2us的高电平,复位将在RST引脚的高电平出现后的第二个机器周期进行。本设计中使用的复位电路如图2-5所示:英特尔的快速储存技术图2-6复位电路2.6单片机的最小系统结构单片机控制系统由单片机和外围电路组成,组成元件最少的单片机系统称为单片机最小系统。它主要由电源电路、晶振电路和复位电路组成。图2-7单片机最小系统结构2.7 7405 TTL集电极开路六路反相器745是六路反相器,由六个与非门组成。在设计中,7405逆变器的输入端接单片机的P2.1P2.6,输出端接LED的负极,从而控制LED处于不
21、同的状态。比如单片机的I/O口输出高电平时,7405逆变器输出低电平点亮该路LED。图2-87405一路反相2.8指示电路本设计中,四个红、绿、黄三发光二极管通过7405反相器连接到单片机P2端口对应的管脚上,不同的发光二极管在不同的状态下点亮,控制道路。发光二极管(LED)是一种半导体二极管,可以将电能转化为光能,简称LED。发光二极管和普通二极管一样,由PN结组成,也具有单向导电性。当向LED施加直流电压时,从P区注入到N区的空穴和从N区注入到P区的电子分别与PN结附近几微米的N区和P区中的电子结合,导致荧光的自发发射。不同半导体材料中电子和空穴的能态是不同的。当电子和空穴复合时,释放的能
22、量有些不同。释放的能量越多,发射光的波长就越短。图2-9红色、绿色和蓝色发光二极管2.9 LED数字显示屏是发光二极管(Light Emiting Diode)的缩写,是一种能将电信号转化为光信号的发光器件。由条形发光二极管组成的“8”字形显示器,又称数码管。通过数码管中LED的明暗组合,可以显示各种数字、字母等符号。数码管主要用于显示单片机应用系统中单片机的输出数据和状态。LED是由发光二极管组成的显示设备。常用的LED显示器有两种供电状态,即共阴极LED和共阳极LED。图2-10 LED数码管结构图要使LED数码管正常显示,就需要用驱动电路驱动数码管的各个段码,从而显示出我们想要的数字。所
23、以根据LED数码管驱动方式的不同,分为静态型和动态型。静态显示驱动程序:静态驱动也称为DC驱动。静态驱动是指每个数码管的每个段码都是由单片机的一个I/O口驱动,或者由BCD码等二进制-十进制器件驱动。动态显示驱动程序:动态驱动是将所有数码管的8位段码“a、b、c、d、e、f、g、dp”的同名端连接起来,为每个数码管的共极COM增加一个位选通控制电路。位选通由独立的I/O线控制。单片机输出字形码时,所有数码管接收到的字形码都一样,但会显示哪一个呢?设计中采用静态显示方式,每个方向有两个数码管与AT89C51的P1端口和P3端口相连,显示倒计时的十位数字和一位数字。3系统软件设计3.1系统总体程序
24、流程图设置,显示初始化开始处理状态,显示时间到了吗?处理下一个状态。目标是不图3-1系统总体程序流程图3.2设置定时和显示初始化。在单片机应用系统中,一般有以下三种方法实现定时:(1)软件计时:让计算机执行一个程序来延迟事件。这个程序段本身没有其他的执行目的,只是为了这个程序段的执行需要一个固定的时间。通过正确选择指令和安排循环次数,可以调整执行该程序所需的时间长度。它的特点是定时准确,不需要额外的硬件电路,但是占用CPU时间。因此,软件计时不宜过长。(2)硬件定时:定时是由硬件电路实现的。其特点是不占用CPU时间,通过改变电路元件参数来调整时序,但使用起来不够灵活方便。对于长时序,通常采用硬
25、件电路来实现。(3)可编程定时器:由专用定时器计数芯片实现。其特点是通过对系统时钟脉冲计数来实现定时,定时时间可以通过设置程序来改变,使用灵活方便。还可以实现对外脉冲计数的功能。当定时器计数器设置为计数模式时,计数器对来自输入引脚T0和T1的外部信号进行计数,外部信号的下降沿将触发计数。最高检测频率是振荡频率的四分之一。计数器对外部输入信号的占空比没有特殊限制,但必须保证输入信号的高电平和低电平持续时间大于一个机器周期。当设置并启动定时器的工作模式时,定时器按照设置的工作模式独立工作,不再占用CPU的运行时间。只有当计数器满并溢出时,才能中断CPU的当前操作。延时方法有两种,一种是用MCS-5
26、1定时器产生溢出中断来确定1秒的时间,另一种是用软延时的方法。当定时器工作时,它必须向计数器发送初始计数器值,计数器值被发送到TH和TL。它通过加法计数,可以自动产生从全1到全0的溢出中断请求。因此,我们可以将计数器满0所需的计数值设为C,初始计数值设为TC,得到如下一般公式:TC = MC(41)其中m是计数器的模数值,与计数器的工作模式有关。模式0下,m为8196;模式1中m的值是65536;模式2和模式3下为256。T=(M -TC)*或TC = M-c/(42)是单片机时钟周期的12倍;TC是定时初始值。比如单片机的主脉冲频率,=12MHz,除以12。0模式(43)1模式(44)我们这
27、里用模式1,初始值TC=65536-50000。TH0 =(65536-50000)/256 TL0 =(65536-50000)% 256(45)很明显,一秒钟已经超过了计数器的最大固定时间,所以只能通过定时器和软件相结合的方式来解决这个问题。我们在主程序中设置一个初始值为1的软件计数器,并将T0设置为50毫秒,这样CPU就会响应它的溢出中断请求,每隔T0到50毫秒就进入它的中断服务子程序。在中断服务子程序中,CPU首先将软件计数器加1,然后判断是否为20。值20表示已经过了1秒,您可以返回到输出时间显示程序。设置计时器:首发:MOV TMOD,# 01H设置为工作模式1MOV TH0,#
28、3CH设置T0计时初始值50毫秒MOV TL0,#0B0HCLR TF0SETB TR0;开始T0累加器清零3.3加工状态和倒计时显示东西绿灯开始25s倒计时。初始化是5s吗?绿灯闪烁黄灯持续2秒是不绿灯转向南北方向。图3-2状态处理流程图当对应的状态被处理后,调用对应的状态子程序和显示子程序,点亮该状态下的led,表示是否允许通行,并使用LED数码管显示倒计时时间。比较R3寄存器中的值,以确定是否进入下一个状态。当所有状态都显示时,程序跳转到初始状态进行循环。初始化后处理状态1的程序:循环:MOV R2,# 20;设置1s计数的初始值MOV R3,# 20;红灯亮20秒MOV第二,第25名;
29、定时显示初始值25s此处是为了防止掉显LCALL状态1;调用状态1WAIT1: JNB TF0,wait 1;查询50毫秒到否CLR TF0MOV TH0,# 3CHT0计时的初始值为50毫秒。MOV TL0,#0B0HDJNZ R2,等待1;1s对No?未达到持续状态1。MOVR2,第20位;设置50毫秒计数的初始值十二月第二次1;显示时间减1LCALL显示;呼叫显示子程序DJNZ R3,等待13.4交叉路口交通灯状态子程序这种状态下的显示效果是通过设置每个LED对应的管脚的高低电平来满足的,因为每个LED的阳极连接到高电平,阴极通过7405反相器连接到单片机的管脚。例如,在状态1中,东西方
30、向的绿灯和南北方向的红灯亮,单片机的P2.1和P2.6的高电平被7405反相为低电平,点亮与之相连的LED。处于1种状态的子程序:州1:SETB莱德_ G1;1个州CLR LED _ Y1东西路口绿灯亮了。CLR LED_R1CLR LED_G2CLR LED_Y2SETB LED _ R2;南北路口红灯亮了。浸水使柔软3.5 LED显示子程序LED定时器应该每秒刷新一次,所以当定时器到达一秒时,存储时间的定时器寄存器SECOND1应该减一,然后送到LED显示程序进行显示。接下来,10位和1位时间数据R4将被分别发送到P1和P0端口。先将R4除以10,整数即十位放在A中,余数即一位放在b中,设
31、置一个七段LED显示数据的数据表,用数据指针寄存器DPTR指向数据表的第一个地址,加上A中的偏移量,就可以指向这十位,然后发送。对于单比特显示器也是如此。显示子程序:显示:MOV A,秒1;将计时值作为被除数发送到累加器a。MOV B,# 10;以10为除数。DIV AB两者相除,商为A,余数为b。MOV DPTR,# LEDMAP取数据表的头地址。MOVC A,A+DPTRMOVP1;显示十位数MOV A,BMOVC A,A+DPTRMOVP3;显示一点浸水使柔软LEDMAP: DB 3FH、06H、5BH、4FH、66H、6DH、7DH、07H、7FH、6FH结束4系统模拟4.1仿真平台介
32、绍Keil软件简介单片机的发展除了必要的硬件外,还有赖于软件。把我们写的汇编语言源程序变成CPU可以执行的机器码有两种方法,一种是手工汇编,一种是机器汇编。目前很少使用手工装配。汇编就是通过汇编软件把源程序变成机器码。用于MCS-51单片机的汇编软件有早期的A51。随着单片机开发技术的不断发展,单片机的开发软件也在从广泛使用汇编语言向逐步使用高级语言发展。Keil软件是目前开发MCS-51单片机最流行的软件。Keil提供了完整的开发方案,包括C编译器、宏汇编、连接器、库管理和强大的模拟调试器等。,它们通过集成开发环境(uVision)结合在一起。Keisoftware8051开发工具,提供编译
33、源程序,汇编源程序,连接和重定位目标文件和库文件,创建。调试目标程序的十六进制文件。下面简单介绍一下使用过程。开始新的Keil项目。选择芯片创建新的汇编/C语言文件编译文件,调试生成。十六进制文件图4-1使用4-1Keil软件的流程图Keil软件的工作界面图如下:图4-2 Keil软件工作界面图4 . 1 . 2 Proteus仿真软件介绍Proteus软件是Labcenter电子公司的电路设计和仿真软件。主要包括ISIS、ARES等软件模块。ARES模块主要用于完成PCB设计,ISIS模块用于完成电路原理图布局和仿真。Proteus的软件仿真基于VSM技术,可以将微处理器软件应用于处理器,并
34、与处理器的任何模拟和数字设备进行协调。执行目标代码就像运行在真正的单片机系统上。VSM CPU模型可以完全模拟I/O端口、中断、定时器、通用外设以及其他与CPU相关的外设,甚至可以模拟多个处理器。通过使用Proteus软件,我们可以很容易地得到一个功能齐全、实用方便的单片机实验室。该软件的特点是:(1)集原理图设计、仿真、PCB设计于一体,真正实现了从概念到产品的完整开发工具。(2)具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真,是一款独特的支持处理器和外围电路的协同仿真电路设计软件。(3)具有全速、单步、设置断点等多种调试功能。(4)具有电路分析所需的各种信号源和虚拟仪器
35、,是电气教学实验和创新的最佳平台。(5)支持Keil C51 uVision2、MTLAB等第三方软件编译调试环境。(6)具有强大的从原理图到PCB设计的功能,可以输出多种格式的电路设计报告。下面是它的使用方法:启动Proteus放置组件连接电器补充。十六进制文件,仿真图4-3 Proteus操作流程图打开Proteus启动界面,如下图所示:图4-4协议工作界面4.2系统硬件实现图4-5单片机控制的交通灯硬件电路图选择一个单片机AT89C51,四个红绿蓝发光二极管,八个LED数码管和一个7405芯片,根据电路原理图在电路上连接几个电阻和电容。4.3系统模拟和分析图4-6系统初始化效果图根据上图
36、4-6的仿真效果图,说明系统初始化后东西方向绿灯亮,南北方向红灯亮,仿真结果正确。图4-7 2s倒计时模拟图从图4-7的模拟效果来看,第一个周期倒计时到2s时,东西方向由绿灯闪烁变为黄灯,说明模拟是正确的。图4-8南北方向25s倒计时根据图4-8,当东西方向25s倒计时结果转向南北方向开始25s倒计时时,南北方向绿灯亮,东西方向红灯亮,说明模拟结果正确。通过以上仿真结果可以看出,该设计能够正确转换东西方向和南北方向的红绿灯,倒计时5s时开始绿灯闪烁,黄灯亮2s。但由于时间仓促,设计在某些方面还需要改进,比如根据各路段的车流量自动调整红绿时间和红灯报警电路,以适应社会的需要。5摘要本文是一个基于
37、AT89C51单片机的模拟交通灯。并用PROTEUS模拟。系统从东西方向的绿灯和南北方向的红灯开始,倒计时25秒。倒计时5s时,东西方向绿灯闪烁,提醒人们安全通过。倒计时2s时,黄灯亮起,禁止未通过路口的车辆通行。倒计时结束后,南北方向的倒计时开始依次循环。PROTEUS仿真实验表明,该交通灯的工作原理相对简单实用,且时间短,可用于狭窄路段。虽然这个设计可以模拟成功,但是由于时间短,本人水平有限,这个设计还存在一些不足,需要进一步研究和完善。参考1光帝,朱月秀,冷祖琪。单片机基础M。:航空航天大学,2007年6月2吴京,周令斌主编。单片机原理、应用及PROTEUS仿真M。:电子工业,2008年
38、8月3周润静,袁维庭,景.Proteus在MCS-51和ARM7系统中的应用百例M。:电子工业,2006年10月4高卫东,辛友顺,阎政. 51单片机原理与实践M.:航空航天大学,2008年1月牛玉光。单片机原理与接口技术M。:电子工业,2008年2月6许。C51单片机及应用系统设计M.:电子工业,2009年2月7焦玉泉,余,顾.MCS-51单片机原理及应用M。:东南大学,2010年1月8惠萍,周国雄。基于Proteus的单片机系统设计与仿真实例M.:机械工业,2009年4月余修武。单片机原理及应用M。:电子科技大学,2008年1月10余西村,。单片机原理与接口技术M。:电子科技大学,2000年
39、7月11朱清辉,冯瑞,.Proteus教程-电子电路设计,制版与仿真M。:清华大学,2008年9月12钱小洁。汇编语言程序设计M。:电子工业,2003.6附加记录交通灯光源程序:second 1 EQU 30H;定时寄存器DBUF EQU 40H;显示代码缓冲器1温度EQU 44H;显示代码缓冲器2LED_G1位P2.1东西交叉路口绿灯LED_Y1位P2.2东西交叉路口黄灯LED_R1位P2.3东西交叉路口红灯LED_G2位P2.4南北交叉路口绿灯LED_Y2位P2.5南北交叉口的黄灯LED_R2位P2.6南北交叉路口红灯ORG 0000H跳转到单片机的主程序组织0100H首发:MOV TMO
40、D,# 01H设置为工作模式1MOV TH0,# 3CH设置T0计时初始值50毫秒MOV TL0,#0B0HCLR TF0SETB TR0;开始T0累加器清零;*循环:MOV R2,# 20;设置1s计数的初始值MOV R3,# 20;红灯亮20秒MOV第二,第25名;定时显示初始值25s此处是为了防止掉显LCALL状态1;调用状态1WAIT1: JNB TF0,wait 1;查询50毫秒到否CLR TF0MOV TH0,# 3CHT0计时的初始值为50毫秒。MOV TL0,#0B0HDJNZ R2,等待1;1s对No?未达到持续状态1。MOVR2,第20位;设置50毫秒计数的初始值十二月第二
41、次1;显示时间减1此处是为了防止掉显DJNZ R3,WAIT11状态保持20秒。;*MOVR2,排名第五;设置50毫秒计数的初始值MOV R3,# 3;绿灯闪烁3秒。MOVR4,排名第四;闪烁间隔200毫秒MOV第二,第五;显示初始值5s此处是为了防止掉显LCALL STATE2调用状态2WAIT2: JNB TF0,wait 2;查询50毫秒到否CLR TF0MOV TH0,# 3CHT0计时的初始值为50毫秒。MOV TL0,#0B0HDJNZ R4,等待2;200ms到没有?不继续状态2。CPL LED _ G1;绿灯闪烁。MOVR4,排名第四;闪烁间隔200毫秒DJNZ R2,等待2;
42、1s对No?不继续状态2。MOVR2,排名第五;设置50毫秒计数的初始值十二月第二次1;显示时间减1此处是为了防止掉显DJNZ R3,WAIT22保持状态3s。;*MOVR2,第20位;设置50毫秒计数的初始值MOV R3,# 2;黄灯闪烁2秒钟。MOV第二,第二;显示初始值2s此处是为了防止掉显LCALL STATE3调用状态3WAIT3: JNB TF0,wait 3;查询100ms到否CLR TF0MOV TH0,# 3CHT0计时的初始值为100毫秒。MOV TL0,#0B0HDJNZ R2,等待3;1s对No?不继续状态3。MOVR2,第20位;设置100毫秒计数的初始值十二月第二次
43、1;显示时间减1此处是为了防止掉显DJNZ R3,WAIT33该状态保持2秒钟。;*MOVR2,第20位;设置50毫秒计数的初始值MOV R3,# 20;红灯亮20秒MOV第二,第25名;显示初始值25s此处是为了防止掉显LCALL状态4;调用状态4WAIT4: JNB TF0,wait 4;查询100ms到否CLR TF0MOV TH0,# 3CHT0计时的初始值为100毫秒。MOV TL0,#0B0HDJNZ R2,等待4;1s对No?不继续状态4MOVR2,第20位;设置100毫秒计数的初始值十二月第二次1;显示时间减1此处是为了防止掉显DJNZ R3,WAIT44状态保持20s。;*MOVR2,排名第五;设置50毫秒计数的初始值MOVR4,排名第四;红灯亮20秒MOV R3,# 3;绿灯闪烁3秒钟MOV第二,第五;显示初始值5s此处是为了防止掉显LCALL STATE5调用状态5WAIT5: JNB TF0,wait 5;查询100ms到否CLR TF0MOV T
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年初中作文开头 说课稿
- 2025-2026学年布艺杯垫说课稿
- 2025-2026学年大班幼儿智力游戏说课稿
- 工业供气工岗前岗后考核试卷含答案
- 汽轮机部套装配调试工安全文明评优考核试卷含答案
- 数据中心运行维护管理员创新应用竞赛考核试卷含答案
- 衡器装配调试工岗前核心能力考核试卷含答案
- 2025-2026学年合作说课稿中班语言
- 2025-2026学年大班分成游戏说课稿
- 水生植物疫病检疫员工作规范能力考核试卷含答案
- 26新五年级上册语文第一次月考检测卷1-2单元
- 【2026公开课】Unit 2 My friends PA Let's learn 教学课件
- IEC 60335-2-9-2024 中文版 家用和类似用途电器安全 烤箱、灶、炉及类似器具特殊要求
- 《5. 睡眠要充足》课件2
- 劲性钢骨梁柱施工方案
- 《碳中和导论》课件-第四章 储能技术与绿色燃料
- 雨课堂学堂在线学堂云《人工智能时代的创新思维(北京理工)》单元测试考核答案
- (2026年)经导管主动脉瓣置换术(TAVR)患者的麻醉管理课件
- 托盘车安全知识培训内容课件
- 2025年全国统一高考数学试卷(全国一卷)含答案
- 财产变更协议书
评论
0/150
提交评论