《毕业设计(论文)基于单片机的智能交通灯.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的智能交通灯.doc(31页珍藏版)》请在三一办公上搜索。
1、毕业设计(论文)-基于单片机的智能交通灯本科生毕业论文 设计 基于单片机的智能交通灯院 系 电气信息工程学院 专 业 电子信息工程 班 级05级本科2班 学 号 学 生 姓 名 联 系 方 式 指 导 教 师职称 教授2009年5月独 创 性 声 明本人郑重声明:所呈交的毕业论文(设计)是本人在指导老师指导下取得的研究成果。除了文中特别加以注释和致谢的地方外,论文(设计)中不包含其他人已经发表或撰写的研究成果。与本研究成果相关的所有人所做出的任何贡献均已在论文(设计)中作了明确的说明并表示了谢意。签名: 年 月日授权声明本人完全了解许昌学院有关保留、使用本科生毕业论文(设计)的规定,即:有权保
2、留并向国家有关部门或机构送交毕业论文(设计)的复印件和磁盘,允许毕业论文(设计)被查阅和借阅。本人授权许昌学院可以将毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编论文(设计)。本人论文(设计)中有原创性数据需要保密的部分为(如没有,请填写“无”): 签名: 年 月日指导教师签名: 年月日摘 要近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软件结合,加以完善。十字路口车辆,行人熙攘,车行车道,人行
3、人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用MC-51系列单片机和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据设置红、绿灯燃亮时间的功能交通灯信号通过P口输出显示时间直接通过8255的P输出;实用性强操作简单。 In recent years, along with the rapid development of science and technology, Single Chip Microcomputer application is at the same time, traditio
4、nal detection technology to control the growing update. In the real-time detection and automatic control of the SCM applications, often SCM, as a core component to the use of only SCM knowledge is not enough, should also be based on the specific hardware structure of the combination of hardware and
5、software, to be improved. The crossroads of the shuttle vehicle, bustling pedestrians, motor car lanes, one on the pavement, and orderly. So what orderly order to achieve this it? Rely on the automatic traffic signal chain of command. There are many ways to control traffic lights. The present system
6、 MCS-51 series SCM and parallel I / O interface chip 8255A-centric device designed to control traffic lights, can be achieved on the basis of holiday and during the rush hour to set up the mouth of the P1 red, green fuel Liang function of time,in order to ease the traffic pressure;traffic lights to
7、light up the cycle, the countdown 5 seconds left when the yellow light flashing a warning traffic light signals through the mouth PA ,P1output, indicating the time directly through the PB and PCs 8255 output port to double-digital control ; The system practical, simple, strong and expanded.Key words
8、 :Single Chip Microomputer;traffic light;Light Emiting Diode目 录1 绪论11.1课题背景11.2 单片机控制交通灯的特点11.3 论文构成及研究内容22单片机概述32.1单片机介绍32.2 单片机应用领域32.3本章小结43 芯片简介53.1 MSC-51芯片简介53.2 8255芯片简介83.3 本章小结94 系统硬件设计104.1交通管理的方案设计104.2系统硬件设计110.框图如下11. 交通灯硬件电路图11423 系统的运行机理134. 3 本章小结13 控制器的软件设计145.1定时1秒钟的方法14.硬件定时1秒钟14.
9、 软件定时1秒钟155.2 交通灯及时间的显示16. 8051并行口的扩展16. 交通灯显示原理16. 8255PA口输出信号接信号灯17. 8255输出信号与数LED显示器的连接17. 8255与8051的连接185.3 程序设计18.的绘制18. 程序源代码205.4本章小结246 总结与收获256.1 总结256.2 收获25参考文献26致 谢27单片机控制红绿灯1 绪论1.1课题背景当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这
10、是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。
11、红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。随着时代的发展,社会的进步,更加智能的交通灯出现了,如基于单片机,PLC和FPGA的红绿灯如雨后春竹般涌现了出来,为人们的出行安全保驾护航。1.2 单片机控制交通灯的特点 此交通灯设计是基于MCS-51单片机而研制的,而MCS-51系列单片机有基于复杂指令集(CISC)的单片机内核,虽然其速度不快,12个振荡周期才执行一个单周期指令,但其端口结构为准双向并行口,可兼有外部并行总线,故使其扩展性能非常强大。51的内部硬件预设,可用特殊功能寄存器对其进行编辑。单
12、片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可.用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!.它主要是作为控制部分的核心部件。 它是一
13、种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。 单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性! 目前单片机渗透到我们生活的各个领
14、域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域MCS-51单片机内部结构? 8051是MCS-51系列单片机的典型产品,我们以这一代表性的
15、机型进行系统的讲解。?8051单片机包含中央处理器、程序存储器 ROM 、数据存储器 RAM 、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:?中央处理器:?中央处理器 CPU 是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。?数据存储器 RAM ?8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用
16、户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。?程序存储器 ROM :8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。?定时/计数器 ROM :8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。?并行输入输出 I/O 口:8051共有4组8位I/O口 P0、 P1、P2或P3 ,用于对外部数据的传输。?中断系统:8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。?时钟电路:8051内置最高频率达12MHz的时钟电路,用于产生
17、整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛 Harvard 结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿 Princeton 结构。下图是MCS-51系列单片机的内部结构示意图。图3-2 MCS51结构框图 MCS-51的引脚说明MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些
18、引脚的功能加以说明:MCS-51的引脚说明:MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:51引脚图Pin9:RESET/Vpd复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低
19、电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态8051的复位方式可以是自动复位,也可以是手动复位,见下图。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。图3-4?Pin30:ALE/当访问外部程序器时,ALE 地址锁存 的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。?Pin29:当访问
20、外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。?Pin31:EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。在编程时,EA/Vpp脚还需加上21V的编程电压。8255可编程并行接口芯片方式控制字格式说明:8255有两种控制命令字;一个是方式选择控制字;另一个是C口按位置位复位控制字。其中C口按
21、位置位复位控制字方式使用较为繁难,说明也较冗长,故在此不作叙述,需要时用户可自行查找有关资料。方式控制字格式说明如表3-1:D7D6D5D4D3D2D1D0表3-1 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可编程并行接口芯片工作方式说明: 方式0:基本输入输出方式。适用于三个端口中的任何一个。每一个端口都可以
22、用作输入或输出。输出可被锁存,输入不能锁存。 方式1:选通输入输出方式。这时A口或B口的8位外设线用作输入或输出,C口的4条线中三条用作数据传输的联络信号和中断请求信号。方式2 :双向总线方式。只有A口具备双向总线方式,8位外设线用作输入或输出,此时C口的5条线用作通讯联络信号和中断请求信号。3.3 本章小结本章主要对MCS-51芯片,8255芯片,等芯片做了简要的介绍和说明。4 系统硬件设计4.1交通管理的方案设计东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯及转弯指示灯(绿色亮表示可以转弯,绿色灭表示禁止转弯),设东西道比南北道的车流量大。以下为非节假日方案设计,节假
23、日只需改下红绿灯亮灭时间即可。(一)南北方向通行,东西方向禁止(40S)(1)由南到北先通行10S可以转弯(绿灯),由北到南禁行10S(红灯)。(2)由北向南通行10S可以转弯(绿灯),由南向北禁行10S(红灯)。(3)南北双行均绿灯20S不可以转弯。此期间东西双方向一直红灯,禁行 40S 。(二)东西南北方向均为黄灯时间(5S)(三)东西方向通行,南北方向禁止(60S)(1)由东向西先通行10S可以转弯(绿灯),由西向东禁行10S(红灯)。 (2)由西向东通行10S可以转弯(绿灯),由东向西禁行10S(红灯)。(3)东西双向均亮绿灯40S不可以转弯。此期间南北双方向一直红灯,禁行(60S)。
24、(四)东西南北方向由切换为黄灯。4.2系统硬件设计选用设备 :8051单片机一片,8255并行通用接口芯片一片,共阴极的七段数码管两个,双向晶闸管若干,红、黄、绿交通灯若干,连线若干。.框图如下. 交通灯硬件电路图 图4-3 硬件电路图423 系统的运行机理 1 由8051单片机通过P0口向8255的数据口送信息,由8255的PA 口和P1口显示红、绿、黄灯的燃亮情况;由8255的PC,PB口显示每个灯的燃亮时间。 2 8051通过内部时钟,软件编程判断是否为节假日,以此来设置各个信号灯的燃亮时间、通过8051设置,绿、红时间分别为60秒、40秒(非节假日);80秒、60秒(节假日)循环由80
25、51的 P0口向8255的数据口输出。4. 3 本章小结本章先根据实际的交通路况提出了交通管理的方案论证,然后设计了系统的硬件,并讲解了系统工作的原理。 控制器的软件设计5.1定时1秒钟的方法 延时方法可以有两种一中是利用MCS-51内部定时器才生溢出中断来确定1秒的时间,另一种是采用软延时的方法。.硬件定时1秒钟 定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC 可得到如下计算通式: TC M-C式中,M为计数器摸值,该值和计数器工作方式有关。在方
26、式0时M为213;在方式1时M的值为216;在方式2和3为28 。. 计算公式 T (MTC)T计数 或T计数T计数是单片机时钟周期的倍;为定时初值如单片机的主脉冲频率为,经过分频方式213微秒毫秒方式216微秒毫秒显然秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题我们采用在主程序中设定一个初值为的软件计数器和使定时毫秒这样每当到毫秒时就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,先使软件计数器减,然后判断它是否为零。为零表示秒已到可以返回到输出时间显示程序。()主程序定时器需定时毫秒,故工作于方式。初值:TCMT T计数ms/
27、1us 15536 3CBOH ORG 1000H START: MOV TMOD, #01H ;令为定时器方式 MOV TH0, #3CH ;装入定时器初值 MOV TL0, #BOH MOV IE,#82H ;开中断 SEBT TR0;启动计数器 MOV RO,#14H ;软件计数器赋初值LOOP:SJMP $ ;等待中断()中断服务子程序 ORG 000BH AJMPBRTO ORG 003BHBRTO:DJNZ R0,NEXTAJMP TIME ; 跳转到时间及信号灯显示子程序 NEXT: MOV TH0, #3CH ;重装入定时器初值 MOV TL0, #BOH MOV IE,#82
28、H RETIEND. 软件定时1秒钟 MCS-51的工作频率为2-12MHZ,我们选用的8031单片机的工作频率为6MHZ。机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/6M) 2us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间。 具体的延时程序分析: DELAY:MOV R4,#04H 延时1秒子程序 DE2:LCALL DELAY1 DJNZ R4,DE2 RETDELAY1:MOV R6,#0 延时125ms 子程序 MOV R5,#0DE1: DJNZ R5,$ DJNZ R6,DE1 RET DJNZ RN,R
29、EL 字节数为2 机器周期数为2MOV RN,#DATA 字节数为2 机器周期数为1所以此周期的执行时间为2us ,DELAY1为一个双重循坏 ,循环次数为256*256 65536, 所以延时时间 65536*2*2 262144us ,约为250us ,DELAY R4设置的初值为4主延时程序循环4次,所以250us*4 1秒。 由于单片机的运行速度很快其他的指令执行时间可以忽略不计。5.2 交通灯及时间的显示. 8051并行口的扩展 8051虽然有4个8位I/O端口,但真正能提供借用的只有P1口,因为P2和P0口通常用于传送外部传送地址和数据,P3口也有它的第二功能。因此,8031通常需
30、要扩展。由于我们用外部输入设定红绿灯倒计时初值、数码管的输出显示、红绿黄信号灯的显示都要用到一个I/O端口,显然8031的端口是不够,需要扩展。 扩展的方法有两种:(1)借用外部RAM地址来扩展I/O端口;(2)采用I/O接口新片来扩充。我们用8255并行接口信片来扩展I/O端口。. 交通灯显示原理:当定时器定时为1秒,时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间 ,同时一直显示信号灯的颜色,这时在返回定时子程序定时一秒,在显示黄灯的下一个时间,这样依次把所有的灯色的时间显示完后在重新给时间计数器赋初值 ,重新进入循环。 . 8255PA口输出信号接信号灯: 由于发光二极管为
31、共阴极接法,输入为高电平,则对应的二极管发光,所以可以用置位方法点亮红,绿,黄发光二极管。 . 8255输出信号与数LED显示器的连接: LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形 如dp ,g,f,e,d,c,b,a 管角上加上7FH所以dp上为0伏,不亮其余为TTL高电平,全亮则显示为8采用共阴级连接: 其中 PC0-a,PC1-b, PC2-c,PC3-d,PC4-e, PC5-f,PC6-g PC7-dp接地 图5-1 LED引脚图代码位D7D6D5D4D3D2D1D0显示段dpgfedcba 表5-1 LED个代码对应关系 图5-2 共
32、阴极LED显示器显示数值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 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 17FH9 0 1 1 0 1 1 1 16FH 表 5-2 LED驱动代码表. 8255与8051的连接:用8051的P0 口的 p0.7 连接8255的片选信号cs
33、 ,我们用8051的地址采用全译码方式,当p0.7 0 时片选有效,其他无效,p0.1 p0.0 用于选择8255端口P0.7 p0.6 p0.5 p0.4 p0.3 p0.2 P0.1 P0.00 X X X X X 0 0 00H为8255 的PA口0 X X X X X 0 1 01H 为8255的PB口0 X X X X X 1 0 02H 为8255的PC口0 X X X X X 1 1 03H 为8255的控制口由于8051是分时对8255和储存器进行访问所以8051的P0口不会发生冲突。5.3 程序设计.的绘制. 程序源代码 ORG 0000H ;主程序的入口地址 LJMP MA
34、IN ;跳转到主程序的开始处 ORG 0089H MAIN : MOV SP, #50H MOV IE, #00H ;禁止中断 MOV DPTR ,#0003H;8255控制端口地址 MOV A, #80H ;给8255赋初值,A,B,C口均为输出工作于0方式 MOVX DPTR, AN00: JB P3.0, N0 ;判断是否为节假日或上下班高峰期,P3.0为1则跳转到NO,为0则往下执行 MOV A,#28H ;正常时段东西方向绿灯亮60S,南北方向红灯亮60S MOV R0,A ;东西方向绿灯亮60S存在R0中 MOV A,#14H ;正常时段东西方向红灯亮40S,南北方向绿灯亮40S
35、MOV R7,A ;南北方向绿灯亮40S存在R7中N000: MOV DPTR,#0000H ; 置8255A口,东西红灯亮,南北绿灯亮 MOV A,#0F6H ;东西双向均为红灯共计40秒 MOVX DPTR,A MOV R3,#0AH MOV R4,#0AH MOV P1,#0B5H ;由南到北方向绿灯十秒且可以转弯,北到南红灯十秒禁止转弯 LCALL DISP1MAIN1: LCALL DELAY1 DJNZ R4, MAIN1 MOV R3,#0AH MOV R4,#0AH MOV P1,#6EH ;北到南绿灯十秒可以转弯,南到北红灯十秒禁止转弯 LCALL DISP1MAIN2: L
36、CALL DELAY1 DJNZ R4, MAIN2 MOV A,R7 MOV R3,A MOV P1,#0EDH ;南北双向均为绿灯20秒,禁止转弯 LCALL DISP1MAIN3: LCALL DELAY1 DJNZ R7, MAIN3 SJMP LN0: LJMP N1;-东西南北方向黄灯亮5秒程序-L: MOV R3 ,#05H MOV R4, #05H MOV DPTR, #0000H MOV A , #0DBH MOVX DPTR,A ; 东西方向均为黄灯亮 MOV P1,#0DBH ; 南北方向均为黄灯亮 LCALL DISP1MAIN4: LCALL DELAY1 DJNZ
37、R4, MAIN4; -东西方向通行 MOV P1,#0F6H ; 南北方向红灯亮共计60秒 MOV R3 ,#0AH MOV R4, #0AH MOV DPTR, #0000H MOV A, #0B5H ;东到西方向绿灯10秒可以转弯,西到东方向红灯禁止转弯 MOVX DPTR,A LCALL DISP1MAIN5:LCALL DELAY1 DJNZ R4, MAIN5; MOV R3 ,#0AH MOV R4, #0AH MOV DPTR, #0000H MOV A, #6EH ;西到东方向绿灯10秒可以转弯,东到西方向红灯禁止转弯 MOVX DPTR,A LCALL DISP1MAIN6
38、: LCALL DELAY1 DJNZ R4, MAIN6;- MOV A,R0 MOV R3, A MOV DPTR, #0000H MOV A, #0EDH MOVX DPTR, A ;东西双向均亮绿灯40秒,禁止转弯 LCALL DISP1MAIN7: LCALL DELAY1 DJNZ R0, MAIN7; -东西南北方向均为黄灯 MOV R3 ,#05H MOV R4, #05H MOV DPTR, #0000H MOV A , #0DBH MOVX DPTR,A ; 东西方向均为黄灯亮 MOV P1,#0DBH ; 南北方向均为黄灯亮 LCALL DISP1MAIN8: LCALL
39、 DELAY1 DJNZ R4, MAIN8 LJMP N00 N1: MOV A,#3CH ;节假日东西绿灯亮80S,南北向红灯亮80S MOV R0,A MOV A,#28H ;节假日东西红灯亮60S,南北向绿灯亮60S MOV R7,A LJMP N000;-1秒延时子程序-DELAY1:MOV R1,#04H DE2:LCALL DE3 DJNZ R1, DE2 DEC R3 ;定时初值减一,实现倒计时功能 ACALL DISP1 ;调用显示子程序 RETDE3:MOV R6, #00H MOV R5, #00HDE1:DJNZ R5,$ DJNZ R6, DE1 RET;-显示子程序
40、-DISP1: MOV B, #0AH MOV A, R3 ;R3中值二转十显示转换 DIV AB MOV 79H, A MOV 7AH, BDIS: MOV A, 79H ;显示十位 MOV DPTR, #TAB MOVC A, A+DPTR MOV DPTR, #0002H ;8255C口地址,用于显示倒计时时间 MOVX DPTR, ADS2: MOV A,7AH ;显示个位 MOV DPTR, #TAB MOVC A, A+DPTR MOV DPTR, #0001H MOVX DPTR, A RET;-字符表-TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07
41、H,7FH,6FH END5.4本章小结 本章先介绍了两种延时方法:硬件延时和软件延时,软件延时特点是时间精确,并且不需要外加硬件电路,但占用CPU开销大;硬件定时特点是定时功能由硬件电路完成不占用CPU,接着给出了电路连接图,之后介绍了程序设计并给出了程序的源代码。6 总结与收获6.1 总结本系统就是充分利用了8051和8255芯片的I/O引脚。系统统采用MC-51系列单片机Intel801和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据红、绿灯燃亮时间的功能;交通灯信号通过P口输出显示时间直接通过8255的P输出1何立民. MCS-51系列单片机应用系统设计系统配置与接口