毕业设计(论文)基于51单片机的交通信号灯控制系统设计.doc

上传人:laozhun 文档编号:3978346 上传时间:2023-03-30 格式:DOC 页数:27 大小:260.50KB
返回 下载 相关 举报
毕业设计(论文)基于51单片机的交通信号灯控制系统设计.doc_第1页
第1页 / 共27页
毕业设计(论文)基于51单片机的交通信号灯控制系统设计.doc_第2页
第2页 / 共27页
毕业设计(论文)基于51单片机的交通信号灯控制系统设计.doc_第3页
第3页 / 共27页
毕业设计(论文)基于51单片机的交通信号灯控制系统设计.doc_第4页
第4页 / 共27页
毕业设计(论文)基于51单片机的交通信号灯控制系统设计.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《毕业设计(论文)基于51单片机的交通信号灯控制系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于51单片机的交通信号灯控制系统设计.doc(27页珍藏版)》请在三一办公上搜索。

1、第一章 绪论近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。随着中国加入WTO,我们不但要在经济、文化等各方面与国际接轨,在交通控制方面也应与国际接轨。如果交通控不好道路还是无法保障畅通安全。作为交通控制的重要组成部份单片机。因此,本人选择制作交通灯作为课题加以研究。我国大中城市交通系统

2、压力沉重。交通管制当以人性化、智能化为目的,做出相应的改善。以此为出发点,本系统采用的单片机控制的交通信号灯。该系统分为单片机主控电路、键盘控制电路和显示电路三部分组成。并在软硬件方面采取一些改进措施,实现了根据十字路口车流量、进行对交通信号灯的智能控制,使交通信号灯现场控制灵活、有效从一定程度上解决了交通路口堵塞车辆停车等待时间不合理等问题。系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广阔的应用前景。1.1 课题背景随着我国国民经济的迅速发展,城市街道车辆大幅度增长,给城市交通带来巨大压力,交通拥堵已成为影响城市可持续发展的一个全局性问题。而街道各十字路口,又是车辆通

3、行的瓶颈所在。已有的许多建立在精确模型基础上的交通系统控制方案都存在着一定的局限性。研究车辆通行规律,找出提高十字路口车辆通行效率的有效方法,对缓解交通堵塞,提高畅通率具有十分现实的意义。地面道路是一个庞大的网络,交通状况十分复杂,使目前交通控制器的单一时段控制已不能满足现代交通流量的多边性,特别是在交通流量高峰期时,往往会造成交通路口的通过率下降,甚至出现交通混乱现象,城市的交通拥挤问题正逐渐引起人们的注意。道路平面交叉口(简称交叉口)是交通网中通行能力的“隘口”和交通事故的“多发源”,国内外城市的交通事故约有一半发生在交叉口。因此,交叉口这个事故多发源不能不引起人们的高度关注。随着交通技术

4、、电子技术的发展及微机技术的应用,人们制造出了适应各种需要的交通检测器、信号控制机和交通信号灯。交通灯是交管部分管理城市交通的重要工具。现在交通灯一般设在十字路口,在醒目位置用红绿黄三种颜色的指示灯,加上一个倒计时的显示器来控制行车,对一般情况下的安全行车、车辆分流发挥着作用。目前绝大部分交通灯器时间都是设定好的,采用的单端式定时控制或多段式定时控制,其最大的缺点是绿灯时间和最佳绿信比的整定较为困难,需要大量的实测统计数据,且很多情况下征订所得值并不是最优的甚至是不合理的。控制起来都不是很灵活,这使得城市车流的调节不能达到最优。这次设计就是针对之以弊端进行了改进,较好地解决了这一问题。通过键盘

5、的输入控制交通倒计时初始值。该控制系统有一定的智能水平和很强的控制能力。1.2 智能交通在我国的发展情况智能交通系统的研究和推进在我国还处于起步阶段,但ITS作为跨世纪经济增长点和交通系统建设必然选择的重要性已得到国家相关部门的高度重视。1998年1月交通部正式批复成立交通智能运输系统工程研究中心(ITSC)。为加强该中心在交通智能交通系统的开发及试验能力,投资1400万元建设交通智能运输系统中心试验室,将为今后国家制定道路交通运输的发展和政策提供科学依据,现已完成了“交通智能运输系统发展战略研究”。1998年2月,在国家科委的领导下,交通智能交通系统工程研究中心还与欧盟合作成立了中欧ITS信

6、息服务中心(STICNISC/ITS),并于同年7月正式向国际社会提供基于Internet的信息咨询和技术服务。1.3 智能交通在东亚地区的发展情况韩国的智能交通系统示范工程选在光州市,该工程预计耗资100亿韩元(1250万美元),选取了交通感应信号系统、公交车乘客信息系统、动态线路引导系统、自动化管理系统、即时播报系统、电子收费系统、停车预报系统、运行中测重系统、智能交通系统中心建立9项内容进行开发和检测智能交通系统技术和效益,并以此验证智能交通在韩国的适用性。香港早在1977年就在九龙设置了一套电脑化区域交通控制系统,现在全港约有320组交通灯由电脑控制,有利于车辆尽快通过交叉口的时间。公

7、路上所有车辆都配有无线对讲机,随时向公司报告行车情况并接受公司的行车指示。第二章 单片机概述单片机微型计算机是微型计算机的重要分支,也是颇具生命力的机种。单片机微型计算机又称计算机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:从中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可以称为一个单片机控制系统。单片机经过1、2、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引脚的多功能化,以及低电压低功耗。单片机的应用已经延伸到社会生活的方方面面,它取代了

8、以前利用发杂的数字组合及模拟电路构成的控制系统,并能够实现智能化。有电器的地方就有单片机,而且在办公自动化领域,商业营销领域,工业自动化领域,智能仪器仪表领域,集成智能传感器的测控领域,汽车电子与航空航天电子系统等方面起到了不可想象的作用!第三章 芯片简介3.1 AT89C51芯片简介1、 主要元器件介绍 单片机主控电路的主要元件是AT89C51, AT89C51是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技能生产,兼容标准MCS-51指

9、令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C51提供了高性价比的处理方案。 AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规要领执行 编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。 2、管脚说明:VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。当P1口的管脚第一次写1时,被

10、定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH执行 校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为

11、输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器执行 存取时,P2口输出地址的高八位。在给出地址“1”时,它运用 内部上拉优势,当对外部八位地址数据存储器执行 读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51

12、的一些特殊功能口,如下表所示: 口管脚 备选功能 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(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 ST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在

13、平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要留心的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(000

14、0H-FFFFH),不管能不能有内部程序存储器。留心加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。3.2 74HC244芯片简介74HC244芯片是一个八同相三态缓冲器/线驱动器如果输入的数据可以保持比较长的时间(比如键盘),简单输入接口扩展通常使用的典型芯片为74HC244,由该芯片可构成三态数据缓冲器。74HC244芯片的引脚排列如图3-1所示。图3-1 74HC244芯片的引脚排列74HC

15、244芯片内部共有两个四位三态缓冲器,使用时可分别以1C和2G作为它们的选通工作信号。当I/O和2/OE都为低电平时,输出端Y和输入端A状态相同;当I/O和2/OE都为高电平时,输扩展阅读:74HC244芯片内部共有两个四位三态缓冲器,使用时可分别以1C和2G作为它们的选通工作信号。当1C和2G都为低电平时,输出端Y和输入端A态相同;当1G和2G都为高电平时,输出呈高阻态。3.3 LED晶体管分析简单的LED显示器有LED状态显示器(俗称发光二极管)、7段LED显示器(俗称数码管)和16段LED显示器。发光二极管用于显示系统的两种状态;数码管用于显示数字;LED16段显示器用于字符显示。这里用

16、7段数码管。7段数码管由8个发光二极管构成,通过不同组合可用来显示数字09,字符AF、H、L、P、R、U、Y等及减号“-”与小数点“.”其外形结构及动静态显示共阴阳接法如图3-2所示:图3-2 数码管图及动静态显示共阴阳接法图第四章 设计思路本设计采用MSC-51系列单片机来设计交通灯控制器,能根据实际车流量设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示;东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。(

17、1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。时间为60秒(可设定)。(2)黄灯闪烁5秒,警示车辆和行人红、绿灯的状态即将切换。(3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。时间为80秒(可设定)。东西方向车流大通行时间长。本设计在东、西、南、北四个方向各有红黄绿三个灯,在东西方向有两个数码管,在南北方向也有两个数码管。实际交通通路图4-1如下:西北东南图4-1实际交通通路第五章 交通信号灯硬件设计5.1交通信号灯硬件设计说明本系统选用MSC-51系列的AT89C51单片机作为控制器,选择两个四联的共阴

18、极数码管组成8位显示模块,由于AT89C51单片机的驱动能力有限,所以信号灯控制器由两片74HC244实现总线的驱动,一个74HC244完成位控的控制和驱动,另一个74HC244完成数码管的7段输出,在输出口上个串联一个100欧姆的电阻和7段数码管限流。通过P2用做输出显示控制口。P0口通过电阻和数码管控制LED数码管实现交通倒计时的记录,P3.0P3.5则实地点亮红绿黄灯的控制,P1口当做普通输入口直接控制人行道红绿灯规律变化。当单片机复位之后,默认处于倒计时模式,启动定时器,定时器每隔150us溢出一次,根据定时器溢出次数来计时,到1秒时将时间的计数器减一,当“设置键”按下,存放倒计时初值

19、的空间由0变为1,切换到设置模式。可以使用“递增键”“递减键”对计时初值进行修改。按下“确认键”时,回到计时模式开始以新的初始值进行倒计时,当倒计时为0时,存放时间的空间里的内容由1变为2,处于闪烁状态,在这种状态下,根据按键的情况有分别切换到计时和设置状态。5.2电源电路电源电路具体模拟电路图5-1所示:图5-1电源模拟电路5.3 总体硬件设计交通信号灯采用发光二极管共阴极接法,当输入高电平时二极被点亮。图为对应的交通信号灯的电路图为图:图5-3 交通信号灯的红绿灯电路图其中D1,D4,D6为东西方向红绿灯,D2,D3,D5也为东西方向红绿灯,D8,D10,D12为南北方向红绿灯,D7,D9

20、,D11为南北方向红绿灯。5.4 交通信号控制码交通灯控制电路的核心元件采用单片机AT89C51,其内部带有4KB的ROM,无须扩展存储器。信号灯的控制由单片机的p1.0p1.5控制,6个信号灯以共阴极方式连接,当P1口输出为高电平时信号灯点亮,为实现上述控制要求,P1口共输出四种控制码如表5-1所示:表5-1 P1口输出控制码列表B道绿灯B道黄灯B道红灯A道绿灯A道黄灯A道红灯控制码状态说明P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0000011000CHA道放行B道禁止000010100AHA道警告B道禁止0010000121HA道禁止B道放行0001000111HA道

21、禁止B道警告5.5倒计时显示设计要实现计时功能则需要使用定时器来计时,通过设置定时器的初始值来控制溢出中断时间的时间间隔,再利用一个变量记录定时器的溢出的次数,达到定时1秒的功能。当即使每到1秒后,东西、南北信号灯个状态的暂存剩余时间的变量减1。但暂存变量的时间减到0时,切换至下一个状态,如此循环重复执行。本设计采用动态扫描,用4个数码管分别显示东西、南北的倒计时,将暂存各状态剩余时间的数字从变量中提取出“个位”和“十位”,用动态扫描的方式在数码管中显示。整个程序依据定时器的溢出数来计时,每计时1秒则相应状态的时间减1,一直减到0时触发下一个状态的开始。其具体显示状态如图5-4所示:图5-4

22、动态扫描LED显示5.6复位电路设计单片机复位是使CPU初始化操作,主要是使CPU与其他功能部件都处在一个确定初始状态,并从这个状态开始工作。复位后PC=0000H,是单片机从第一个单元取指令。无论是在单片机刚接上电源时还是断电后或者发生故障后都要复位。单片机复位期间不产生ALE和PSEN信号,即ALE=0和PSEN=1,复位期间不会有任何取指令操作。在RST引脚持续加上两个机器周期(24个振荡周期)的高电平,单片机即发生复位。例如,若时钟频率为12MHz,每个机器周期为1us,则只需2us以上时间的高电平即可实现复位。复位电路图如图5-5所示:图5-5 复位电路该电路除具备上电复位功能外,若

23、要复位,则只需按图中的RESET键,此时,电源Vcc经电阻R1、R2分压,在RST端产生一个复位高电平。复位后内部各专用寄存器状态如表5-2所示,其中“”表示无效位。表5-2 专用寄存器状态显示表寄存器复位状态寄存器复位状态PC0000HTMOD00HACC00HTCON00HB00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0P3FFHSCON00HIP000000BSBUF不定IE000000BPCON00000B5.7 时钟电路设计时钟电路用于产生单片机工作所需要的时钟信号,唯一的时钟信号控制下的时序可以保证单片机各部件的同步工作。根据产生

24、的方式不同分为内部和外部两种时钟电路,本设计使用内部时钟,电路图如5-6所示:图5-6 内部时钟电路图89c51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为芯片引脚XTAL2。而在芯片外部,XTAL1和XTAL2之间由用户自行跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。ALE引脚上出现的信号时周期性的,在每个机器周期内两次出现高电平,ALE信号每出现一次CPU就进行一次取址操作,但由于不同指令的字节数和机器周期数不同,因此取址指令操作也随指令不同而有小的区别。5.8键盘设计由于键盘数量不多,选择独立式按键与P1口连接作为四个按键的输入,每个按键单独占用一根

25、I/O口线,每个按键的工作不会影响其他I/O口线的工作状态。当逐位查询每根口线的输入状态时,如某一根口线输入低电平,则可确认该口线所对应的键已按下,然后,再转向该键的功能处理程序。用四个键S1、S2、S3、S4以及两个用来提示键盘状态的LED电路图如图5-7所示:图5-7 按键电路图四个按键的功能依次是:S1(设定键):在倒计时模式时,按下此键后倒计时停止倒计时,进入设置状态;如果已经处于设置状态则此键无效。S2(减一键):在设置状态时,每按一次递减键,初始值的数字减1。S3(增一键):在设置状态时,每按一次递增键,初始值的数字增1。S4(确认键):在设置状态时,按下此键后,单片机按照新的初始

26、值进行倒计时及显示倒计时的数字。如果已经处于计时状态则此键无效。在实现键盘的扫描和运行模式的切换时,主程序在初始化一些变量和寄存器之后,需要不断循环地读取键盘的状态和动态扫描数码管显示相应的数字,根据键盘的键值实现设置状态、计时的切换。第六章 交通信号灯软件设计软件设计应用汇编语言,以其较好的可读性和可移植性很好的完成了本次设计任务。程序设计上使用定时器0中断开控制交通灯的正常工作。定时器1中断控制特殊车辆的通行时间;外部中断INT1用于紧急情况、流量控制和恢复等,外部中断INT0用于特种车辆通行处理。系统采用两个状态标志位来记录交通灯的循环状态。程序流程图如下: A道禁止B道警告延时显示置显

27、示初始值延时显示A道警告B道禁止延时5sA道禁止B道放行A到放行B道禁止延时时显示开始初始化显示初始值设置中断响应保护现场A道放行B道禁行延时10s恢复现场返回延时1ms返回显示个位数延时1ms显示次数=0?R2 十位数设置显示次数秒个位数转字形码R1个 位数秒十位数转字形码拆分秒数开始显示秒数减1秒数转十进制Y返回显示个位数延时1ms显示次数=0?R2 十位数设置显示次数秒个位数转字形码R1个 位数秒十位数转字形码拆分秒数开始显示秒数减1秒数转十进制Y延时1ms返回显示个位数延时1ms显示次数=0?R2 十位数设置显示次数秒个位数转字形码R1个 位数秒十位数转字形码拆分秒数开始显示秒数减1秒

28、数转十进制YN延时1ms显示十位数图6-1 程序流程图红绿灯的8位LED动态显示子程序如下:显示子程序入口延时1ms取代显示数据查表换成相应端选码P0口右移一位,显示下一位动态显示初始化显缓指针加189C51初始化程序设计P2口位选码8位显示完吗?返回图6-2 程序流程图总结经过这一个多的查资料、设计与思考,毕业论文已基本完成。刚开始时头脑一片空白,没有一点思路,不知道从何插手,由于以前都是学一些书本上的死的知识,根本不会灵活应用,而且也没做过什么太接近现实的设计,所以那时一直很茫然,在网上查资料也不知道从何查起,原来学的东西跟实际操作有很大的脱节,开始时有过放弃的念头,后来辅导老师告诉我们怎

29、么查资料,针对课题向哪个方向考虑,我们头脑中才有了个清晰的思路。后来开始做了,也往图书馆跑了好多次,但书面上的资料很少,很多都是从网上查的。开始那时查到的资料都是一些简单的材料堆砌,没有一个核心,后来经过我们小组的商量,我们大浪淘沙从其中挑选了一些很有价值的材料,再加上我们自己的一些思路,论文很快有了轮廓。然后就是根据各个环节再针对性的找资料,而且把一些学过的一些知识也很好的糅合在论文中。整个过程中也遇到很多困难,不是芯片不合适就是接口不知怎么接,但在班集体这个知识的讨论的小集体里困难一个个都迎刃而解。整个过程让我明白了一句话“办法总比困难多”。通过毕业论文我对原来学过的知识有了更深的理解,原

30、来想着在大学里学不到很多东西,直到做完毕业,才知道是自己不会联系实际应用!当设计接近尾声的时候回顾设计的整个流程,才发现有好多东西都需要更深一步的学习。原来听说自己的专业是个热门专业,同时也是当下市场分析中最受欢迎的一个,而且他的就业面相当宽,但自己对它了解的不是很多,做毕业设计的时候才知道自己掌握的东西有多么少。现在已面临毕业,这次设计对以后我的学习态度,以及面以后走上工作岗位后的生活也有很大的影响。致 谢本设计历时一个月左右,经过资料的搜集、整理加工,最终基本完成。并对课题有了较深的理解。在这里首先感谢辅导老师郭老师对我的精心辅导。毕业设计是各门课程综合应用的一次锻炼,通过知识的回顾,结合

31、本次毕业设计,提高了知识应用水平和科学思维方法,达到了学以致用的目的。在本毕业设计期间,得到了郭英军老师耐心指导,学到了一定的设计方法,从而使我能够比较顺利地完成设计。我想以后的生活中我会充分应用老师所提供给我的经验和知识,达到学以致用的目的。经过多天的不懈努力终于完成了。直到最后设计完成的时候才知道老师的良苦用心。参考文献1 高泽溪,高成. 直接数字频率合成器(DDS)及其性能分析. 北京:北京航空航天大学出版社,2002, 1871912 白居宪. 低噪声频率合成. 西安:西安交通大学出版社,1995,2242303 褚振勇,翁木云. FPGA设计及应用. 西安:西安电子科技大学出版社,2

32、003,2192634 房小翠,王金凤. 单片微型计算机与机电接口技术. 北京:国防工业出版社,2002,79865皮红梅,李英顺. 单片机开发中的定时方法. 沈阳:石油化工高等专科学校学报,2002,1711926何利民. 单片机应用系统设计. 北京:北京航空航天大学出版社,1991,21337 李珍. 单片机原理与控制技术. 北京:清华大学出版社,2002,1491588 范立南. 单片微机接口与控制技术. 沈阳:辽宁大学出版社,1996,69779 张友德. 单片微型机原理、应用与实践. 上海:复旦大学出版社,1992,738110 李华. MCS-51系列单片机实用接口技术. 北京:北

33、京航空航天大学出版社,1993,233111 何希庆,高伟. MCS-51单片机原理、实验、实例. 山东:山东大学出版社,1989,12413612 张毅刚,彭喜元,姜守达. 新编MCS-51单片机应用设计. 哈尔滨:哈尔滨工业大学出版社,2003,15316813 胡汉才. 单片机原理及接口技术. 北京:清华大学出版社,1996,667814 廖焕霖. Protel 99电路板设计者必读. 北京:冶金工业出版, 2000,108128 15 张义和. Protel PCB 99设计与应用技巧. 北京:科学出版社,2000,16李云,杨玉峰,梅顺良.ITS系统中GPRS智能移动终端的设计.电讯

34、技术,2006.044(004):9617余发山. 单片机原理及应用技术. 中国矿业大学出版社. 200318杨凌霄. 微型计算机原理及应用. 中国矿业大学出版社. 200419张凯,马忠梅编著.MCS-51单片机综合系统及设计开发.北京:科学出版社,199620何立民编著.单片机高级教程.北京:北京航空航天大学出版社,2000 附录A: 软件程序编程主程序:ORG 2000HMOV DPTR,#7F00H; MOV A,#0BH ;PA、PC口均为输出 MOVX DPTR,A;MAIN: SETB EA ;开中断 SETB EX0; MOV 50H, #1FH ;设置时间显示初值; MOV

35、P1, 0CH ;A道放行B道禁止 MOV R7, #19H ;延时秒数MAIN1: LCALL DISP ;调1秒延时、及显示子程序 DJNZ R7, MAIN1; MOV P1, #0AH ;A道警告B道禁行 MOV R7, 05H ;延时秒数MAIN2: LCALL DISP; DJNZ R7, MAIN2; MOV 50H, #1FH ;设时间显示初值MOV P1, #21H ;A道禁行B道放行MOV R7, #19H ;延时秒数MAIN3: LCALL DISP;DINZ R7, MAIN3;MOV P1, #11H ;A道禁行B道警告MOV R7, #05H ;延时秒数MAIN4:

36、 LCALL DISP;DJNZ R7, MAIN4;AJMP MAIN ;循环= 计数器软件延时=延时显示子程序:ORG 2000H;DISP: MOV R6, #01H ; 设置显示位寄存器初值(右边一位)MOV TMOD, #01H ; 定时计数器T0设置为定时方式的模式1MOV R5, #0AH ; 定时其操作循环10次DEL1: MOV TH0, #3CH ; 定时器100ms计数器的初值MOV TL0, #B0H ;SETB TR0 ;启动定时器DEL2: DEC 50H ;显示秒数减1MOV B, #0AH;DIVB ;拆分秒数ADD A, #2BH;MOVC A, A+PC ;

37、查表个位数的字型码MOV R1, A ;个位数字型码送R1MOV A, B;ADD A, #25H;MOVC A, A+PC ; 查表十位数的字型码MOV R2, A ; 十位数字型码送R2MOV A, R6 ;位控码MOV DPTR, #7F03H;MOVX DPTR, A;MOV A, R1 ;送个位数显示MOV DPTR, #7F01H;MOVX DPTR, A;LCALL DELAY ;延时1msMOV A, R6;RL A ;位控左移MOV R6, A;MOV DPTR, #7F03H;MOVX DPTR, A;MOV A, R2 ;送十位数显示MOV DPTR, #7F01H;MO

38、VX DPTR, A;LCALL DELAY ;延时1msJNB TF0, $ ;检测100ms循环控制CLR TF0;DJNZ R5, DEL1 ; 100ms循环控制RET ;返回TABLE: DB COH, F9H, A4H, B0H, 99H;DB 92H, 82H, F8H, 80H, 90H;DELAY: MOV R7, #02H ;延时1ms子程序DEL3: MOV R6, #0F9H;DEL4:DJNZ R6, DEL2;DJNZ R7, DEL1;RETEND=中断服务程序=ORG 0003H ;外中断0入口地址LJMP INTER0;ORG 2100H;INTER0: PU

39、SH 50H ;保护现场PUSH P1;MOV P1, #00H ;两车道禁止MOV R7, #0AH ;延时10秒INT0: LCALL DISP ;调显示DJNZ R7, INTO;POP P1 ;恢复现场POP 50H;RET1 ;中断返回0.5秒延时子程序:DELAY: MOV R3, #0AH;MOV TH1, #3CH;MOV TL1, #0B0H;SETB TR1;LP1: JB CTF1, LP2;SJMP LP1;LP2: MOV TH1, #0B0H;DJNZ R3, LP1;RETEND=独立式按键编程=KEY: ORL P1, #0F0H ;置P1.4P1.7为输入状态

40、MOV A, P1 ;读键值,键闭合相应位为0CPL A ;取反,键闭合相应位为1ANL A, #11110000B ;屏蔽低四位保留有键值的高四位JZ GRET ;全0,无键闭合,返回LCALL DLY10ms ;非全0,有键闭合,调10ms延时子程序MOV A, P1 ;重读键值,键闭合为0CPL A ;取反,键闭合相应位为1ANL A, #11110000B ;屏蔽低四位保留有键值的高四位JZ GEET ;全0,无键闭合,返回,非全0确认有键闭合JB ACC.4, KEY1 ;转1#键功能程序JB ACC.5, KEY2 ;转2#键功能程序JB ACC.6 KEY3 ;转3#键功能程序JB ACC.7 KEY4 ;转4#键功能程序GRET: RET; =显示子程序=DISP: JNB P2.4, T02;DISP1: MOV B, #0AH; MOV A, R3 ;R3中值二转十显示转换 DIV AB; MOV 79H, A; MOV 7AH, B;DIS: MOV A, 79H ;显示十位 MOV DPTR, #TAB; MOVC A, A+DPTR; MOV DPTR, #0002H; MOVX DPTR, A; MOV DPTR, #0001H; MOV A, #0F7H; MOVX DPTR, A; LCALL DELAY;DS2: MOV A, 7AH ; ;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号