1、III 基于单片机的太阳能热水器控制的设计摘 要目前,中国已成为世界上最大的太阳能热水器生产国,年产量约为世界各国之和。但是与之相配套的太阳能热水器控制器却一直处在研究与开发阶段。现在的这种控制器只具有温度和液位显示功能,而且为分段显示。他不具有温度控制功能,当由于天气原因而光强不足时,就会给热水器用户带来不便。鉴于国内太阳能热水器市场不断扩大,而与其相配套的控制器却急需改进的情况下,研制了这套太阳能热水器控制器。本文设计的太阳能热水器是以89C52单片机为检测控制核心,不仅实现了温度、水位两种参数的实时显示功能,而且具有温度设定与控制功能。控制器可以根据天气情况利用辅助加热装置使蓄水箱内的水
2、温达到预先设定的温度,从而达到24小时供应热水的目的。实际应用结果表明,该控制器和以往的显示仪相比具有性价比高、温度控制与显示精度高、使用方便和性能稳定等优点,提高了我国太阳能应用领域控制水平,具有可观的经济效益和社会效益。太阳能热水器因利用太阳能、无污染、使用方便、长期使用投入费用低等特点而备受人们青睐。本设计介绍了一种以89C52单片机为核心构成的太阳能热水器智能控制器的设计方法,给出了系统硬件设计及软件实现方法。本设计以单片机89C52为核心,将来自温度和水位检测传感器的信号经过调理、A/D转化后送入单片机,一方面通过LED显示当前温度和水位值,另外一方面与温度和水位设定值进行比较、运算
3、,根据结果发出相应的上水、加热指令,对热水器的温度和水位进行控。关键词:太阳能热水器,单片机AT89C52,硬件设计,软件设计Design of Solar Water Heater Controller Based on MCUABSTRACTAt present, China has become the worlds largest producer of solar water heater, with an annual output of around and around the world. However, matching with solar water heater c
4、ontroller has been in research and development stage. The controller now only display the temperature and level, but also for the sub-display. He did not have a temperature control function, when due to bad weather and lack of light, it will bring inconvenience to the water heater. In view of domest
5、ic solar water heater market expansion, and its matching controller is an urgent need to improve the situation, developed a set of solar water heater controller. In this paper, solar water heater is designed for the detection of single-chip control 89C52 core, not only of temperature, water level in
6、 the two parameters in real-time display and temperature setting and control functions. Controller according to weather conditions can make use of auxiliary heating device so that the temperature inside the water to reach pre-set temperature, so as to achieve a 24-hour hot water supply purposes. Pra
7、ctical application results show that the controller and compared to the previous display instrument with high performance-price ratio, temperature control and display high precision, easy-to-use and performance advantages of stability, improved control of our level of solar energy applications, with
8、 considerable economic benefits and social benefits.Solar water heater due to the use of solar energy, pollution-free, easy to use, long-term use of low input costs and has been favored people. Introduced the design of a single-chip microcomputer 89C52 as the core consisting of solar water heater in
9、telligent controller design method, given the system hardware design and software implementation. The design of single-chip microcomputer as the core 89C52, will come from the temperature and water level detection sensor signal conditioning, A / D transformed into single-chip, on the one hand throug
10、h the LED displays the current value of temperature and water level, while on the one hand, and the temperature and compare the water level settings, computing, according to results issued by the Shang Shui, heating instructions, of the water heater to control temperature and water level.KEY WORDS:S
11、olar water heater, single-chip, hardware design, software design目 录摘 要IABSTRACTII1 绪论11.1太阳能热水器的概述11.2太阳能热水器的背景21.3太阳能热水器的研究现状21.4本设计的主要任务及内容31.5系统的主要功能32 系统总体方案的设计42.1 系统总体结构框图的设计42.2 温度检测电路设计42.3 模拟/数字转换电路72.3.1 ADC0809的内部结构82.3.2 信号引脚92.3.3 ADC0809与单片机的接口设计92.4 单片机的控制系统102.4.1 AT89C52的主要特性112.4.2
12、 AT89C52的引脚说明122.4.3 振荡特性152.4.4 最小系统应用电路152.5 键盘控制电路172.5.1 键盘设计的分类及其特点172.5.2 按键的确认172.5.3 重键与连击的处理172.5.4 按键防抖技术182.5.5 少量功能键的接口技术192.5.6 矩阵键盘的接口技术202.5.7 本设计键盘的硬件连接212.6 LED显示电路212.6.1 8255的介绍212.6.2 LED显示原理232.6.3 并行接口动态显示262.7 继电器控制电路设计273 软件部分设计303.1 程序流程图设计303.1.1 主程序流程图303.1.2 显示程序流程图设计323.
13、1.3 键盘中断流程图323.1.3 键盘中断流程图333.1.4 A/D转换程序流程图333.2 软件程序设计344 分析和总结42致 谢43参 考 文 献44附I 图总电路图45附II 仿真电路图46451 绪论1.1 太阳能热水器的概述随着社会的发展,对能源的需求在快速增长,使不可再生能源的贮量不断减少,同时燃用不可再生能源而带来的全球性污染和生态环境的破坏日益严重,开发利用新型清洁能源的问题越来越受到世界各国的重视。太阳能作为一种取之不尽的清洁能源,经过了几起几落的开发、研究之后,现在又进入了一个新的开发利用阶段,各种太阳能转换设备层出不穷,其中太阳能热水器就是其中的一种主要的转化设备
14、,其核心部分是集热器,目前,太阳能热水器上使用的集热器有平板型、真空集热管和热管真空管三种类型。平板型集热器的价格相对较低,普通平板集热器的热效率受工质温度和环境温度的影响比较大,冬季不能正常使用。真空集热管的热工性能非常优良,其热效率受工质和环境温度的影响比较小,可在高温工质和低温环境下正常使用。真空集热管中的玻璃金属真空管的耐高温、承压、耐热冲击等性能均好于全玻璃真空管,但玻璃与金属封接技术成功率低,价位相对较高。全玻璃真空管的价格相对较低,其生产量和市场的需求量都在不断增加,但在直接加热水时,存在着炸管、结垢严重等问题。长期使用热效率会有所降低。热管真空管的价格高于全玻璃真空管,但其具有
15、单向导热和等温传热的特性,通过热管向周围散失的热量非常少。同时,管内封存的少量防冻工作液长期循环工作,管内不结垢、不冻结、不炸管、启动快、集热效率高,在置换破损的真空管时不影响系统正常运行,是目前值得积极研究推广使用的产品。集热器的性能和造价在一定程度上决定了太阳能热水器的推广和使用,决定了太阳能热水供应系统的形式。最早出现的强迫循环方式是定时循环方式,即每隔一定时间启动循环水泵进行一次冷热水循环来采集太阳能,该方式能够加快太阳能的采集速度,但是每隔一定时间进行循环并不能准确跟踪太阳能的变化,当可利用的太阳能很少甚至没有时还会启动循环水泵,致使水泵做无用功,加大系统功耗。随后出现了定温循环方式
16、,即在集热器的出口水温达到一设定值时进行循环来采集太阳能。随着计算机在各种智能控制系统应用中的不断深入与蓬勃发展,单片机更以其小巧的外形、较高的性价比、灵活的控制方式广泛地应用在这一领域。本设计所介绍的太阳能热水器自动控制系统,将低价位的单片机引太阳能热水器中,以单片机作为核心部件,实时采集温度和水位数据,进行温差跟踪循环充分利用太阳能进行加热,同时考虑到太阳能的间歇性自动进行能源转换,有效地启动一种辅助能源进行加热,通过智能控制达到全天候不间断提供热水。目前市场上太阳能热水器的控制系统大多存在功能单一、操作复杂、控制不方便等问题,很多控制器只具有温度和水位显示功能,不具有温度控制功能。即使热
17、水器具有辅助加热功能,也可能由于加热时间不能控制而产生过烧,从而浪费电能.鉴于此,本文以AT89C52单片机为检测控制核心,设计了一种太阳能热水器微控制器,不仅实现了时间、温度和水位参数的实时显示,而且具有时间设定、温度设定、水位设定与控制功能,停电后再来电时也不用重新设定。1.2 太阳能热水器的背景国外对太阳能热水器的研究始于20世纪50年代初,美国、瑞典、澳大利亚、日本等发达国家纷纷投入了大量人力、物力对太阳能热泵进行深入研究与开发,在各地实施了多项太阳能热泵示范工程,如宾馆、住宅、学校、医院、图书馆以及游泳馆等,取得了一定的经济效益和良好的社会效益。目前,太阳能热水器的应用已比较普遍,在
18、国外,许多国家通过政府补贴的式鼓励居民应用太阳能热水器,欧洲还采用了“工程项目法”等措施来加强太阳能热水器的推广。我国在没有政府补贴的情况下,太阳能热水器的销售和普及的速度也十分迅速,据统计,1999年我国销售的太阳能热水器的面积近300万平方米,其数量居世界首位,并且销售的产品都是国产产品,销售的区域主要在经济比较发达地区,而这些区域很多并非是太阳能资源丰富的地区。若能在全国范围内推广使用太阳能热水器,其节能潜力和环保效益将是十分巨大的。 随着技术的不断更新,将会有越来越多、越来越完善的太阳能热水器产品出现,太阳能热水供应系统也会越来越完善。太阳能技术的推广使用,节约了能源改善了环境、提高了
19、人们的生活质量,为人类的文明和进步作出了巨大的贡献。1.3 太阳能热水器的研究现状近年,我国部分地区严重的能源短缺推动了太阳能热水器的广泛使用,这项环保而节能的新型产品在市场上迅速得到发展,到2002年底,我国太阳能热水器的总产量已达到1000万平方米总产值110多亿元,总保有量高达4000万平方米。有关专家预测,在未来的10年中,太阳能热水器将以15%每年的速度增长,到2010年将达到1亿平方米。目前中国太阳能热水器品牌基本上分为三类:一是拥有全国销售网络的企业,如皇明等一两家;二是正处在由地方网络向全国过渡的企业,有华阳与清华阳光等几家;第三类是数量庞大的地方小太阳能热水器企业。有数字显示
20、,这样的小太阳能热水器生产企业全国有3000多家。基本上每个省份都有近百家这样的小企业。这些间接导致了我国太阳能热水器行业整体技术水平的落后,在国际市场上缺乏竞争力。据权威部门统计,100亿的产业规模,年出口量仅1000万美元左右,不及总量的1%。总体来看,我国太阳能热泵热水技术还处于发展阶段,太阳能热水器装置在我国尚难实现商品化,仍有许多问题需要解决。1.4 本设计的主要任务及内容 太阳能热水器因利用太阳能、无污染、使用方便、长期使用投入费用低等特点而备受人们青睐。本设计以单片机AT89C52为核心,将来自温度和水位检测传感器的信号经过调理、A/D转化后送入单片机,一方面通过LED显示当前温
21、度和水位值,另外一方面与温度和水位设定值进行比较、运算,根据结果发出相应的上水、加热指令,对热水器的温度和水位进行控制。本次设计的主要内容:(a) 温度、水位检测传感器的选择 (b) A/D转换器与传感器及AT89C52的接口设计(c) 时钟控制、键盘及显示部分的设计(d) 软件设计(e)总体设计1.5 系统的主要功能太阳能热水器自动控制系统具有以下功能:(1)使用电源为220VAC,功耗小于5W。(2)水温显示:水温用串行动态数码管显示,测温范围099;精度2。(3)水位显示:本系统利用水位检测电路可以检测5个水位,包括4个正常水位20、50 、80、100,和一个底水位;用5个发光二极管来
22、显示当前水位,当水位超过该水位点,相应发光二极管发亮。(4)水位设置:可设置加水水位20、50 、80、100。按“水位”键,数码管显示当前水位,如显示50,表示50,这时“水位”键旁的发光二极管亮,通过按“”或“”键可以调整水位设置。(5)手动上水:在手动控制状态,可以通过设在面板上的按“上水”键随时进行手动加水,若水位低于预置水位,可上水至预置水位;若水位已达到预置水位,则在原水位基础上再加一档;若水位已加满,则停止手动加水。(6)手动加热:若日晒水温达不到设定值,则电加热自动补温,加热到预置温度后自动停止加热。在加热状态,为保证使用安全,此时应禁止用水,加热状态时红色发光二级管显示加热正
23、在进行,待加热停止后方可用水。2 系统总体方案的设计2.1 系统总体结构框图的设计太阳能热水器控制器主要由温度水位数据采集模块、单片机控系统和键盘显示电路及电机控制部分组成。本次设计选用的是AT89C52单片机作为核心控制器,组成热水器微控制系统。传感器采用的是单片集成两端感温电流源AD590温度传感器,用于检测水温,并负责将检测到的水压转换成05V的模拟信号,然后通过ADC0809模数转换器把检测到的温度电压信号转换成数字信号,一方面由单片机AT89C52完成最终完成太阳能热水器控制器的控制功能,另一方面通过LED显示当前温度和水位值,另外一方面与温度和水位设定值进行比较、运算,根据结果发出
24、相应的上水、加热指令,对热水器的温度和水位进行控。系统框图如图2-1所示: 图2-1 太阳能热水器控制器系统框图2.2 温度检测电路设计温度检测部分是实现温度智能控制的重要环节,只有准确地检测出温度,才能通过软件实现辅助加热。其性能的好坏直接影响系统的性能,对于温度检测,目前比较理想的是集成温度传感器AD590,因此温度传感器采用是美国模拟器件公司生产的单片集成两端感温电流源AD590。AD590温度传感器是一种已经IC化的温度感测器,它会将温度转换为电流,在单片机的各种课本中经常看到。其规格如下:(a) 温度每增加1,它会增加1A输出电流 (b) 可测量范围-55至150(c) 供电电压范围
25、+4V至+30VAD590的管脚图及元件符号如2-2所示:图2-2 AD590的管脚图及元件符号AD590的输出电流值说明如下:其输出电流是以绝对温度零度(-273)为基准,每增加1,它会增加1A输出电流,因此在室温25时,其输出电流Iout=(273+25)=298A。图2-3 AD590基本应用电路AD590基本应用电路如2-3所示:注意事项:(a)Vo的值为Io乘上10K,以室温25而言,输出值为10K298A=2.98V。(b)测量Vo时,不可分出任何电流,否则测量值会不准。AD590实际应用电路如2-4所示: 图2-4 AD590实际应用图电路分析:AD590的输出电流(T为摄氏温度
26、),因此测量的电压V为(273+T)A10K=(2.73+T/100)V。为了将电压测量出来又务须使输出电流I不分流出来,我们使用电压跟随器其输出电压V2等于输入电压V。由于一般电源供应较多的器件之后,电源是不稳定的,所以利用可变电阻分压,其输出电压V1需调整至2.73V。接下来我们使用差动放大器其输出Vo为(100K/10K)(V2-V1)=T/10,如果现在为摄氏28,输出电压为2.8V,输出电压接A/D转换器,那么A/D转换输出的数字量就和摄氏温度成线形比例关系。AD590是美国模拟器件公司生产的单片集成两端感温电流源。AD590测温范围为55150,满足人们日常生产和生活中的温度范围。
27、AD590电源电压可在4V6V范围变化,可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。AD590产生的电流与绝对温度成正比,它有非常好的线性输出性能,温度每增加1,其电流增加1A。AD590温度与电流的关系如表2-1所示:表2-1 AD590温度与电流的关系表 摄氏温度 AD590电流 经10K电压 0 273.2 A 2.732 V -0.5 272.7 A 2.727 V -1 272.2 A 2.722 V -1.5 271.7 A 2.717 V -2 271.2 A 2.712 V -2.5 270.7 A 2.707 V -3 270.2 A 2.702 V -
28、3.5 269.7 A 2.697 V为了提高精度,扩大测量范围,在A/D转换前还要将信号加以放大并进行零点迁移,因而一个高稳定性的、高精度的放大电路是必须的,当温度变化时,AD590会产生电流变化,当AD590的电流通过一个10k的电阻时,这个电阻上的压降为10mV,即转换成10mV/K,为了使此10k电阻精确,可用一个9k的电阻与一个2k的电位器串联,然后通过调节电位器来获得精确的10k。运算放大器U3A被接成电压跟随器形式,以增加信号的输入阻抗,由运放U2A减去2.732做零位调整(即把绝对温度转成摄氏温度),最后由运放U1A反相并放大5倍输送给A/D转换器。具体硬件连接图图2-5所示。
29、IN0图2-5 温度检测电路图2.3 模拟/数字转换电路A/D转换是将传感器输入的模拟量转换成数字量送入单片机内。设计中应用的是A/D转换的中断方式,将转换结束标志信号接到单片机的中断引脚或允许中断的I/O接口的相应引脚上,当转换结束时,即提出中断申请,单片机响应后,在中断服务程序中读取数据,这种方式使A/D转换器与处理器的工作时间同时进行,因而节省机时,常用于实时性要求比较强或多参数的数据采集系统。 模拟/数字转换电路应用的主要芯片是ADC0809。ADC0809简介7:8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道抵制锁存用译码电路,其转换时间为100s左右。图2-6 AD
30、C0809引脚图2.3.1 ADC0809的内部结构 ADC0809的内部逻辑结构图如2-7图所示。图2-7 ADC0809内部逻辑结构表2-2所示为通道选择表,其中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进行转换,这是多路数据采集方法。地址锁存与译码电路完成对A、B、C三个地址位进行锁存和译码,其译码输出用于通道选择,其转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线相连。本设计中,C,B,A同时接地,根据通道选择表所示,温度采集量选择INT0通道。表2-2 通道选择表C B A 被选择的通道 0 0 0 0 0 1 0 1 0 0 1 1 1
31、 0 0 1 0 1 1 1 0 1 1 1IN0IN1IN2IN3IN4IN5IN6IN72.3.2 信号引脚 ADC0809芯片为28引脚为双列直插式封装,其引脚排列见图2-6。 对ADC0809主要信号引脚的功能说明如下: IN7IN0:模拟量输入通道。 ALE:地址锁存允许信号。对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。 START:转换启动信号。START上升沿时,复位ADC0809;START下降沿时启动芯片,开始进行A/D转换;在A/D转换期间,START应保持低电平。本信号有时简写为ST。 A、B、C:地址线。通道端口选择线,A、B、C为低地址,引脚图中为ADDA,
32、ADDB和ADDC。其地址状态与通道对应关系见表2-2。 CLK:时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500KHz的时钟信号。 EOC:转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。 D7D0:数据输出线。为三态缓冲输出形式,可以和单片机的数据线直接相连。D0为最低位,D7为最高。 OE:输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。 Vcc+:5V电源。 Vref:参考电
33、源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(Vref(+)=+5V, Vref(-)=-5V)。2.3.3 ADC0809与单片机的接口设计AT89C52 图2-8 ADC0809与单片机的硬件连接2.4 单片机的控制系统单片机诞生于20世纪70年代末,经历了SCM、MCU、SOC三大阶段。 第一阶段:SCM即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。第二阶段:MCU即微型控制器(Micro Controller
34、Unit)阶段,不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。Intel逐渐变弱,Philips公司以其在嵌入式应用方面的巨大优势成为最著名的厂家。将MCS-51从单片微型计算机迅速发展到微控制器。第三阶段:单片机是嵌入式系统的独立发展之路,寻求应用系统在芯片上的最大化是MCU阶段发展的重要因素。因此,专用单片机的发展自然形成了SOC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SOC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。 单片机的发展 单片机作为微型计算机的一个重要
35、分支,应用面很广,发展很快。自单片机诞生至今,已发展为上百种系列的近千个机种。我们将8位单片机的推出作为起点,那单片机的发展历史大致可分为以下几个阶段:第一阶段(1976-1978):单片机的探索阶段。以Intel公司的MCS-48为代表。开始探索工控领域,Motorola 、Zilog等公司也参与了探索,都取得了满意的效果。第二阶段(1978-1982)单片机的完善阶段。Intel公司在MCS-48 基础上推出了完善的、典型的单片机系列MCS-51。它有完善的外部总线、CPU外围功能单元集中的管理模式、具有工控特性的位地址空间及位操作方式、指令系统趋于丰富和完善,并且增加了许多突出控制功能的
36、指令,这些都奠定了典型的通用总线型单片机体系结构。第三阶段(1982-1990):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS-96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。随着MCS-51系列的广泛应用,许多电气厂商竞相使用80C51为内核,将许多测控系统中使用的电路技术、接口技术、多通道A/D转换部件、可靠性技术等应用到单片机中,增强了外围电路功能,强化了智能控制的特征。第四阶段(1990-至今):微控制器的全面发展阶段。随着单片机在各个领域全面深入地发展和应用,
37、出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。 在选择单片机时也应充分考虑其便利和实用,8031单片机最大缺点是需要外接EPROM,电路复杂,而且EPROM还是用紫外线进行擦除的,使用起来很不方便。在经过广泛的比较之后,确定采用ATMEL 公司的AT89C52 FLASH单片机。它不仅具有8031单片机的一切功能,还有许多功能是8031所没有的。其内部带有8KB可多次擦写的FLASH内部程序存储器,可用电擦除,十分方便。2.4.1 AT89C52的主要特性AT89C52单片机主要有以下一些特点: (1)与MCS-51产品兼容; (2)具有8K
38、B可改写的FLASH内部程序存储器,可进行1000次擦/写操作;(3)全静态操作:0Hz到24MHz;(4)三级程序存储器加密;(5)256字节内部RAM;(6)、32条可编程I/O线; (7)3个16位定时/计数器; (8)8个中断源; (9)可编程串行口;(10)低功耗空闲和掉电方式。2.4.2 AT89C52的引脚说明 AT89C52包括40个引脚,其引脚结构如图2-9所示。图2-9 AT89C52外部管脚排列图VCC:电源。GND:地。P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数
39、据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,P1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2 EX),具体如表2-3所示。在fl
40、ash编程和校验时,P1口接收低8位地址字节。表2-3 P1口部分引脚的第二功能表引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2 EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用1
41、6位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如表2-
42、4所示。在flash编程和校验时,P3口也接收一些控制信号。表2-4 P3口引脚第二功能表引脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器写选通)RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存
43、控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置 “1”,ALE操作将无效。这一位置 “1”,ALE 仅在执行MOVX 或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选
44、通信号。当AT89C52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。3)AT89S52存储器MCS-51器件又单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K寻址。a)程序存储器如果EA引脚接地,程序读取只从外
45、部程序存储器开始。对于AT89S52,如果EA接VCC,程序读写先从内部存储器(地址为0000H1FFFH)开始,接着从外部寻址,寻址地址为:2000HFFFFH。b)数据存储器AT89S52 有256 字节片内数据存储器。高128 字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。当一条指令访问高于7FH 的地址时,寻址方式决定CPU 访问高128 字节RAM 还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(SFR)。例如,下面的直接寻址指令访问0A0H(P2口)存储单元。MOV 0A0H , #data使用间接寻址方式访问高128 字节R
46、AM。例如,下面的间接寻址方式中,R0 内容为0A0H,访问的是地址0A0H的寄存器,而不是P2口(它的地址也是0A0H)。MOV R0 ,#data堆栈操作也是简介寻址方式。因此,高128字节数据RAM也可用于堆栈空间。4)中断AT89S52有6个中断源:两个外部中断(和),三个定时中断(定时器0、1、2)和一个串行中断。每个中断都可以通过置位或清除特殊寄存器IE中的相关中断允许控制位分别使得中断源有效与无效。IE还包括一个中断允许总控制位EA,他能一次禁止所有中断,如表2-5所示。IE.6位是不可用的。对于AT89S52,IE.5位也是不能用的。用户软件不应给这些位为1。它们为AT89系列新产品预留。定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。程序进入中断服务程序后,这些标志位都可以由硬件清0。定时器0和定时器1标志位TF0和TF1在计数溢出的那个周期的S5P2被置位。它们的值一直到下一个周期被电路捕捉下来。然而,定时器2的标志位TF2在计数溢出的那个周期的S2P2被置位,在同一周期被电路捕捉下来。表2