毕业设计(论文)-基于单片机的智能交通灯控制系统的设计.doc_第1页
毕业设计(论文)-基于单片机的智能交通灯控制系统的设计.doc_第2页
毕业设计(论文)-基于单片机的智能交通灯控制系统的设计.doc_第3页
毕业设计(论文)-基于单片机的智能交通灯控制系统的设计.doc_第4页
毕业设计(论文)-基于单片机的智能交通灯控制系统的设计.doc_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文) 本科毕业设计(论文) 智能交通灯控制系统的设计摘 要:本文介绍了一种基于单片机的交通灯控制系统。系统采用单片机和七段LED数码管作为交通灯的控制和显示核心,并通过控制按键对时间进行设置,最终实现对交通灯各状态持续时间的控制。系统采用上电自动复位,利用八个数码管显示交通灯各状态的剩余时间,时间显示采用倒计时方式,四组红、黄、绿三色灯用发光二极管作为模拟交通信号灯,呈四种状态交替出现。系统通过一个直流稳压电路为系统提供+5V的直流电源。该交通系统控制方便,禁行通行时间可调,有一定实用价值。关键词:时钟频率;LED数码显示;可调;单片机 The Design of Traffic Light Control SystemAbstract:This paper adopts the single chip microcomputer AT89C51 and Seven-Segment LED Digital Tubes as the kernel of control and display, it also could set the time of traffic lights by using buttons in order to Control the traffic lights at different times of state. The current resets automatically with the up-electricity. Eight digital tubes which is used in demonstrating the rest time in each condition. The time demonstrated adopts countdown mode .Four groups of three-colour lights in red、yellow、green takes the simulation of traffic lights, which becoming four kinds of conditions to appear in turn. And a current voltage-stabilizer circuit provided +5V for the system the stable DC voltage. The traffic system is convenient, no-passing time opened adjustable, has a certain extent of practical value. Keywords: clock frequency ;LED digital tubes;adjust;SCM 目 录序言.1第1章 单片机概述.11.1单片机简介.21.2 AT89C51单片机.31.2.1 AT89C51单片机简介.31.2.2 AT89C51单片机引脚说明.31.2.3 AT89C51主要特性.61.2.4 AT89C51芯片内部资源71.2.5片内闪电存储器的编程8第2章 系统的总体设计.92.1 设计任务的分析.92.2系统的总体设计规划.102.2.1硬件部分.102.2.2软件部分.10 第3章 系统的硬件设计123.1直流稳压电源的设计.123.1.1直流稳压电源概述.123.1.2W78XX三端集成稳压器简介133.2数码管显示电路设计.133.2.1数码管简介.133.2.2数码管显示电路的连接.143.3红绿灯电路设计.153.3.1发光二极管简介.153.3.2红绿灯电路的连接.163.4键盘电路设计.163.4.1键盘工作原理及消抖.163.4.2键盘电路的连接.17第4章 系统的软件设计194.1 C语言简介.194.1.1 C语言的特点194.1.2 C语言的优越性.194.2 LCA软件简介.204.2系统各模块软件设计.20第5章 系统调试345.1硬件调试.345.2联机在线调试.365.3芯片固化.365.4故障分析及解决.37结束语38参考文献.39附录40附录1元器件清单40附录2智能交通灯源程序.41附录3电路原理图51附录4实物图52附录5中英文翻译53致谢63智能交通灯控制系统的设计序 言随着经济的发展,交通运输中出现了一些传统方法难以解决的问题。道路拥挤现象日趋严重,造成的经济损失越来越大,并一直保持大比例的增长。现在交通系统已不能满足经济发展的需求。由于生活水平的提高,人们对交通运输的安全性及服务水平提出了更高的要求。在交通中管理引入单片机交通灯控制代替交管人员在交叉路口服务,有助于提高交通运输的安全性、提高交通管理的服务质量。并在一定程度上尽可能的降低由道路拥挤造成的经济损失,同时也减小了工作人员的劳动强度。 中国车辆数量不断增加,交通控制在未来的交通管理中起着越来越重要的作用。智能交通灯的管理比重修一条马路无论在经济、交通运行速率上都有很好的效益、更加节约资源。使交管人员有更多的精力投入到管理整个城市交通控制,带来更大的经济和社会效益,为创造美好的城市交通形象发挥更多的作用。本次毕业设计需要做的工作是在指导老师的指导下完成元器件的安装,软件编程,调试。本设计分为硬件和软件两个部分,硬件部分由89C51单片机、晶振电路、发光二极管部分、数码管显示电路等几个部分构成。软件部分通过单片机C语言进行编程,实现交通灯四种状态和对应的显示过程以及能够循环往复的功能。在设计过程中,软硬件的功能总是不断的调整,以便相适应。硬件设计和软件设计是不能截然分开的,硬件设计时应考虑软件设计的方法,而软件设计时应了解硬件的工作原理,在整个设计过程中应互相协调,以利于提高工作效率。本文共分为5章,其中第1章介绍了单片机与AT89C51单片机,第2章总体上规划了设计内容以及对设计任务的分析,第3、4、5章则系统的阐述了硬件设计、软件设计和软硬件的调试。本设计采用AT89C51单片机作为核心控制器件,实现了点亮红、黄、绿灯,显示运行时间以及设置等待时间的功能。 第1章 单片机概述1.1 单片机简介电子计算机的发展经历了从电子管、晶体管、集成电路到大(超大)规模集成电路共四个阶段,即通常所说的第一代、第二代、第三代和第四代计算机。现在广泛使用的微型计算机是大规模集成电路技术发展的产物,因此它属于第四代计算机,而单片机则是微型计算机的一个分支。从1971年微型计算机问世以来,由于实际应用的需要,一个是向高速度、大容量、高性能的高档微机发展方向;而另一个则是向稳定可靠、体积小和价格廉的单片机方向发展。第 2 页 共63页单片机是一种集成电路芯片。它采用超大规模技术将具有数据处理能力的微处理器(CPU)、存储器(含程序存储器ROM和数据存储器RAM)、输入、输出接口电路(I/O接口)集成在同一块芯片上,构成一个即小巧又很完善的计算机硬件系统,在单片机程序的控制下能准确、迅速、高效地完成程序设计者事先规定的任务。所以说,一片单片机芯片就具有了组成计算机的全部功能。由此来看,单片机有着一般微处理器(CPU)芯片所不具备的功能,它可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。然而单片机又不同于单板机(一种将微处理器芯片、存储器芯片、输入输出接口芯片安装在同一块印制电路板上的微型计算机),单片机芯片在没有开发前,它只是具备功能极强的超大规模集成电路,如果对它进行应用开发,它便是一个小型的微型计算机控制系统,但它与单板机或个人电脑(PC机)有着本质的区别。单片机的应用属于芯片级应用,需要用户(单片机学习者与使用者)了解单片机芯片的结构和指令系统以及其它集成电路应用技术和系统设计所需要的理论和技术,用这样特定的芯片设计应用程序,从而使该芯片具备特定的功能。不同的单片机有着不同的硬件特征和软件特征,即它们的技术特征均不尽相同,硬件特征取决于单片机芯片的内部结构,用户要使用某种单片机,必须了解该型产品是否满足需要的功能和应用系统所要求的特性指标。这里的技术特征包括功能特性、控制特性和电气特性等等,这些信息需要从生产厂商的技术手册中得到。软件特征是指指令系第 3 页 共 56 页统特性和开发支持环境,指令特性即我们熟悉的单片机的寻址方式,数据处理和逻辑处理方式,输入输出特性及对电源的要求等等。开发支持的环境包括指令的兼容及可移植性,支持软件(包含可支持开发应用程序的软件资源)及硬件资源。要利用某型号单片机开发自己的应用系统,掌握其结构特征和技术特征是必须的。单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系统,可以以软件控制来实现,并能够实现智能化,现在单片机控制范畴无所不在,例如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装置等等,单片机的应用领域越来越广泛。诚然,单片机的应用意义远不限于它的应用范畴或由此带来的经济效益,更重要的是它已从根本上改变了传统的控制方法和设计思想。是控制技术的一次革命,是一座重要的里程碑。1.2 AT89C51单片机1.2.1 AT89C51单片机简介89系列单片机是ATMEL公司的8位FLASH单片机系列。89系列单片机是以8031为核心构成的,它和8051系列单片机外部端子是一样的、兼容的,其最大特点是片内含有FLASH存储器。由于内部含有FLASH存储器,因此在系统的开发过程中可以十分容易地进行程序的修改,大大缩短了系统的开发周期。同时,在系统的工作过程中,能有效的保存一些数据信息,即使外界电源损坏也不影响信息的保存。89系列随着用户的需要和发展,可以进行修改,使系统能够追随用户的最新要求。AT89C51单片机是一种低功耗、高性能、内含4KB的闪速存储器(Flash Memory)的8位CMOS微控制器。这种器件系以ATMEL高密度不挥发的存储技术制造,与工业标准MCS51指令系统和引脚完全兼容。片内闪速存储器的程序代码或数据可在线写入,也可通过常规的编程器编程。1.2.2 AT89C51单片机引脚说明在89系列中,在器件引脚的封装上,MCS-51系列机通常有两种封装:一种是双列直插式,常为HMOS型器件所用;另一种是方形封装,大多数在CHMOS型器件中使用。89C51单片机DIP40封装如1-所示图1-1直插式封装89C51有40条引脚,分为端口线、电源线和控制线三类。1端口线(4*8=32条)89C51有四个并行I/O端口,每个端口都有8条端口线,用于传送数据或地址。由于每个端口的结构各不相同,因此它们在功能和用途上的差别颇大。先对它们的综述如下: P0.0-P0.7:这组引脚共有8条,为P0口所专用,其中P0.7为最高位,P0.0为最低位。这8条引脚有两种不同的功能,分别使用于两种不同的情况。第一种情况是89C51不带片外存储器,P0口可以作为I/O通用口,P0.0-P0.7用于传送CPU的输入/输出数据。这时输出数据可以得到锁存,不需要外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的可靠性;第二种情况89C51带片外存储器,P0.0-P0.7在CPU访问外部片外存储器的时用于传送外存储器的低8位地址,然后传送CPU对片外存储器的读写数据。P1.0-P1.7:这8条引脚和P0口的8条引脚类似,P1.7为最高位,p1.0为最低位。当P1口作为通用I/O口使用时,P1。0-P1。7的功能和P0口的第一功能相同,也用于传送用户的输入/输出数据。p2.0-p2.7:这组引脚的第一功能和上述两组引脚的第一功能相同,即它可以作为通用I/O口使用。它的第二功能和P0口的引脚的第二功能配合使用,用于输出片外存储器的的高8位地址,共同选中片外存储器单元,但并不象P0口那样还可以传送存储器的读写数据。P3.0-P3.7:这组引脚的第一功能与其余三个端口的第一功能相同。第二功能作为控制用,每个引脚并不完全相同,如表1-1所列。表1-1 P3口各位的第二功能P3口的位第二功能注释P3.0RXD串行口数据接受口P3.1TXD串行口数据发送口P3.2INTO外中断0输入P3.3INT1外中断1输入P3.4T0计数器0计数输入P3.5T1计数器1计数输入P3.6WR外部RAM写选通信号P3.7RD外部RAM读选通信号2电源线(2条)VCC为+5V电源线,VSS为接地线。3.控制线(6条) ALE/:地址锁存允许/编程线,配合P0口的第二功能使用。在访问片外存储器时,89C51CPU在P0.0-P0.7引脚上输出片外存储器的低8位地址的同时还在ALE/线上输出一个高电位脉冲,用于把这个片外存储器低8位地址锁存到外部专用地址锁存器中,以便空出p0.0p0.7引脚线去传送随后面来的片外存储器读写数据。在不访问片外存储器的时候,89C51自动在ALE/线上输出频率为fosc/6的脉冲序列。该脉冲序列可用于外部时钟或作为定时脉冲源使用。/VPP:允许访问片外存储器/编程电源线,可以控制89C51使用片内ROM还是使用片外ROM。若=1时,则允许使用片内ROM;若=0,则允许使用片外ROM。:片外ROM选通线,正在执行访问片外ROM的指令MOVC时,自动在线上产生一个负脉冲用于为片外ROM芯片的选通。其它情况下,线均为高电平封锁状态。RST/VPD:复位/备用电源线,可以使89C51处于复位(即初始化的)状态。通常,89C51的复位有自动上电复位和人工按钮复位,电路如图1-2所示:上电自动复位 手工自动复位图1-2 89C51复位电路图RST/V的第二人功能是作为备用电源输入端。当主电源V发生故障而降低到规定低电平时,RST/V线上的备用电源自动投入,以保证片内RAM中的信息不丢失。XTAL和XTAL:片内振荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接89C51片内OSC的定时反馈回路,相应的电路如图1-3所示。石英晶体起振后要能在XTAL线上输出一个3V左右的正弦波,使单片机片内的OSC电路按石英晶振相同频率自激振荡。通常,OSC的输出时钟频率为0.5MHZ-16MHZ,典型值为12MHZ或11.0592MHZ。电容C和C可以帮助起振,典型值为30PF,调节它们可以达到微调时钟频率的目的。图1-3 晶振连接图89C51所需的时钟有时也可以由外部震荡器提供,在此略讲。1.2.3 AT89C51主要特性:(1)与MCS-51 兼容 (2)4K字节可编程闪烁存储器 (3)寿命:1000写/擦循环(4)数据保留时间:10年(5)全静态工作:0Hz-24Hz(6)128*8位内部RAM(7)32可编程I/O线(8)两个16位定时器/计数器(9)5个中断源 (10)可编程串行通道(11)低功耗的闲置和掉电模式(12)片内振荡器和时钟电路1.2.4 AT89C51芯片内部资源1. 中央处理器CPUCPU是单片机的核心。它由运算器和控制器组成。运算器以ALU为核心,用以完成二进制数饿算术和逻辑运算。控制器是单片机CPU的大脑中枢。它在时钟信号的同步作用下对指令进行译码,使单片机系统的各部件按时序协调工作。2. 片内RAMAT89C51芯片内部共有256个字节的RAM单元,但高128单元只有一部分被特殊功能寄存器占用,其余的单元用户不能使用。这些特殊功能寄存器,其功能已有专门饿规定,用户不能随意赋值。只有低128个单元可以作为随机存储单元供用户使用,这些单元主要用于存放随机的数据及运算的中间结果。通常说的RAM就是指这低128个单元。AT89C51单片机内部有4KB的闪存,主要用于存放程序,原始数据和表格内容,后被称之为程序存储器。3.定时器/计数器 AT89C51型单片机内部有2个16位的定时器/计数器,以实现定时或计数功能,并以其定时或计数的结果对系统进行控制。4. 并行I/O口AT89C51型单片机由4个8位并行I/O口,即P0、P1、P2和P3口。这些端口可以用作一般输入或输出口。但通常P0口作为8位数据总线和低8位地址总线的复用口。P2口常用作高8位的地址总线。而P3口的各个管脚多以第二功能输出形式出现。因此,一般情况下只有P1口的8个管脚作为通用I/O口。5. 串行口AT89C51型单片机有一个全双工的串行口,用以实现单片机和其他设备之间的串行数据传送。该串行口功能较强,既可以作为全双工异步通信收发器使用,也可以作为同步移位寄存器使用。6. 中断控制系统AT89C51型单片机共有5个中断源,即2个外部中断、2个定时/计数器中断缘和1个串行中断源。全部中断源可设定为高低2个中断优先级,用来满足控制应用的需要。1.2.5 片内闪电存储器的编程AT89C51片内存储器售后通常处于擦除状态,即每地址单元内容均为FFH,人们随时可对其编程。编程电压Vpp有高压12V的,也有低压5V的(如表2-2)。低压编程方式为在用户系统内对AT89C51进行编程提供了方便;而高压编程方式则与常规的闪电存储器或EPROM编程器相兼容。在这两种方式下,AT89C51代码程序阵列均是逐个字节进行编程的。为对片内闪电存储器任意非空白字节进行编程,必须用芯片内擦除方式将整个存储器擦掉。在各种控制信号适合组合的情况下,对ALE/引脚施加一长度为10ms的低电平信号,整个闪电存储器阵列即为全部擦除。擦除后代码阵列各地址单元的内容均为FFH。只有在芯片被擦除后,代码存储器才能重新编程。表1-2片内闪电存储器的编程编程电压Vpp=12VVpp=5V顶面标记AT89C51AT89C51XXXXXXX5YYWWYYWW片内暗含标记(030H)=1EH(030H)=1EH(031H)=51H(031H)=51H(032H)=FFH(032H)=05H第2章 设计任务的分析与系统的总体设计2.1 设计任务的分析本设计的交通灯系统主要有如下功能:1东、西、南、北方位均有三色灯指示;2交通路口的通行、等待及禁行时间要用共阴(或共阳)数码管显示;3绿灯通行时间、黄灯闪烁时间及红灯禁行时间需可调;4绿灯通行时间和红灯禁行时间最长可调至90秒;本设计把它绘制成一个四个路口示意图,如图2-1。分别用ROAD1、2、3、4表明北、东、南、西四个流向的主车道,用R,G,Y分别表示红色,绿色,黄色的交通信号灯。 图2-1 四个路口交通示意图那么交通灯闪亮的过程为:东西绿灯亮,南北红灯亮,东西黄灯闪烁,南北黄灯闪烁,东西红灯亮,南北绿灯亮,南北黄灯闪烁,东西黄灯闪烁。AT89C51具有高速度、低电压、低功耗、且可靠性和成本都比较低的特点。因此本次毕业设计采用AT89C51单片机作为整个电路核心控制器件。对于本交通控制系统使用一片AT89C51系列的单片机,不需要外扩展存储器,就能实现显示、预制状态、动态调节的功能,因而整体结构简单。AT89C51的运用能够使设计的交通灯电路系统满足于实用。设计电路时运用89C51系列单片机的接口来控制数码管的显示和交通灯的状态。用P0口和P2口来控制数码管的显示。数码管的显示由单片机的P0口控制,P0.0-P0.3口显示个位,P0.4-P0.7显示十位。用P1口来控制交通灯的状态即发光二极管的状态。用P3口控制等待时间的调试。用9013PNP型三极管实现对共阴极数码管的驱动。同时设计了一个5V直流稳压电路增加了电路的适用性,使整个系统更加紧凑,工作十分稳定。2.2 系统的总体设计规划2.2.1 硬件部分本设计采用AT89C51单片机作为面板控制部件,AT89C51用上电自动复位,12MHZ的晶振和两个微调电容形成晶振电路。面板上有8个数码管,用于显示各个状态的剩余时间,BCD码转化成数码管七段显示信号。四组红、黄、绿共十二只发光二极管作为模拟交通信号灯,成四种状态循环出现。一个直流稳压电路为系统提供一个+5V的稳定的直流电压。系统总框图如2-2所示: 图2-2系统总框图2.2.2 软件部分智能交通灯控制系统的软件部分主要是有主程序、初始化程序、定时器0中断服务子程序、定时器1中断服务子程序、设置显示数子程序、按键子程序、通用加减键最大最小值处理子程序、显示和延时子程序等几部分组成。软件部分采用单片机C语言编写程序, 用LCA51软件进行程序的编译和联接。(这部分内容将在第4章中作详细介绍)单片机C语言程序设计步骤:第一步: 分析问题。 第二步: 画出程序的基本轮廓。 第三步: 实现该程序。是否显示当前运行时间显示运行时间调显示子程序YN初始化是否显示黄灯闪烁时间显示黄灯默认闪烁时间Y显示设置红绿灯时间开始N 图2-3 程序流程图第3章 系统的硬件设计本系统硬件电路包括直流稳压电源电路,数码管显示电路,红绿灯电路,键盘电路等4部分电路的设计,下面分别介绍各部分电路的设计。3.1直流稳压电源设计3.1.1直流稳压电源概述我们知道电子设备中需要直流电源,它们可以采用干电池供电或其他直流能源供电。但是相对地说,这些电源每“瓦时”所需的费用较高。在有交流电网的地方,一般采用将交流电变为直流点的直流稳压电源。直流稳压电源是先把交流电变为脉动的直流电,再通过滤波电路,稳压电路,使输出直流电压维持稳定。直流稳压电源一般包括以下4个部分:(1) 电源变压器将电网供给的交流电压变换为符合整流电路需要的交流电压;(2) 整流电路将变压器次级交流电压变换为单向脉动的直流电压;(3) 滤波电路将脉动的直流电压变换为平滑的直流电压;(4) 稳压电路使直流输出电压稳定。电源电路设计的要求是将220V交流电转化为5V的直流电,如图4-1所示变压器将220V交流电变换为12V交流电,经过整流桥堆又变换为12V的直流电,三端集成稳压器W7805的作用是将12V的直流电转化为5V的直流电,下面的4个电容是用来滤波的。图3-1 电源电路图3.1.2 W78XX三端集成稳压器简介从外形上看,集成串联型稳压电路有三个脚,分别为输入端、输出端和公共端,因此称为三端稳压器。按功能分为固定式和可调节式稳压电路;前者输出的电压不能进行调节,为固定值;后者可通过外接外接元件使输出电压得到很宽的调节范围11。三端稳压器具有体积小、重量轻、性能好、成本低、靠性高和使用方便等优点。本设计中用的W78系列的三端稳压器为固定式稳压电路。下面就对W78做一下介绍。W78系列输出正电压,有七个等级W7805、W7806、W7809、W7812、W7815、W7818、W7824W79系列输出负电压、有七个等级W7905、W7906、W7909、W7912、W7915、W7918、W7924型号最后两位数为输出电压值,如本次设计中采用的W7805其输出的电压为5V。当输出电压U因某种原因(如电网电压的波动和负载的变化)而增大时,内部比较放大电路的反相输入端电位随之生高,使得放大电路输出端电位下降,U势必随之减小;当输出电压因某种原因而减小时,各部分的变化与上述过程相反;因而输出电压稳定。3.2数码管显示电路设计3.2.1数码管简介(八段LED显示器)引入:还记得小时候玩的“火柴棒游戏”吗,几根火柴棒组合起来,可以拼成各种各样的图形,LED显示器实际上也是这么一个东西(如图4-1所)。图3-2 八段LED显示器 八段LED显示器由8个发光二极管组成。基中7个长条形的发光管排列成“日”字形,另一个贺点形的发光管在显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。LED显示器有两种不同的形式:一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED显示器。如上图所示。共阴和共阳结构的LED显示器各笔划段名和安排位置是相同的。当二极管导通时,相应的笔划段发亮,由发亮的笔划段组合而显示的各种字符。8个笔划段hgfedcba对应于一个字节(8位)的D7 D6 D5 D4 D3 D2 D1 D0,于是用8位二进制码就可以表示欲显示字符的字形代码。例如,对于共阴LED显示器,当公共阴极接地(为零电平),而阳极hgfedcba各段为01110011时,显示器显示P字符,即对于共阴极LED显示器,“P”字符的字形码是73H。如果是共阳LED显示器,公共阳极接高电平,显示“P”字符的字形代码应为10001100(8CH)。发光二极管组成的显示器是单片机应用产品中最常用的廉价的输出设备.它由若干个发光二极管按一定的规律排列而成,当某一个发光二极管导通时,响应的一个点或一笔画被点亮,控制不同组合的二极管导通,就能显示出各种字符。点亮显示器有静态和动态两种方法。为了节省I/O口线,本设计采用了动态显示,所谓动态显示就是一位一位地轮流点亮显示器各个位(扫描),对于显示器的每一位来说,每个一段时间点亮一次.利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不会闪烁。3.2.2数码管显示电路的连接如图3-3所示的是数码管显示电路,三极管接的是数码管的片选信号,数码管的显示部分通过一个排阻连接到单片机的P0口,8个数码管的片选信号端都连接到单片机的P2口。单片机运行的时候通过P0口给出所显示的数字,P2口控制数码管是否工作。图3-3 数码管显示电路3.3红绿灯电路设计3.3.1发光二极管简介发光二极管包刮可见光、不可见光、激光等不同类型,这里只对可见光发光二极管做一简单介绍。发光二极管的颜色决定与所用材料,目前有红、绿、黄、橙等色,可以制成各种形状,如长方形,圆形等。发光二极管也具有单向导电性。只有当外加的正向电压使得正向电流足够大时才发光,它的开启电压比普通二极管的大,红色的在1.6-1.8V之间,绿色的在2V左右。正向电流越大,发光越强。使用时,应特别注意不要超过最大功耗、最大正向电流和方向击穿电压等极限参数。发光二极管因驱动电压低、功耗小、可靠性高等优点广泛用于显示电路之中。3.3.2红绿灯电路的连接如图3-4所示是红绿灯电路,1K电阻接到+5V电源上,发光二级管接到单片机的P1口,这个电路是用来控制发光二极管发光的。单片机运行的时候通过P1口来控制哪个二极管亮,1K的电阻是用来防止电路中的电流过大导致烧坏发光二极管图3-4 红绿灯电路3.4键盘电路设计3.4.1键盘工作原理及消抖键盘是一组按键的集合,键是一种常开型按钮开关,平时(常态)键的两个触电处于短开状态,按下键时它们才闭合(短路)。键盘分独立式键盘与行列式键盘两种。综合题目对该要求不是太高的特点,我们选择了较为简单的独立式键盘进行操作。这中键盘结构的优点是电路简单;缺点是当键数较多时,要占用较多的I/O线。 独立式按键是各按键相互独立地接通一条输入数据线,各按键的状态互不影响,同时电路采用了中断方式读取键值。因为89C51系列单片机P1口已经有上拉电阻,所以选择P1口作为键盘输入端。当没有键盘按下时,与之相连的输入口线为1(高电平),与门输出为高电平。当任何一个键按下时,与之相连的输入口线被置0(低电平),与门输出由高变底,产生中断条件,在中断服务程序中读取键盘值。键盘操作特点。当按键未被按下(即断开)时,P1.1输入为高电平,按键闭合后,P1.1输入为低电平。通常的按键所用的开关为机械弹性开关,当机械触点断开、闭合时,电压信号会抖动。由于机械触电的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会马上断开,因而在闭合及断开的瞬间均伴随有一连串的抖动。抖动时间的长短由按键的机械特性决定,一般为5ms-10ms。这种抖动对于人来说是感觉不到的,但对于单片机来说,则是完全可以感应到的,因为单片机处理的速度在微秒级。假如对按键不进行消抖处理,如果通过键盘输入一个1,单片机程序却已执行了多次输入1按键处理程序,其结果是认为我们输入了若干个1。按键抖动的消除方法。按键抖动会引起一次按键被误读多次,为了确保单片机对键的一次闭合仅做一次处理,必须去除抖动,在键闭合稳定时取键状态,并且必须判别到键释放稳定后再进行处理。按键的抖动,可用硬件或软件两种方法消除。通常在键数较少时,可用硬件方法消除抖动。RS触发器位常用的硬件去抖电路。单片机中常用软件法。软件消抖法很简单,就是在单片机获得P1.1口为低的信息后,不是立即认定按键已被按下,而是延时10ms或更长的一些时间后再次检测P1.1口,如果仍为底,说明按键的确按下了,这实际上是避开了按键按下时的抖动,再对键值处理。不过一般情况下,通常不对按键释放的后沿进行处理,实践证明,也能满足一定的要求。当然,实际应用中,对按键的要求也是千差万别的,要根据不同的需要编制处理程序,但以上是消除键抖动的原则。3.4.2键盘电路的连接如图4-4所示为键盘电路,S1,S2,S3分别接单片机的INTO,INT1,T0,也就是单片机的P3.2口,P3.3口,P3.4口。这部分电路针对三种状态的时候,实现各自不同的功能:(1)当前显示运行时间的时候,如果按键S1被按下,则打开黄灯闪烁标志位;如果按键S3被按下,则打开设置红绿灯标志。(2)当前为设置黄灯闪烁时间的时候,如果按键S1被按下,则重新读取红绿灯的运行时间。(3)当前为设置红绿灯时间的时候,如果按键S1被按下,则将设置好的值送当前的运行时间。 图4-4 键盘电路 第4章 系统的软件设计4.1 C语言简介4.1.1 C语言的特点用C 编写程序更符合人们的思考习惯,开发者可以摆脱与硬件无必要的接触,更专心的考虑功能和算法而不是考虑一些细节问题,这样就减少了开发和调试的时间。C语言具有良好的程序结构,适用于模块化程序设计,因此采用C语言设计单片机应用系统程序时,首先要尽可能地采用结构化的程序设计方法,将功能模块化,由不同的模块完成不同的功能7,这样可使整个应用系统程序结构清晰,易于调试和维护。不同的功能模块,分别指定相应的入口参数和出口参数,对于一些要重复调用的程序一般把其编成函数,这样可以减少程序代码的长度,又便于整个程序的管理,还可增强可读性和移植性。4.1.2 C语言的优越性相比汇编语言而言,单片机C语言具有以下几点优越性:不懂得单片机的指令集,也能够编写完美的单片机程序;无须懂得单片机的具体硬件,也能够编出符合硬件实际的专业水平的程序;不同函数的数据实行覆盖,有效利用片上有限的RAM空间;程序具有坚固性:数据被破坏是导致程序运行异常的重要因素。C语言对数据进行了许多专业性的处理,避免了运行中间非异步的破坏;C语言提供复杂的数据类型(数组、结构、联合、枚举、指针等),极大地增强了程序处理能力和灵活性;提供auto、static、const等存储类型和专门针对8051单片机的data、idata、pdata、xdata、code等存储类型,自动为变量合理地分配地址;提供small、compact、large等编译模式,以适应片上存储器的大小;中断服务程序的现场保护和恢复,中断向量表的填写,是直接与单片机相关的,都由C编译器代办;提供常用的标准函数库,以供用户直接使用;头文件中定义宏、说明复杂数据类型和函数原型,有利于程序的移植和支持单片机的系列化产品的开发;有严格的句法检查,错误很少,可容易地在高级语言的水平上迅速地被排掉;可方便地接受多种实用程序的服务:如片上资源的初始化有专门的实用程序自动生成;再如,有实时多任务操作系统可调度多道任务,简化用户编程,提高运行的安全性等等。结合本次毕业设计的需要,本设计采用单片机C语言进行编程。4.2 LCA51软件简介LCA51软件是AEDK系列仿真机的调试软件。软件支持AEDK所有系列的51类新型号仿真机,包括AEDK51HB、AEDK51I、AEDK51W、AEDK320W仿真机,LCA51软件全面支持汇编语言,C51语言,PL/M51语言的编译/连接、调试。软件支持单文件方式和工程化管理两种模式。用户可自定义各种语言的关键词。软件完全支持源语句在线调试。高级语言还支持源文件调试和汇编语言指令行对照调试。用户可同时打开多个窗体编辑、调试、变量观察。用户可在线对源文件直接编辑、编译、连接、加载和调试,软件支持编译错误源文件定位。调试时用户可动态观察、修改设定变量(包括CPU片内寄存器、特殊寄存器及外部寄存器、内存)的值。4.3 系统各模块软件设计针对需要解决的问题需要,将CPU所要执行的操作写在一个方框里,并以一定的次序,用带箭头的直线把这些框框连接起来,指示出CPU的操作过程,这种表示出CPU操作过程的方框图称为程序框图或程序流程图。智能交通灯控制系统的软件部分主要是有主程序、初始化程序、定时器0中断服务子程序、定时器1中断服务子程序、设置显示数子程序、按键子程序、通用加减键最大最小值处理子程序、显示和延时子程序等几部分组成。下面本设计就每一部分做一一介绍。1、主程序部分主程序流程图如图3-1所示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论