基于单片机的红外遥控电扇设计.docx

上传人:b****7 文档编号:10310587 上传时间:2023-02-10 格式:DOCX 页数:15 大小:20.11KB
下载 相关 举报
基于单片机的红外遥控电扇设计.docx_第1页
第1页 / 共15页
基于单片机的红外遥控电扇设计.docx_第2页
第2页 / 共15页
基于单片机的红外遥控电扇设计.docx_第3页
第3页 / 共15页
基于单片机的红外遥控电扇设计.docx_第4页
第4页 / 共15页
基于单片机的红外遥控电扇设计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

基于单片机的红外遥控电扇设计.docx

《基于单片机的红外遥控电扇设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的红外遥控电扇设计.docx(15页珍藏版)》请在冰豆网上搜索。

基于单片机的红外遥控电扇设计.docx

基于单片机的红外遥控电扇设计

基于89C2051单片机的红外遥控电风扇控制系统设计及程序

概述

  遥控电风扇是90年代初期在广东珠江三角洲地区作做大量的研发和生产,并有专门的掩模芯片作为主控芯片使用,现本人用单片机作了接收和发射的配套使用的系统方案。

红外遥控电路现在已成为一种设计电路的时尚,现简单地介绍了红外线遥控发射、接收系统的原理,给出用89C2051作为遥控接收系统解码器的一种巧妙实现方法,以及完整的51汇编程序代码。

包括发射、接收的原理图及其编程的主程序、发送程序、接收程序、定时中断程序的流程过程,从而完成此设计的要点,参考流程方框图的构思过程,可以编写应用软件。

遥控电风扇控制系统分为两大部分:

遥控器和电风扇控制板,下面分别加以描述。

一、遥控器

 为了能远离距的控制电风扇,采用了红外遥控器。

通常红外遥控器由发射和接收两部分组成,发射部分由单片机80C2051等构成。

接收部分装在电风扇的控制器内,由89C51等构成。

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)所示。

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进行工作状态。

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)其相关的波形图如下:

4.硬件设计

硬件设计见电路原理图(3)所示。

5.软件设计

(1)采用中断的处理程序完成整个系统的操作,INT0中断处理完成键盘扫描以及发送。

(2)程序流程图:

二、电风扇控制板

1.工作原理及组成部分:

红外接收部分包括光电转换放大器、解调、解码电路。

(1)CPU板将单片机、控制、键盘组合在一起完成了人机对话。

用AT89C51单片机来作主芯片控制,采用红外T1838接收头,用双向可控硅MC97A6控制电机档位,具有红外遥控功能。

(2)电源部分:

交流220V经变压器降压为2×8V,全波整流后再由三端稳压器LM7805稳压,供给控制板。

(3)电风扇控制板框图

2.设计方案

(1)控制部分

K1:

低、中、高档,相应的指示灯亮。

参见(图6)

K2:

控制彩灯,相应的指示灯亮

K3:

自然风、睡眠风、正常风控制。

参见(图8)、(图9)、(图10)

K4:

定时30分钟,1小时,2小时,4小时。

相应的指示灯点亮。

参见(图7)

K5:

具有开机功能和关机功能

(2)风类

自然风的处理流程

睡眠风的处理流程

正常风的处理流程:

(3)工作方式:

分为手动和遥控两种方式。

4.硬件设计:

参见(

5.软件设计:

(1)红外遥控输入在P3.2(INT0),面板按键P3.3(INT1)。

(2)遥控的解码过程:

单片机收到一个中断后,开始计数,然后在主程序有一个判断子程序,首先判断是否>8MS,是否有高电平,再判断是否>4MS的低电平,然后再判断是否是0或1,循环32次完成,32个码的接收和存储。

(3)程序流程图:

;=============电风扇红外发射(遥控器)程序=====================================

;按键说明:

;K1:

低风档,键值为01

;K2:

中风档,键值为02

;K3:

高风档,键值为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  

 SETBEX0

 SETBEA  

 MOV40H,#0FFH

 MOV41H,#0FFH

 MOV42H,#0FFH

 CLRDATAOUT    

 CLRFMOUT  ;38K的中断初始值

 MOVTMOD,#02H ;T0的工作方式2

 MOVTH0,#0F7H ;送初值 

 SETBFMOUT  

 CLRTR0  ;1/3的高电平标志

 MOVR2,#02H  ;2/3的循环次数

 DJNZ40H,LOOP1

 DJNZ41H,LOOP1

 DJNZ42H,LOOP1

 MOVPCON,#01H ;进入待机

LOOP1:

JMPMAIN

 

;=============================================================

;中断程序:

完成其按键按下的标志位

;=============================================================

KEY_INT0:

 PUSHACC

 PUSHPSW

 CLREX0

 MOVA,P1  

 CPLA  

 ANLA,#0FH

 MOVR2,A  ;将行号存入R2中

 MOVP1,#0F0H ;将列置输入端

 MOVA,P1  

 CPLA

 ANLA,#0F0H  ;取列号并存入A中

 MOVR1,#03H  ;置列初号

 MOVR3,#03H  ;置循环次数

 CLRC

PINT01:

RLCA  ;取列号

 JCPINT01  

 DECR1

 DJNZR3,PINT01

 

PINT02:

MOVA,R2  ;取行号

 MOVR2,#00H

 MOVR3,#03H  ;置循环次数

PINT03:

RRCA  

 JCPINT04

 INCR2

 DJNZR3,PINT03

PINT04:

MOVA,R2

 CLRC  

 RLCA  

 RLCA

 ADDA,R1

 MOVSENDBUF+2,A ;键号存于32H单元中

 CPLA

 MOVSENDBUF+3,A ;存键号的反码

 MOVSENDBUF,#0FFH ;系统码在30H单元中

 MOVSENDBUF+1,#00H ;系统反码在31H单元中

 LCALLSEND

 SETBET0  ;发送引导码

 SETBTR0  ;启动T0

 LCALLPP  ;发送一帧数据.包括系统码和数据码

 CLRTR0  ;当发送完后关断定时器

 CLRET0  ;关T0的中断

 SETBEX0  ;执行完后打开外INT0

 MOV40H,#0FFH

 MOV41H,#0FFH

 MOV42H,#0FFH

 POPPSW

 POPACC

 RETI

;=============================================================================

FM_T0:

JBF0,IT01

 DJNZR2,GRET

 MOVR2,#2

IT01:

CPLFMOUT

 CPLF0

GRET:

RETI

;==============================================================================  

;引导脉冲子程序

SEND:

SETBDATAOUT

 LCALLDY9000us

 CLRDATAOUT

 LCALLDY4500us

 RET

;==============================================================================

;发送四个缓冲单元中的内容程序:

PP:

MOVR3,#4 ;发送的字节数

 MOVR1,SENDBUF

PP0:

MOVR2,#08H ;让其循环8次

 MOVA,@R1 ;将数据首址

 CLRC ;清CY

PP1:

RRCA ;右环移带进位

 JCONE ;若C等1

ZER0:

SETBDATAOUT ;若C等0

 CALLDY562us

 CLRDATAOUT

 CALLDY562us

 

ONE:

SETBDATAOUT

 CALLDY562us

 CLRDATAOUT

 CALLDY1687us

 DJNZR2,PP1

 INCR1

 DJNZR3,PP0 ;等四个字节的发送完

 RET

;========================================================================= 

DY1687us:

 MOVR31,#38

L2:

    PUSH   R31

L3:

    DJNZ   R31,L3

       POP    R31

       DJNZ   R31,L2

       RET

;======================================================================== 

DY562us:

 MOVR31,#20

L22:

   PUSH   R31

L33:

   DJNZ   R31,L33

       POP    R31

       DJNZ   R31,L22

       RET 

;==========================================================================

;延时9000us子程序:

DY9000us:

 MOVR31,#91

L2A:

   PUSH   R31

L3A:

   DJNZ   R31,L3A

       POP    R31

       DJNZ   R31,L2A

       RET

;==============================================================================

;延时4500us子程序 

DY4500us:

 

 MOVR31,#67

L2B:

   PUSH   R31

L3B:

   DJNZ   R31,L3B

       POP    R31

       DJNZ   R31,L2B

       RET 

;==============================================================================

DY10S:

MOVR6,#10

L2C:

MOVR4,#2

L3C:

MOVR5,#248

 DJNZR5,$

 DJNZR4,L3C

 DJNZR6,L2C

 RET

END

  

INC文件内容

 ;-------------------------------------------------------------------------------

;AT89C2051内存RAM分配 Fiel=2051ram.INC

;-------------------------------------------------------------------------------

$SAVE

$NOLIST

R31 DATA1FH

KEYON BIT20H.0 ;按键按下的标志

SENDBUF DATA30H ;定义发送系统码缓冲的地址

FMOUT BITP3.3 ;38K输出

DATAOUT BITP3.0 ;数据输出

$RESTORE目录

第一章总论1

1.1项目概况1

1.2研究依据及范围3

1.3主要技术经济指标4

1.4研究结论及建议4

第二章项目建设的背景和必要性6

2.1项目建设的背景6

2.2项目建设的必要性8

第三章项目服务需求分析11

第四章项目选址与建设条件13

4.1选址原则13

4.2项目选址13

4.3建设条件14

4.4项目建设优势条件分析15

第五章建设方案18

5.1建设规模与内容18

5.2总体规划设计19

5.3建筑方案24

5.4结构方案26

5.5给水工程27

5.6排水工程29

5.7电气设计31

5.8暖通设计34

5.9项目实施进度35

第六章节能措施37

6.1 设计依据37

6.2节能措施37

第七章环境影响分析39

7.1环境影响分析39

7.2环境保护措施及治理效果40

第八章消防与安全卫生42

8.1消防42

8.2 劳动安全43

8.3 卫生防护44

第九章组织机构与运作方式45

9.1 组织机构45

9.2组织管理46

9.3劳动定员46

第十章投资估算47

10.1编制依据47

10.2 投资估算47

10.3资金筹措48

第十一章 经济效益评价49

11.1成本核算49

11.2利润估算51

11.3经济风险分析52

11.4财务评价结论54

第十二章结论55

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

当前位置:首页 > 人文社科 > 教育学心理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1