毕业设计(论文)-数字式温度控制器的设计.doc_第1页
毕业设计(论文)-数字式温度控制器的设计.doc_第2页
毕业设计(论文)-数字式温度控制器的设计.doc_第3页
毕业设计(论文)-数字式温度控制器的设计.doc_第4页
毕业设计(论文)-数字式温度控制器的设计.doc_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

CHANGZHOU INSTITUTE OF TECHNOLOGY毕 业 设 计 说 明 书题目:数字式温度控制器的设计二级学院(直属学部):延 陵 学 院专业: 电子信息工程 班级: 08信Y2 学生姓名: 学号: 指导教师姓名: 职称: 讲师 评阅教师姓名: 职称: 2012 年 6 月常州工学院电子信息与电气工程学院毕业设计说明书摘 要信息科学和微电子技术的飞速发展给控制领域带来了巨大的飞跃,控制技术更加趋向自动化和智能化,为无数的使用者带来了方便。在控制领域里,温度是一个常见的名词,然而它所带来的技术问题和所起的作用却是非同一般的。本文研制的数字式定时温控系统是一个基于单总线数字式温度传感器DS18B20,以单片机芯片为核心的系统。采用单片机作为主要部分。它的主要组成部分有:AT89C52单片机、DS18B20温度传感器、LCD1602显示模块。它可以实时的温度显示和温度门限报警。本设计简单、性能稳定、灵敏度高、抗干扰能力强、使用方便等优点,广泛应用于养殖业及冰箱、空调器、粮仓等日常生活中温度的测量。关键词:温度测量、AT89C52单片机、DS18B20温度传感器、LCD1602AbstractTo the control areas, the rapid development of information science and microelectronics technology a huge leap forward control techniques tend to be more automated andintelligent, and has brought convenience for many users. In the control area, thetemperature is a common term, however, technical issues and the role it brings unusually.The digital time temperature control system developed in this article is a single bus-based digital temperature sensor DS18B20 single chip as the core system. Usingthe microcontroller as the main part. Its main components: AT89C52 microcontrollerDS18B20 temperature sensor, LCD1602, the display module. It can be real-timetemperature display and temperature threshold alarm. The design is simple, stable performance, high sensitivity, strong anti-jamming capability, easy to use, widely used inthe measurement of temperature in the daily life of the farming industry and refrigerators, air conditioners, silos and other.Keywords: Temperature measurement. AT89C52 microcontroller. DS18B20 temperature sensor. LCD1602 常州工学院电子信息与电气工程学院毕业设计说明书目 录摘 要1Abstract2目 录1第一章 绪论21.1研究背景和意义21.2目的及意义41.3思路和主要内容5第二章 芯片功能简介62.1单片机的发展情况和应用62.2单片机的结构和性能72.3单片机的选择82.3.1管脚说明92.3.2片上资源122.4温度传感器的选择172.4.1 DS18B20的外形和内部结构182.4.2 DS18B20的测温原理192.4.3 DS18B20的外部电路图202.4.4 DS18B20的各个ROM命令202.4.5 DS1820使用中注意事项222.5 显示器的选择23第三章 硬件设计283.1时钟震荡电路283.2显示电路283.3温度采集电路29第四章 软件设计304.1主程序设计304.2 DS18B20工作流程314.3数据测试324.4仿真结果32总结34致谢35参考文献36附录源程序38第一章 绪论1.1研究背景和意义随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业。传统的温度采集方法不仅费时费力,而且精度差,单片机的出现使得温度的采集和数据处理问题能够得到很好的解决。温度是工业对象中的一个重要的被控参数。然而所采用的测温元件和测量方法也不相同;产品的工艺不同,控制温度的精度也不相同。因此对数据采集的精度和采用的控制方法也不相同。传统的控制方式以不能满足高精度,高速度的控制要求,如温度控制表温度接触器,其主要缺点是温度波动范围大,由于他主要通过控制接触器的通断时间比例来达到改变加热功率的目的,受仪表本身误差和交流接触器的寿命限制,通断频率很低。近几年来快速发展了多种先进的温度控制方式,如:PID控制,模糊控制,神经网络及遗传算法控制等。这些控制技术大大的提高了控制精度,不但使控制变得简便,而且使产品的质量更好,降低了产品的成本,提高了生产效率。本系统所使用的加热器件是电炉丝,功率为三千瓦,要求温度在4001000。静态控制精度为2.43。最早的温度计是在1593年由意大利科学家伽利略发明的。他的第一只温度计是一根一端敞口的玻璃管,另一端带有核桃大的玻璃泡。这种温度计,受外界大气压强等环境因素的影响较大,所以测量误差大。荷兰人华伦海特在1709年利用酒精,在1714年又利用水银作为测量物质,制造了更精确的温度计。把一定浓度的盐水凝固时的温度定为0,把纯水凝固时的温度定为32,把标准大气压下水沸腾的温度定为212,用代表华氏温度,这就是华氏温度计。随着科学技术日益迅速的发展,数字监控系统已经深入到生活的各个方面。它具有技术效果好,经济效益高,维修方便等许多优点。数字温度计与传统的温度计相比,也具有读数方便,测温范围广,测温准确的优势。对其进行研究和设计,可使我们更加熟练掌握单片机编程及PROTEL的使用。有利于将所学的专业知识更好地应用于实践中。当国内从80年代起开始了单片机的热潮,二十多年过去了,单片机从研究所走出来, 成为日常生活中的一个不可缺少的部件。硬件方面日趋多样化,4位、8位、16位、32位等型号共同并存,在不同的领域存在,如家电、玩具、工业设备、仪器、通讯等。软件方面发展主要为汇编语言、C语言、嵌入式操作系统。速度、稳定性特别要求的场合较多采用汇编语言和C语言。单片机作为微型计算机的一个重要分支,应用面很广,发展很快。自单片机诞生至今,已发展为上百种系列的近千个机种。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。单片机的品种繁多,按应用范围分为通用型和专用型。专用型是针对某种特定产品而设计的,例如用于洗衣机的单片机。通用型单片机有总线型和非总线型或者8位和16位之分,总线型设有并行地址总线、数据总线和控制总线的引脚,便于扩展外围器件。非总线型没有有总线引脚,芯片体积小,要扩展可通过I/O口,因此非线型更适合中小系统。以下就单片机部分功能器件的应用举例简要说明。首先以实时时钟为例。一些单片机控制系统要求在确定的时刻进行某种检测与操作,有的控制系统要求在进行某种操作时记下进行操作的具体时间,例如现在各公司广泛用的员工考勤打卡机,有些网页的登陆同时记下用户的登陆时间等。要达到这个目的,就要给系统配置实时时钟,一边根据时钟提供的时间,按时操作或记录。当然生产实时时钟可以用软件实现,但最方便的还是用时钟芯片,常用的时钟芯片又并行和串行两种形式。看门狗是监视程序正常运行的一种定时器。它的定时时间固定不编,一旦定时时间到,就会产生中断或产生溢出脉冲,使系统复位,为了不然系统复位,我们可以在运行的程序中,插入对看门狗定时器的清零指令,不时对它清零刷新。这样溢出就不会发生。在许多单片机内部就有看门狗电路。如AT8951以及Microchip公司的PIC系列产品等。如果单片机内部没有看门狗电路,可以用片内多余的定时器通过软件自行构成。也可选用集成电路。近年来,新型单片机内的接口,无论从类型和数量上都有很大的发展单片机从功能到形态都有了飞速的发展。在发展出新一代单片机的同时,也在不断扩充着各种功能, 如A/D、PWA、高速I/O口、PCA计数器捕获比较/比较逻辑等。这不仅大大提高了单片机的功能,而且使系统的总体结构也大大简化了。 本设计使用单片机作为核心进行控制。单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛的用途。温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相比,仍然有着较大的差距。成熟的温控产品主要以“点位”控制及常规的PID控制器为主,它们只能适应一般温度系统控制,而用于较高控制场合的智能化、自适应控制仪表,国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少。随着我国经济的发展及加入WTO,我国政府及企业对此都非常重视,对相关企业资源进行了重组,相继建立了一些国家、企业的研发中心,开展创新性研究,使我国仪表工业得到了迅速的发展。单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机也被称为微控制器,是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。 1.2目的及意义温度是一个十分重要的物理量,对它的测量与控制有十分重要的意义。随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度。在人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。温度对于工业如此重要,由此推进了温度传感器的发展。通过本次设计可以巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力。培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力。通过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。1.3思路和主要内容把DS18B20作为温度传感元件,将环境温度数据转换成数字信号发送给AT89C52,AT89C52通过程序内部的运算将转换好的温度数值发送给LCD显示出来。根据系统设计的功能,本时钟温度系统的设计必须采用单片机软件系统实现,用单片机的自动控制能力来测量、显示温度数值。初步确定设计系统由单片机主控模块、测温模块、显示模块、报警模块共4个模块组成。对于单片机的选择,如果用8051系列,由于它没有内部RAM,系统又需要一定的内存存储数据。AT89C52是一个低功耗、高性能CMOS 8位的单片机,片内含8k Bytes ISP的可反复擦写1000次的Flash只读程序存储器,兼容标准MCS-51指令系统及80C51引脚结构,功能强大的AT89C52可为许多嵌入式控制应用系统提供高性价比的解决方案。而AT89C52与AT89C51相比,外型管脚完全相同,AT89C51的HEX程序无须任何转换可直接在AT89C52运行,且AT89C52比AT89C51新增了一些功能,相比较后,在本设计中选用AT89C52更能很好的实现温度计控制功能。 测温电路可以使用热敏电阻之类的器件,利用其感温效应,将被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据处理。但是这种感温电路比较复杂,且采用热敏电阻精度低,重复性、可靠性都比较差。如果采用温度传感器DS18B20可以减少外部硬件电路,而且可以很容易直接读取被测温度值,进而转换,还可以在高温报警,且成本低、易使用,可以很好的满足设计要求。所以本文采用传感器DS18B20代替传统的测温电路。温度的显示可以采用LED数码管来显示,LED亮度高、醒目,但是电路复杂,占资源多且信息量小。而采用液晶显示器有明显的优点:工作电流比LED小几个数量级,功耗低;尺寸小,厚度约为LED的1/3;字迹清晰、美观、使人舒服;寿命长,使用方便,可得性强。故本设计采用LCD来显示温度。控制器使用单片机AT89C52,温度计传感器使用DS18B20,用液晶实现温度显示。本温度计大体分三个工作过程。首先,由DS18B20温度传感器芯片测量当前的温度,并将结果送入单片机。然后,通过AT89C52单片机芯片对送来的测量温度读数进行计算和转换,井将此结果送入液晶显示模块。最后,SMC1602A芯片将送来的值显示于显示屏上。电路主要由DSl8820温度传感器芯片、SMCl602A液晶显示模块芯片和AT89C52单片机芯片组成。其中,DSI8B20温度传感器芯片采用“一线制”与单片机相连,它独立地完成温度测量以及将温度测量结果送到单片机的工作。第二章 芯片功能简介2.1单片机的发展情况和应用当国内从80年代起开始了单片机的热潮,二十多年过去了,单片机从研究所走出来,成为日常生活中的一个不可缺少的部件。硬件方面日趋多样化,4位、8位、16位、32位等型号共同并存,在不同的领域存在,如家电、玩具、工业设备、仪器、通讯等。软件方面发展主要为汇编语言、C语言、嵌入式操作系统。速度、稳定性特别要求的场合较多采用汇编语言和C语言。单片机作为微型计算机的一个重要分支,应用面很广,发展很快。自单片机诞生至今,已发展为上百种系列的近千个机种。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。单片机的品种繁多,按应用范围分为通用型和专用型。专用型是针对某种特定产品而设计的,例如用于洗衣机的单片机。通用型单片机有总线型和非总线型或者8位和16位之分,总线型设有并行地址总线、数据总线和控制总线的引脚,便于扩展外围器件。非总线型没有有总线引脚,芯片体积小,要扩展可通过I/O口,因此非线型更适合中小系统。以下就单片机部分功能器件的应用举例简要说明。首先以实时时钟为例。一些单片机控制系统要求在确定的时刻进行某种检测与操作,有的控制系统要求在进行某种操作时记下进行操作的具体时间,例如现在各公司广泛用的员工考勤打卡机,有些网页的登陆同时记下用户的登陆时间等。要达到这个目的,就要给系统配置实时时钟,一边根据时钟提供的时间,按时操作或记录。当然生产实时时钟可以用软件实现,但最方便的还是用时钟芯片,常用的时钟芯片又并行和串行两种形式。看门狗是监视程序正常运行的一种定时器。它的定时时间固定不编,一旦定时时间到,就会产生中断或产生溢出脉冲,使系统复位,为了不然系统复位,我们可以在运行的程序中,插入对看门狗定时器的清零指令,不时对它清零刷新。这样溢出就不会发生。在许多单片机内部就有看门狗电路。如AT8951以及Microchip公司的PIC系列产品等。如果单片机内部没有看门狗电路,可以用片内多余的定时器通过软件自行构成。也可选用集成电路。近年来,新型单片机内的接口,无论从类型和数量上都有很大的发展单片机从功能到形态都有了飞速的发展。在发展出新一代单片机的同时,也在不断扩充着各种功能,如A/D、PWA、高速I/O口、PCA计数器捕获比较/比较逻辑等。这不仅大大提高了单片机的功能,而且使系统的总体结构也大大简化了。2.2单片机的结构和性能单片机的基本组成,是由中央处理器(C P U)、只读存储器(ROM)、读写存储器(RAM)、输入/输出口(I/O)等等组成。此外,里面还有一个时钟电路,使单片机在进行运算和控制时,都能有节奏地进行。另外,还有“中断系统”,当单片机控制对象的参数到达某项需要加以干预的状态时,就可传达给CPU,使CPU采取适当的应付措施。按结构形式分,单片机有两种基本的结构形式:普林斯顿结构和哈佛结构。普林斯顿结构,也称冯诺伊曼结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司(Intel)的8086和MCS-51就采用了此结构。而哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器(CPU)首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,然后到相应的数据存储器中读取数据,进行下一步操作(通常是执行)。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,目前较多的单片机采用改进的哈佛结构,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。另外,现在单片机采用一种三核(TriCore)结构,这是种建立在一块片上的系统概念上的结构。三核是:数据和程序存储器核,控制器和DSP核和外围用户专用电路ASIC。这种单片机最大特点是把DSP和微控制器同时做在一个片上。单片机按其内部数据通道的宽度,可分为4位、8位、1 6位、3 2位及6 4位。由于单片机的集成度高,功能强,可靠性高,体积小,功耗低,使用方便等一系列优点,目前已经渗入到人们工作和生活中。就单片机本身来说,除了4位机和8位机仍保持巨大的领域之外,各种新型高性能的机型也在迅速发展。针对市场上在大份额的八位单片机,这里以51,AVR和PIC八位单片机为例介绍单片机的性能。Intel的51系列在市场上占有相当大的比例。这与它优秀的性能分不开。51系列的优点诸多,它有完整的按位操作系统,除能进行传送,置位,清零,测试等操作,还能进行位逻辑操作。随着技术的发展,其运行速度越来越快,晶振频率可从以前的12MHz可提升到40MHz。I/O脚的设置简单,使用方便。当该脚做输入使用时,将其置为高电平即可;当该脚做输出使用时,则高低电平均可。在51单片机系列中,随着制造工艺的飞速发展,越来越多新型单片机出现。使单片机的运行速度得到提升、并引入了双数据指针及ISP功能。ISP功能实现在系统可编程功能。可以省去通用的编程器,单片机在用户板上即可下载和烧录用户程序,无需将单片机从生产好的产品上取下。未定型的程序还可以边生产边完善,加快了产品的开发速度,减少了新产品因软件缺陷带来的风险。AVR单片机是Atmel公司推出的较为新颖的单片机,其显著的特点为高性能、高速度、低功耗。它取消机器周期以,时钟周期为指令周期,实行作业。A V R单片机指令以字为单位,且大部分指令都为单周期指令。而单周期既可执行本指令功能,同时完成下一条指令的读取。通常时钟频率用48MHz,故最短指令执行时间为250125ns。AVR系列没有类似累加器A的结构,它主要是通过R16R31寄存器来实现A的功能。在AVR中,没有像51系列的数据指针DPTR,而是由X(由R26、R27组成)、Y(由R28、R29组成)、Z(由R30、R31组成)三个16位的寄存器来完成数据指针的功能。在51系列中,所有的逻辑运算都必须在A中进行;而AVR却可以在任两个寄存器之间进行,省去了不少麻烦,这些比51系列强。PIC单片机系列是美国微芯公司(Micro-ship)的产品,是当前市场份额增长最快的单片机之一。CPU采用RISC结构,分别有33、35、58条指令(视单片机的级别而定),属精简指令集。采用Harvard双总线结构,运行速度快(指令周期约160200ns),高效率运行的原因之一是它能使程序存储器的访问和数据存储器的访问并行处理,这种指令流水线结构,在一个周期内完成两部分工作,一是执行指令,二是从程序存储器取出下一条指令,这样总的看来每条指令只需一个周期(个别除外)。此外,它还具有低工作电压、低功耗、驱动能力强等特点。PIC系列单片机共分三个级别,即基本级、中级、高级。其中又以中级的PIC16F873(A)、PIC16F877(A)用的最多。PIC系列单片机的I/O口是双向的,其输出电路为CMOS互补推挽输出电路。I/O脚增加了用于设置输入或输出状态的方向寄存器,从而解决了51系列I/O脚为高电平时同为输入和输出的状态。当置位1时为输入状态,且不管该脚呈高电平或低电平,对外均呈高阻状态;置位0时为输出状态,不管该脚为何种电平,均呈低阻状态,有相当的驱动能力,低电平吸入电流达25mA,高电平输出电流可达20mA。具有在线调试及编程(ISP)功能。随着CMOS工艺的改进和提高,闪速存储器在不断发展和完善,应用越来越广,容量越来越大,价格越来越低,闪存技术在各个领域得到应用。最初的单片机,片内只有并行输入/输出接口、定时器/计数器,它们的功能较弱,实际应用中往往需要通过特殊的接口扩展功能,从而也增加了应用系统结构的复杂性。2.3单片机的选择对于单片机的选择,如果用8051系列,由于它没有内部RAM,系统又需要一定的内存存储数据。AT89C52是一个低功耗、高性能CMOS 8位的单片机,片内含8k Bytes ISP的可反复擦写1000次的Flash只读程序存储器,兼容标准MCS-51指令系统及80C51引脚结构,功能强大的AT89C52可为许多嵌入式控制应用系统提供高性价比的解决方案。而AT89C52与AT89C51相比,外型管脚完全相同,AT89C51的HEX程序无须任何转换可直接在AT89C52运行,且AT89C52比AT89C51新增了一些功能,相比较后,在本设计中选用AT89C52更能很好的实现温度计控制功能。AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。2.3.1管脚说明AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。兼容MCS51指令系统 8k可反复擦写(1000次)Flash ROM 32个双向I/O口256x8bit内部RAM 3个16位可编程定时/计数器中断 时钟频率0-24MHz 2个串行中断可编程UART串行通道 2个外部中断源共6个中断源 2个读写中断口线3级加密位 低功耗空闲和掉电模式软件设置睡眠和唤醒功能 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 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。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 位地址。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 片内存储器中,80H-FFH 共128 个单元为特殊功能寄存器(SFE),SFR 的地址空间映象如表2 所示。并非所有的地址都被定义,从80HFFH 共128 个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。不应将数据“1”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。AT89C52除了与AT89C51所有的定时/计数器0 和定时/计数器1外,还增加了一个定时/计数器2。定时/计数器2 的控制和状态位位于T2CON,T2MOD,寄存器(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 亦可作为堆栈区使用。定时器0和定时器1:AT89C52的定时器0和定时器1 的工作方式与AT89C51 相同。2.3.2片上资源定时器2定时器2是一个16位定时/计数器。它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON的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 个机器周期(24个振荡周期),因此,最高计数速率为振荡频率的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作为发送器或接收器,其发送和接收的波特率可以是不同的,定时器1用于其它功能。若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 作为波特率发生器使用的电路如图7 所示。T2CON 中的RCLK 或TCLK=1 时,波特率工作方式才有效。在波特率发生器工作方式中,TH2 翻转不能使TF2 置位,故而不产生中断。但若EXEN2 置位,且T2EX 端产生由1 至0 的负跳变,则会使EXF2 置位,此时并不能将(RCAP2H,RCAP2L)的内容重新装入TH2 和TL2 中。所以,当定时器2 作为波特率发生器使用时,T2EX 可作为附加的外部中断源来使用。需要注意的是,当定时器2 工作于波特率器时,作为定时器运行(TR2=1)时,并不能访问TH2 和TL2。因为此时每个状态时间定时器都会加1,对其读写将得到一个不确定的数值。然而,对RCAP2 则可读而不可写,因为写入操作将是重新装载,写入操作可能令写和/或重装载出错。在访问定时器2或RCAP2 寄存器之前,应将定时器关闭(清除TR2)。可编程时钟输出定时器2 可通过编程从P1.0 输出一个占空比为50%的时钟信号。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。UART AT89C52的UART 工作方式与AT89C51 工作方式相同。中断AT89C52共有6个中断向量:两个外中断(INT0 和INT1),3个定时器中断(定时器0、1、2)和串行口中断。这些中断源可通过分别设置专用寄存器IE的置位或清0 来控制每一个中断的允许或禁止。IE也有一个总禁止位EA,它能控制所有中断的允许或禁止。程序员不应将“1”写入这些位,它们是将来AT89系列产品作为扩展用的。定时器2 的中断是由T2CON中的TF2和EXF2逻辑或产生的,当转向中断服务程序时,这些标志位不能被硬件清除,事实上,服务程序需确定是TF2或EXF2 产生中断,而由软件清除中断标志位。定时器0 和定时器1 的标志位TF0和TF1在定时器溢出那个机器周期的S5P2状态置位,而会在下一个机器周期才查询到该中断标志。然而,定时器2的标志位TF2 在定时器溢出的那个机器周期的S2P2状态置位,并在同一个机器周期内查询到该标志。时钟振荡器AT89C52 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。外接石英晶体(或陶瓷谐振器)及电容C1、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF10pF,而如使用陶瓷谐振器建议选择40pF10F。用户也可以采用外部时钟。采用外部时钟的电路如图10 右图所示。这种情况下,外部时钟脉冲接到XTAL1 端,即内部时钟发生器的输入端,XTAL2 则悬空。由于外部时钟信号是通过一个2 分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。空闲节电模式在空闲工作模式状态, CPU 自身处于睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。此时,同时将片内RAM 和所有特殊功能寄存器的内容冻结。空闲模式可由任何允许的中断请求或硬件复位终止。由硬件复位终止空闲状态只需两个机器周期有效复位信号,在此状态下,片内硬件禁止访问内部RAM,但可以访问端口引脚,当用复位终止空闲方式时,为避免可能对端口产生意外写入,激活空闲模式的那条指令后一条指令不应是一条对端口或外部存储器的写入指令。掉电模式在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM 和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器,但不改变RAM中的内容,在Vcc恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。程序存储器的加密AT89C52 有3个程序加密位,可对芯片上的3个加密位LB1、LB2、LB3 进行编程(P)或不编程(U)来得到。当加密位LB1被编程时,在复位期间,EA 端的逻辑电平被采样并锁存,如果单片机上电后一直没有复位,则锁存起的初始值是一个随机数,且这个随机数会一直保存到真正复位为止。为使单片机能正常工作,被锁存的EA 电平值必须与该引脚当前的逻辑电平一致。此外,加密位只能通过整片擦除的方法清除。Flash存储器的编程AT89C52单片机内部有8k字节的Flash PEROM,这个Flash 存储阵列出厂时已处于擦除状态(即所有存储单元的内容均为FFH),用户随时可对其进行编程。编程接口可接收高电压(+12V)或低电压(Vcc)的允许编程信号。低电压编程模式适合于用户在线编程系统,而高电压编程模式可与通用EPROM 编程器兼容。AT89C52单片机中,有些属于低电压编程方式,而有些则是高电压编程方式,用户可从芯片上的型号和读取芯片内的签名字节获得该信息。AT89C52的程序存储器阵列是采用字节写入方式编程的,每次写入一个字节,要对整个芯片内的PEROM 程序存储器写入一个非空字节,必须使用片擦除的方式将整个存储器的内容清除。编程方法编程前,设置好地址、数据及控制信号, AT89C52 编程方法如下:1在地址线上加上要编程单元的地址信号。2在数据线上加上要写入的数据字节。3激活相应的控制信号。4在高电压编程方式时,将EA/Vpp 端加上+12V 编程电压。5每对Flash 存储阵列写入一个字节或每写入一个程序加密位,加上一个ALE/PROG 编程脉冲。每个字节写入周期是自身定时的,通常约为1.5ms。重复15 步骤,改变编程单元的地址和写入的数据,直到全部文件编程结束。数据查询AT89C52单片机用Data Palling表示一个写周期结束为特征,在一个写周期中,如需

温馨提示

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

评论

0/150

提交评论