高级遥控电风扇设计Word文档下载推荐.docx
《高级遥控电风扇设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《高级遥控电风扇设计Word文档下载推荐.docx(54页珍藏版)》请在冰点文库上搜索。
结束语……………………………………………………………………23
参考文献……………………………………………………………………24
一.概述:
1.1概述
遥控电风扇是九十年代初期在广东珠江三角洲地区做大量的研发和生产,并有专门的掩模芯片作为主控芯片使用,本人用单片机作了接收和发射的配套使用的系统方案。
红外遥控电路现在已成为一种设计电路的时尚,现简单地介绍红外线遥控发射、接收系统的原理,用单片机AT89C2051作为遥控发射系统、单片机AT89C51作为接收系统的一种巧妙实现方法,以及完整的51汇编程序代码。
包括发射、接收的原理图及其编程的主程序、发送程序、接收程序、定时中断程序的流程过程,从而完成此设计。
根据流程方框图的构思过程,编写应用软件。
遥控电风扇控制系统分为两大部分:
遥控器和电风扇控制板。
1.2产品设计摘要和关键词
1.2.1摘 要
简单介绍了分别由AT89C2051和AT89C51单片机构成的红外遥控发射装制和接收装制的结构、功能及工作原理,阐述了控制程序的基本结构和程序。
该高级遥控电风扇采用了先进的红外遥控技术和单片机技术、且新增了防触电保安器,改善了现在市场上电风扇的不足。
运行结果表明,操作方便、电路性能优良,工作运行可靠。
本设计的特点:
(1)本设计系统的论述了高级遥控电风扇的红外发射原理、红外接收和单片机控制原理
(2)条理清晰、介绍翔实、内容具有普通性和具体性
(3)密切联系社会发展,引入学科交叉内容
(4)着重实用,设计出的电风扇易被广大用户接受
1.2.2关键词
微处理器AT89C2051微控制器AT89C51程序流程图
红外发射电路红外接收电路电风扇控制板电路防触电保安器编码定时器
1.3红外遥控的特点
按照遥控信号的传输载体,可分为声、光、无线电波。
其中声、光、包括声音、超声波、可见光、红外光四种情况。
其中又以红外遥控最具代表性。
这样遥控电路就可划分为红外线和无线电两大类。
现主要介绍红外遥控
一、红外遥控的特点:
1、遥控距离短:
一般为2米至10米,
2、遥控条件为:
遥控发射的红外线必须对准接收器,受障碍物阻挡的影响大,
3、在干扰方面:
对其它设备的干扰小,本身抗干扰能力较强,
4、工作频率低,基带信号传送或低载频调制传送,
5、保密性较强,制作难度低,调整容易,且成本也低,
二、红外遥控的应用:
森林防火遥测、银行防盗检测、遥控各种电器、电脑红外接口、
汽车防撞探测、危险区禁入探测报警。
1.4单片机的特点
单片机即把计算机的运算器和控制器、存储器和多种接口集成在一块芯片上,也叫微处理器、微控制器。
一、单片机的特点:
1、具有优异的性能价格比
2、集成度高、体积小、可靠性高
3、控制功能强、系列齐全、功能扩展容易
4、低电压、低功耗、使用灵活方便、抗干扰能力强
二、单片机的应用:
1、在智能仪器仪表中的应用:
在各类仪器仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。
2、在机电一体化中的应用:
机电一体化产品是指集机械、微电子技术、计算机技术于一本,具有智能化特征的电子产品。
3、在实时过程控制中的应用:
用单片机实时进行数据处理和控制,使系统保持最佳工作状态,提高系统的工作效率和产品的质量。
4、在人类生活中的应用:
目前国外各种家用电器已普通采用单片机代替传统的控制电路。
5、在其它方面的应用:
单片机除以上各方面的应用,它还广泛应用于办公自动化领域、商业营销领域、汽车及通信、计算机外部设备、模糊控制等各领域中。
二元器件介绍:
2.1AT89C2051高性能8位单片机
AT89C2051是一个低电压,高性能CMOS8位单片机,片内含2kbytes的可反复擦写的只读Flash程序存储器和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大AT89C2051单片机可为您提供许多高性价比的应用场合。
AT89C2051是一个功能强大的单片机,但它只有20个引脚,15个双向输入/输出(I/O)端口,其中P1是一个完整的8位双向I/O口,两个外中断口,两个16位可编程定时计数器,两个全双向串行通信口,一个模拟比较放大器。
同时AT89C2051的时钟频率可以为零,即具备可用软件设置的睡眠省电功能,系统的唤醒方式有RAM、定时/计数器、串行口和外中断口,系统唤醒后即进入继续工作状态。
省电模式中,片内RAM将被冻结,时钟停止振荡,所有功能停止工作,直至系统被硬件复位方可继续运行。
AT89C2051的引脚说明
AT89C2051是一个有20个引脚的芯片,引脚如图10.1所示,与8051内部结构进行对比可发现,AT89C2051减少了两个对外端口(即P0、P2口),使它最大可能地减少了对外引脚,因而芯片尺寸有所减少。
AT89C2051芯片的20个引脚功能为:
1.Vcc:
电源电压。
2.GND:
地。
3.P1口:
P1口是一8位双向I/O口。
口引脚P1.2~P1.7提供内部上拉电阻。
P1.0和P1.1要求外部上拉电阻。
P1.0和P1.1还分别作为片内精密模拟比较器的同相输入(AIN0)和反相输入(AIN1)。
P1口输出缓冲器可吸收20mA电流并能直接驱动LED显示。
当P1口引脚写入“1”时,其可用作输入端。
当引脚P1.2~P1.7用作输入并被外部拉低时,它们将因内部的上拉电阻而流出电流(IIL)。
P1口还在闪速编程和程序校验期间接收代码数据。
4.P3口:
P3口的P3.0~P3.5、P3.7是带有内部上拉电阻的七个双向I/0引脚。
P3.6用于固定输入片内比较器的输出信号并且它作为一通用I/O引脚而不可访问。
P3口缓冲器可吸收20mA电流。
当P3口引脚写入“1”时,它们被内部上拉电阻拉高并可用作输入端。
用作输入时,被外部拉低的P3口引脚将用上拉电阻而流出电流(IIL)。
P3口还用于实现AT89C2051的各种功能,如下表10-1所示。
P3口还接收一些用于闪速存储器编程和程序校验的控制信号。
5.RST:
复位输入。
RST一旦变成高电平,所有的I/O引脚就复位到“1”。
当振荡器正在运行时,持续给出RST引脚两个机器周期的高电平便可完成复位。
每一个机器周期需12个振荡器或时钟周期。
6.XTAL1:
作为振荡器反相放大器的输入和内部时钟发生器的输入。
7.XTAL2:
作为振荡器反相放大器的输出。
表10-1P3口的功能
P3口引脚
功能
P3.0
RXD(串行输入端口)
P3.1
TXD(串行输出端口)
P3.2
INT0(外中断0)
P3.3
INT1(外中断1)
P3.4
TO(定时器0外部输入)
P3.5
T1(定时器1外部输入)
从上述引脚说明可看出,AT89C2051没有提供外部扩展存储器与I/O设备所需的地址、数据、控制信号,因此利用AT89C2051构成的单片机应用系统不能在AT89C2051之外扩展存储器或I/O设备,也即AT89C2051本身即构成了最小单片机系统。
2.2AT89C51高性能8位单片机
AT89C51是一个低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的Flash只读程序存储器和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。
AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
AT89C51管脚说明
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
三工作原理:
3.1单片机工作原理
一、MCS-51有5个中断源,可分为2个中断优先级,即高优先级和低优先级,中断自然优先级:
外部中断0;
定时器0中断;
外部中断1;
定时器1中断;
串行口中断;
定时器2中断
(1)同级或高优先级的中断正在进行中;
(2)现在的机器周期还不是执行指令的最后一上机器周期,即正在执行的指令还没完成前不响应任何中断;
(3)正在执行的是中断返回指令RET1或是访问专用寄存器IE或IP的指令,换而言之,在RETI或者读写IE或IP之后,不会马上响应中断请求,至少要在执行其它一要指令之扣才会响应。
CPU响应中断的条件有:
(1)有中断源发出中断请求;
(2)中断总允许位EA=1,即CPU开中断;
(3)申请中断的中断源的中断允许位为1,即没有被屏蔽。
二、串行口工作方式及帧格式
MCS-51单片机串行口可以通过软件设置四种工作方式:
方式0:
这种工作方式比较特殊,与常见的微型计算机的串行口不同,它又叫同步移位寄存器输出方式。
在这种方式下,数据从RXD端串行输出或输入,同步信号从TXD端输出,波特率固定不变,为振荡率的1/12。
该方式是以8位数据为一帧,没有起始位和停止位,先发送或接收最低位。
方式2:
采用这种方式可接收或发送11位数据,以11位为一帧,比方式1增加了一个数据位,其余相同。
第9个数据即D8位具有特别的用途,可以通过软件搂控制它,再加特殊功能寄存器SCON中的SM2位的配合,可使MCS-51单片机串行口适用于多机通信。
方式2的波特率固定,只有两种选择,为振荡率的1/64或1/32,可由PCON的最高位选择。
方式3:
方式3与方式2完全类似,唯一的区别是方式3的小组特率是可变的。
而帧格式与方式2-样为11位一帧。
所以方式3也适合于多机通信。
3.2红外遥控的发射和接收原理
光谱位于红色光之外,波长为0.76~1.5μm,比红色光的波长还长,这样的光被称为红外线。
红外遥控是利用红外线进行传递信息的一种控制系统,红外遥控具有抗干扰,电路简单,编码及解码容易,功耗小,成本低的优点,目前几乎所有的视频和音频设备都支持这种控制方式。
红外遥控系统主要分为调制、发射和接收三部分,如图1所示:
图1红外遥控系统
1.调制
调制载波频率一般在30khz到60khz之间,大多数使用的是38kHz,占空比1/3的方波,如图2所示,这是由发射端所使用的455kHz晶振决定的。
在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz÷
12≈37.9kHz≈38kHz。
图2载波波形
2.发射系统
红外线通过红外发光二极管(LED)发射出去,红外发光二极管内部材料和普通发光二极管不同,在其两端施加一定电压时,它发出的是红外线而不是可见光。
图3a简单驱动电路图3b射击输出驱动电路
3.
接收系统
红外信号接收系统的典型电路如图4所示:
图4红外接收头内部电路
该电路包括红外监测二极管,放大器,限副器,带通滤波器,积分电路,比较器等。
红外监测二极管监测到红外信号,然后把信号送到放大器和限幅器,限幅器把脉冲幅度控制在一定的水平,而不论红外发射器和接收器的距离远近。
交流信号进入带通滤波器,带通滤波器可以通过30khz到60khz的负载波,通过解调电路和积分电路进入比较器,比较器输出高低电平,还原出发射端的信号波形。
注意输出的高低电平和发射端是反相的,这样的目的是为了提高接收的灵敏度。
四高级遥控电风扇的设计:
4.1遥控器的设计
为了能远距离的控制电风扇,采用了红外遥控器。
通常红外遥控器由发射和接收两部分组成,发射部分由单片机AT80C2051等构成,接收部分装在电风扇的控制器内,由AT89C51等构成。
4.1.1工作原理及组成部分
(1)CPU采用AT89C2051单片机,AT89C2051的功能:
和MCS-8051产品兼容、2KB可重编程闪速存储器、耐久性:
1000写/擦除周期、2.7V~6V的操作范围、全静态操作:
0Hz~24MHz、两级加密程序存储器、128×
8位内部RAM、15根可编程I/O引线、6个中断源、可编程串行UART通道、直接LED驱动输出、片内模拟比较器、低耗空载和掉电方式。
(2)电源采用4节7号电池来提供电源,并用一个二极管(IN4148)进行降压。
(3)调制部分:
采用CD40106进行缓冲放大并整形.发送的数字信号与38K的载波进行相与,将其调制在一起,整形并缓冲放大,经过8050进行放大驱动红外发射管,使其发射红外光。
(4)红外发射方原理见图
(1)所示。
(图1)遥控器原理框图
4.1.2红外发射
(1)发射部分包括键盘矩阵、编码调制、红外发送器。
使用89C2051芯片将按键信号调制在38KHz的载波信号上通过三极管放大后发射出去。
红外编码为:
全码=引导码+系统码+系统反码+数据码+数据反码。
89C2051的P1口构成矩阵式键盘,用T1产生定时中断,驱动P3.3产生一个38K的方波,作为红外线的调制基波。
将发送的数据和P3.0进行逻辑与后,经过40106整形,用三极管驱动红外发射管发射。
(2)按键功能
K1:
低档、中档、高档;
键值为01H
K2彩灯:
键值为02H
K3:
自然风、睡眠风、正常风键;
值为03H
K4定时;
键值为04H
K5开/关机;
键值为05H
(3)当无键按下时,延时10秒后进入待机状态,系统处于低功耗模式。
当有按键按下时,INT0中断产生中断,同时唤醒CPU进行工作状态。
4.1.3红外发射的编码方式
遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理。
当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。
这种遥控码具有以下特征:
(1)采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;
以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”。
“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。
然后再通过红外发射二极管发射。
(2)遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。
该芯片的用户识别码固定为十六进制0FFH;
后16位为8位操作码(功能码)及其反码。
(3)遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。
一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间。
(4)其相关的波形图如下:
(图2)遥控编码
4.1.4硬件设计
硬件设计见遥控器电路原理图(3)所示
遥控器电路原理图(3)
4.1.5软件设计
(1)采用中断的处理程序完成整个系统的操作,INT0中断处理完成键盘扫描以及发送。
(2)程序流程图:
(图4.1.5)遥控器软件流程图
4.1.6.电风扇红外发射(遥控器)程序
按键说明:
低风档,键值为01
K2:
中风档,键值为02
高风档,键值为03
K4:
彩灯档,键值为04
K5:
自然风档,键值为05
K6:
睡眠风档,键值为06
K7:
正常风档,键值为07
K8:
定时档,键值为08
K9:
开关机,键值为9
采用4×
1.5V供电,用89C2051作CPU芯片,当没有按键按下时,进入待机状态
按键采用INT0进行中断,只采用了8个按键
$include(2051RAM.INC)
$include(REG51.INC)
ORG0000H
JMPMAIN
ORG0003H;
INT0的中断入口
JMPKEY_INT0
ORG000BH;
T0的中断入口
JMPFM_T0
ORG0100H
进入主程序
MAIN:
MOVR0,#7FH;
预使用单元清0
CLRA
MAIN0:
MOV@R0,A
DJNZR0,MAIN0;
清缓冲的地址单元值
MOVSP,#60H
MOVP1,#00001111B;
将P1置输入
CLRKEYON
CLRIT0;
设置电平触发
SETBPT0
SET