




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。本系统采用单片机AT89C52中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。本设计就是采用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间。本设计系统由单片机I/O口扩展系统、交通灯状态显示系统、LED数码显示系统、紧急情况中断系统、复位电路等几大部分组成。系统除基本的交通灯功能外,还具有倒计时、紧急情况处理等功能,较好的模拟实现了十字路口可能出现的状况。软件上采用汇编语言编程,主要编写了主程序,LED数码管显示程序,中断程序延时程序等。经过整机调试,实现了对十字路口交通灯的模拟。关键字:AT89C52 74HC244 LM7805 PROTELDXPAbstractTraffic in peoples daily life plays an important role, as people increasingly frequent social activities, which is embodied in full. The emergence of traffic lights so that traffic can be effective control, for ease traffic flow, improve the road capacity, the effect of significantly reducing traffic accidents. The system uses a single-chip devices AT89C52 Center to design the traffic light controller, the system practical, simple, and strong expansion. The design is based on the single-chip simulation of traffic lights at the crossroads of a variety of state and the countdown time display. The design system consists of single-chip I / O port expansion system, the traffic light status display system, LED digital display systems, emergency interrupt system, reset circuit, such as a few major components. System of traffic lights in addition to basic functions, also has a countdown, and other functions to deal with emergency situations, to achieve a better simulation of the situation that may arise at the crossroads. C51 programming software used mainly to prepare the main program, LED digital tube display program, such as interruption of the procedure delayed the procedure. After machine commissioning, the realization of the simulation of traffic lights at a crossroads.Keyword: AT89C52 74H4244 LM7805 PROTELDXP目录摘 要iAbstractii目录iii第一章 绪 论1第一节 选题的目的和意义1第二节 单片机的介绍1一、单片机的发展1二、单片机的组成及特点3三、单片机的应用4四、单片机的未来和应用5第二章 方案设计与论证7第一节 设计的任务和功能要求7第二节 设计方案的比较7第三章 系统硬件电路设计9第一节 交通灯的主控制系统9一、基于单片机AT89C52的硬件功能特性9二、主处理器内部结构介绍10三、AT89C52各引脚功能及管脚电压12四、AT89C52会聚调整状态进入的控制功能。12第二节 AT89C52的存储结构14一、特殊功能寄存器14二、数据存储器14三、 AT89C52单片机的内部资源15四、定时器216五、可编程时钟输出19六、程序存储器的加密19第三节 通行灯输出控制21一、芯片74HC24421二、74HC244芯片的功能21三、应用74HC244芯片扩展输入接口22第四节 时间显示模块23一、AT89C52并行口的扩展24二、显示原理24第五节 电源电路26一、LM7805电源电路26二、提示音电路28第四章 软件设计29第一节 主程序设计29第二节 初始化程序30一、每秒钟的设定30二、计数器硬件延时30三、计算公式31四、设置1秒的方法31第三节 中断程序的设计32一、外中断1中段服务程序32二、定时中断服务程序库33三、T0定时中断服务程序34第5章 系统调试与测试结果分析37第一节 操作说明37第二节 系统的调试37一、硬件调试38二、软件调试38三、软硬联调38第三节 指标测试39一、测试仪器39二、各模块测试39第6章 参考文献41总 结42致 谢43附录44iv阳泉职业技术学院-毕业设计说明书第一章 绪 论第一节 选题的目的和意义带有显示功能的电子产品和电子设备近年来广泛地出现在我们的生活中。本设计是一个基于单片机并用A89C52单片机制作的一个交通指示系统。单片机是实现各种控制策略和算法的载体。因其功耗低,超小型,低成本,功能完整,非常适用于便携式仪表和就地式显示控制仪表,在国内越来越受到用户的重视和广泛的应用。随着单片机集成化程度的不断提高,现代单片机已经具备了数字信号处理功能,使语音信号处理用单片机实现成为可能。第二节 单片机的介绍单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/O)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。一、单片机的发展如果将8位单片机的推出作为起点,那么单片机的发展历史大致可分为以下几个阶段。1.第一阶段(1976-1978):单片机的控索阶段。以Intel公司的MCS48为代表。MCS48的推出是在工控领域的控索,参与这一控索的公司还有Motorola 、Zilog等,都取得了满意的效果。这就是SCM的诞生年代,“单机片”一词即由此而来。 2.第二阶段(1978-1982)单片机的完善阶段。Intel公司在MCS48 基础上推出了完善的、典型的单片机系列MCS51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。 1)完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有多机通信功能的串行通信接口。 2)CPU外围功能单元的集中管理模式。 3)体现工控特性的位地址空间及位操作方式。 4)指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。3.第三阶段(1982-1990):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。随着MCS51系列的广泛应用,许多电气厂商竞相使用80C51为内核,将许多测控系统中使用的电路技术、接口技术、多通道A/D(模/数)转换部件、可靠性技术等应用到单片机中,增强了外围电路的功能,强化了智能控制的特征。4.第四阶段(1990现在):微控制器的全面发展阶段。随着单片机在各个领域全面深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。目前,单片机正朝着高性能和多品种方向发展。将进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。单片机的主要发展趋势。1.CMOS化。近年,由于CHMOS技术的进步,大地促进了单片机的CMOS化。CMOS芯片除了低功耗特性之外,还具有功耗的可控性,使单片机可以工作在功耗精细管理状态。单片机芯片多数是采用CMOS(金属栅氧化物)半导体工艺生产。CMOS电路的特点是低功耗、高密度、低速度、低价格。采用双极型半导体工艺的TTL电路速度快,但功耗和芯片面积较大。随着技术和工艺水平的提高,又出现了HMOS(高密度、高速度MOS)和CHMOS工艺。目前生产的CHMOS电路已达到LSTTL的速度,传输延迟时间小于2ns。因而,在单片机领域CMOS正在逐渐取代TTL电路。2.低功耗化。单片机的功耗已从Ma级,甚至1uA以下;使用电压在3V-6V之间,完全适应电池工作。低功耗化的效应不仅是功耗低,而且带来了产品的高可靠性、高抗干扰能力以及产品的便携化。3.低电压化。几乎所有的单片机都有WAIT、STOP等省电运行方式。允许使用的电压范围越来越宽,一般在3V-6V范围内工作。低电压供电的单片机电源下限已可达1-2V。目前0.8V供电的单片机已经问世。4.低噪声与高可靠性。为提高单片机的抗电磁干扰能力,使产品能适应恶劣的工作环境,满足电磁兼容性方面更高标准的要求,各单片厂家在单片机内部电路中都采用了新的技术措施。5.大容量化。以往单片机内的ROM为1KB-4KB,RAM为64B-128B。但在需要复杂控制的场合,该存储容量是不够的,必须进行外接扩充。为了适应这种领域的要求,需运用新的工艺,使片内存储器大容量化。目前,单片机内ROM最大可达64KB,RAM最大为2KB。6.高性能化。主要是指进一步改进CPU的性能,加快指令运算的速度和提高系统控制的可靠性。采用精简指令集(RISC)结构和流水线技术,可以大幅度提高运行速度。现指令速度最高者已达100MIPS(Million Instruction Per Seconds,即兆指令每秒),并加强了位处理功能、中断和定时控制功能。这类单片机的运算速度比标准的单片机高出10倍以上。由于这类单片机有极高的指令速度,就可以用软件模拟其I/O功能,由此引入了虚拟外设的新概念。7.小容量、低价格化。以4位、8位机为中心的小容量、低价格化也是发展动向之一。这类单片机的用途是把以往用数字逻辑集成电路组成的控制电路单片化,可广泛用于家电产品。8.外围电路内装化。这也是单片机发展的主要方向。随着集成度的不断提高,有可能把众多的各种处围功能器件集成在片内。除了一般必须具有的CPU、ROM、RAM、定时器/计数器等以外,片内集成的部件还有模/数转换器、DMA控制器、声音发生器、监视定时器、液晶显示驱动器、彩色电视机和录像机用的锁相电路等。二、单片机的组成及特点单片机是微型机的一个主要分支,在结构上的最大特点是把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。就其组成和功能而言,一块单片机芯片就是一台计算机。1.单片机的组成它通过内部总线把计算机的各主要部件接为一体,其内部总线包括地址总线、数据总线和控制总线。其中,地址总线的作用是在进行数据交换时提供地址,CPU通过它们将地址输出到存储器或I/O接口;数据总线的作用是在CPU与存储器或I/O接口之间,或存储器与外设之间交换数据;控制总线包括CPU发出的控制信号线和外部送入CPU的应答信号线等。2.单片机的特点 由于单片机的这种结构形式及它所采取的半导体工艺,使其具有很多显著的特点,因而在各个领域都得到了迅猛的发展。单片机主要有如下特点: 1)有优异的性能价格比。 2)集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。 3)控制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次的微机。 4)低功耗、低电压,便于生产便携式产品。 5)外部总线增加了IC(Inter-Integrated Circuit)及SPI(Serial Peripheral Interface)等串行总线方式,进一步缩小了体积,简化了结构。 6)单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。三、单片机的应用单片机作为计算机发展的一个重要领域。根据目前发展情况,从不同角度单片机大致可以分为通用型/专用型、总线型/控型/家电型。由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。它的应用遍及各个领域,主要表现在以下几个方面:1.单片机在智能仪表中的应用单片机广泛地用于各种仪器仪表,使仪器仪表智能化,并可以提高测量的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。2.单片机在电气自动化中的应用电气自动化是电气工业发展的方向。电气自动化化产品是指微电子技术、计算机技术于一体,具有智能化特征的机电产品。单片机作为产品中的控制器,能充分发挥它的体积小、可靠性高、功能强等优点,可大大提高机器的自动化、智能化程度。3.单片机在实时控制中的应用 单片机广泛地用于各种实时控制系统中。单片机的实时数据处理能力和控制功能,可使系统保持在最佳工作状态,提高系统的工作效率和产品质量。4.单片机在分布式多机系统中的应用 在比较复杂的系统中,常采用分布式多机系统。多机系统一般由若干台功能各异的单片机组成,各自完成特定的任务,它们通过串行通信相互联系、协调工作。单片机在这种系统中往往作为一个终端机,安装在系统的某些节点上,对现场信息进行实时的测量和控制。单片机的高可靠性和强抗干扰能力,使它可以置于恶劣环境的前端工作。5.单片机在人类生活中的应用 自从单片机诞生以后,它就步入了人类生活,如洗衣机、电冰箱、电子玩具、收录机等家用电器配上单片机后,提高了智能化程度,增加了功能,倍受人们喜爱。单片机将使人类生活更加方便、舒适、丰富多彩。单片机的应用从根本上改变了传统的控制系统的设计思想和设计方法。以前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。四、单片机的未来和应用单片机自70年代问世以来得到蓬勃发展,目前单片机功能正日渐完善。单片机集成越来越多资源,内部存储资源日益丰富,用户不需要扩充资源就可以完成项目开发,不仅是开发简单,产品小巧美观,同时系统也更加稳定。单片机抗干扰能力加强,使它更加适合工业控制领域,具有更加广阔的市场前景。单片机提供在线编程能力,加速了产品的开发进程,为企业产品上市赢得宝贵时间。在线编程目前有ISP和IAP两种。具备ISP的单片机内部集成FLASH存储器,用户可以通过下载线以特定的硬件时序在线编程,但用户程序自身不可以对内部存储器做修改。随着单片机的发展,人们对事物的要求越来越高,单片机的应用软件技术也发生了巨大的变化,从最初的汇编语言,开始演变到C语言开发,不但增加了语言的可读性,结构性,而且对于跨平台的移植也提供了方便,另外一些复杂的系统开始在单片机上采用操作系统。目前低端定位的单片机仍然走俏,但高端的单片机(微处理器)却是风起云涌,SOC技术的发展。自1997年以来,电子技术应用又增加了一个新的层次片上系统(SOC)层次。SOC技术的出现,标志着现代电子技术应用进入了SOC阶段。从各个发展阶段看,自HW+SW阶段开始,电子技术应用就与单片机紧密地联系在一起。在FW阶段,作为固件系统的重要核心技术,单片机又以嵌入式技术为基础,再次成为现代电子应用技术的核心技术之一,并为SOC应用技术提供了基础。 SOC为各种应用提供了一个新的实现技术。这种新的电子系统实现技术促使工业界在近3年中发生了巨大的变化,为信息技术的应用提供坚实的基础,因此,完全可以称之为SOC革命。同时,SOC也为单片机技术提供了更广阔的应用领域,使单片机应用技术发生了革命性的变化。随着单片机MCU功能集成化的发展,其应用领域也逐渐由传统的控制扩展到控制处理、数据处理以及数字信号处理(DigitalSignalProcessing,DSP)等领域。第二章 方案设计与论证第一节 设计的任务和功能要求 城市道口交通等控制体统模型采用单片机作为主控制器,用于十字路口的车辆及行人的交通管理,每个方向具有左、右拐、直行及行人4种通行指示灯,计时牌显示路口通行转换剩余时间,在出现紧急情况时可由交警手动实现全路口车辆禁行而行人通行状态。另外,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他材料禁止通行状态,15s后系统自动回复正常管理,其他还有盲人提示音、120s与60s通行管理转换功能。第二节 设计方案的比较 方案一:采用标准AT89C52单片机作为控制器;通行时显示采用3位LED数码管;左拐、右拐、直行及行人4种采用双色高亮发光二极管;LED显示采用的动态扫描,。以节省端口数。特种车辆同习惯采用实时中断完成,识别方法采用红外线及接受方案。按以上系统就、构架设计,单片机端口资源刚好满足要求。该系统具有电路简单,实际方便,显示亮度高,耗电少,可靠性能高等特点。整个电路组成框图如图2.1所示图2.1 LED动态扫描的交通灯控制系统方案二:采用AT89C2051单片机作为控制器,通行倒计时采用16*16点阵LED反光管,左拐、右拐、直行及行人4种通行指示也采用16*16点阵双色LED反光管。该系统设计框架图如2.2所示,列驱动采用74LS595以实现串行端口扩展,行驱动采用4/16译码器74LS54动态扫描,译码器74LS154生成16条行选通信号线,再进过驱动器驱动对应的性线。每条性线上需要较大的驱动电流,应选用大功率三极管作为驱动管。这种设计方案的图案显示逼真,单片机占用端口资源少;缺点是需要大量的硬件,电路复杂,耗电量大,再模型制作中比较少用。如图2.2图2.2采用1616电阵LED发光管设计的交通灯控制系统方案三:采用AT89C2051单片机作为控制器,通行倒计时及左拐、右拐、直行、行人通行指示采用单块LED点阵显示器。这种方案设计占用单片机的端口最少,硬件也少,耗电也最小;虽然显示方案也很精美,但由于亮度太暗,晚上还得开背光灯,所以较少采用。通过以上综合分析可以看出,方案1最具有综合设计优点,因此城市道口交通灯控制系统模型采用方案1最为合适。第三章 系统硬件电路设计整套电路系统由控制系统模块、通行灯输出控制显示模块、时间显示模块和自动特种车辆控制模块组成。系统图如下:图3.1 交通系统图第一节 交通灯的主控制系统一、基于单片机AT89C52的硬件功能特性本章中系统采用的是以单片机AT89C52为主的控制系统,是ATMEL公司生产的一款性能稳定的8位单片机。其整个电路控制系统主要包括控制系统模块、通行灯输出控制显示模块、时间 模块,和自动车辆控制模块等组成。AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。主要功能特性: 兼容MCS51指令系统 8k可反复擦写(1000次)Flash ROM 32个双向I/O口 256x8bit内部RAM 3个16位可编程定时/计数器中断 时钟频率0-24MHz 2个串行中断 可编程UART串行通道 2个外部中断源 共6个中断源 2个读写中断口线 3级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能 二、主处理器内部结构介绍AT89C52具有1个8KB的FLASH程序存储器,1个512字节的RAM,4个8位的双向可位寻址I/O端口,3个16位的定时/计数器及1个串行口和6个向量二级中断结构。单片机的P1口及P2口分别用于控制南北及东西的通行灯,P0口及P3.0-P3.2口用于4组3位LED计时器的控制,特种车辆通过时使用外中断1口(p3.3),手动转换采用P3.7口按键。AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。其新片结构图如3.1图3.1 AT89C52芯片结构图把89C52当作接口使用,接口自身必须尽可能地少占用硬件资源,与主系统之间的连接线也应尽可能少,这样才能少占主机引脚,把更多的资源留给系统。本设计中,主机与多功能接口之间采用串行通信。主机与多功能接口之间有四根连接线:CE、CLK、DAT、INTR。CE用于作片选信号输入端。此引脚为低电平时,主机能与多功能接口进行数据传送。CLK为时钟输入端,当主机向多功能接口发送指令时,此引脚电平上升表示数据有效。DAT为串行数据输入/输出端。INTR为多功能接口输出端。当多功能接口内的数据准备好时,由INTR向主机发低电平,通知主机,数据已准备就绪,可以进行读操作。该信号可供主机查询,也可用作发向主机的中断请求信号。89C52的P0、P1、P2口用作键盘/显示接口。用程序扫描的方法进行键盘输入和显示输出。P0口作为字段口,P1口作为键盘的列输入口,P2作为显示器的字位口以及键盘的行扫描输出口。由于显示器字位口电流较大,P2口需进行电流驱动。该多功能接口最多可连接8个LED显示器和1个88链盘矩阵。其硬件原理如图3.1所示。P3.2、P3.3、P3.6、P3.7分别用作CE、CLK、DAT和INTR信号;而P3.0、P3.1用作异步串行通信数据线RXD和TXD;P3.4、P3.5分别是OUT0/T0和OUT1/T1信号线。该引脚在定时器工作于连续脉冲方式时,可输出通断比与频率可编程的连续脉冲;工作在计数器方式时,该引脚作为外部计数脉冲输入端输入计数脉冲。三、AT89C52各引脚功能及管脚电压概述:AT89C52P为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测四、AT89C52会聚调整状态进入的控制功能。P0 口:P0 口是一组8 位漏极开路型双向I/O 口, 也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 口:P1 是一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流)4个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51 不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),Flash 编程和程序校验期间,P1 接收低8 位地址。表.P1.0和P1.1的第二功能引脚号功能特性P1.0T2,时钟输出P1.2T2EX(定时/计数器2)图3.2 功能输出表P2 口:P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4个TTL 逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVX DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX RI 指令)时,P2 口输出P2 锁存器的内容。Flash 编程或校验时,P2亦接收高位地址和一些控制信号。P3 口:P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能,P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG: 当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条MOVX 和MOVC指令才能将ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU 则执行内部程序存储器中的指令。Flash 存储器编程时,该引脚加上+12V 的编程允许电源Vpp,当然这必须是该器件是使用12V 编程电压Vpp。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。特殊功能寄存器。第二节 AT89C52的存储结构一、特殊功能寄存器在AT89C52 片内存储器中,80H-FFH 共128个单元为特殊功能寄存器(SFE),SFR 的地址空间。并非所有的地址都被定义,从80HFFH 共128个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。不应将数据“1”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。AT89C52除了与AT89C51所有的定时/计数器0 和定时/计数器1 外,还增加了一个定时/计数器2。定时/计数器2 的控制和状态位于T2CONT2MOD,寄存器对(RCAO2H、RCAP2L)是定时器2 在16 位捕获方式或16位自动重装载方式下的捕获/自动重装载寄存器。二、数据存储器 AT89C52 有256个字节的内部RAM,80H-FFH 高128 个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128字节的RAM 和特殊功能寄存器的地址是相同的,但物理上它们是分开的。当一条指令访问7FH 以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128 字节RAM 还是访问特殊功能寄存器。如果指令是直接寻址方式则为访问特殊功能寄存器。例如,下面的直接寻址指令访问特殊功能寄存器0A0H(即P2 口)地址单元。MOV 0A0H,#data间接寻址指令访问高128 字节RAM,例如,下面的间接寻址指令中,R0 的内容为0A0H,则访问数据字节地址为0A0H,而不是P2 口(0A0H)。MOV R0,#data 堆栈操作也是间接寻址方式,所以,高128 位数据RAM 亦可作为堆栈区使用。三、 AT89C52单片机的内部资源AT89C52 共有6个中断向量:两个外中断(INT0 和INT1),3个定时器中断(定时器0、1、2)和串行口中断。这些中断源可通过分别设置专用寄存器IE 的置位或清0 来控制每一个中断的允许或禁止。IE 也有一个总禁止位EA,它能控制所有中断的允许或禁止。注意表中的IE.6 为保留位,在AT89C51 中IE.5 也是保留位。程序员不应将“1”写入这些位,它们是将来AT89 系列产品作为扩展用的。定时器2 的中断是由T2CON 中的TF2 和EXF2 逻辑或产生的,当转向中断服务程序时,这些标志位不能被硬件清除,事实上,服务程序需确定是TF2 或EXF2 产生中断,而由软件清除中断标志位。定时器0 和定时器1 的标志位TF0 和TF1 在定时器溢出那个机器周期的S5P2 状态置位,而会在下一个机器周期才查询到该中断标志。然而,定时器2 的标志位TF2 在定时器溢出的那个机器周期的S2P2 状态置位,并在同一个机器周期内查询到该标志。时钟振荡器以及节电模式1.AT89C52 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。外接石英晶体(或陶瓷谐振器)及电容C1、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF10pF,而如使用陶瓷谐振器建议选择40pF10F。用户也可以采用外部时钟。采用外部时钟的电路。这种情况下,外部时钟脉冲接到XTAL1 端,即内部时钟发生器的输入端,XTAL2 则悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。2.节电模式:(1)空闲节电模式在空闲工作模式状态, CPU 自身处于睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。此时,同时将片内RAM 和所有特殊功能寄存器的内容冻结。空闲模式可由任何允许的中断请求或硬件复位终止。由硬件复位终止空闲状态只需两个机器周期有效复位信号,在此状态下,片内硬件禁止访问内部RAM,但可以访问端口引脚,当用复位终止空闲方式时,为避免可能对端口产生意外写入,激活空闲模式的那条指令后一条指令不应是一条对端口或外部存储器的写入指令。(2)掉电模式:在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM 和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器,但不改变RAM中的内容,在Vcc恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。四、定时器2定时器2 是一个16 位定时/计数器。它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON(如表3)的C/T2 位选择。定时器2 有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON 的控制位来选择。定时器2 由两个8 位寄存器TH2 和TL2 组成,在定时器工作方式中,每个机器周期TL2 寄存器的值加1,由于一个机器周期由12个振荡时钟构成,因此,计数速率为振荡频率的1/12。在计数工作方式时,当T2 引脚上外部输入信号产生由1 至0 的下降沿时,寄存器的值加1,在这种工作方式下,每个机器周期的5SP2 期间,对外部输入进行采样。若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为0,则在紧跟着的下一个周期的S3P1 期间寄存器加1。由于识别1 至0 的跳变需要2个机器周期(2个振荡周期),因此,最高计数速率为振荡频率的1/24。为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次。捕获方式: 在捕获方式下,通过T2CON 控制位EXEN2 来选择两种方式。如果EXEN2=0,定时器2 是一个16 位定时器或计数器,计数溢出时,对T2CON 的溢出标志TF2 置位,同时激活中断。如果EXEN2=1,定时器2 完成相同的操作,而当T2EX 引脚外部输入信号发生1 至0负跳变时,也出现TH2 和TL2 中的值分别被捕获到RCAP2H 和RCAP2L 中。另外,T2EX 引脚信号的跳变使得T2CON 中的EXF2 置位,与TF2 相仿,EXF2 也会激活中断。自动重装载(向上或向下计数器)方式:当定时器2工作于16位自动重装载方式时,能对其编程为向上或向下计数方式,这个功能可通过特殊功能寄存器T2CON的DCEN 位(允许向下计数)来选择的。复位时,DCEN 位置“0”,定时器2 默认设置为向上计数。当DCEN置位时,定时器2 既可向上计数也可向下计数,这取决于T2EX 引脚的值,参见图5,当DCEN=0 时,定时器2 自动设置为向上计数,在这种方式下,T2CON 中的EXEN2 控制位有两种选择,若EXEN2=0,定时器2 为向上计数至0FFFFH 溢出,置位TF2 激活中断,同时把16 位计数寄存器RCAP2H 和RCAP2L重装载,RCAP2H 和RCAP2L 的值可由软件预置。若EXEN2=1,定时器2 的16 位重装载由溢出或外部输入端T2EX 从1 至0 的下降沿触发。这个脉冲使EXF2 置位,如果中断允许,同样产生中断。定时器2 的中断入口地址是:002BH 0032H 。当DCEN=1 时,允许定时器2 向上或向下计数。这种方式下,T2EX 引脚控制计数器方向。T2EX 引脚为逻辑“1”时,定时器向上计数,当计数0FFFFH 向上溢出时,置位TF2,同时把16 位计数寄存器RCAP2H 和RCAP2L 重装载到TH2 和TL2 中。T2EX 引脚为逻辑“0”时,定时器2向下计数,当TH2和TL2 中的数值等于RCAP2H 和RCAP2L中的值时,计数溢出,置位TF2,同时将0FFFFH 数值重新装入定时寄存器中。当定时/计数器2 向上溢出或向下溢出时,置位EXF2 位。波特率发生器:当T2CON中的TCLK 和RCLK 置位时,定时/计数器2 作为波特率发生器使用。如果定时/计数器2 作为发送器或接收器,其发送和接收的波特率可以是不同的用于其它功能。若RCLK 和TCLK 置位,则定时器2工作于波特率发生器方式。波特率发生器的方式与自动重装载方式相仿,在此方式下,TH2 翻转使定时器2 的寄存器用RCAP2H 和RCAP2L 中的16位数值重新装载,该数值由软件设置。在方式1和方式3中,波特率由定时器2 的溢出速率根据下式确定:方式1和3的波特率=定时器的溢出率/16定时器既能工作于定时方式也能工作于计数方式,在大多数的应用中,是工作在定时方式(C/T2=0)。定时器2 作为波特率发生器时,与作为定时器的操作是不同的,通常作为定时器时,在每个机器周期(1/12 振荡频率)寄存器的值加1,而作为波特率发生器使用时,在每个状态时间(1/2 振荡频率)寄存器的值加1。波特率的计算公式如下:方式1和3的波特率=振荡频率/32*65536-(RCP2H,RCP2L)式中(RCAP2H,RCAP2L)是RCAP2H 和RCAP2L中的16位无符号数。定时器2作为波特率发生器使用的电路。T2CON 中的RCLK 或TCLK=1 时,波特率工作方式才有效。在波特率发生器工作方式中,TH2 翻转不能使TF2 置位,故而不产生中断。但若EXEN2 置位,且T2EX 端产生由1 至0的负跳变,则会使EXF2 置位,此时并不能将(RCAP2H,RCAP2L)的2作为波特率发生器使用时,T2EX 可作为附加的外部中断源来使用。需要注意的是,当定时器2 工作于波特率器时,作为定时器运行(TR2=1)时,并不能访问TH2 和TL2。因为此时每个状态时间定时器都会加1,对其读写将得到一个不确定的数值。然而,对RCAP2 则可读而不可写,因为写入操作将是重新装载,写入操作可能另写和/或重装载出错。在访问定时器2或RCAP2 寄存器之前,应将定时器关闭(清除TR2)。五、可编程时钟输出定时器2 可通过编程从P1.0 输出一个占空比为50%的时钟信号,如图8 所示。P1.0 引脚除了是一个标准的I/O 口外,还可以通过编程使其作为定时/计数器2 的外部时钟输入和输出占空比50%的时钟脉冲。当时钟振荡频率为16MHz 时,输出时钟频率范围为61Hz4MHz。当设置定时/计数器2 为时钟发生器时,C/T2(T2CON .1)=0,T2OE (T2MOD.1) =1,必须由TR2(T2CON.2)启动或停止定时器。时钟输出频率取决于振荡频率和定时器2 捕获寄存器(RCAP2H,RCAP2L)的重新装载值,公式如下:输出时钟频率=振荡器频率/4*65536-(RCP2H,RCP2L),在时钟输出方式下,定时器2 的翻转不会产生中断,这个特性与作为波特率发生器使用时相仿。定时器2 作为波特率。发生器使用时,还可作为时钟发生器使用,但需要注意的是波特率和时钟输出频率不能分开确定,这是因为它们同使用RCAP2L和RCAP2L。六、程序存储器的加密AT89C52 有3个程序加密位,可对芯片上的3个加密位LB1、LB2、LB3 进行编程(P)或不编程(U)来得到。当加密位LB1 被编程时,在复位期间,EA 端的逻辑电平被采样并锁存,如果单片机上电后一直没有复位,则锁存起的初始值是一个随机数,且这个随机数会一直保存到真正复位为止。为使单片机能正常工作,被锁存的EA 电平值必须与该引脚当前的逻辑电平一致。此外,加密位只能通过整片擦除的方法清除。AT89C52单片机内部有8k字节的Flash PEROM,这个Flash 存储阵列出厂时已处于擦除状态(即所有存储单元的内容均为FFH),用户随时可对其进行编程。编程接口可接收高电压(+12V)或低电压(Vcc)的允许编程信号。低电压编程模式适合于用户在线编程系统,而高电压编程模式可与通用EPROM 编程器兼容。AT89C52 单片机中,有些属于低电压编程方式,而有些则是高电压编程方式,用户可从芯片上的型号和读取芯片内的签名字节获得该信息。AT89C52 的程序存储器阵列是采用字节写入方式编程的,每次写入一个字节,要对整个芯片内的PEROM 程序存储器写入一个非空字节,必须使用片擦除的方式将整
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保洁员知识考核试卷及答案
- 设备振动预防措施报告
- 防洪项目协调策略实证分析报告
- 第三方服务安全评估报告
- 律师在反洗钱中的法律挑战分析报告
- 过敏原添加剂市场潜力分析报告
- 裁切工效率提升考核试卷及答案
- 抽纱挑编工质量管控考核试卷及答案
- 松节油制品工协作考核试卷及答案
- 项目1 开启低碳生活助力“双碳”行动教学设计-2025-2026学年初中信息技术河北大学版2024七年级全一册-河大版2024
- 2025质量月质量知识竞赛考试题库和答案
- 智能硬件装调员职业技能竞赛初赛理论知识题(附答案)
- 停车场移交方案(3篇)
- 养老机构规范培训
- 2025年五粮液招聘笔试参考题库附带答案详解
- 统计知识党校培训课件
- 防突员专项管理制度
- 2025年中国蒸汽蒸饭柜行业市场前景预测及投资价值评估分析报告
- 会阴部护理课件
- 浅谈桥梁检测技术的现状及发展
- 医院会计笔试题目及答案
评论
0/150
提交评论