




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
青岛理工大学毕业论文目 录摘 要IABSTRACTII前 言1第1章 绪 论3 1.1 单片机简介3 1.2 单片机发展概述4 1.3 单片机的发展趋势6第2章 交通灯的设计方案8 2.1设计要求8 2.2 基本原理8 2.3 交通灯控制线路图11第3章 控制交通灯的硬件设计12 3.1 MSC-51芯片12 3.1.1 AT89C51单片机的引脚及功能12 3.1.2 内部结构和工作原理15 3.1.3 AT89C51 单片机的复位电路和时钟振荡电路19 3.2 移位寄存器74LS164芯片20 3.3 LED显示器22 3.3.1 LED显示器的结构和原理22 3.3.2 LED显示器的显示方式25第4章 交通灯的软件设计28 4.1 延时设计28 4.1.1 硬件延时28 4.1.2 软件延时32 4.2 时间及信号灯的显示33 4.2.1 74LS164 8位并行输出串行输入移位寄存33 4.2.2 显示原理33 4.2.3 数码管显示器显示33 4.3 程序设计34 4.3.1 程序流程图34 4.3.2 程序源代码36 4.3.3 测试结果39结 论40致 谢41参考文献42附件1:外文原文44附录2:外文翻译5155前 言 随着我国社会经济的快速发展,城市化、城镇化进程的加快,道路交通堵塞问题日趋严重,如何对交通进行合理的管理和调度且尽可能减少堵车现像成为目前我国很多地方尤其是特大城市急需解决的问题,显然交通灯在其中起着不可缺少的作用。 当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。这一技术在19世纪就已出现。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械扳手式信号灯,用以指挥马车通行,这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两种旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,致使警察受伤,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年开始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯有两种,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯是当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定:绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向,左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行;红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车;黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。我国机动车辆发展迅速,许多大城市出现了交通超负荷运行的情况。因此,80年代后期,这些城市纷纷修建城市高速道路。然而随着交通量的快速增长和缺乏对高速道路的系统研究和控制,高速道路没有充分发挥出预期的作用。人们的消费水平不断提高,私人车辆不断增加,车多道路少的道路交通状况已经很明显。我国是13亿多人口的大国,到2004年全国的机动车保有量超过了6000万,而全国通车总里程只有14.3万公里。静态比例为:人均车辆约0.5辆,人均道路只有0.00011公里,每辆车平均道路占有量约为0.002公里,其中90%的道路属于机动车与非机动车及行人混杂。车辆的增加反映出了国家的整体进步,同时也带来了负面的影响。今后几年机动车辆还在不断增加,道路超负荷运载使得交通事故不断增加。在一个交通十字路口,如果还是像以前一样由单纯的一种信号灯和交通警察的协调来维持交通是不够的。据统计每年因交通事故死亡的人数占所有总事故死亡人数的80%,并且比例还在不断上升。如果将每个交通十字路口多余的警察撤回,安排在最不利于管理和事故高发地段,这样不仅可以大大降低交通事故的发生率,还可以节省大量的人力财力。基于新型的可编程交通控制系统(以下简称交通控制系统)可以实现对车辆、行人的控制,使得交通便于管理。因此采用单片机自动控制交通灯具有现实的社会意义。本系统由单片机系统、LED显示系统等组成。系统除基本的交通灯功能外还具有倒计时时间设置功能、紧急情况处理功能及根据具体情况手动控制功能等。在紧急情况下设置交通灯状态为:全红:东西南北所有方向禁止通行。南北红东西绿:南北方向禁行,东西方向通行。东西红南北绿:东西方向禁行,南北方向通行。第1章 绪 论1.1 单片机简介单片机是一种集成电路芯片,它采用超大规模技术把具有数据处理能力(如算术运算,逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口),可能还包括定时计数器,串行通信口(SCI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换器及A/D转换器等电路集成到一块芯片上,构成一个小而完善的计算机硬件系统。这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。 由此看出,单片机有着微处理器所不具备的功能,即它可单独地完成现代工业控制所要求的智能化控制功能,这也是单片机最大的特征。单片机控制系统能够取代以前复杂的电子线路或数字电路构成的控制系统,可以用软件控制来实现智能化。现在单片机控制范畴无处不在,如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装置等等,单片机的应用领域越来越广泛。不同的单片机有着不同的硬件特征和软件特征,即它们的技术特征均不尽相同,硬件特征取决于单片机芯片的内部结构 ,用户要使用某种单片机,必须了解该型号产品是否满足需要的功能和应用系统所要求的特性指标。这里的技术特征包括功能特性、控制特性和电气特性等,这些信息需要从生产厂商的技术手册中得到。软件特征是指指令系统特性和开发支持环境,指令特性即我们熟悉的单片机的寻址方式,数据处理和逻辑处理方式,输入输出特性及对电源的要求等。开发支持的环境包括指令的兼容及可移植性,支持软件(包含可支持开发应用程序的软件资源)及硬件资源。要利用某型号单片机开发自己的应用系统就必须掌握其结构特征和技术特征。单片机不同于单板机,单片机芯片在没有开发前,它只是具备功能超强的超大规模集成电路,如果赋予它特定的程序,它便是一个小而完整的微型计算机控制系统。它与单板机或个人电脑(PC机)有着本质的区别,单片机的应用属于芯片级应用,需要用户了解单片机芯片的结构和指令系统以及其集成电路应用技术和系统设计所需要的理论和技术。用这样特定的芯片设计应用程序,从而使该芯片具备特定的功能。显然,单片机的应用意义远不限于它的应用范畴或由此带来的经济效益,更重要的是它已从根本上改变了传统的控制方法和设计思想,是控制技术的一次革命,是一座重要的里程碑。 1.2 单片机发展概述1946年第一台电子计算机诞生至今,只有50年的时间,依靠微电子技术和半导体技术的进步,从电子管晶体管集成电路大规模集成电路,现在一块芯片上完全可以集成几百万甚至上千万只晶体管,使得计算机体积更小,功能更强。特别是近20年时间里,计算机技术获得飞速的发展,计算机在工农业,科研,教育,国防和航空航天领域获得了广泛的应用,计算机技术已经是一个国家现代科技水平的重要标志。20世纪70年代,微电子技术正处于发展阶段,集成电路属于中规模发展时期,各种新材料新工艺尚未成熟,单片机仍处在初级的发展阶段,元件集成规模还比较小,功能比较简单。一般均把CPU、RAM及一些简单的I/O口集成到芯片上,像Fairchild公司就属于这一类型,它还需配上外围的其他处理电路方才构成完整的计算系统。类似的单片机还有Zilog公司的Z80微处理器。 单片机诞生于20世纪70年代,像Fairchild公司研制的F8单片微型计算机。1976年INTEL公司推出了MCS-48单片机,这个时期的单片机才是真正的8位单片微型计算机,并推向市场。它以体积小,功能全,价格低赢得了广泛的应用,为单片机的发展奠定了基础,成为单片机发展史上重要的里程碑。 在MCS-48的带领下,其后,各大半导体公司相继研制和发展了自己的单片机,像Zilog公司的Z8系列。到了80年代初,单片机已发展到了高性能阶段,像INTEL公司的MCS-51系列,Motorola公司的6801和6802系列,Rockwell公司的6501及6502系列等等,此外,日本的著名电气公司NEC和HITACHI都相继开发了具有自己特色的专用单片机。1982年以后,16位单片机问世。代表产品是INTEL公司的MCS-96系列,16位单片机比起8位机,数据宽度增加了一倍,实时处理能力更强,主频更高,集成度达到了12万只晶体管,RAM增加到了232字节,ROM则达到了8kB,并且有8个中断源,同时配置了多路的A/D转换通道,高速的I/O处理单元,适用于更复杂的控制系统。 80年代,世界各大公司均竞相研制出品种多功能强的单片机,约有几十个系列,300多个品种。此时的单片机均属于真正的单片化,大多集成了CPU、RAM、ROM、数目繁多的I/O接口、多种中断系统,甚至还有一些带A/D转换器,功能越来越强大,RAM和ROM的容量也越来越大,寻址空间甚至可达64kB,可以说,单片机发展到了一个全新阶段,应用领域更广泛,许多家用电器均走向利用单片机控制的智能化发展道路。 九十年代以后,单片机获得了飞速的发展,世界各大半导体公司相继开发了功能更为强大的单片机。美国Microchip公司发布了一种完全不兼容MCS-51的新一代PIC系列单片机,引起了业界的广泛关注。特别地,它的产品只有33条精简指令集,这个优点使得此系列单片机吸引了不少用户。使人们从INTEL的111条复杂指令集中走出来,PIC系列单片机获得了快速的发展,在业界中占有一席之地。 随后的事情,熟悉单片机的人士都比较清楚了,更多的单片机种蜂拥而至,Zilog公司的Z8系列产品代表作是Z8671,内含BASIC Debug解释程序,极大地方便用户使用。而美国国半公司的COP800系列单片机则采用先进的哈佛结构,ATMEL公司则把单片机技术与先进的Flash存储技术完美地结合起来,发布了性能相当优秀的AT89系列单片机。其中中国台湾的HOLTEK和WINBOND公司生产的单片机也纷纷加入了此发展行列,凭着他们廉价的优势,分享一杯美羹。1990年美国INTEL公司推出了80960超级32位单片机引起了计算机界的轰动,产品相继投放市场,成为单片机发展史上又一个重要的里程碑。 MOTOROLA公司相继发布了MC68HC系列单片机,日本的几个著名公司都研制出了性能更强的产品,但日本的单片机一般均用于专用系统控制,而不像INTEL等公司投放到市场形成通用单片机。NEC公司生产的UCOM87系列单片机,其代表产品UPC7811是一种性能相当优异的单片机。MOTOROLA公司生产的MC68HC05系列单片机具有的高速低价的特点。此期间,单片机品种异彩纷呈,争奇斗艳。单片机有8位、16位甚至32位机,但8位单片机仍以它的价格低廉、品种齐全、应用软件丰富、支持环境充分、开发方便等特点而占着主导地位。而INTEL公司凭着他们雄厚的技术,良好的基础,目前仍是生产单片机的主流公司。只不过是九十年代中期,INTEL公司忙着开发他们个人电脑微处理器,已没有足够的精力继续发展自己创导的单片机技术,而由PHILIPS等公司继续发展C51系列单片机。1.3 单片机的发展趋势现在可以说单片机处在百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机。从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。 纵观单片机的发展过程,预示单片机的发展趋势大致有:1主流与多品种共存 现在虽然单片机的品种繁多,各具特色,但仍以80C51为核心的单片机占主流,兼容其结构和指令系统的产品有PHILIPS公司的产品,ATMEL公司的产品和中国台湾的Winbond系列的产品。因此C8051为核心的单片机占据了半壁江山,而Microchip公司的PIC精简指令集(RISC)也有着强劲的发展势头,中国台湾的HOLTEK公司近年的单片机产量与日俱增,其低价质优的优势占据一定的市场份额。此外还有MOTOROLA公司的产品,日本几大公司的专用单片机。在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,它们走的是依存互补,相辅相成、共同发展的道路。 2低功耗CMOS化 MCS-51系列的8031推出时的功耗达630mW,而现在的单片机普遍都在100mW左右。随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。像80C51就采用了HMOS(即高密度金属氧化物半导体工艺)和CHMOS(互补高密度金属氧化物半导体工艺)。CMOS虽然功耗较低,但由于其物理特征决定的其工作速度不够高,而CHMOS则具备高速和低功耗的特点。这些特征,更适合于在要求低功耗供电的应用场合。所以这种工艺将是今后一段时期单片机发展的主要途径。 3微型单片化 现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗),有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。 此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。第2章 交通灯的设计方案2.1设计要求 (1)显示时间通过AT89C51的P3.0、P3.1口输出到74LS164后并行输出到七段数码管显示。 (2)当有救护车、消防车等特殊车辆通过时,可以使四个方向均亮红灯,当救护车、消防车通过后恢复原有状态。 (3)通过AT89C51芯片的P1口和P2口设置红、绿灯燃亮时间。 2.2 基本原理东西、南北两干道交于一个十字路口,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态4然后循环至状态1,周而复始,即如图2.1所示。通过具体的路口交通灯状态的演示分析归纳如下: 图2.1 交通状态 (1)东西方向红灯灭,同时绿灯亮,南北方向黄灯灭,同时红灯亮,倒计时25 秒。此状态下,东西向禁止通行,南北向允许通行。 (2)东西方向绿灯倒计时至5秒,同时黄灯亮;南北方向红灯亮。此状态下,除了已经正在通行中的其他所有车辆都需等待状态转换。 (3)南北方向红灯灭,同时绿灯亮;东西方向黄灯灭,同时红灯亮,倒计时25秒。此状态下,东西向允许通行,南北向禁止通行。 (4)南北方向绿灯倒计时至5 秒,同时黄灯亮;东西方向红灯亮。此状态下,除了已经正在通行中的其他所有车辆都需等待状态转换。 下面我们可以用图表表示灯状态和行止状态的关系如表2-1:表2-1 灯状态和行止状态状态1状态2状态3状态4东西向禁行等待变换通行等待变换南北向通行等待变换禁行等待变换东西红灯1100东西黄灯0001东西绿灯0010南北红灯0011南北绿灯1000南北黄灯0100东西南北四个路口均有红、绿、黄3个灯和数码显示管2个,在任一路口,遇红灯禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换。说明:“0”表示灭,“1”表示亮。2.3 交通灯控制线路图交通灯硬件控制线路图如图2.3.3所示:图2.3 交通灯控制线路图 第3章 控制交通灯的硬件设计3.1 MSC-51芯片 3.1.1 AT89C51单片机的引脚及功能AT89C51是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,内含4K bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C51单片机可适用于许多高性价比的应用场合,灵活应用于各种控制领域。主要特性: 与MCS-51 兼容 4K字节可编程闪烁存储器寿命:1000写/擦循环 数据保留时间:10年全静态工作:0Hz-24Hz 三级程序存储器锁定1288位内部RAM 32可编程I/O线两个16位定时器/计数器 5个中断源可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 AT89C51单片机采用40脚双列直插式DIP40封装,其引脚排列图如下图3.1所示:图3.1 AT89C51引脚结构引脚说明:VCC(40脚):+5V电源端。 GND(20脚):接地端。 P0口(P0.0P0.7,3239脚):P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写“1”时,被定义为高阻输入,P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FLASH编程时,P0 口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口(P1.0P1.7,18脚):P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入“1”后,被内部上拉为高电平,可用作输入,P1口被外部下拉为低电平时,将输出电流。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口(P2.0P2.7,2128脚):P2口为一个内部提供上拉电阻的8位双向I/O口,P2口缓冲器可接收输出4TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此当作为输入时,P2口的管脚被外部拉低,输出电流。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用的是内部上拉优势。当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口(P3.0P3.7,1017脚):P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4TTL门电流。当P3口写入“1”后,它们内部被上拉为高电平,并用作输入,此时外部下拉为低电平,P3口将输出电流。P3口也可作为AT89C51的一些特殊功能口,如下表3-1所示: 表3-1 特殊功能口端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外中断0)P3.3/INT1(外中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器1)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。MCS-51单片机具有串行通信的功能,串行数据的接收和发送就是通过P3端口的第二功能引脚RXD及TXD来实现的。RST(9脚):复位信号输入端。当输入的复位信号保持两个机器周期以上的高电平时,用来完成复位操作。ALE/PROG(30脚):当CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作外部输出的脉冲或用于定时。要注意的是:当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR 8EH地址上置0。此时, ALE只有在执行MOVX、MOVC指令时才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,则置位无效。 /PSEN(29脚):外部程序存储器的选通信号端。在外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP(31脚):加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,CPU首先访问内部程序存储器,并可自动延续至片外程序存储器。在FLASH编程期间,此引脚也用于施加+12V编程电源(VPP)。 当/EA保持低电平时,CPU只访问外部程序存储器,而不管是否有片内程序存储器。XTAL1(19脚):反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2(18脚):来自反向振荡器的输出。 振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器,石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。由于输入至内部时钟信号时要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须满足脉冲的高低电平的要求。 3.1.2 内部结构和工作原理MCS-51系列单片机的内部结构示意图3.2如下:图3.2 单片机内部结构框图AT89C51是具有MCS-51内核、片内带有4KB的Flash ROM的单片机。AT89C51主要由以下部件组成: (1)CPU 中央处理单元CPU是单片机的核心部分,是单片机的指挥和执行机构,从功能上看CPU包括两个基本部分:运算器和控制器。运算器即算术逻辑运算单元(Arithmetic Logic Unit,ALU),是进行算术或逻辑运算的部件,它包括一个算术逻辑单元ALU,一个累加器ACC,两个暂存寄存器、程序状态字PSW以及B寄存器和布尔处理器等。ALU是算术逻辑运算的核心,用来完成基本的算术和逻辑运算。其典型功能包括对8位数据进行算术加、减、乘、除及逻辑与、或、异或、取反、移位等运算,以及循环移位、位操作等。操作结果一般送回累加器(Accumulator ACC),而其状态信息送至程序状态寄存器(Program Status Word,PSW)的相应标志位。暂存寄存器1、2是用来暂存数据和状态,以便数据的传送和运算。累加器ACC是一个8位寄存器,同一般微处理器一样,是最常用、最繁忙的一个寄存器。它的功能主要是存放操作数和运算的中间结果、作为数据传送的中转站、在变址寻址方式中作为变址寄存器。控制器是用来控制计算机工作的部件,接受来自存储器的指令,进行译码,并通过定时和控制电路,在规定的时刻发出指令所需的各种信息和CPU外部所需的各种控制信号,使各部分协调工作,完成指令所规定的操作。单片机执行一条指令的全过程是,先从程序存储器中读出指令,送指令寄存器保存,然后送指令译码器来译码,译码结果送定时控制电路,在定时控制电路里产生各种定时信号和控制信号,再送到系统的各个部分进行相应的操作。 (2) 内部数据存储器RAM AT89C51芯片内共有256B(地址为:00HFFH)的数据存储器,地址为8位。其中高128B(地址为80HFFH)被专用寄存器占用,能作为存储单元供应户使用的只是低128B(地址为:00H7FH),用于存放可读写的数据,如程序执行过程中的变量。 (3)内部程序存储器 AT89C51共有4KB(地址为:0000H0FFFH)的Flash程序存储器,用于存放程序、原始数据和表格常数。 (4)定时/计时器 AT89C51共有两个16位的定时/计时器,每个定时/计时器可以设置成计数方式,用于对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现对单片机运行的控制。 (5)并行端口 AT89C51共有4个8位的可编程并行I/O口,分别记作P0、P1、P2、P3,共占有32根引脚。每个8位的I/O口,既可以做输入口,也可用作输出口,每个口既可以8位同步读写,又可以对每一位进行单独操作,十分方便。在4个口中,只有P0口是一个真正的双向口,而P1、P2、P3都是准双向口。因为只有P0口可用作系统的数据总线,为保证正确数据传送,要求只有在数据传送时,单片机内外才接通,在不进行数据传送时,单片机内外应处于隔离状态。因此要求P0口的输出电路是一个三态门,即有高电平、低电平和高阻隔离三个状态。P0口的输出电路有两个场效应管组成,构成一个三态门,因此它是真正的双向口;在P1、P2、P3的结构中,其输出电路由上拉电阻和一个场效应晶体管组成,这样的输出电路没有高阻隔离状态,不是一个三态门,因此称它们为准双向口。 (6)串行端口 AT89C51单片机有一个全双工的串行接口,以实现单片机和其它设备之间的串行数据传送。全双工配置是一对单向配置,它要求两端的通信设备都具有完整和独立的发送和接受能力,这种制式需要两条数据线。该串行口功能较强,既可以作为全双工异步通信收发器使用,也可以作为同步移位器使用。 (7)中断系统 AT89C51单片机有较强的中断系统,可以满足控制应用的需要。AT89C51的中断系统有5个中断源,包括两个定时器溢出中断、两个外部中断和一个串行口中断。外中断是由单片机外部原因引起的,共有两个中断源,即外部中断0和外部中断1。它们的中断请求信号分别由引脚/INT0(P3.2)和/INT1(P3.3)引入。外部中断请求信号有两种方式触发中断系统工作,即电平方式和脉冲方式。电平方式是低电平有效,只要单片机在中断请求信号输入端(/INT0或/INT1)上采样到有效的低电平,就激活外部中断。要使低电平能被采样到,低电平持续的时间不得少于一个机器周期。而脉冲方式是在脉冲的下降沿有效,单片机在连续两次对中断信号的采样中,如前一次为高电平,后一次为低电平,即为一次有效的中断请求信号。在这种方式下,为了确保下降沿能被单片机采样到,高电平和低电平持续的时间都不能少于一个机器周期。定时器溢出中断源有内部定时器中断源产生,故他们属于内部中断。内部有两个16位定时/计数器,对内部定时脉冲或T0/T1引脚上输入的外部计数脉冲计数。定时器T0/T1在定时脉冲或计数脉冲的作用下从全“1”变为全“0”时可以自动向CPU提出溢出中断请求,以表示定时器T0或T1的定时时间已到或计数脉冲已满。串行口中断由内部串行口中断源产生,故也是一种内部中断。 (8)时钟电路 AT89C51芯片的内部有时钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列。 3.1.3 AT89C51 单片机的复位电路和时钟振荡电路复位是使单片机或系统中的其他部件处于某种确定的初始状态,单片机的工作就是从复位开始的。8051的复位引脚(RST)是第9脚,引脚是复位信号的输入端,复位信号是高电平,当此引脚连接高电平超过2个机器周期(一个机器周期为6个时钟脉冲),即可产生复位的动作。当在80C51单片机引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作(如果RST引脚继续保持高电平,单片机就处于循环复位状态)。复位操作有两种基本形式:一种是上电自动复位电路,另一种是上电与按键均有效的复位电路,如图3.3所示:图3.3 单片机上电自动复位和手动复位电路 AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷以及两个微调电容形成反馈电路,构成一个稳定的自激振荡器来产生振荡脉冲,振荡电路参见图3.4、图3.5。图3.4 单片机晶振内部振荡电路图3.5 单片机晶振外部振荡电路3.2移位寄存器74LS164芯片在许多应用系统中,需要处理的开关量或并行输入输出数据较多,芯片内部资源又不够用,若采用一些专用的可编程标准I/O接口芯片则成本高,体积也大,此时可采用某些74LS系列TTL电路或CMOS电路锁存器、三态门电路作为I/O口扩展芯片。这些芯片一般都是通过数据总线P0口扩展,具有电路简单、成本低、配置灵活的优点。需要注意的是:扩展输入口时,一定要选用具有三态功能的芯片,否则将影响总线的正常工作。单片机系统中,并行口的I/O资源不够,而串行口又没有其他的作用,那么我们可以用74LS164来扩展并行I/O口,节约单片机资源。74LS164是一个串行输入并行输出的移位寄存器并带有清除端,74LS164为单向总线驱动器。74LS164 引脚如 图3.6所示: 图3.6 74LS164引脚图引脚说明:QAQH 并行输出端 ;A、B串行输入端;/CLR 清除端,为0时,输出清零;CLK时钟输入端。其功能真值表如表3-2所示:表3-2 74 LS164真值表输 入输 出清 除时 钟A BQA QB QCLXX XL L LHLX XQA QB QHHH HH QA QGHL XL QA QGHX LL QA QG其中:H高电平 L低电平 X任意电平 低到高电平跳变当清除端/CLR被开通输出端(QAQH)均为低电平。串行数据输入端(A、B)可控制数据:当 A、B任意一个为低电平,则禁止新数据输入,在时钟端(CLK)脉冲上升沿作用下QA为低电平。当A、B 有一个为高电平,则另一个就允许输入数据,并在(CLK)上升沿作用下决定QA 的状态,即每当CLK有一个上升沿,数据就移一位,当经过了八个上升沿之后,就从QA-QH输出端得到输入数据的八位并行输出。由于74LS164在低电平输出时,允许灌入的电流可达8mA,故不需要再加驱动器。串行输入带锁存,时钟串行输入带缓冲。最高时钟频率可达36MHZ,功耗为10mW/bit。74系列工作温度为070,VCC最高电压为+7V。串行口为方式0状态,即工作在移位寄存器方式,波特率为振荡频率的十二分之一。器件执行任何一条将SBUF作为目的寄存器的命令时,数据便开始从RXD端发送。在写信号有效时,相隔一个机器周期后发送控制端SEND有效,即允许RXD发送数据,同时,允许从TXD端输出移位脉冲。第一帧(8位)数据发送完毕时,各控制信号均恢复原状态,只有TI保持高电平,呈现出中断申请状态。第一个74LS164把第一帧数据并行输出,LED1显示该数据。然后,用软件将TI清0,发送第二帧数据。第二帧数据发送完毕,LED1显示第二帧数据,第一帧数据串行输入给第二个74LS164,LED2显示第一帧数据。依此类推,直到把数据区内所有数据发送出去。应该注意,数据全部发送完后,第一帧数据是在最后一个LED显示。由于TXD端最多可以驱动8个TTL门,当LED显示器超过8个时,我们采用74LS244芯片驱动。每个74LS244有8路驱动,每一路可驱动8个LED,即每增加一个74LS244,可增加64个LED驱动。3.3 LED显示器 3.3.1 LED显示器的结构和原理LED显示块是由发光二极管显示字段的显示器件,也称数码管。在单片机应用系统中通常使用的LED显示器是由7个发光二级管按“日”排列封装后构成,所以也称之为7段LED显示器,其笔画和管脚配置如图3.7(c)所示,七段数码管用于显示09的数字、部分英文字母及其他符号。LED显示器内部发光二极管的连接方法有两种:一种是将所有发光二极管的阴极连接在一起,称共阴极接法,如图3.7(a)所示。若公共阴极接地,则哪段发光二极管的阳极端接高电平哪段导通点亮,低电平则不亮。另一种则是将阳极连接在一起,称共阳极接法,如图3.7(b)所示。共阳极LED显示器的发光二极管的阳极接到+5V电源上,当要点亮某个发光二极管时,只要其阴极为“0”电平即可。实际上七段LED 显示块中有八个发光二极管,其中七个发光二极管构成字形“8”,一个发光二极管构成小数点。七段发光二极管再加上小数点位,共计8段,因此提供给LED显示器的字形数据正好一个字节。其对应关系如所示:(a)共阴极 (b)共阳极 (c)管脚配置图3.7 LED显示器结构表3-3 管脚对应图D7D6D5D4D3D2D1D0dpgfedcbaLED显示块与微机接口非常容易,以共阴极LED显示器为例:把一个共阴极LED显示器的adp段依次与单片机的一个通用I/O口的Q0Q7位相连,将公共阴极接地,当I/O口的某位输出高电平时,对应的发光二极管点亮。如要显示字符“0”,向I/O口输出数据“00H”时,实际上显示器并非显示字符“0”,而是全部熄灭。只有当I/O口输出数据“3FH”时,因显示器对应a、b、c、d、e、f各段的阳极为高电平而点亮,显示结果为字符“0”。因此要使显示器显示所需要的字符,实际上就要送一个用不同电平组合代表的数据字来控制LED的亮灭,此数据字称为显示字符的字段码(或叫字形代码)。如“3FH”就是共阴极显示器显示字符“0”时的字段码。显然,由于共阳极LED显示器控制LED亮的电平与共阴极相反,故字段码与共阴极LED也不一样。如表3-4列出了共阳极和共阴极LED显示器显示一些常用字符所对应的字段码。表3-3 七段LED的段选码显示字符共阴极段选码共阳极段选码显示字符共阴极段选码共阳极段选码03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H 34FHB0HF71H84H 466H99HP73H82H 5 6DH92HU3EHC1H 67DH82Hr31HCEH 707HF8Hy6EH91H 87FH80H8FFH00H 96FH90H“灭”00HFFHA77H88H B 7CH83H公共极称为位选线。共阳极与共阴极的段选码互为补数。将要显示的字符转换成相应字段码的过程称为译码。通常有硬件与软件两种译码方法。硬件译码是CPU直接输出待显示字符的BCD码(4位二进制数)到硬件译码芯片(74LS47、MC14495),由译码器译出相应的字段码至LED显示器,这种方法编程简单,但需要增加硬件成本,不能译出特殊字段的字段码,小数点也要另外处理。软件译码是采用软件编程的方法来获得待显示字符的8位字段码,通过并行I/O口输出至LED显示器,这种方法成本低,可显示8段LED显示器所能显示的任何字形及小数点,在显示器的接口技术中广泛采用。 3.3.2 LED显示器的显示方式 在计算机控制系统中,常常要使用LED数码管构成N位LED显示器,图3.8是N位LED显示器的构成原理图。图3.8 N位LED显示器 N位LED显示器有N根位选线和8N根段选线。段选线控制字符选择,即控制显示的内容,位选线控制显示位的亮、暗,即控制在哪个LED上显示。LED显示器有静态显示和动态显示两种方式。根据显示方式不同,位选线与段选线与计算机的连接方法也各不相同。(1)LED静态显示方式当显示器显示某一字符时,相应段的发光二极管恒定地导通或截止,并且显示器的各位可同时显示,静态显示较小的驱动电流能得到较高的显示亮度。在静态显示方式下,共阴极或共阳极连接在一起接地或+5V,每位的段选线(a-dp)分别与一个8位并行口相连,即一位LED显示器需要一个8位的并行I/O口。图3.9表示了一个N位LED显示器的静态接口电路,每位可独立显示。CPU只要将所显示字符的字段码分别送到相应的输出口上,在同一时刻各位显示器就能显示并保持相应的字符,如CPU对各口不重新输出新的字段码,显示器将保持当前的显内容不变。 静态显示的优点是显示程序简单,显示亮度高且稳定,不刷新内容时不用CPU去干预,可节约CPU的时间。但它的缺点主要是显示位数较多时需占用较多的I/O口线。而扩展I/O口线将提高硬件成本,故静态显示一般用于显示位数较少的系统中。 N位静态显示器要求有N8根I/O口线,占用I/O口线资源较多。故在位数较多时往往不采用静态显示。 图3.9 4位静态LED显示器电路 (2) LED动态显示方式应用系统中需要LED显示器的位数较多时,为减少I/O口数目,简化电路,降低成本,LED显示器常采用动态显示方式。动态LED显示器的电路连接特点是将各位LED显示器的所有对应段线并联在一起,由一个8位I/O口控制输出字段码,而每位LED显示器的公共端(共阳极点或共阴极点)不直接接地或+5V电源,而是分别由另外的I/O口线控制(称为位选)。LED显示器的显示内容通过断码I/O口和位选I/O口的相互配合控制,以动态扫描显示的工作方式输出待显示的内容。图3.10就是一个8位LED动态显示器电路。图3.10 8位LED动态显示器电路 8位LED动态显示电路只需要两个8位I/O口,其中一个口控制段选码,另一个口控制位选。要想每位显示器显示不同的字符,必须采用轮流扫描显示方式。LED数码显示器的动态扫描显示过程:就是轮流点亮显示器的各个位。对于显示器的每一位而言,每隔一段时间点亮一次,即在同一时刻只使某一位数码显示器显示相应字符。在此瞬间,段选码由控制I/O口输出相应字符电平,位选I/O口输出位选码以保证该位显示器显示相应字符。如此轮流,使每位显示器轮流显示该位应显示的字符,每位显示约1ms,由于人的视觉暂留效应,感觉LED灯仍是同时点亮,并无闪动现象。当然,如果时间间隔拉长,显示字符将会感觉闪动,可在实际使用中调整时间间隔,以达到满意为止。由此可知,本系统采用LED静态显示方式较合理。第4章 交通灯的软件设计4.1 延时设计 4.1.1 硬件延时延时方法可以有两种,一种是采用软延时的方法,另一种是利用AT89C51内部定时器溢出中断来确定1秒的时间。定时器T0和T1可由软件对TMOD中控制位M1、M2位进行设置,可选择4种工作方式,即方式0,方式1,方式2和方式3。在方式0、1和2时,T0与T1的工作方式相同,在方式3时,两个定时器的工作方式不同。方式0:定时/计数器按13位二进制加1的方式进行,其最大计数值为。在这种模式下,16位寄存器(TH0和TL0)只用13位,其中TL0的高3位未用,其余位用作整个13位计数器的低5位,TH0占高8位,见图4.1所示。当TL0的低5位溢出时,向TH0进位,而TH0溢出时向中断标志位TF0进位(硬件置位TF0),并申请中断。T0是否溢出,CPU会在每个机器周期去查询TF0是否置位,以产生T0中断。要实现不同的定时时间或计数值,就需要在计数寄存器TH0、TL0(或TH1、TL1)中写入不同的初始值。图4.1 方式0的13位计数器分配例如TCOM寄存器中控制T0的=0,T0对机器周期计数,这就是定时工作方式。当=1时,T0成为外部事件计数器,T0对从P3.4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广西凭祥产业园管理委员会保税和自贸事务局招聘越南语翻译人员1人备考考试题库附答案解析
- 2025安徽合肥市肥东县大学生乡村医生专项计划招聘3人备考考试题库附答案解析
- 2025年下半年甘肃省文化和旅游厅直属事业单位招聘人员考试参考试题及答案解析
- 2025北京市自来水集团禹通市政工程有限公司招聘35人备考考试题库附答案解析
- 掌握自我管理艺术
- 掌握数字学习法
- 骨质疏松症预防锻炼计划
- 教育保育评估指南培训
- 运动健身的秘密
- 工厂安全培训教学内容课件
- 大数据驱动下的档案信息管理系统研发与应用
- 雅思小作文教学课件
- 电气柜安装服务合同范本
- 盆腔炎性疾病护理查房
- DB11T 2440-2025 学校食堂病媒生物防制规范
- 高压氧的健康宣教
- 2025至2030中国硅单晶生长炉行业项目调研及市场前景预测评估报告
- 成人床旁心电监护护理规程
- 食用菌种植项目可行性研究报告立项申请报告范文
- 2025版技术服务合同协议
- 焦炉机械伤害事故及其预防
评论
0/150
提交评论