1、江西农业大学南昌商学院 摘要摘 要随着家电行业的不断发展,如今家电市场的竞争越来越激烈。作为家电的重要部件之一,遥控器的竞争也是可想而知的。红外遥控器是一种用户可以在几米甚至十几米外就能对各种电器进行操作控制的装置,而且他有控制功能强、结构简单、体积小、功耗低、扩展灵活、可靠性高、易于掌握、价格低廉等特点,所以在家电产品中有广泛应用,但各产品的遥控器不能相互兼容,使得生活中遥控器数目也越来越多,使用时常常混淆。另外若遥控器丢失,找到配套的遥控器也很困难,所以就现在这种状况,研究一种万能型的遥控器势在必行。具有学习功能的智能遥控器是以普通的低成本单片机为核心,能解码与记忆遥控器编码,并模拟发射,
2、使一个遥控器可以代替多个遥控器控制多个电器,是一种智能化的控制工具,由于它比以前的遥控器更加方便,所以研究一个万能型的遥控器是现在电子厂商掌控电子市场的必要途径。目前市面上常见的智能遥控器大多只能对某几种产品进行控制,不是真正的“万能”。本文介绍的多功能红外遥控器利用AT89C52单片机作为整个系统的主控部件,具有多功能自适应性, 两种工作状态:即学习状态和控制状态。即对不同的家用电器,如电视、空调、冰箱、VCD、遥控机器人、无人飞机等都能实现无线遥控功能。【关键词】红外线遥控器,AT89C52单片机II江西农业大学南昌商学院 AbstractAbstractAlong with the de
3、velopment of the household electrical appliance industry, now the home appliance market more and more competition. As one of important component of home appliance, the remote control competition is palpable. Infrared remote control is a user can in a few meters or more than ten meters away to all so
4、rts of electric equipment can operate control device, and he has the control function of strong, simple structure, small volume, low power consumption, expand flexibility, high reliability, and is easy to grasp, low prices and other characteristics, so in the home appliance product is widely applied
5、, but the product of the remote control cant compatible with each other, make life more and more remote control number, when used, often confuse. In addition if lost remote control, find supporting the remote control is very difficult also, so now this situation, a type of remote control everything
6、is imperative. Has the function of intelligent remote control study is common low cost microcontroller as the core, can decode and memory remote control code, and simulated launch, make a remote control can take the place of the more remote control more electric appliances, is a kind of intelligent
7、control tool, and because it is more convenient than the previous remote control so research a universal remote control type of electronic manufacturers now is the necessary way to control electronics market. On the market at present is most common intelligent remote control only to be a few product
8、s control, is not a true universal. This paper introduces the multi-function infrared AT89C52 single chip microcomputer as the whole system of the main controlling parts, has the multi-function adaptability, two working condition of learning state and control state. That is different to the househol
9、d appliances, such as television, air conditioning, the refrigerator, VCD, remote control robot, the aircraft can realize the wireless remote control function. 【Key Words】infrared remote control, AT89C52 single chip microcomputer江西农业大学南昌商学院 目录目 录摘 要IAbstractII绪 论11 课题背景21.1 红外遥控电路设计的目的21.2单片机的发展和应用2
10、1.2.1单片机的发展概况及趋势21.3红外遥控器原理32 系统设计方案论证62.1设计该系统的功能要求62.2设计思路分析与方案论证62.2.1设计思路分析62.2.2方案论证63 系统硬件电路的设计83.1AT89C52单片机简介83.2遥控发射器的电路设计143.2.1 红外线发射电路143.2.2遥控器信息码153.3遥控接收器的电路设计163.3.1红外遥控接收器的接收过程为图3.3所示163.3.2接收电路174 系统程序的设计184.1初始化程序184.2遥控码读入处理程序184.3遥控码发射处理程序204.4主程序214.5延时程序215 调试及性能分析225.1程序调试225
11、.2调试步骤225.3调试注意事项225.4主要性能分析23结 论24参 考 文 献25附 录26致谢33江西农业大学南昌商学院 绪论绪 论为适应社会发展的需要,微型计算机不断的更新换代,新产品层出不穷。在微型计算机的大家族中,近几年来单片微型计算机极为突出,发展极为迅速。电子计算机从其诞生之日起至今已历经四代,作为大规模集成电路技术发展产物的微型计算机,属于第四代计算机,而单片机是微型计算机发展的一个重要分支,使其各种功能集成智能化,使现在的电子产品更加微型化。本篇主要介绍单片机现在的发展概况、特点及其应用领域。1江西农业大学南昌商学院 1 课题背景1 课题背景1970年微处理器研制成功之后
12、,随后就出现了单片机 (即单片的微型计算机)。这是现在各种功能单片机的一个雏型。1971年美国Intel公司生产的4位单片机4004和1972年生产的雏型8位单片机8008,特别是1976年9月Intel公司的MCS-48单片机问世以来,在短短的十几年间,经历了多次更新换代,其发展速度大约每二、三年要更新一代、集成度增加一倍、功能翻一番。发展速度之快、应用范围之广已达到了惊人的地步。它已渗透到生产和生活的各个领域,已经成为不可或缺的一个电子产品。1.1 红外遥控电路设计的目的本次设计的主要任务是利用单片机技术,并将数字电子技术、模拟电子技术和红外学相关知识相结合,设计一款可以实现灯泡的开关和调
13、光(或者电机启动和调速)控制的红外遥控电路。通过设计红外遥控电路来巩固和加强对三年来所学的理论知识和锻炼自己的动手能力,熟悉和掌握以单片机为核心的电路设计的基本方法和技术,熟悉传感器的使用,提高电子电路的设计和动手能力,加深对单片机软硬件知识的理解,获得初步的应用经验,为以后从事生产和科研工作打下一定的基础。1.2单片机的发展和应用 单片微型计算机(Single-Chip Microprocessor)是微型计算机(Microcomputer,简称微机)的一个重要分支,也是一种非常活跃和颇具生命力的机种。单片微型计算机简称单片机,特别适用于工业控制领域,因此又称为微控制器。 通常,单片机由单块
14、集成电路芯片构成,内部包含有计算机的五大基本功能部件:控制器、运算器、存储器和输入/输出(Input/Output,简称I/O)接口电路。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。1.2.1单片机的发展概况及趋势 单片机的发展概况1971年微处理器研制成功不久,就出现了单片微型计算机即单片机,但最早的单片机是1位的,处理能力有限。 单片机的发展可分为4个阶段: 第一阶段(1974 -1976年):单片机初级阶段。因为受工艺限制,单片机采用单片的形式而且功能比较简单。例如美国仙童公司生产的F8单片机,实际上只包括了8位CPU(中央处理单元,Central Pro
15、cessing Unit的简称)、64个字节的RAM(随机存储器,Random Access Memory的简称)和2个并行接口。 第二阶段(19761978年):低性能单片机阶段。以Intel公司制造的MCS48系列单片机为代表,该系列单片机片内集成有8位CPU、8位定时器/计数器、并行I/O接口、RAM和ROM(只读存储器,Read-Only Memory的简称)等,但是最大的缺点就是无串行接口,中断处理比较简单而且片内RAM和ROM容量较小且寻址范围不大于4KB。 第三阶段(1978年1983年):为高档8位单片机阶段。这类单片机在低、中档基础上发展起来的,其性能有明显提高。以Inter
16、公司的MCS-48系列单片机为代表,在片内增加了串行接口,有多级中断处理系统,有16位定时/计数器,片内RAM、ROM容量增大,寻址范围可达64KB,有的片内带有A/D转换接口。这类单片机功能强,应用领域广,是目前各类单片机中应用最多的一种。 第四阶段(1983年现在):为8位单片机巩固发展阶段及16位单片机、32位单片机推出阶段。此阶段主要特点是:一方面不断发展16位单片机、32位单片机及专用单片机。16位单片机除CPU为16位外,片内RAM为232B,ROM位8KB,片内带有高速输入输出部件,多通道10位A/D转换部件,中断处理为8级,其实时处理能力强。今年来,各个计算机厂家已进入高性能的
17、32位、64位单片机研制、生产阶段,这些单片机除了具有更高的集成度外,主振频率更加强大,使其单片机的数据处理速度比之前单片机要快的很多,性能比8位、16位单片机更加优越。1.3红外遥控器原理 很多电器都采用红外线遥控,那么红外线遥控的工作原理是什么呢?首先我们来看看什么是红外线。 人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。其中红光的遥控器波长范围为0.620.76m;紫光的波长范围为0.380.46m。比紫光波长还短的光叫紫外线,比红光波长还长的光叫红外线。红外线遥控就是利用波长为0.761.5m之间的近红外线来传送控制信号的。 常用的红外线遥控系统一般分发射
18、和接收两个部分。 发射部分的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管,由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它便发出的是红外线而不是可见光。 目前大量使用的红外发光二极管发出的红外线波长为940nm左右,外形与普通发光二极管相同,只是颜色不同。红外发光二极管一般有黑色、深蓝、透明三种颜色。 判断红外发光二极管好坏的办法与判断普通二极管一样:用万用表电阻挡量一下红外发光二极管的正、反向电阻即可。 红外发光二极管的发光效率要用专门的仪器才能精确测定,而业余条件下只能用拉距法来粗略判定。接收部分的红外接收管是一种光敏二极管。 在实际应用中要给红外接收二极管加
19、反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。 红外接收二极管一般有圆形和方形两种。 由于红外发光二极管的发射功率一般都较小(15mW左右),所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路。 前些年常用PC1373H、CX20106A等红外接收专用放大电路。最近几年不论是业余制作还是正式产品,大多都采用成品红外接收头。 成品红外接收头的封装大致有两种:一种采用铁皮屏蔽;一种是塑料封装。均有三只引脚,即电源正(VDD)、电源负(GND)和数据输出(VO或OUT)。红外接收头的引脚排列因型号不同而不尽相同,可参考厂家的使用说明。
20、成品红外接收头的优点是不需要复杂的调试和外壳屏蔽,使用起来如同一只三极管,非常方便。但在使用时注意成品红外接收头的载波频率。 红外遥控常用的载波频率为38kHz,这是由发射端所使用的455kHz陶振来决定的。 在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz1237.9 kHz38kHz。也有一些遥控系统采用36kHz、40kHz、56kHz等,一般由发射端晶振的振荡频率来决定。 红外遥控的特点是不影响周边环境、不干扰其它电器设备。由于其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;
21、编解码容易,可进行多路遥控。 由于各生产厂家生产了大量红外遥控专用集成电路,需要时按图索骥即可。因此,现在红外遥控在家用电器、室内近距离(小于10米)遥控中得到了广泛的应用。 多路控制的红外遥控系统 多路控制的红外发射部分一般有许多按键,代表不同的控制功能。当发射端按下某一按键时,相应地在接收端有不同的输出状态。 接收端的输出状态大致可分为脉冲、电平、自锁、互锁、数据五种形式。“脉冲”输出是当按发射端按键时,接收端对应输出端输出一个“有效脉冲”,宽度一般在100ms左右。“电平”输出是指发射端按下键时,接收端对应输出端输出“有效电平”,发射端松开键时,接收端“有效电平”消失。此处的“有效脉冲”
22、和“有效电平”,可能是高、也可能是低,取决于相应输出脚的静态状况,如静态时为低,则“高”为有效;如静态时为高,则“低”为有效。大多数情况下“高”为有效。“自锁”输出是指发射端每按一次某一个键,接收端对应输出端改变一次状态,即原来为高电平变为低电平,原来为低电平变为高电平。此种输出适合用作电源开关、静音控制等。有时亦称这种输出形式为“反相”。“互锁”输出是指多个输出互相清除,在同一时间内只有一个输出有效。电视机的选台就属此种情况,其它如调光、调速、音响的输入选择等。 “数据”输出是指把一些发射键编上号码,利用接收端的几个输出形成一个二进制数,来代表不同的按键输入。 一般情况下,接收端除了几位数据
23、输出外,还应有一位“数据有效”输出端,以便后级适时地来取数据。这种输出形式一般用于与单片机或微机接口。除以上输出形式外,还有“锁存”和“暂存”两种形式。所谓“锁存”输出是指对发射端每次发出的信号,接收端对应输出予以“储存”,直至收到新的信号为止;“暂存”输出与上述介绍的“电平”输出类似。33江西农业大学南昌商学院 2 系统设计方案论证2 系统设计方案论证2.1设计该系统的功能要求设计一个模拟的红外线遥控系统,系统功能描述如下: 系统有发射与接收两个部分,二者分别自行工作 发射部分有多个按键,分别表示不同的功能 接收部分有显示器件,用于显示从发射电路发射而来的按键信息2.2设计思路分析与方案论证
24、2.2.1设计思路分析根据设计任务要求,可基本获知系统的结构框架设计思路如下:首先,系统具有两个部分,其一为发射电路部分,其二为接收电路部分,均由单片机实现控制。其次,在发射电路中,系统应设置有控制按键组,分别表示不同的按键信息。按动某一按键时,相应的按键信息应从红外线发送口发送出去。然后,在接收电路中,系统设置有显示器件。当红外线接收器件接收到数据后,数据对应的案件信息应在显示器件上显示。基于单片机的红外遥控系统设计框图如图2.1所示。键盘单片机单片机LCD显示器按键数据(发送方)红外发送数据红外接收数据(接收方)键值显示图: 2.1 基于单片机的红外线遥控系统设计框图2.2.2方案论证为了
25、实现遥控码的记录还原功能,系统应具有红外线的接收解码、红外线调制发射、操作按键和功能控制等单元。由于功能定位学习一个遥控器按键的功能,因此决定采用AT89C52单片机为控制器。AT89C52单片机中具有256字节的内存单元,可以存储遥控码脉宽的数据。遥控码的脉宽数据可用红外线接收器解码后送单片机读入,发射时由单片机产生40kHz红外调制信号送红外线发射管发射。为了实现两节电池供电,单片机可使用AT89C52LV系列。单键学习型红外线遥控器的实现方案框图如图2.2所示。学习指示灯控制器AT89C52LV红外线发射电路遥控器指示灯红外线接收解调器操作键图: 2.2 单键学习型红外线遥控器系统框图江
26、西农业大学南昌商学院 3 系统硬件电路的设计3 系统硬件电路的设计根据前面的设计任务要求,红外遥控应用系统的硬件电路包括红外发射器电路和红外接收系统电路两部分。3.1 AT89C52单片机简介图: 3.1 AT89C52单片机引脚图AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功
27、能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。AT89C52有40个引脚见图3-1,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个
28、串行中断 可编程UART串行通道 2个外部中断源 共6个中断源 2个读写中断口线 3级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能 AT89C52P为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,
29、外接电阻电容组成的复位电路。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 口, 也即地址/数据总线复用口。作为
30、输出口用时,每位能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 口P1 是一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)
31、。与AT89C51 不同之处是,AT89C52的P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),Flash 编程和程序校验期间,P1 接收低8 位地址。AT89C52的P1.0和P1.1的第二功能表如下表3.1:引脚号功能特性P1.0T2,时钟输出P1.1T2EX(定时/计数2)表: 3.1 P1.0和P1.1的第二功能表P2 口P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使
32、用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位地址的外部数据存储器时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器时,P2 口输出P2 锁存器的内容。Flash 编程或校验时,P2亦接收高位地址和一些控制信号。P3 口P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。P3 口除了作为一般的I/O 口线外,更重要的用途是它的第
33、二功能。P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。/PSEN程序储存允许(/PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次/PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信
34、号。/EA/VPP外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000HFFFFH),/EA 端必须保持低电平(接地)。XTAL1振荡器反相放大器的及内部时钟发生器的输入端。XTAL2振荡器反相放大器的输出端。特殊功能寄存器在AT89C52 片内存储器中,80H-FFH 共128 个单元为特殊功能寄存器(SFE),SFR 的地址空间映象。并非所有的地址都被定义,从80HFFH 共128 个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。不应将数据“1”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,
35、在这种情况下,复位后这些单元数值总是“0”。AT89C52除了与AT89C51所有的定时/计数器0 和定时/计数器1 外,还增加了一个定时/计数器2。定时/计数器2 的控制和状态位位于T2CON、T2MOD,寄存器对(RCAO2H、RCAP2L)是定时器2 在16 位捕获方式或16 位自动重装载方式下的捕获/自动重装载寄存器。数据存储器AT89C52 有256 个字节的内部RAM,80H-FFH 高128 个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128字节的RAM 和特殊功能寄存器的地址是相同的,但物理上它们是分开的。当一条指令访问7FH 以上的内部地址单元时,指令中使用的寻址方
36、式是不同的,也即寻址方式决定是访问高128 字节RAM 还是访问特殊功能寄存器。如果指令是直接寻址方式则为访问特殊功能寄存器。定时器2定时器2 是一个16 位定时/计数器。它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON的C/T2 位选择。定时器2 有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON 的控制位来选择。UART AT89C52的UART 工作方式与AT89C51 工作方式相同。中断AT89C52 共有6 个中断向量:两个外中断(INT0 和INT1),3 个定时器中断(定时器0、1、2)和串行口中
37、断。这些中断源可通过分别设置专用寄存器IE 的置位或清0 来控制每一个中断的允许或禁止。IE 也有一个总禁止位EA,它能控制所有中断的允许或禁止。定时器2 的中断是由T2CON 中的TF2 和EXF2 逻辑或产生的,当转向中断服务程序时,这些标志位不能被硬件清除,事实上,服务程序需确定是TF2 或EXF2 产生中断,而由软件清除中断标志位。定时器0 和定时器1 的标志位TF0 和TF1 在定时器溢出那个机器周期的S5P2 状态置位,而会在下一个机器周期才查询到该中断标志。然而,定时器2 的标志位TF2 在定时器溢出的那个机器周期的S2P2 状态置位,并在同一个机器周期内查询到该标志。时钟振荡器
38、AT89C52 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路。外接石英晶体(或陶瓷谐振器)及电容C1、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF10pF,而如使用陶瓷谐振器建议选择40pF10F。用户也可以采用外部时钟。采用外部时钟的电路,在这种情况下,外部时钟脉冲接到XTA
39、L1 端,即内部时钟发生器的输入端,XTAL2 则悬空。由于外部时钟信号是通过一个2 分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。空闲节电模式在空闲工作模式状态, CPU 自身处于睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。此时,同时将片内RAM 和所有特殊功能寄存器的内容冻结。空闲模式可由任何允许的中断请求或硬件复位终止。由硬件复位终止空闲状态只需两个机器周期有效复位信号,在此状态下,片内硬件禁止访问内部RAM,但可以访问端口引脚,当用复位终止空闲方式时,为避免可能对端口产生意外写
40、入,激活空闲模式的那条指令后一条指令不应是一条对端口或外部存储器的写入指令。掉电模式在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器,但不改变RAM中的内容,在Vcc恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。程序存储器的加密AT89C52 有3 个程序加密位,可对芯片上的3 个加密位LB1、LB2、LB3 进行编程(P)或不编程(U)来得到。当加密位LB1 被编程时,在复位期间,/EA 端的逻辑电平被采样并锁存
41、,如果单片机上电后一直没有复位,则锁存起的初始值是一个随机数,且这个随机数会一直保存到真正复位为止。为使单片机能正常工作,被锁存的/EA 电平值必须与该引脚当前的逻辑电平一致。此外,加密位只能通过整片擦除的方法清除。Flash存储器的编程AT89C52单片机内部有8k字节的Flash PEROM,这个Flash 存储阵列出厂时已处于擦除状态(即所有存储单元的内容均为FFH),用户随时可对其进行编程。编程接口可接收高电压(+12V)或低电压(Vcc)的允许编程信号。低电压编程模式适合于用户在线编程系统,而高电压编程模式可与通用EPROM 编程器兼容。AT89C52 单片机中,有些属于低电压编程方
42、式,而有些则是高电压编程方式,用户可从芯片上的型号和读取芯片内的签名字节获得该信息。AT89C52 的程序存储器阵列是采用字节写入方式编程的,每次写入一个字节,要对整个芯片内的PEROM 程序存储器写入一个非空字节,必须使用片擦除的方式将整个存储器的内容清除。编程方法编程前,须设置好地址、数据及控制信号, AT89C52 编程方法如下:1 在地址线上加上要编程单元的地址信号。2 在数据线上加上要写入的数据字节。3 激活相应的控制信号。4 在高电压编程方式时,将/EA/Vpp 端加上+12V 编程电压。5 每对Flash 存储阵列写入一个字节或每写入一个程序加密位,加上ALE/PROG 编程脉冲
43、。每个字节写入周期是自身定时的,通常约为1.5ms。重复15 步骤,改变编程单元的地址和写入的数据,直到全部文件编程结束。数据查询AT89C52 单片机用Data Palling 表示一个写周期结束为特征,在一个写周期中,如需读取最后写入的一个字节,则输出的数据的最高位(P0.7)是原来写入字节最高位的反码。写周期完成后,所输出的数据是有效的数据,即可进入下一个字节的写周期,写周期开始后,Data Palling 可能随时有效。Ready/Busy:字节编程的进度可通过“RDY/BSY 输出信号监测,编程期间,ALE 变为高电平“H”后,P3.4(RDY/BSY)端电平被拉低,表示正在编程状态
44、(忙状态)。编程完成后,P3.4 变为高电平表示准备就绪状态。程序校验:如果加密位LB1、LB2 没有进行编程,则代码数据可通过地址和数据线读回原编写的数据。加密位不可直接校验,加密位的校验可通过对存储器的校验和写入状态来验证。芯片擦除:利用控制信号的正确组合并保持ALE/PROG 引脚10mS 的低电平脉冲宽度即可将PEROM 阵列(4k字节)和三个加密位整片擦除,代码阵列在片擦除操作中将任何非空单元写入“1”,这步骤需再编程之前进行。读片内签名字节:AT89C52 单片机内有3 个签名字节,地址为030H、031H 和032H。用于声明该器件的厂商、型号和编程电压。读AT89C52 签名字
45、节需将P3.6 和P3.7 置逻辑低电平,读签名字节的过程和单元030H、031H 及032H 的正常校验相仿,其返回值意义如下:(030H)=1EH 声明产品由ATMEL公司制造。(031H)=52H 声明为AT89C52 单片机。(032H)=FFH 声明为12V 编程电压。(032H)=05H 声明为5V 编程电压。3.2遥控发射器的电路设计3.2.1 红外线发射电路下图为该系统遥控发射器电路原理图,其中第1脚至第8脚接8个点触式的开关,第1脚至第5脚用来遥控电器电源开关,第6脚为可调光电灯的开关,第7脚,第8脚为调节电灯亮度的控制开关,当按第7脚开关时,电灯增亮,当按下第8脚时电灯减暗,第9脚为单片机的复位脚,采用简单的RC上电复位电路,15脚作为红外线遥控码的输出口,用于输出40kHz载波编码,18,19脚接12MHz晶振。 图: 3.2 红外线遥控发射电路3.2.2遥控器信息码遥控器信息码由AT89C52单片机的定时器1中断产生40kHz红外线方波信号,由P3.5口输出,经过三极管9013放大,由红外线发送管发送。改变电阻R3的大小可以改变发射距离。9013的工作特性如下表3.2,表3.3所示参数名称符号额定值单位最高集电极-发射极电压VCEO20V最高集电极-基极电压VCBO40V最高发