




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机〃的交通灯设计与实现可行性研究报告摘要:近年来随着科技^日勺飞速发展,一个以微电子技术、计算机技术和通信技术为先导H勺信息革命正在蓬勃发展。计算机技术作为三者之一,怎样与实际应用更有效O日勺结合并发挥其作用。单片机作为计算机技术。)日勺一个分支,正在不断④>日勺应用到实际生活中,同时带动传统控制检测^日勺更新。在实时检测和自动控制^日勺应用系统中,单片机往往是、作为一个核心部件使用,针对具体应用对象^日勺特点、配以其它器件来加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现交通^日勺井然秩序呢?靠OHW、交通信号灯^日勺自动指挥系统,来实现交通^日勺井然有序。交通信号灯控制方式很多。本系统采用美国ATMEL公司生产^日勺单片机AT89S51,以及其它芯片来设计交通灯控制。实现了通过AT89S51芯片^日勺P1口设置红、绿灯点亮^日勺功能,通过AT89S51芯片COH勺RXD、TXD输入、输出设置显示时间。交通灯日勺点亮采用发光二极管实现,时间^日勺显示采用七段数码管实现。单片机系统采用^日勺直流供电。为了系统稳定可靠,系统内集成了“看门狗”芯片,避免了系统因为死机而停止工作^日勺情况发生。系统实用性强、操作简单、扩展性好。1弓I言 3 2交通管理方案论证 4......2.1设计任务 4.......2.2方案介绍 4.......3交通灯系统硬件设计 9......3.1单片机概述 .9.......TOC\o"1-5"\h\z3.2系统构成 103.3芯片选择与介绍 11AT89S51芯片 1174HC164芯片介绍 1574LS04输出信号与信号灯 16交通灯控制线路图 184交通灯软件设计 194.1程序设计流程图 194.2延时^日勺设定 21计数器初值计算 22相应程序代码 224.3 程序^日勺主控制循环调用 244.4对现有程序勺扩充 265实验平台 275.1实验平台 275.2实验步骤 285.2.1编写程序代码 285.2.2按照系统硬件连线图连接好系统并调试 28结论 30致谢 错.误!未定义书签。参考文献 错.误!未定义书签。程序实现代码 .错.误! 未定义书签。1引言今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效00W段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源^日勺红,蓝两色^日勺机械扳手式信号灯,用以指挥马车通行。这是、世界上最早^日勺交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区^日勺议会大厦前^日勺广场上,安装了世界上最早^日勺煤气红绿灯。它由红绿两块以旋转式方形玻璃提灯组成,红色表小“停止”,绿色表小“注意”1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。1914年,电气启动^日勺红绿灯出现在美国。这种红绿灯由红绿黄三色圆形^日勺投光器组成,安装在纽约市5号大街^日勺一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,乂出现了带控制^日勺红绿灯和红外线红绿灯。带控制^日勺红绿灯,一种是把压力探测器安在地下,当车辆接近时、红灯便变为绿灯;另一种是、用扩音器来启动红绿灯,司机遇红灯时按一下喇叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感^日勺路面时,它就能察觉到有人要过马路。红外光束能把信号灯^日勺红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯^日勺出现,使交通得以有效管制,对丁疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯^日勺含义作了规定。绿灯是、通行信号,面对绿灯^日勺车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶④)日勺车辆和过人行横道^日勺行人优先通行。红灯是、禁行信号,面对红灯^日勺车辆必须在交义路口〃日勺停车线后停车。黄灯是、警告信号,面对黄灯^日勺车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交义路口。随着经济^日勺发展,交通运输中出现了一些传统方法难以解决^日勺问题。道路拥挤现象日趋严重,造成^日勺经济损失越来越大,并一直保持大比例^日勺增长。现在交通系统已不能满足经济发展^日勺需求。由丁生活水平^日勺提高,人们对交通运输^日勺安全性及服务水平提出了更高^日勺要求。在交通中管理引入单片机交通灯控制代替交管人员在交义路口服务,有助丁提高交通运输^日勺安全性、提高交通管理^日勺服务质量。并在一定程度上尽可能^日勺降低由道路拥挤造成^日勺经济损失,同时也减小了工作人员^日勺劳动强度。中国车辆数量不断增加,交通控制在未来^日勺交通管理中起着越来越重要^日勺作用。智能交通灯^日勺管理比重修一条马路无论在经济、交通运行速率上都有很好^日勺效益、更加节约资源。使交管人员有更多^日勺精力投入到管理整个城市交通控制,带来更大^日勺经济和社会效益、为创造美好④)日勺城市交通形象发挥更多④>日勺作用。2交通管理方案论证2.1设计任务东西(A)、南北(B)两干道交丁一个十字路口,各干道有一组红、左转绿、绿三个指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。红灯^日勺设计时间为40秒,绿灯及左转绿灯各为20秒。设A道和B道④>日勺车流量相同。2.2方案介绍把设计任务细化为四个状态,其对应状态:如图1
A道为40秒红灯,B道绿灯20秒TA道为20秒红灯,U B道左转20秒绿灯A道为20秒绿灯,|_____B道为40秒红灯1F: A道左转20秒绿灯,B道为20秒红灯 :I II II 图1状态转换图整个交通灯控制由四个状态组成,可以用程序设计实现,也可用时序逻辑实现 .以下方案就是、分别用了这两种方法。方案1设计思想:采用分模块设计^日勺思想,程序设计实现^日勺基本思想是、一个计数器,选择一个单片机,其内部为一个计数,是、十六进制计数器,模块化后,通过设置或程序活除来实现状态^日勺转换, 由丁每一个模块^日勺计数多不是、相同,这里^日勺各模块是、以预置数和计数器计数共同来实现^日勺,所以要考虑增加一个置数模块,其主要功能细分为,
对不同〃日勺状态输入要产生相应状态CD日勺下一个状态CD日勺预置数, 如图中A道和B道、分别为次干道^日勺置数选择和主干道^日勺置数选择。以主干道为例,简述其设计思想。如前分析,已经确定该系统有四个状态,而置数子模块可定要将下一状态^日勺预置数准备好,所以很容易得到主干道^勺置数表如:表1状态主干道预置数次干道预置数004020012020(左转)1020401120(左转)20表1置数表由该表,就可以通过程序循环^日勺方法设计该模块,主要思想是、通过数据判断指令、跳转指令实现,由主控制器计时和中断产生^日勺四个状态去译码,从而得到不同^日勺输出,即预置数,由上分析可用一个计数器和跳转指令去完成^日勺预置数。而红绿灯〃日勺显小也是'一样,由状态分析可以得出红绿灯勺变化表如:表2状态主T道灯显示次干道灯显示00红灯绿灯01红灯左转绿灯10绿灯红灯11左转绿灯红灯表2红绿灯变化表通过这张表就可以用组合电路实现该功能了,可以用数据选择器^日勺思想,在本系统中,直接通过门电路^日勺译码,接下来就是、计数模块了,其主要^日勺功能细分为,要从预置数开始递减计数,一个状态结束,通过判断,通知主控制模块,使之进入下一模块。还有一个必须考虑到^日勺就是',预置数必须在下一个状态来之前准备好,而红绿灯^日勺状态变化,必须和计数状态同步,丁是、引起预置数变化^日勺程序要超前丁系统本身^日勺状态变化,所以,系统中^日勺两个状态转换时,在上一状态结束时设置预置数,而控制红绿灯〃日勺是、随着系统本身状态^日勺变化而变化,体现在本子电路中就是有两组电路去判断符合日勺状态。方案2设计思想:状态转换表如:表3状态主T道灯显示次干道灯显示00(15S)红灯绿灯01(05S)红灯黄灯10(15S)绿灯红灯11(05S)黄灯红灯表3状态转换表本方案分三步:(1)要建立三路信号灯^日勺控制系统,本设计采用 7408芯片通过组合逻辑控制三路灯④)日勺显示关系。(2)建立显示控制系统,本设计采用74190芯片倒计时控制,每个方向用两片相连实现,另外用74153芯片,因为分析中设置^日勺时间末位均为5,所以只要用一片74153对高位置位,将低位^日勺初值预置锁定为5,而高位则根据需要由反馈部分提供预置值。(3) 建立反馈和细节连接部分,本部分主要解决显示和灯控〃日勺同步问题本系统采用倒计时系统减为0,如当系统减为0时通过两个D触发器得到两个变量,即为开头分析中^日勺状态,通过它^日勺变化得到不同^日勺逻辑关系,驱动74153控制哪组灯亮(对应关系如表所示),另外他还要同步反馈到显示系统④>日勺置数环节。注意:本实验中若采用更复杂^日勺四片74190控制主干道^日勺两组灯,再用八片74153分别对74190置数可实现任意数值^日勺交通灯系统。另外对7408片子^日勺控制红灯^日勺端口用一个与门将一端再接一个频率一定④)日勺方波, 使一边为黄灯时,另一边CDH勺红灯在闪烁。方案比较:方案1(以下称1)用了模块设计,而方案2(以下称2)采用^日勺是、一般设计,相比之下1有较强^日勺可读性和较强^日勺可修改性,而2则在设计上显得较简单,设计纯朴,便丁测试,它〃日勺优势则在丁提供了一条较为便捷④>日勺解决方案。 2首先将许多逻辑关系简化到极点,而后将其一起集成用较少^日勺芯片去完成所需功能。我们从中可以得出〃日勺是',我们最终^日勺设计应该尽量使用模块化设计。对工程设计人员来说,将来H勺产品无论从修改还是、升级考虑对有好处,但另外我们乂需将设计简单化,因此我觉得在设计初期尽可能^日勺简单化设计,而一旦设计^日勺各项测试通过了,在有可能^日勺条件下将设计模块化,所以本设计以第一方案为主进行3交通灯系统硬件设计3.1单片机概述单片机是、由运算器、控制器、存储器、输入设备以及输出设备共五个基本部分组成CD日勺。单片机是、把包括运算器、控制器、少量O0W储器、最基本^日勺输入输出口电路、申行口电路、中断和定时电路等都集成在一个尺寸有限^日勺芯片上。通常,单片机由单个集成电路芯片构成,内部包含有计算机^日勺基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当^日勺软件及外部设备相结合,便可成为一个单片机控制系统。单片机经过1、2、3、3代^日勺发展,目前单片机正朝着高性能和多品种方向发展,它们00^CPU功能在增强,内部资源在增多,引脚^日勺多功能化,以及低电压、低功耗。可以说,二十世纪跨越了三个“电”^日勺时代,即电气时代、电子时代和现已进入日勺电脑时代。不过,这种电脑,通常是、指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是 、把智能赋予各种机械^日勺单片机。顾名思义,这种计算机^日勺最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械^日勺“肚子”里。它在整个装置中,起着有如人类头脑④>日勺作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机④>日勺使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代^日勺功效,常在产品名称前冠以形容词一一“智能型”,如智能型洗衣机等。现在有些工厂^日勺技术人员或其它业余电子开发者搞出来^日勺某些产品,不是、电路太复杂,就是、功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。目前单片机渗透到我们生活刀日勺各个领域,几乎很难找到哪个领域没有单片机刀日勺踪迹。导弹^日勺导航装置,飞机上各种仪表^日勺控制,计算机^日勺网络通讯与数据传输,工业自动化过程^日勺实时控制和数据处理,广泛使用^日勺各种智能IC卡,民用豪华轿车CDH勺安全保障系统,录像机、摄像机、全自动洗衣机^日勺控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域〃日勺机器人、智能仪表、医疗器械了。它主要是、作为控制部分^日勺核心部件。因此,单片机^日勺学习、开发与应用将造就一批计算机应用与智能化控制^日勺科学家、工程师。3.2系统构成电路板一块,AT89S51单片机一片,74HC164芯片八片,七段数码管八个。74LS04反向器一片,发光二极管13个(8个绿^日勺,4个红^日勺用丁交通控制,1个用丁标识电源),7805三端稳压电源一个,一个按键,一条数据下载线。系统结构框图如:图2LCDLCD显示与LED倒计时模块图2系统结构框图系统各部分工作:程序设置初始时间,通过AT89S51单片机内部相应寄存器来实现。由AT89S51单片机^日勺定时器每秒钟通过P3.0口向74HC164^日勺数据端口送信息,由74HC164^日勺输出口显示红、绿、黄灯^日勺点亮时间情况;由AT89S51^日勺P1.0、P1.1、P1.2、P1.3口显示每个灯〃日勺点亮情况。AT89S51通过程序设置各个信号灯H勺点亮时间,通过程序设置左转绿、绿、红时间依次为20秒、20秒、40秒循环,由AT89S51^日勺P3口向74HC164^日勺数据口输出。通过AT89S51单片机日勺P3口来控制系统是、工作。74HC164E勺A、B口用丁申行输出时间位,经过申并转换送到七段数码管E勺八^日勺引脚。而P1口用丁输出控制信号.而通过74LS04反向器实现控制各个灯H勺情况.它采用5VH勺直流电来驱动二极管。AT89S51本身集成了看门狗指令,当系统出现异常看门狗将发出溢出中断。通过专用端口输出,引起RESET复位信号复位系统。3.3芯片选择与介绍3.3.1AT89S51芯片选用勺AT89S51与同系列〃日勺AT89C51在功能上有明显^日勺提高,最突出是W1可以实现在线^日勺编程。用丁实现系统^日勺总^日勺控制。其主要功能列举如下 :1、 为一般控制应用日勺8位单片机2、晶片内部具有时钟振荡器(传统最高工作频率可至 33MHz)3、 内部程式存储器(ROM)为4KB
4、 内部数据存储器(RAM)为128B5、 外部程序存储器可扩充至64KB6、 外部数据存储器可扩充至64KB7、32条双向输入输出线,且每条均 可以单独做I/O^日勺控制8、 5个中断向量源9、 2组独立CDH勺16位定时器10、 1个全双工申行通信端口11、 8751及8752单芯片具有数据保密^日勺功能12、 单芯片提供位逻辑运算指令AT89S51各引脚功能介绍:如图3{T2iP1.0-:T2EXjP11{T2iP1.0-:T2EXjP11P1.2P1.3P1.4P1.&匚匚匚匚cdP1.6LP1.7匚RST匚(RXDiF30匚tTXDiP3J匚i.INTO>P3.2q(INT1iP3.3O(TO)P3.4匚qnP3.SC►:WR.iF3.6匚■RDiP3.7匚XTAL2CXTAL1匚GND匚□VCC140239□PO,OtADO)338□P0.1{AD1:i437□P0.2tAD2i536□P03AD3)636□P0.4.:AD4)734□F05AD成333□932□P0.7i.AD7i1031□E.AvT-F'1130□ALBPROG1229□PSEN1328□P2V(A15)1427□P2.€iA14i1526□P2.5iA13i1625□P2.4tA12?1724□P2.3(A11)1823□P2.2(A10)1922□F2MA9)2021□P2,0tAB:.图3AT89S51VCC:ATAT89S51电源正端输入,接+5V。VSS:电源地端。XTAL1:单芯片系统时钟勺反向放大器输入端。XTAL2:系统时钟^日勺反向放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英振荡晶体系统就可以动作了,此外可以在两个引脚与地之间加入一个 20PF^日勺小电容,可以使系统更稳定,避免噪声干扰而死机。RESET:AT89S51^日勺重置引脚,高电平■动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上日勺时间,AT89S51便能完成系统重置H勺各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址 0000H处开始读入程序代码而执行程序。EA/Vpp:"EA"为英文"ExternalAccess"^日勺缩写,表示存取外部程序代码之意,低电平动作,也就是、说当此引脚接低电平■后,系统会取用外部E勺程序代码(存丁外部EPROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。如果是、使用8751内部程序空间时,此引脚要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V^日勺烧录高压(Vpp)。ALE/PROG:ALE是、英文"AddressLatchEnable"^日勺缩写,表示地址锁存器启用信号。ATAT89S51可以利用这个引脚来触发外部^日勺8位锁存器(如74LS373),将端口0^日勺地址总线(A0〜A7)锁进锁存器中,因为ATAT89S51是、以多工^日勺方式送出地址及数据。平时在程序执行时ALE引脚^日勺输出频率约是、系统工作频率刀日勺1/6,因此可以用来驱动其他周边晶片^日勺时基输入。此外在烧录 8751程序代码时,此引脚会被当成程序规划0H勺特殊功能来使用。PSEN:此为"ProgramStoreEnable"^日勺缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是、接到EPROM00^OE脚。ATAT89S51可以利用PSEN及RD引脚分别启用存在外部^日勺RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用 64K^日勺定址范围。PORT0(P0.0〜P0.7):端口0是、一个8位宽^日勺开路电极(OpenDrain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是、内部有一提升电路,P0在当作I/O用时可以推动8个LSQH勺TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0〜A7)及数据总线(D0〜D7)。设计者必须外加一个锁存器将端口0送出^日勺地址锁住成为A0〜A7,再配合端口2所送出勺A8〜A15合成一组完整〃日勺16位地址总线,而定位地址到64K^日勺外部存储器空间。PORT2(P2.0〜P2.7):端口2是、具有内部提升电路^日勺双向I/O端口,每一个引脚可以推动4个LSQH勺TTL负载,若将端口2^日勺输出设为高电平■时,此端口便能当成输入端口来使用。P2除了当作一般I/O端口使用外,若是、在ATAT89S51扩充外接程序存储器或数据存储器时,也提供地址总线^日勺高字节A8〜A15,这个时候P2便不能当作I/O来使用了。PORT1(P1.0〜P1.7):端口1也是、具有内部提升电路^日勺双向I/O端口,其输出缓冲器可以推动4个LSTTL负载,同样地,若将端口1E勺输出设为高电平,便是、由此端口来输入数据。如果是、使用8052或是'8032^日勺话,P1.0乂当作定时器2^日勺外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入H勺触发引脚。PORT3(P3.0〜P3.7):端口3也具有内部提升电路^日勺双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他E勺额外特殊功能,包括申行通信、夕卜部中断控制、计时计数控制及外部数据存储器内容日勺读取或写入控制等功能0其引脚分配如下:P3.0:RXD,申行通信输入。P3.1:TXD,申行通信输出。P3.2:INT0,外部中断0输入。P3.3:INT1,外部中断1输入。P3.4:T0,计时计数器0输入。P3.5:T1,计时计数器1输入。P3.6:WR:外部数据存储器E勺写入信号。P3.7:RD,外部数据存储器CDH勺读取信号。74HC164芯片介绍74HC164为申行输入、并行输出移位寄存器,74HC164为单向总线驱动器。在申行口为方式0状态,即工作在移位寄存器方式,波特率为振荡频率^日勺十二分之一。器件执行任何一条将SBUF作为目^日勺寄存器^日勺命令时,数据便开始从 RXD端发送。在写信号有效时,相隔一个机器周期后发送控制端SEND有效,即允许RXD发送数据,同时,允许从TXD端输出移位脉冲。第一帧(8位)数据发送完毕时,各控制信号均恢复原状态,只有TI保持高电平,呈中断申请状态。第一个74HC164把第一帧数据并行输出,LED1显示该数据。然后,用软件将TI活0,发送第二帧数据。第二帧数据发送完毕,LED1显示第二帧数据,第一帧数据申行输入给第二个 74HC164,LED2显示第一帧数据。依此类推,直到把数据区内所有数据发送出去。应该注意,数据全部发送完后,第一帧数据在最后一个LED显示。由丁TXD端最多可以驱动8个TTL门。注意:当LED显示器超过8个时,我们采用74HC244芯片驱动。每个74HC244有8路驱动,每一路可驱动8个LED,即每增加一个74HC244,可增加64个LED驱动。七段数码管,用丁显示0—9 数字74LS04输出信号与信号灯要使行人能看见信号灯^日勺情况,必须把P1口输出^日勺信号进行放大,这里我们用74LS04反向器,当极性为高电平时晶闸管导通,该支路指示灯亮;当极性为低电平时关断,该支路指示灯灭。LED灯^日勺显示原理:通过同名管脚上所加电平^日勺高低来控制发光二极管是 、否点亮。七段数码管^日勺显示及与74HC164^日勺连接显示不同CDH勺数字如SP,g、f、e、d、c、b、a管角上加上0FEH所以SP上为0伏,不亮其余为TTL高电平■,全亮则显示为8。数字0-9与16进制^日勺转换驱动代码表:如表5显示数值abcdefgdop驱动代码(16进制)0111111110FCH10000011060H2110110100DAH3111100100F2H40110011066H5101101100B6H6101111100BEH7111000000E0H8111111100FEH9111101100F6H表5驱动代码表74LS04(6反向器)主要对信号起了反向作用。其它器件^日勺功能如:7805^日勺功能,既提供稳定00^+5V电压。3.3.4交通灯控制线路图二-4.1程序设计流程图(1)程序设计总框图:如图44交通灯软件设计图4程序设计框图(2)程序详细流程图:如图5图5程序详细流程图流程图说明:图中定时器在每50ms中断一下,设置为循环20次(此时为1秒),每1秒以后,R0,R1自动减1。程序中日勺判断在相等情况下从右边出,不相同日勺情况往下走。4.2延时勺设定延时方法可以有两种一种是、利用AT89S51内部定时器^日勺溢出中断来确定1秒^日勺时间,另一种是、采用软件延时〃日勺方法。4.2.1计数器初值计算定时器工作时必须给计数器送计数器初值,这个值是、送到TH和TL中他是、以加法记数00^,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需^日勺计数值设定为C和计数初值设定为TC可得到如下计算通式:TC=M—C式中,M为计数器模值,该值和计数器工作方式有关。在方式0时M为213;在方式1时ME勺值为216;在方式2和3为28;算法公式:T=(M—TC)T计数或TC=M—T/T计数T计数是、单片机时钟周期TclkE勺12倍;TC为定时初值如单片机^日勺主脉冲频率为Tclk12MHZ,经过12分频方式0 TMAX=213XI微秒=8.192毫秒方式1 TMAX=216XI微秒=65.536毫秒显然1秒钟已经超过了计数器^日勺最大定时间,所以我们只有采用定时器和软件相结合H勺办法才能解决这个问题.实现1秒CDH勺方法:我们采用在主程序中设定一个初值为20^日勺软件计数器和使T1定时50毫秒。这样每当T1到50毫秒时CPU就响应它勺溢出中断请求,进入他^日勺中断服务子程序。在中断服务子程序中,CPU先使软件计数器减1,然后判断它是、否为零。为0表示1秒已到可以返回到输出时间显示程序。4.2.2相应程序代码(1)定时器刀日勺设置MOVR3MOVR3,#00HMOVR3MOVR3,#00H定时器需定时50毫秒,故T1工作丁方式1初值计算: TC=M—T/T计数START:MOVTMOD、MOVTH0、MOVTL0、SETBEASETBET1SETBERCLRFLAG1CLRFLAG2CLRFLAG3MOVR3、(2)相应中断服务子程序ORG001BHLJMPDSDORG0030HDSD: INCR3MOVTH0、MOVTL0、CJNER3,#20,DECR0DECR1=216—50ms/1us=15536=3CBOH#10H ;令TO为定时器方式1#3CH;装入定时器初值#0BOH;打开总中断;开丁1中断;启动T1计数器#20H ;软件计数器赋初值#3CH;重装入定时器初值#BOHFHFH:FH:程序CDH勺软件延时:AT89S51^日勺工作频率为0—33MHZ,我们选用〃日勺AT89S51单片机^日勺工作频率为12MHZ。机器周期与主频有关,机器周期是、主频^日勺12倍,所以一个机器周期^日勺时间为12*(1/12M)=1us。我们可以知道具体每条指令^日勺周期数,这样我们就可以通过指令^日勺执行条数来确定1秒④>日勺时间。具体。)日勺延时程序分析:DELAY:MOVR4、#08H延时1秒主程序DE2:LCALLDELAY1DJNZR4、DE2RETDELAY1:MOVR4,#00H ;延时125us子程序D1:MOVR5,#00HD2:DJNER5,DL2DJNER4,D1RETDELAY1为一个双重循坏循环次数为256*256=65536所以延时时间=65536*2=131072us约为125usDELAYR4设置^日勺初值为8主延时程序循环8次,所以125us*8=1秒由丁单片机^日勺运行速度很快其他^日勺指令执行时间可以忽略不计。4.3程序④>日勺主控制循环调用用来实现四个状态之间^日勺转换、代码如下:4.44.4对现有程序④)H勺扩充DIAOY:CJNER2、#01H、JBFLAG1、AALJMPSECAA:CJNER2、#02H、JBFLAG2、AAASETBF0LJMPTHRAAA:JBFLAG3、BBLJMPFOUBB:CJNER2、#04H、CLRF0CLRFLAG1CLRFLAG2CLRFLAG3LJMPFIRBBB:CJNER0、#00H、INCR2LJMPDIAOY;循环控制子程序AA;判断不相等刚跳转;FLAG1为1则跳转;跳转至USECAAACJNER2、#03H、BBBBB;判断不相等则跳转;F0位活0SGL;R2加1当由丁紧急需要对道路进行长时间通行时,就要保持该道路更长时间^日勺通行。下面以东西方向为例进行紧急通行为例。紧急通行是、平常通行^日勺特例,只要将相应^日勺代码去掉就可以实现延长本车道^日勺通行时间。设置通行时间为20秒。核心代码如下:FIR:MOVP1、#00HSETBP1.0CLRP1.1CLRP1.2CLRP1.3MOVR0、#20MOVR1、#20SGL: ;与原程序类同CJNER0、#00H、SGLLJMPFIR要实现东西方向^日勺左转通行时,只需要修改 FIR中^日勺代码就可以了。时间显示只要修改R0和R1就可以了。要实现南北方及左转,只要把SGL换成SGL1、把FIR中代码进行相应^日勺修改就可以了。由丁时间紧张,程序有不完善〃日勺地方。原程序见程序实现代码5实验平■台5.1实验平■台我们采用④1日勺是'KeilSoftware生产④>日勺Cx51编译器。运行在WindowsXP操作平'台下。开启计算机进入KeilC51编译器介面。如图6图6KeilC51编译器介面CLRP1.3CLRP1.35.2实验步骤5.2.1编写程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度产品召回风险承担协议书
- 2025年度生物科技私下股份分配与成果转化协议书
- 2025年度再婚家庭婚姻和解及子女抚养协议
- 2025年度企业年鉴图文编纂及出版协议
- 2025年度安防系统智能化升级与维护合同
- 2025年度企业内部控制体系建设咨询合同模板
- 旅游景区民宿租赁居间合同
- 2025年度保险销售人员劳动合同解除与赔偿规范
- 2025年度三年劳动合同涨薪与员工职业规划辅导合同
- 2025年度双方经济纠纷一次性解决及确认协议
- 铸牢中华民族共同体意识主题班会教案
- 第2章导游(课件)《导游业务》(第五版)
- 成品仓主管述职报告
- 血液透析诱导期健康宣教
- 第十六章二次根式单元复习题-2023-2024学年人教版八年级数学下册
- 2023-2024新版北师大七年级数学下册全册教案
- 风电场升压站培训课件
- 无人机固定翼行业报告
- 小区门窗拍摄方案
- 初中历史期中考试分析报告
- 企业反商业贿赂法律法规培训
评论
0/150
提交评论