太阳能热水器控制器设计 毕业论文.doc

上传人:爱问知识人 文档编号:3924898 上传时间:2019-10-10 格式:DOC 页数:54 大小:544.52KB
返回 下载 相关 举报
太阳能热水器控制器设计 毕业论文.doc_第1页
第1页 / 共54页
太阳能热水器控制器设计 毕业论文.doc_第2页
第2页 / 共54页
太阳能热水器控制器设计 毕业论文.doc_第3页
第3页 / 共54页
太阳能热水器控制器设计 毕业论文.doc_第4页
第4页 / 共54页
太阳能热水器控制器设计 毕业论文.doc_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《太阳能热水器控制器设计 毕业论文.doc》由会员分享,可在线阅读,更多相关《太阳能热水器控制器设计 毕业论文.doc(54页珍藏版)》请在三一文库上搜索。

1、摘要该设计以单片机 AT89C52 为核心,结合单线数字温度传感器 DS18B20 与液晶显示器1602,设计一种数字化的太阳能热水器控制系统。该系统由主控芯片模块、DS18B20 温度检测模块、LCD 显示模块、水位检测模块、键盘控制模块、报警模块和电磁阀控制模块组成。给出了各个模块结构及其工作原理、系统硬件原理图、程序流程图和部分源程序。此系统解除了热水器上水时需人工守候和过量溢水的问题,达到了省时、环保、节水的目的。该系统与传统的机械式控制系统相比较,具有结构简单,使用方便等特点。 关键词:单片机AT89C52; 温度传感器 DS18B20; 太阳能热水器 AbstractThis de

2、sign takes monolithic integrated circuit AT89C52 as the core, combining the single digital temperature sensor DS18B20 and LCD 1602, to design a kind of digital control system of solar energy water heater. The system consists of main chip module, DS18B20 temperature detection module, LCD display modu

3、le, the water level detection module, keyboard control module, alarm module and solenoid valve control module. given to the structure of each module and its working principle, system hardware, schematics, process flow charts, and some source code, and theoretical design of physical production. The s

4、ystem needs to lift the water heater in sheung Shui and excessive artificial overflow problem waiting to reach a time-saving, environmental protection, water conservation purposes. The system with the traditional mechanical control systems compared to simple structure, easy to use and so on. Keyword

5、s:Microcontroller AT89C52; Transducer DS18B20; Solar water heater 1绪论1.1 太阳能热水器的发展概况及市场竞争分析在全球能源形势紧张、气候变暖严重威胁经济发展和人们生活健康的今天,世界各国都在寻求新的能源替代战略,以求得可持续发展和在日后的发展中获取优势地位。太阳能以其清洁、源源不断、安全等显著优势,成为关注重点。在太阳能产业的发展中,太阳能热水器的热利用转换技术无疑是最为成熟的,其产业化进程也较光伏电池、太阳能发电等产业领先一步。太阳能热水器已成为我国第一个实现商业化的可再生能源产业。自1998年起,中国就成为太能能热水器第

6、一大制造和消费的市场,现已经发展成为一个重要的产业。目前,太阳能热水器与电、燃气热水器三分热水器市场,是可再生能源产业领域的第一个商业化的产品。2007年,我国太阳能热水器年产量达2340万平方米,比2006年同期增长30%;总保有量达10800万平方米,比2006年同期增长20%。市场销售额约为320亿元人民币。但是与之相配套的太阳能热水器控制系统却一直处在研究与开发阶段。市面上绝大多数的控制器结构简单,功能单一,智能化程度低下,用户界面不人性化,只具有液位显示功能,不具有温度显示功能。并且当水位加到一定的程度的时候也没有什么措施,只能通过手动的方法来控制水位的高度。因此根据以上要求为核心,

7、开发出一种太阳能热水器智能控制系统,解决了目前市面上太阳能热水器控制系统存在的问题。1.1.1太阳能热水器的应用及意义太阳能热水器应用较好的国家有西班牙、以色列、意大利、希腊、德国、荷兰、澳大利亚、日本、美国等国家。一些国家利用太阳能热水器除了提供家庭热水外,还用于采暖、空调及泳池加热等领域,其中美国的太阳能热利用主要用于泳池加热。目前太阳能热水器已在我国城乡开始推广使用,主要供应生活和洗浴热水,我国已成为世界上最大的太阳能热水器生产国和应用国。太阳能热水器节能减排,实现能源替代,效果显著。经过两年多的实践,人们认识到太阳能热利用是投资少、见效快、经济实用、节能减排,实现我国能源替代的一个好产

8、业,国家也正大力扶持和支持,学校、宾馆、饭店、洗浴中心纷纷建设太阳能洗浴系统,太阳能热水器的市场存在扩大空间。新农村建设与建筑节能也为太阳能热水器的应用推广带来机遇。1.1.2设计背景目前,中国已成为世界上最大的太阳能热水器生产国,年产量约为世界各国之和,已有一百多家太阳能热水器生产厂。但是与之配套的太阳能热水器控制器却一直处在研究与开发阶段,当由于天气原因而光强不足时,就会给热水器用户带来不便;即使热水器具有辅助加热功能,由于加热时间不能控制而产生过烧,从而浪费大量的电能。温度控制采用模糊控制,控制器可以根据天气情况利用辅助加热装置使蓄水箱内的水温在设定时间达到预先设定的温度,从而达到24小

9、时供应热水的目的。太阳能热水器是太阳能利用中最常见的一种装置,经济效益明显,正在迅速的推广应用,太阳能热水器能够将太阳辐射能转换热能,供生产和生活使用。他主要由平板集热器、蓄水器和连接管道等部件组成,可分循环式、直流式和闷晒式。太阳能热水器是环保、无污染,人们用着安全放心。利用太阳的能源,大量节约现有的能源,是以后能源发展的趋势。原有的燃气热水器和电热水器虽然加热速度比较快,但是所用的煤和气都会对环境造成一定的污染,而且会使室内的空气变得不清新,电热水器的功率较大,对长期使用的一般家庭来说必定会带来一定的经济困难,是一笔相当大的开销14。太阳能热水器安全、环保、经济,带有辅助加热功能的热水器可

10、在全年的任何时候使用,设计一个控制器来帮助人们了解水的温度和热水器中水位的高低,使人们清楚的使用。先前国内外大多数家庭使用的太阳能热水器只是纯粹的太阳能加热问题,还没有其他的智能控制方面,在没有太阳的天气中没有足够的能源使水箱中的水加到最热。其次对太阳能热水器中的水位没有记录,使人们不能及时知道水箱中的水量,以便补充,缺乏自动性。如今大多数的家庭太阳能都装有水位监测和水温测量、显示的功能,使用更加方便。今年来,利用太阳能和其它能源的结合,使得太阳能热水器更加的完善,在任何天气情况下都能使用到热水。此款热水器包括主、从两大系统:主系统的特点是在晴好的天气利用太阳光能为热水器加热;从系统相当于电热

11、水器,它在无光照的情况下利用电辅助加热。它充分利用太阳能的丰富的免费的资源的优势,同时考虑到在阴天及夜间无法利用太阳能的缺点,充分发挥太阳能热水器和电热水器的各自优势,这是世面上大部分热水器所不能比拟的。当今社会发展日新月异,人们衣食住行也在不断的提高。现有电热型热水器费用昂贵及燃气型的不安全性,且排放二氧化碳污染大气,北方用煤气取暖造成城市空气环境污染,这些都是太阳能热水器良好的外部生存环境。太阳能热水器克服了上述缺点,他是绿色环保产品。它使用简单、方便。太阳能热水器顺着时代发展的要求,满足人们对环保绿色产品的需求。在人类文明程度日益提高的今天,它是现代文明社会的最佳选择。应该注意到,集体单

12、位对太阳能热水器的用量很大。众所周知,太阳能是取之不尽,用之不竭,没有污染的巨大能源。随着世界上煤、石油、天然气的存储量日益减少,能源危机已日益增长,环境污染的危机已威胁着生态平衡,太阳能开发利用的课题已提到人类的面前。有人预测:二十一世纪太阳能将由辅助能源上升为主要能源。但由于太阳能的分散性、季节性和地区性又给太阳能利用带来重重困难,有些技术难点尚未突破,产品造价偏高,因而尚未被人们大规模使用。在太阳能热利用技术中,太阳能热水器是技术上比较成熟、造价比较低廉的产品,同时给人民提供低耗能源、保护环境、绝对安全的热水而受到人们的欢迎。世界各国的太阳能热水器生产发展也很快。例如:澳大利亚政府规定,

13、在北部地区新建房屋一定要设置太阳能热水器,已经有25的新住宅安装了太阳能热水器。日本现在每年安装太阳能热水器近50万台,计划今后普及率更高。有些国家法令规定所有新建筑物必须配备太阳能热水器。太阳能热水器的推广应用及经济效益据不完全统计,迄今全国太阳能热水器累计安装使用总量已达到300万平方米以上。所以该控制器具有使用方便、性价比高、工作可靠、精度高等特点,为太阳能热水器的进一步推广具有积极的推动作用。1.2系统设计要求和方案论证1.2.1系统设计要求此太阳能热水器控制器用数字方式显示水温、水位;当水位低于规定值报警并自动上水,上水到规定水位时自动停止上水(水位的上限可由用户自行设定。设定参数具

14、有断电保护,重新上电不需要用户再设定);水位界于高低水位之间时,用户可以通过触摸键手动上水、停水;当水压不足时,自动控制增压泵投入工作,避免因水压不足导致上水失败;禁止高温空晒后进水,可以防止真空管因突然注入冷水而爆裂.1.2.2设计方案比较方案一:采用半导体逻辑器件构成的控制器,主要应用定时器构成。在此控制方案里,定时器和加减计数器共同构成水位显示器。由于水温的变化具有未知性,在水温检测电路里,利用热敏电阻测量的水温信号是模拟量,需要经过模/数转换成半导体逻辑器件能够识别的数字信号。这类控制电路过于庞大复杂,操作也不方便,成本也较高。 方案二:采用可编程逻辑器件。结果简单的PLC控制成为首选

15、。由于控制电路简单,检测电路要求也不高,所以必然造成接口资源和内部资源的浪费,显然不够经济。 方案三:采用单片机为核心控制器的电路。单片机电路结构简单、成本低廉,可靠性高,便于实现各个控制功能。水位由设置在水箱内的四个逻辑探针获得的电信号检测,通过单片机处理送达显示电路显示当前水位。水温检测由单片机根据温度传感器(DS18B20)的操作指令和时序,读取温度,并送达显示电路显示当前水温。本设计用三个按键来控制上停水、水位上线设置和淋浴状态的切换。 从结构、经济、可操作性等方面来看,方案三都是最佳选择。方案三以单片机AT89C52核心控制器件,结合单线数字温度传感器DS18B20与液晶显示器160

16、2等芯片,设计一种太阳能热水器控制系统。该系统原理框图如图1所示:图1.2.1 系统原理图用户在使用热水器后,当水箱中水位下降到一定刻度值时,可通过人工使用按键的方法来控制电磁阀立即上水,水位的最高限也可以由按键进行自行设定。当水位下降到最低水位刻度值时,单片机接受此信号开始执行指令,报警器开始自动报警,同时进行自动上水。当水位达到最高限时便给单片机发出中断请求,此时电磁阀关闭,停止工作。若用户在热水不多的情况或阴天等时候进行淋浴时,则可以通过按键选择“淋浴”模式,在此模式下,当水位下降到25%时,单片机接受此信号,进行自动上水和自动加热功能,直到水位达到75%,停止自动上水,当水温达到50摄

17、氏度时,加热器也停止工作。当系统检测到上水指令执行后,在三分钟之内水位无明显变化时,自行启动电磁阀,进行上水操作,以免上水失败。在上水过程中,显示器既可以显示当前水位,又可以显示当期的水温,不仅只管方便,而且精确度高,实用性强,此系统解决了热水器上水需人守候和过量溢水的不足点,达到了省时、环保和节水的目的,以及独特的功能切换,从而使整个热水器更加的数字化人性化。统由主控芯片模块AT89C52,温度检测模块、水位检测模块、键盘模块、显示模块、自动上水等模块组成,下面对本次设计的控制器做一个详细的介绍。2太阳能热水器控制器系统硬件设计在设计太阳能热水器的控制系统之前,首先了解一下太阳能热水器的组成

18、与工作原理,了解一下太阳能热水器的基本构架和工作过程。 2.1 太阳能热水器的组成与工作原理图2.1 热水器装置简图1- 集热器 2-下降水管3-循环水管4-补给水箱5-上升水管6-自来水管7-热水出水管热水器主要由集热器、循环管道和水箱等组成,图中为典型的热水器装置图。图中集热器1按最佳倾角放置,下降水管2的一端与循环水箱3的下部相连,另一端与集热器1的下集管接通。上升水管5与循环水箱3上部相连,另一端与集热器1的上集管相接。补给水箱4供给循环水箱3所需的冷水。集热器吸收太阳辐射后,集热器内温度上升,水温也随之升高。水温升高后,水的比重减轻,便经上升水管进入循环水箱上部。而循环水箱下部的冷水

19、比重较大,就由水箱下流到集热器下方,在集热器内受热后又上升。这样不断对流循环,水温逐渐提高,直到集热器吸收的热量与散失的热量相平衡时,水温不再升高。这种热水利用循环加热的原理,因此又称循环热水器。集热器是一种利用温室效应,将太阳能辐射转换为热能的装置,该装置与一般热水交换器不一样,热交换器通常只是液体到液体,或是液体到气体的热交换过程,而平板集热器直接将太阳辐射传给液体或气体,是一个复杂的传热过程。平板型集热器结构形式很多,世界上已实用的集热器就有直管式、瓦楞式、扁管式、铝翼式等二十多种。2.2主控芯片模块电路设计单片机系统由AT89C52和一定功能的外围电路组成,包括为单片机提供复位电压的复

20、位电路,提供系统频率的晶振。这部分电路主要负责程序的存储和运行。对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡器频率的高低、谐振器的稳定性、起振的快速性和温度的稳定性。晶体可在1.2MHz12MHz之间任选,电容C1和C2的典型值在20pF100pF之间选择,但在60pF70pF时振荡器具有较高的频率稳定性。典型值通常选择为30pF左右,但本电路采用30pF。AT89C51的复位是由外部的复位电路来实现的。复位电路通常采用上电自动复位和按钮复位两种方式。本设计中所用到的是上电按钮复位,如下图所示。图2.2 主控芯片模块电路2.2.1主控芯片简介AT89C52是51系列单片机的一个型号

21、,它是ATMEL公司生产的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可以按照常规方法进行编程,但不可以在线

22、编程(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相同,其主要用于会聚调整时的功能

23、控制。功能包括对会聚主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脚

24、定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。图2.2.1 C52引脚图P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,有上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口P1是一个带内部上拉电阻的8位双向I/O口

25、,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51 不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入P1.1/T2EXFlash 编程和程序校验期间,P1 接收低8 位地址。表.P1.0和P1.1的第二功能引脚号功能特性P1.0T2,时钟输出P1.1T2EX(定时/计数器2)P2 是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个

26、TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX RI指令)时,P2口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输

27、入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RS 引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉

28、冲(PROG)。如有必要,可通过对特殊功能寄存器 (SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条MOV和MOVC 指令才能将ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000HFFFFH),EA 端必须保持低电平(接地)。需注意的

29、是:如果加密位LB1 被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU 则执行内部程序存储器中的指令。Flash 存储器编程时,该引脚加上+12V 的编程允许电源Vpp,当然这必须是该器件是使用12V 编程电压Vpp。XTAL1振荡器反相放大器的及内部时钟发生器的输入端。XTAL2振荡器反相放大器的输出端。特殊功能寄存器在AT89C52片内存储器中,80H-FFH共128个单元为特殊功能寄存器(SFE),SFR的地址空间映象如表2 所示。并非所有的地址都被定义,从80HFFH 共128 个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读

30、出的数值将不确定,而写入的数据也将丢失。不应将数据“1” 写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。AT89C52除了AT89C51所有的定时/计数器0和定时/计数器1外,还增加了一个定时/计数器2。定时/计数器2的控制和状态位位于T2MOD,寄存器对(RCAO2H、RCAP2L)是定时器2 在16位捕获方式或16 位自动重装载方式下的捕获/自动重装载寄存器。数据存储器AT89C52 有256 个字节的内部RAM,80H-FFH 高128 个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128字节的RAM 和特殊功能寄存器的

31、地址是相同的,但物理上它们是分开的。当一条指令访问7FH 以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128 字节RAM还是访问特殊功能寄存器。如果指令是直接寻址方式则为访问特殊功能寄存器。下面的直接寻址指令访问特殊功能寄存器0A0H (即P2口)地址单元。间接寻址指令访问高128 字节RAM,例如,下面的间接寻址指令中,R0的内容为0A0H,则访问数据字节地址为0A0H,而不是P2口(0A0H)堆栈操作也是间接寻址方式,所以,高128位数据RAM 亦可作为堆栈区使用。定时器0和定时器1:AT89C52的定时器0和定时器1 的工作方式与AT89C51 相同。定时

32、器2定时器2是一个16位定时/计数器。它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器 T2CON 的C/T2位选择。定时器2 有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON的控制位来选择。定时器2 由两个8 位寄存器TH2 和TL2 组成,在定时器工作方式中,每个机器周期TL2 寄存器的值加1,由于一个机器周期由12个振荡时钟构成,因此,计数速率为振荡频率的1/12。在计数工作方式时,当 T2引脚上外部输入信号产生由 1至0的下降沿时,寄存器的值加1,在这种工作方式下,每个机器周期的5SP2期间,对外部输入进行采样

33、。若在第一个机器周期中采到的值为 1,而在下一个机器周期中采到的值为0,则在紧跟着的下一个周期的S3P1期间寄存器加1。由于识别1至0 的跳变需要2 个机器周期(24 个振荡周期),因此,最高计数速率为振荡频率的1/24。为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输信号至少被采样一次。捕获方式在捕获方式下,通过T2CON控制位EXEN2来选择两种方式。如果 EXEN2=0,定时器 2是一个 16位定时器或计数器,计数溢出时,对 T2CON的溢出标志TF2 置位,同时激活中断。如果 EXEN2=1,定时器 2完成相同的操作,而当T2EX 引脚外部输入信号发生1至

34、0 负跳变时,也出现TH2 和TL2 中的值分别被捕获到RCAP2H 和RCAP2L 中。另外,T2EX 引脚信号的跳变使得T2CON 中的EXF2 置位,与TF2 相仿,EXF2也会激活中断。自动重装载(向上或向下计数器方式当定时器 2工作于 16位自动重装载方式时,能对其编程为向上或向下计数方式,这个功能可通过特殊功能寄存器T2CON的DCEN 位(允许向下计数)来选择的。复位时,DCEN 位置“0”,定时器2 默认设置为向上计数。当DCEN置位时,定时器 2 既可向上计数也可向下计数,这取决于T2EX引脚的值,当DCEN=0时,定时器 2自动设置为向上计数,在这种方式下,T2CON 中的

35、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 向上或向下计数,如图6 所示。这种方式下,T2EX 引脚控制计数器方向。T2EX 引脚为逻辑 “1”时,定时器向上计数,当计数0FFFFH向上

36、溢出时,置位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工作于波特率发生器方式。波特

37、率发生器的方式与自动重装载方式相仿,在此方式下,TH2 翻转使定时器2 的寄存器用RCAP2H 和RCAP2L 中的16位数值重新装载,该数值由软件设置。在方式1和方式3中,波特率由定时器2 的溢出速率根据下式确定,方式1和3的波特率=定时器的溢出率/16定时器既能工作于定时方式也能工作于计数方式,在大多数的应用中,是工作在定时方式(C/T2=0)。定时器2 作为波特率发生器时,与作为定时器的操作是不同的,通常作为定时器时,在每个机器周期(1/12振荡频率)寄存器的值加1,而作为波特率发生器使用时,在每个状态时间(1/2 振荡频率)寄存器的值加1。波特率的计算公式如下:方式1和3的波特率=振荡

38、频率/32*65536-(RCP2H,RCP2L)式中(RCAP2H,RCAP2L)是RCAP2H 和RCAP2L中的16 位无符号数。定时器2作为波特率发生器使用的电路如图所示。T2CON中的RCLK 或TCLK=1 时,波特率工作方式才有效。在波特率发生器工作方式中,TH2 翻转不能使TF2置位,故而不产生中断。但若EXEN2置位,且T2EX端产生由1至0的负跳变,则会使EXF2置位,此时并不能将(RCAP2H,RCAP2L) 的内容重新装入TH2 和TL2 中。所以,当定时器2 作为波特率发生器使用时,T2EX 可作为附加的外部中断源来使用。需要注意的是,当定时器 2工作于波特率器时,作

39、为定时器运行(TR2=1)时,并不能访问TH2和TL2。因为此时每个状态时间定时器都会加1,对其读写将得到一个不确定的数值。然而,对RCAP2 则可读而不可写,因为写入操作将是重新装载,写入操作可能令写和/或重装载出错。在访问定时器 2或 RCAP2寄存器之前,应将定时器关闭(清除TR2)。可编程时钟输出定时器2 可通过编程从P1.0 输出一个占空比为50%的时钟信号。P1.0引脚除了是一个标准的I/O 口外,还可以通过编程使其作为定时/计数器2的外部时钟输入和输出占空比50%的时钟脉冲。当时钟振荡频率为16MHz时,输出时钟频率范围为61Hz4MHz。当设置定时/计数器2 为时钟发生器时,

40、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 工作方式相

41、同。中断 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 产生中断,而由软

42、件清除中断标志位。定时器0和定时器1的标志位TF0和TF1 在定时器溢出那个机器周期的S5P2状态置位,而会在下一个机器周期才查询到该中断标志。然而,定时器2 的标志位TF2 在定时器溢出的那个机器周期的S2P2 状态置位,并在同一个机器周期内查询到该标志。时钟振荡器AT89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图。外接石英晶体(或陶瓷谐振器)及电容C1、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容 C1、C2 虽然没有十分严

43、格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF10pF,而如使用陶瓷谐振器建议选择 40pF10F。用户也可以采用外部时钟。采用外部时钟的电路所示。这种情况下,外部时钟脉冲接到XTAL1 端,即内部时钟发生器的输入端,XTAL2 则悬空。由于外部时钟信号是通过一个2 分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。空闲节电模式在空闲工作模式状态,CPU 自身处于睡眠状态而所有片内的外设仍保持激活状态,这种方式

44、由软件产生。此时,同时将片内RAM 和所有特殊功能寄存器的内容冻结。空闲模式可由任何允许的中断请求或硬件复位终止。由硬件复位终止空闲状态只需两个机器周期有效复位信号,在此状态下,片内硬件禁止访问内部 RAM,但可以访问端口引脚,当用复位终止空闲方式时,为避免可能对端口产生意外写入,激活空闲模式的那条指令后一条指令不应是一条对端口或外部存储器的写入指令。掉电模式在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM 和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器,但不改变RAM中的内容,在Vcc恢复到

45、正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。程序存储器的加密AT89C52有3个程序加密位,可对芯片上的3 个加密位LB1、LB2、LB3 进行编程(P)或不编程(U)来得到。当加密位LB1被编程时,在复位期间,EA端的逻辑电平被采样并锁存,如果单片机上电后一直没有复位,则锁存起的初始值是一个随机数,且这个随机数会一直保存到真正复位为止。为使单片机能正常工作,被锁存的EA电平值必须与该引脚当前的逻辑电平一致。此外,加密位只能通过整片擦除的方法清除。Flash存储器的编程AT89C52单片机内部有8k字节的Flash PEROM,这个Flash 存储阵列出厂时已处于

46、擦除状态(即所有存储单元的内容均为FFH),用户随时可对其进行编程。编程接口可接收高电压(+12V)或低电压( Vcc)的允许编程信号。低电压编程模式适合于用户在线编程系统,而高电压编程模式可与通用EPROM 编程器兼容。AT89C52 单片机中,有些属于低电压编程方式,而有些则是高电压编程方式,用户可从芯片上的型号和读取芯片内的签名字节获得该信息。AT89C52 的程序存储器阵列是采用字节写入方式编程的,每次写入一个字节,要对整个芯片内的PEROM 程序存储器写入一个非空字节,必须使用片擦除的方式将整个存储器的内容清除。编程方法编程前,须设置好地址、数据及控制信号, AT89C52 编程方法

47、如下:1 在地址线上加上要编程单元的地址信号。2 在数据线上加上要写入的数据字节。3 激活相应的控制信号。4 在高电压编程方式时,将EA/Vpp 端加上+12V 编程电压。5 每对Flash 存储阵列写入一个字节或每写入一个程序加密位,加上一个ALE/PROG 编程脉冲。每个字节写入周期是自身定时的,通常约为1.5ms。重复15 步骤,改变编程单元的地址和写入的数据,直到全部文件编程结束。数据查询AT89C52 单片机用Data Palling 表示一个写周期结束为特征,在一个写周期中,如需读取最后写入的一个字节,则出的数据的最高位(P0.7)是原来写入字节最高位的反码。写周期完成后,所输出的

48、数据是有效的数据,即可进入下一个字节的写周期,写周期开始后,Data Palling 可能随时有效。程序校验:如果加密位LB1、LB2没有进行编程,则代码数据可通过地址和数据线读回原编写的数据,采用的电路。加密位不可直接校验,加密位的校验可通过对存储器的校验和写入状态来验证。芯片擦除:利用控制信号的正确组合并保持ALE/PROG 引脚10mS 的低电平脉冲宽度即可将PEROM 阵列(4k字节)和三个加密位整片擦除,代码阵列在片擦除操作中将任何非空单元写入“1”,这步骤需再编程之前进行。读片内签名字节:AT89C52 单片机内有3 个签名字节,地址为030H、031H 和032H。用于声明该器件的厂商、型号和编程电压。读AT89C52 签名字节需将P3.6 和P3.7 置逻辑低电平,读签名字节的过程和单元030H、031H 及032H 的正常校验相仿,只返回值意义如下:(030H)=1EH 声明产品由ATMEL公司制造。(031H)=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1