《用单片机实现交通信号灯控制-毕业论文.doc》由会员分享,可在线阅读,更多相关《用单片机实现交通信号灯控制-毕业论文.doc(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 用单片机实现交通信号灯控制摘 要近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及对具体应用对象特点的软件结合,加以完善。本系统由单片机系统、键盘、交通灯演示系统组成。系统包括左转、右转、以及基本的交通灯的功能。系统除基本交通灯的功能外,还具有倒计时、时间设置、紧急情况处理、分段调整信号灯的点亮,时间以及根据具体情况手动控制等功能。本系统硬件电路实现简单而且稳定,交通信号灯模拟控制系统设计利用单片机的定时器定时,令十字路口的红
2、绿灯交替点亮和熄灭,并利用LED数码管显示时间。用89S51做输出口,控制发光二极管的熄与灭,模拟交通灯管理。本系统若能用LCD做显示器就大大增强了其实用性。关键词:89S51单片机,交通灯,计时,显示USE SINGLE-CHIP CONTROL TRAFFIC LIGHTSABSTRACT In recent years, with the rapid development of science and technology, the application of SCM is to keep at the same time, traditional control testing u
3、pdate on Crescent benefits. In real-time detection and automatic control system of single-chip applications, often as a single-chip core component to use only single-chip is not enough knowledge, but also the specific hardware structure and application of object-specific characteristics software, to
4、 be improved. The system consists of single-chip microcomputer system, keyboard, traffic lights that my system. System, including left turn, right turn, as well as the basic function of traffic lights. Traffic lights system in addition to basic functions, also has a countdown, the time setting, emer
5、gency handling, at times to adjust the light signal, according to the specific circumstances of time and manual control functions. Hardware circuit of the system simple and stable simulation of traffic signal control system design using single-chip timer timing, so that the traffic lights at the cro
6、ssroads and turn out light and LED digital display with time. 89S51 do with output, control burning out light-emitting diodes to simulate the management of traffic lights. If the system used for display on the LCD greatly enhance its usability. KEY WORDS: 89S51 Single-chip, traffic lights, time to s
7、howII洛阳理工学院毕业设计(论文)目 录前 言1第1章 单片机的发展及应用21.1 单片机的发展21.2 单片机的应用31.3 89S51单片机的简介31.4 89S51单片机的引脚51.5 89S51单片机的特点6第2章 交通的基本情况72.1交通灯的结构72.2交通灯的工作过程72.3交通灯的控制方案82.4交通灯控制的行车图8第3章 方案论证与理论分析103.1方案论证10 3.1.1电源提供方案10 3.1.2 显示界面方案10 3.1.3 LED连接方案11 3.1.4 输入方案113.2 理论分析与计算12第4章 硬件电路设计144.1 灯控制电路设计144.2 LED显示系统
8、14 4.2.1 LED的显示方法与接口14 4.2.2 74LS164简介164.3 晶阵介绍174.4 电源设计184.5 按键原理19第5章 软件设计21 5.1 主程序流程图21 5.2 中断服务程序模块22 5.3 显示程序模块23结 论25谢 辞26参考文献27附 录281外文资料翻译34前 言在城市交通中,单路口交通控制通常采用定时控制方案,预先人为分配好红绿灯的保持时间。近年来城市交通车流量大幅增长,给交通带来巨大压力。提高十字路口的通行效率,对缓解交通阻塞具有十分重要的现实意义。因此要对交通灯的控制区随交通流量的变化进行实时控制。1858年,在英国伦敦主要街头安装了以燃煤气为
9、光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器
10、来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对
11、黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。随着城市机动车量的不断增加,许多大城市如北京、上海、南京等出现了交通超负荷运行的情况。为此,进行了深入的研究,以下就城乡交通灯控制系统的电路原理、设计等问题来进行具体分析讨论。第1章 单片机的发展及应用1.1 单片机的发展单片微型计算机是微型计算机的一个重要分支,也是一种非常活跃和颇具有生命力的机种。单片微型计算机简称单片机,特别适用于工业控制领域,因此又称为微控器。 1971年微处理器研制成功不久,就出现了单片微型计算机即单片机,但最早的单片机是1位的,处理能力有限。单片机的发展分为4个阶段: 第一阶段(197
12、476年):单片机初级阶段。因为受工艺限制,单片机采用单片的形式而且功能比较简单。例如美国仙童公司生产的F8单片机,实际上只包括了8位CPU,64个字节的RAM和2个并行接口 第二阶段(197678年):低性能单片机阶段。以Intel公司生产的MCS48系列单片机为代表,该系列单片机片内集成有8位CPU,8位定时器/计数器,并行I/O接口,RAM和ROM等,但是最大的缺点就是无串行接口,中断处理比较简单而且片内RAM和ROM容量较小,且寻址范围不大与4KB。第三阶段(197883)高性能单片阶段这个阶段推出的单片机普遍带有串行接口。多级中断系统,16位定时器/计数器,片内ROM,RAM容量加大
13、,且寻址范围可达64KB,有的片内还带有A/D转换器。第四阶段(1983年至今)8位单片机巩固发展以及16位单片机,32 位单片机推出阶段。此阶段的主要特征是:一方面发展16位单片机,32位单片机及专用型单片机;另一方面不断完善高档8位单片机,改善其结构,增加片内器件,以满足不同的客户要求。单片机的发展趋势:CPU的改进:主要是提高CPU的处理字长或提高时钟频率。采用双CPU结构,这样可以提高处理能力,改进系统设计提升系统的速度:高性能单片机增加数据总线宽度,提高了数据处理能力。存储器的发展:主要是存储容量的扩展。采用存储器不仅大大提高了程序固化的速度,而且程序的檫写次数也高达10万次:内部程
14、序存储器容量的扩大等。1.2 单片机的应用 单片机的应用很广,分别在以下领域中得到了广泛的应用。工业自动化:在自动化技术中,无论是过程控制技术、数据采集技术还是测控技术,都离不开单片机。在工业自动化的领域中,机电一体化技术将发挥愈来愈重要的作用,在这种机械、微电子和计算机技术为一体的综合技术(例如机器人技术、数控技术)中,单片机将发挥非常重要的作用特别是近些年来,随着计算机技术的发展,工业自动化也发展到了一个新的高度,出现了无人工厂、机器人作业、网络化工厂等,不仅将人从繁重、重复和危险的工业现场解放出来,还大大提高了生产效率,降低了生产成本。仪器仪表:目前对仪器仪表的自动化和智能化要求越来越高
15、。在自动化测量仪器中,单片机应用十分普及。单片机的使用有助于提高仪器仪表的精度和准确度,简化结构,减小体积,易于携带和使用,加速仪器仪表向数字化、智能化和多功能化方向发展。消费类电子产品:该应用主要反映在家电领域。目前家电产品的一个重要发展趋势是不断提高其智能化程度。例如,电子游戏、照相机、洗衣机、电冰箱、空调、电视机、微波炉、手机、IC卡、汽车电子设备等。在这些设备中使用了单片机后,其功能和性能大大提高,并实现了智能化、最优化控制。通信方面:较高档的单片机都具有通信接口,因而为单片机在通信设备中的应用创造了很好的条件。例如,在微波通信、短波通信、载波通信、光纤通信、程控交换等通信设备和仪器中
16、都能找到单片机的应用。武器装备:在现代化的武器装备中, 如飞机、军舰、坦克、导单、鱼雷制导、智能武器设备、航天飞机导航系统,都有单片机在其中发挥重要作用。终端及外部设备控制:计算机网络终端设备,如银行终端,以及计算机外部设备如打印机、硬盘驱动器、绘图机、传真机、复印机等,在这些设备中都使用了单片机。近年来随着科技的飞速发展,同时带动自动控制系统日新月异更新,单片机的应用正在不断地走向深入。1.3 89S51单片机的简介 89S51是MCS-51系列单片机的典型产品,我们就这一代表性的机型进行系统的讲解。89S51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并
17、行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:如图1-1所示。图1-1 单片机内部结构示意图1、中央处理器中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。2、数据存储器(RAM)89S51内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用
18、户定义的字型表。3、程序存储器(ROM)89S51共有4KB掩膜ROM,最大可扩展64K字节,用于存放用户程序,原始数据或表格。4、定时/计数器:89S51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。5、并行输入输出(I/O)口:89S51共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。6、中断系统89S51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。1.4 89S51单片机的引脚89S51单片机内部总线是单总线结构,即数据总线和地址总线是公用的. 89S51有4
19、0条引脚, 与其他51系列单片机引脚是兼容的. 这40条引脚可分为I/O接口线、电源线、控制线、外接晶体线4部分。89S51单片机为双列直插式封装结构, 如图1-2所示:图1-2 89S51引脚分配图89S51单机的电源线有以下两种:(1) VCC:+5V电源线。电源线 (2) GND:接地线。89S51单片机的外接晶体引脚有以下两种: (1)XTAL1:片内振荡器反相放大器的输入端和内部时钟工作的输入端。采用内部振荡器时,它接外部石英晶体和微调电容的一个引脚。(2)XTAL2:片内振荡器反相放大器的输出端,接外部石英晶体和微调电容的另一端。采用外部振荡器时,该引脚悬空。外接晶体引脚,控制线。
20、 89S51单片机的控制线有以下几种:(1)RST:复位输入端,高电平有效。(2)ALE/PROG:地址锁存允许/编程线。(3)PSEN:外部程序存储器的读选通线。(4)EA/Vpp:片外ROM允许访问端/编程电源端。 1.5 89S51的特点89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,4个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,内部集成看门狗计时器片内时钟振荡器。其工作电压在4.55V,一般我们选用5V电压。 89S51相对于89C5
21、1增加很多功能,性能有了较大提升,价格基本不变,甚至比89C51更低! 其功能包括ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能。 最高工作频率为33MHz,大家都知道89C51的极限工作频率是24M,就是说S51具有更高工作频率,从而具有了更快的计算速度。它具有双工UART串行通道。 内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。双数据指示器。电源关闭标识。全新的加密算法,这使得对于89S51的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。兼容性方面:向下完全兼容51全部
22、字系列产品。比如8051、89C51等等早期MCS-51兼容产品。也就是说所有教科书、网络教程上的程序(不论教科书上采用的单片机是8051还是89C51还是MCS-51等等),在89S51上一样可以照常运行,这就是所谓的向下兼容。 因此我们选用AT89S51单片机来作为本系统的核心部分。第2章 交通灯的基本情况2.1 交通灯的结构十字路口简单的交通信号灯布置如图2-1所示。交通信号灯控制逻辑共有四个状态如下:(1)南北绿灯通行,东西红灯禁行(2)南北黄灯限行,东西红灯禁行(3)南北红灯禁行,东西绿灯通行(4)南北红灯禁行,东西黄灯限行图2-1 十字路口交通信号灯示意图2.2 交通灯的工作过程由
23、图2-1所示:交通灯将经过四步动作完成一个周期。即交通灯的东西绿灯亮东西绿灯闪烁东西黄灯亮东西红灯亮(南北红灯亮南北黄灯亮南北绿灯亮南北绿灯闪)其动作时序图。2.3 交通灯的控制方案东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮就允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。假设东西道比南北道的车流量大,指示灯燃亮的方案如图表2-1所示。表2-1 交通灯的控制状态时序表如图表2-1说明: (1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通
24、过,行人禁止通行。时间为60秒。(2)黄灯闪烁5秒,警示车辆和行人红、绿灯的状态即将切换。 (3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道路车辆禁止通过,行人通行。时间为80秒。 东西方向车流大 通行时间长。(4)这样如上表的时间和红、绿、黄灯出现的顺序依次出现这样行人和车辆就能安全畅通的通行。(5)此表可根据车流量动态设定红绿灯初始值。2.4 交通灯控制的行车图 对于一个交通路口来说,能在最短的时间内达到最大的车流量,就算是达到了最佳的性能,我们称在单位时间内多能达到的最大车流为车流量,用公式:车流量= 车流 / 时间 来表示。 图2-2a车辆行驶状态图S1 图2-2b 车辆行
25、驶状态图S2图2-2c 车辆行驶状态图S3 图2-2d 车辆行驶状态图S4图2-2 车辆行驶状态图图22循环执行,分别设定为s1、s2、s3、s4,交通灯以这四的状态为一个周期。请注意图2-2b和图2-2d,它们在一个时间段中四个方向都可以通车,这种状态能在一定的时间内达到较大的车流量,效率特别高。 第3章 方案论证与理论分析3.1 方案论证3.1.1电源提供方案 为了使各模块稳定工作,必须有可靠稳定电源。我们考虑了两种电源方案:方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平,反而会使各模块的电压不稳定
26、。方案二:采用芯片7805提供稳压电源,方式不仅可以使各模块电压稳定,而且使系统简明扼要,节约成本,缺点是输出功率不高。其典型应用电路如图3-1所示。图3-1 7805的引脚连接图输入端接电容Cin可以进一步滤除纹波,输出端接电容Cout负载瞬态影响,使电路稳定工作Cin、Cout最好采用漏电流小的钽电容,Cout一般不得小于0.1uF,如采用电解电容,则电容量要比图中数值增加10倍。综上所述,第二种方案更可行。3.1.2 显示界面方案 该系统要求完成倒计时的功能。基于上述原因,我们考虑了两种方案:方案一:完全采用 LED显示。这种方案可以显示各种符号和数码字苻,这种方案既满足系统功能要求,又
27、减少了系统实现的复杂度。 方案二:完全采用点阵式 LCD显示。这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。利用这很容易实现交通灯在紧急情况下处理能力。综上所述,第一方案就可以满足题目的要求,而且使系统变的简单可行。根据方案一,我们采用LED的静态显示原理。静态显示是指数码管显示某一字符时,相应的发光二极管恒定导通或恒定截止。这种显示方式的各位数码管相互独立,公共端固定接地(共阴极)或接正电源(共阳极)。每个数码管的8个字段分别与8位I/O口输出的一位相连。I/O口只要有段码输出,相应字符就显示来来,并保持不变,直到I/O口输出新的段码。3.1.
28、3 LED连接方案关于LED的显示的不同,我门可以讨论他的两种连接方案。方案一:采用静态显示方式,较小的电流即可获得较高的亮度且占用CPU时间少,编程简单,显示便于监测和控制。但其硬件电路复杂,成本高,只适合于显示位数较少的场合。多位静态显示接口应用,如要用P1口显示多位,则每位数码管都应有各自的锁存、译码及驱动器。还需有相应的位选通电路,位选通电路输出位码。单片机通过对位、段的相应控制实现多位静态显示。方案二:采用动态显示接口方式,动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。通常,各位数码管的段选线相应地并联在一起,由一个8位的I/O口控制,各位的位选线(共阴
29、极或共阳极)由另外的I/O口线控制。动态方式显示时,各数码管分时轮流选通,要使其稳定显示,必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码。依此规矩循环,即可使各位数码管显示需要显示的字符。虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔时间足够短就可以给人以同时显示的感觉。采用动态显示方式比较节省I/O口,硬件电路也较静态显示简单,所以我们选择第二种方案实现系统的显示功能。3.1.4 输入方案系统能够实现手动设灯亮时间我们讨论了两种方案:方案一:采用AT89S51的I/O接口连接显示。该方案的优点是
30、:使用灵活可编程,并且有 RAM及计数器。若用该方案,可使操作系统简单,设计也较容易实现。方案二:采用 ZLG7289来控制键盘及数码管显示。由于ZLG7289是串行控制方式,有专用的命令字,控制起来简单,且占用较少口线。由于该系统对于交通灯及LCD的控制,只用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故选择方案一。3.2 理论分析与计算 对于一个交通路口来说,能在最短的时间内达到最大的车流量,就算是达到了最佳的性能,我们称在单位时间内能达到的最大车流为车流量,用公式:车流量= 车流 / 时间来表示。设置在交通路口的交通灯每个方向都有红黄绿三个灯,在人行道上的各个方向也设置
31、了小人状且有闪烁效果,一个完整的交通灯系统应该有四种红绿灯状态。东西和南北方向的放行时间的长短是依据路口的各个方向平时的车流量来设定,并且S1、S2、S3、S4各个状态保持的时间之有严格的对应关系,其公式如下所示。其中为一个周期的总时间。我们可以依据上述的标准来改变车辆的放行时间。按照一般的规则,一个十字路口可分为主干道和次干道,主干道的放行时间大于次干道的放行时间,我们设定值时也应以此为参考。一般来说,交叉口的理想通行能力只有路段通行能力的50%,实际上只有路段通行能力的30 45%。先分析一下路段的最大通行能力。结合我国的情况,汽车驾驶员“根据时速确定前后两车间距,一般以时速公里数为间距米
32、数,在晴雨天都比较适用”的原则,若以 v(km/ h)计车速,一般车身长度以8m计,则有如下关系式: 其中Q为每车道每小时的通行车辆数,由 说明车流的通过量确实是随车速的增大而增多的,但按此式,混合车辆数又以每小时通过1000辆为其极限值,即:根据我国的车速、车况,我国每车道混合车型流量每小时以9001000辆为宜。也就是说,城市快速车道以每小时混合车型1000辆计,非快速车道按900辆计算为妥。因而,可以得到交叉口最大通行能力的一般计算公式:表示与交叉口相接的4个路段各自的车道数目。求得交叉口最大通行能力的意义在于:通过比较实际测得的交叉口通行能力和该交叉口最大通行能力,可以知道该交叉口提高
33、通行能力的潜力有多大。如果实测通行能力接近最大通行能力,还存在交通阻塞的话,说明通过“软件”的方法奏效不大,只能改造“硬件”。如果实测通行能力小于最大通行能力,说明该路口的调度策略存在改进的可能和必要,通过合理的调度方案,可以进一步通过其通行能力。第4章 硬件电路设计4.1 灯控制电路设计由于12个LED 来实现红绿灯状态,若直接接在单片机的口线,路口倒计时的显示就不能实现,所以本次设计中采用一种比较简单电路如图4-1所示。图4-1 灯控制电路观察图可以看出:两组发光管(分红,黄,绿三种)一端连接在单片机上,另一端接地。图中电阻串联的二极管的作用是为了分压,防止因上下两组发光管分压不同导致逻辑
34、的错误,以及防止由于在导电的瞬间电压过高损坏二极管。共四组和上述相同的电路分别代表东西南北四个方向的红绿灯,使用单片机软件系统对二极管控制,高电平驱动。4.2 LED显示系统4.2.1 LED显示器的显示方法及其与单片机的接口在单片机系统中,通常用LED数码显示器来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。如图4-2所示。LED显示器又称数码管,八段LED显示器由8个发光二极管组成。其中7个发光二极管构成字型“8”的各个笔画段,另一个小数点为dp发光二极管。LED显示器有两种不同的形式:一种是发光二极管的阳极都连在一起的,称之为共阳极LED显示
35、器;另一种是发光二极管的阴极都连在一起的,称之为共阴极LED显示器。共阴和共阳结构的LED显示器各笔划段名和安排位置是相同的。当二极管导通时,相应的笔划段发亮,由发亮的笔划段组合而显示各种字符。8个笔划段hgfedcba对应于一个字节(8位)的D7 D6 D5 D4 D3 D2 D1 D0,于是用8位二进制码就可以表示欲显示字符的字型代码。例如,对于共阴LED显示器,当公共阴极接地(为零电平),而阳极hgfedcba各段为0111011时,显示器显示P字符,即对于共阴极LED显示器,“P”字符的字形码是73H。如果是共阳LED显示器,公共阳极接高电平,显示“P”字符的字形代码应为1000110
36、0(8CH)。图4-2 LED数码管显示电路LED显示方式有动态显示和静态显示两种方式。本系统采用动态扫描显示接口电路,动态显示接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共极COM各自独立地受I/O线控制。CPU向字段输出口送出字型码时,所有显示器接收到相同的字型码,但究竟是哪个显示器亮,则取决于COM端。也就是说我们可以采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人
37、的印象就是一组稳定的显示数据,不会有闪烁感。常用的LED显示器有LED状态显示器(俗称发光二极管)、LED七段显示器(俗称数码管)和LED十六段显示器。发光二极管可显示两种状态,用于系统状态显示;数码管用于数字显示;LED十六段显示器用于字符显示。共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起。通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。编程扫描方式是利用C
38、PU完成其它工作的空余时间,调用键盘扫描子程序来响应键盘输入的要求。在执行键功能程序时,CPU不再响应键输入要求,直到CPU重新扫描键盘为止。LED数码管采用静态显示与单片机接口时,共阴级或共阳级点连接在一起接地或接高电平。每个显器位的段选线与一个8位并行口线对应相连,只要在显示位上的段选线上保持相应的显示字符。这里的8位并行口可以直接采用并行I/O接口线,也可以采用串入/并出的移位寄存器或是其他具有三态功能的锁存器等。为了节省I/O口线,通常采用串行口,工作子方式0作静态LED显示器的接口。前面已经分析过相向的灯的状态和倒计时都是相同的,所以为了节省,采用四组两个数码管作为倒计时的显示;同时
39、为了节省口资源,采用串口显示的方式驱动数码管。4.2.2 74LS164简介上图4-2是由74LS164做数码管的驱动系统,如图4-3所示。74LS164是8位串入并出移位寄存器。A、B为串行输入端,QA与QH为串行输出端,CLK为串行时钟输入端,为串行输出QB0 和QH0代表在稳态输入条件建立之前QA、QB和QH的输出状态;QAn、QBn和QHn代表在最近的时钟上升沿转换之前QA、QB和QH的输出状态;H/L、Qan和QBn代表在最近的时钟上升沿转换之后QA、QB和QH的输出状态。清零端,VCC为+5V电源输入端,GND为接地端。本设计实际上是利用串行的方式来扩展并行输出显示口。在MCS-5
40、1里,直接使用串行口很容易操作。将MCS-51单片机的串行口设置在工作方式0,只要把数据往SBUF里放,系统就自动将串行数据由RXD(P3.0)送出,其中移位时钟由TXD(P3.1)送出。 图4-3 74LS164引脚图依据输入输出关系图,将74LS164的A、B端与RXD相接,CLK与TXD相接,接高电平+5V,在满足条件时数据就传送到74LS164并寄存,管脚将自动置成相应的电平。将前一个74LS164的QH端连接到下一个74LS164的QA端,再将CLK端连接到一起并接到TXD,则送数据时,前后数据就会依次从上一个片子传到下一个片子。这里硬件设计上只需要扩展四个并行输出显示口,因此TXD
41、的驱动能力不容置疑,按上述直接相连就可以,不需要在TXD与CLK之间作驱动处理。74LS164的输出端QA、QBQH无内置的限流电阻,一般不能与LED数码管直接相连,需加外接限流电阻,这里采用300限流电阻。左边LED数码管用于显示键入的数,右边两个LED数码管用于显示数平方后的结果。在程序上,根据所设计的硬件,74LS164之间是串接在一起来串行传送数据的,不能直接对其中某一个74LS164进行数据操作,因此显示时要对各个74LS164的数据都送一遍才能正确显示数据。本题平方值的求取还是采用查表的方法,主程序与14495显示接口实训的基本一样,目的在于突出端口扩展的理解运用。4.3 晶阵介绍
42、8051片内设有一个由反向放大器所构成的振荡电路,XTAL1和 XTAL2分别为振荡电路的输入和输出端,时钟可以由内部方式产生或外部方式产生。内部方式时钟电路如图4-4所示。在XTAL1和 XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶振可以在1.2MHz到12MHz之间选择,电容值在5-30PF之间选择,电容的大小可起频率微调作用。如图4-4所示。外部方式的时钟很少用,若要用时,只要将XTAL1接地,XTAL2接外部振荡器就行。对外部振荡信号无特殊要求,只要保证脉冲宽度,一般采用频率低于12MHz的方波信号。图4-4 晶阵电路时
43、钟发生器把振荡频率两分频,产生一个两相时钟信号P1和P2供单片机使用。P1在每一个状态S的前半部分有效,P2在每个状态的后半部分有效。4.4 电源设计电源部分的核心器件是7805,该输出电压是固定的5V,7805的优点固定输出稳压集成电路以其体积小,安装调试方便,稳压精度高,因此选用此器件设计。78系列集成稳压器外形如图4-5所示,1脚为电压输入端,2脚为公共地端,3脚为电压输出端。集成稳压器正常工作时,在3脚应输出与其稳压值相同的电压,供给负载使用。78系列集成稳压器各管脚之间阻值随生产厂家不同,稳压值不同,和批号不同均有较大差异,所以单靠普通万用表来测试管脚电阻是不能准确判别其好坏的。如果
44、是同一厂家,同一稳压值,同一批号的产品,各管脚间的具体电阻可作为对比标准。首先测出好的稳压器的各管脚间阻值,将其与待测稳压器的管脚值对比,若出入较大,则说明待测稳压器有问题。实际上,比较简单可靠的方法是加电测试,在78系列稳压器1脚 和2脚加上直流电压Vi,一定要注意极性,Vi应比稳压器的稳压值至少高2V,但最高不要超过35V。将万用表调至直流电压挡,测量3脚与2脚间的电压,若数值与稳压值相同,则证明此稳压器是好的。图4-5 7805稳压电源电路图4-5中的助输出电源是以7805为主构成的+5V固定输出电源,它既向内提供+5V电压,又可向外输出。4.5 按键原理在单片机应用系统中,除了复位按键
45、有专门的复位电路及专一的复位功能外,其它按键都是以开关状态来设置控制功能或输入数据的。当所设置的功能键或数字键按下时,计算机应用系统应完成该按键所设定的功能,键信息输入是与软件结构密切相关的过程。对于一组键或一个键盘,总有一个接口电路与CPU相连。CPU可以采用查询或中断方式了解有无将键输入,并检查是哪一个键按下,将该键号送入累加器ACC,然后通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。微机键盘通常使用机械触点式按键开关,其主要功能是把机械上的通断转换成为电气上的逻辑关系。也就是说,它能提供标准的TTL逻辑电平,以便与通用数字系统的逻辑电平相容。机械式按键再按下或释放时,由于机械
46、弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程如图4-6所示,抖动时间的长短与开关的机械特性有关,一般为510 ms,在触点抖动期间检测按键的通与断状态,可能导致判断出错,即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施。这一点可从硬件、软件两方面予以考虑。在键数较少时,可采用硬件去抖,而当键数较多时,采用软件去抖,本次设计采用软件消抖。图4-6 消抖原理图4-6 消抖原理键盘是由若干按键组成的开关矩阵,它是微型计算机最常用的输入设备,用户可以通过键盘向计算机输入指令、地址和数据。本系统中采用独立式按键结构,如图所示,各按键相互独立地接通一条输入数据线,当任何一个键按下时,与之相连的输入数据线即被置0,而平时该线置1。独立式按键电路配置灵活,软件结构简单。当功能键不很多时,采用该种方式比较合适