51的多功能红外遥控系统

合集下载

基于51多功能红外遥控器设计

基于51多功能红外遥控器设计
本次设A计lt的i开u发m和电D路e设s计ig主n要e是r在6Al开tium发De环sign境er 6环境下进行的。Altium Designer 是业
界首例将设计流程、集成化 PCB 设计、可编程器件(如 FPGA)设计和基于处理器设计的嵌入式软件开 发功能整合在一起的产品,一种同时进行PCB和FPGA设计以及嵌入式设计的解决方案,具有将设计方案 从概念转变为最终成品所需的全部功能。
Altium Designer 6具有以下几个特点: 在PCB部分,实现了自动引脚优化和非凡的布线效果,提供了对高密度封装(如 BGA)的交互布 线功能, 总线布线功能,器件精确移动,快速铺铜等功能; 在原理图部分,新增加“灵巧粘帖”可以将一些不同的对象拷贝到原理图当中; 在嵌入式设计部分,增强了JTAG器件的实时显示功能,增强型基于FPGA的逻辑分析仪,可以支持 32位或64位的信号输入。
图为STC89C54RD+芯片 及其电路,该芯片与 STC89C51引脚基本相同, 但速度更快,存储空间更大。 本设计采用的是40DIP封装 的双列直插式芯片。
p 电源模块
电源模块包括电源接 口,自锁式电源开关 及红色发光二极管作 为电源指示灯,其中, 电源接口采用了5V圆 孔式接口,与原理图略 有不同
p NEC协议
一直按住按键,一串信息只能发送一次,而后发送的是以110ms 为周期的重复码,如有图所示,重复码是由9ms的AGC高电平和 4.5ms的低电平及一个560us的高电平组成。如左图所示。
红外学习
使用说明
下载程序
红外解码
红外发射
控制外部设备
LOGO
p PCB板开发流程
第一步
第二步
第三步
第四步
NEC协议

基于51单片机的红外遥控设计-毕业设计论文

基于51单片机的红外遥控设计-毕业设计论文

基于51单片机的红外遥控设计摘要很多电器都采用红外遥控,那么红外遥控的工作原理是什么呢?本文将介绍其原理和设计方法。

红外线遥控就是利用波长为0.76~1.5μm之间的近红外线来传送控制信号的。

常用的红外遥控系统一般分发射和接收两个部分。

红外遥控常用的载波频率为38kHz,这是由发射端所使用的455kHz晶振来决定的,在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz÷12≈37.9 kHz≈38kHz。

也有一些遥控系统采用36kHz、40kHz、56kHz等,一般由发射端晶振的振荡频率来决定。

接收端的输出状态大致可分为脉冲、电平、自锁、互锁、数据五种形式。

“脉冲”输出是当按发射端按键时,接收端对应输出端输出一个“有效脉冲”,宽度一般在100ms左右。

一般情况下,接收端除了几位数据输出外,还应有一位“数据有效”输出端,以便后级适时地来取数据。

这种输出形式一般用于与单片机或微机接口。

除以上输出形式外,还有“锁存”和“暂存”两种形式。

所谓“锁存”输出是指对发射端每次发的信号,接收端对应输出予以“储存”,直至收到新的信号为止;“暂存”输出与上述介绍的“电平”输出类似。

关键词:80c51单片机、红外发光二极管、晶振目录第一章1、引言 (3)2、设计要求与指标 (3)3、红外遥感发射系统设计 (4)4、红外发射电路设计 (4)5、调试结果及分析 (9)6、结论 (10)第二章1、引言 (10)2、设计要求与指标 (11)3、红外遥控系统设计 (11)4、系统功能实现方法 (15)5、红外接收电路 (16)6、软件设计 (17)7、调试结果及分析 (18)8、结论 (19)参考文献附录绪论人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。

其中红光的波长范围为0.62~0.76μm;紫光的波长范围为0.38~0.46μm。

比紫光波长还短的光叫紫外线,比红光波长还长的光叫红外线。

51单片机多功能红外遥控电风扇(自然风+阵风+多档风速+定时)

51单片机多功能红外遥控电风扇(自然风+阵风+多档风速+定时)

51单片机多功能红外遥控电风扇(自然风+阵风+多档风速+定时)#include "AT89x051.H"#define uchar unsigned char#define uint unsigned int#define b1 0xe200#define b2 0xe210#define b3 0xe208#define b4 0xe218#define b5 0xe204#define b6 0xe214#define b7 0xe20c //阵风#define b8 0xe21c //自然风#define b9 0xe280 //自动档#define on_off 0xe240 //电源开关#define ch_a 0xe250 //加档#define ch_s oxe248 //减档#define time 0xe2e8 //定时#define louver 0xe24c //转页#define count_num 500 //显示次数#define time1_num 18000#define time2_num 100#define bell P3_4#define c_f 0xd4 //"F"#define c_h 0xce //"H"#define c_g 0x81 //"="uint time1=time1_num; //18000*100*2ms=1huchar time2=time2_num;uint count=count_num; //显示次数uchar sort=3; //显示offuchar dis_bit=0; //显示的位uchar code_length=16;uchar data dis[4]={0x02,0x02,0x00,0xff}; //显示数据区uchar temperature;uint code_t=0;uchar code1=0;uchar code2=0;bit bdata code_start=0; //代码起始标志bit bdata button=0; //无键按下bit bdata i_flag=0; // 有无中断标志bit bdata t_flag=0;//测温标志bit bdata bt=0; //判断是否是定时键bit bdata off=0; //为0无定时uchar code TAB[11]={0x5f,0x0a,0x9d,0x9b,0xca,0xd3,0xd7,0x5a,0xdf,0xdb,0x 75};void timer_0(void);void dis_t(void); //温度显示void dis_s(void); //档位显示void dis_h(void); //时间void dis_off(void); //关机显示void delay(uint t); //延时uchar d_code(uint t); //解码uchar begin=0; //开始补偿void c_code(void); //键号转换void off_time(void); //定时关void measure_temperature(void);void key_time(void); //定时按钮void sort_key(void); //风类按钮void mov_p1(uchar t0,t1,t2); //显示void button_process(void); //按键处理//********定时关机*********void off_time(void){if(off==1){if(time1--==0){time2--;time1=time1_num;}if(time2==0){dis[3]=dis[3]-1;time2=time2_num;}if(dis[3]==0){code_t=on_off; //关机c_code();}}}//********定时器0中断********* void timer0() interrupt 1 using 2 {off_time();if(dis_bit==0&&t_flag==0){key_time();sort_key();}switch(sort){case 0:if(count!=0){mov_p1(dis[0],dis[1],TAB[10]); //显示温度count--;}break;case 1:if(count!=0){mov_p1(c_f,c_g,TAB[dis[2]]); //显示档位count--;}break;case 2:if(count!=0){dis_h(); //显示时间count--;}break;case 3:mov_p1(0x5f,c_f,c_f);//显示关机default:break;}timer_0();if(count==0) //轮流显示{P3_0=P3_1=P3_5=1;if(i_flag==0&&t_flag==0) measure_temperature();count=count_num;sort=(sort&0x03)+1;if(sort>=3)sort=0; //完成一轮显示}}//***********定时按钮************ void key_time(void){bit i=P1_2;P1_2=1;if(P1_2==0){delay(50);if(P1_2==0) //确认有按键{bell=0;delay(100);bell=1;while(P1_2==0){;}if(dis[3]==0xff){dis[3]=1;off=0; //取反后为1,定时}else{if(dis[3]<9){dis[3]=dis[3]+1;off=0; //取反后为1,定时}elseoff=1; //取反后为0,取消定时}sort=2;code_t=time; //显示时间c_code();//bt=0; //恢复}}P1_2=i;i_flag=0; //恢复执行其它任务}//***********换档按钮************ void sort_key(void){bit i=P1_1;P1_1=1;if(P1_1==0){delay(50);if(P1_1==0){button=1;bell=0;delay(200);bell=1;while(P1_1==0){;}if(dis[2]<9){dis[2]=dis[2]+1;code2=dis[2];}else{dis[2]=0;code2=10; //power off}delay(100);sort=1;count=5000;//TF0=1;}}P1_1=i;i_flag=0; //恢复执行其它任务}//********定时器1中断测温************ void timer1() interrupt 3 using 3{uint temp;TR0=0; //计数停TR1=0; //定时停temp=TH0*256+TL0; //取温度值temperature=(7000-temp)/11; //计算温度//if(dis[2]!=0)// temperature--; //工作时补偿1度/*if(F0==0&&begin<=10) //开始温度加3度temperature+=3;if(F0==0&&begin<=60&&begin>10) temperature+=2;if(F0==0&&begin<=150&&begin>60) temperature+=1;*/dis[0]=TAB[temperature/10];dis[1]=TAB[temperature%10];IE0=0;t_flag=0;timer_0();EX0=1;}//**********判断代码************ uchar d_code(uint t){if(t<=0x220&&t>=0x190)return 0;else{if(t<=0x430&&t>=0x390)return 1;elsereturn 0xff;}}//***********键号转换************ void c_code(void){bit bdata i=0;switch(code_t){case b1:code1=1;break;case b2:code1=2;break;case b3:code1=3;break;case b4:code1=4;break;case b5:code1=5;break;case b6:code1=6;break;case b7:code1=7;break;case b8:code1=8;break;case b9:code1=9;break;case on_off:code1=10; //关机dis[3]=0xff;//#####标志复位############ button=0; //无键按下i_flag=0; // 无中断标志bt=0; //无定时键按下off=0; //无定时time1=time1_num; //定时初值复位time2=time2_num;count=count_num; //显示次数break;case time:off=~off;if(off==0)dis[3]=0xff; //取消定时i=1;bt=1;count=5000; //延长显示sort=2; //显示时间TF0=1;break;case louver:P3_3=~P3_3;code1=code2;break;default:code1=0;break;}if(bt==1&&i==0) //装载代码{if(code1<9) //定时最大9h {dis[3]=code1;bt=0;}}elseif(i==0){code2=code1;count=5000; //延长显示if(code1==10){dis[2]=0; //F=0sort=3; //显示关机}else{dis[2]=code1;sort=1; //显示风类}TF0=1;}}//*********** 接收代码中断 ************void receive_code() interrupt 0 using 1{uint temp,i;ET0=0;i_flag=1; //暂停其它任务if(TR1==0){TR1=0;TMOD=0x11;TH1=TL1=0;TR1=code_start=1;}else{TR1=code_start=0;temp=TH1*256+TL1;if((d_code(temp)==0||d_code(temp)==1)&&code_length!=0) {TH1=TL1=0;TR1=code_start=1;code_t=(code_t<<1)+d_code(temp);code_length--;}else{if(code_length==0&&((code_t&0xff00)==0xe200)) //除掉误码{code_length=16;bell=0; //正确收到,响声提示c_code(); //转换代码for(i=0;i<6000;i++){EX0=0;P3_0=P3_1=P3_5=1;if(i>800)bell=1;IE0=0;if(P3_2==0)i--;button=1; //有按键需要处理}i_flag=0; //恢复执行其它任务}else //误码{code_length=16;for(i=0;i<6000;i++){IE0=0;if(P3_2==0)i--;i_flag=0; //恢复执行其它任务}}timer_0();EX0=1;}}}//***********显示代码送P1口************ void mov_p1(uchar t0,t1,t2){switch(dis_bit){case 0:P1=t0;P3_1=P3_5=1;P3_0=0;dis_bit=1;break;case 1:P1=t1;P3_0=P3_5=1;P3_1=0;dis_bit=2;break;P1=t2;P3_1=P3_0=1;P3_5=0;dis_bit=0;break;}}//***********显示定时时间************ void dis_h(void){switch(dis_bit){case 0:P1=c_h; //"H"P3_1=P3_5=1;P3_0=0;dis_bit=1;break;case 1:P1=c_g; //"="P3_0=P3_5=1;P3_1=0;dis_bit=2;break;case 2:if(dis[3]>10) //无定时P1=TAB[0]; //显示H=0elseP1=TAB[dis[3]];P3_1=P3_0=1;P3_5=0;dis_bit=0;break;}}//********定时器0************ void timer_0(void){TMOD=0x01; //T0定时方式1 TR0=0;TH0=0xfc;TL0=0x55; //2ms ET0=1;TR0=1;}//*********** 延时 ************ void delay(uint t){uint i,j;for(i=0;iif(button==0)for(j=0;j<10;j++);}//*********** 测温度 ************void measure_temperature(void){t_flag=1;ET1=1;EX0=0;ET0=0;TMOD=0x15; //T0计数方式1,T1定时方式1 TH1=0x3c;TL1=0xb0; //置初值100msTH0=0x00;TL0=0x00; //清零TR0=1; //计数开始TR1=1;}//***********风速 ************void s1(void){P3_7=0;}void s2(void){P3_7=0;delay(230);P3_7=1;delay(25);}void s3(void){P3_7=0;delay(180); P3_7=1; delay(40);}void s4(void) {P3_7=0; delay(130); P3_7=1; delay(40);}void s5(void) {P3_7=0; delay(90);P3_7=1; delay(40);}void s6(void) {P3_7=0; delay(50);P3_7=1; delay(50);}void gust(void) //阵风{uchar i,j;if(button==1) //中止任务j=255;elsej=0;//P3_7=0;//delay(5000);for(i=j;i<50;i++)s6();P3_7=0;delay(5000);for(i=j;i<25;i++)s2();for(i=j;i<35;i++)s3();for(i=j;i<25;i++)s5();delay(6000);}void natural(void) //自然风{uchar i;uchar code *p; //随机数for(i=0;i<100;i++){if(button==0) //有键按下,中止当前任务{P3_7=0;delay((*p++)*8); //放大P3_7=1;if(*p<10)delay(7000); //低速档时间补偿elsedelay(300);}}}void automation(void) //自动档{if(temperature<=29)s6();elseif(temperature<=30)gust();elseif(temperature==31)s5();elseif(temperature==32)s4();elseif(temperature<=33)s3();if(temperature==34)s2();elses1();}//***********按键处理 ************ void button_process(void){button=0;switch(code2){case 1:s1();break;case 2:s2();break;case 3:s3();break;case 4:s4();break;case 5:s5();break;case 6:s6();case 7:gust();break;case 8:natural();break;case 9:automation();break;case 10:P3_7=1; //关风扇P3_3=1; //关转页break;default:break;}}//********************************** //***********主程序开始 ************ //**********************************void main(void){EA=1;IT0=1; //边沿触发EX0=1; //外部中断0允许measure_temperature();delay(1000);timer_0();while(1){if(F0==0&&begin<255) begin++;elseF0=1;button_process();}}。

基于51单片机的红外线遥控智能台灯设计-智能台灯的控制系统电路设计

基于51单片机的红外线遥控智能台灯设计-智能台灯的控制系统电路设计

基于51单片机的红外线遥控智能台灯设计-智能台灯的控制系统电路设计摘要随着社会的发展,智能产品也随着变化,电子产品快速发展,我们家用电器智能化越来越多,常见的智能家居如电饭煲,电磁炉,台灯等主要系统都具有一个共同的特点,那就是利用单片机控制系统作为本次的核心系统,因此带来巨大的方便,本次针对智能家居的台灯控制系统设计,对我国的智能家居发展是十分必要的,有着巨大的市场价值和市场潜力。

本设计以STC89C52为控制芯片,通过对红外传感器和光敏电阻的输出信息信号采集实现对LED灯的控制,达到模拟控制灯光的目的。

论文的主要的目的是完成智能灯光的硬件设计和软件设计,硬件设计的选择包括选型和电路设计;软件是对硬件的每个部分模块进行驱动,对于软件程序的编写可以将硬件部分传感器的数据采集和控制输出功能,从而做到灯光的智能控制。

关键词:STC89C52,智能台灯,光敏电阻,红外传感器Design of infrared remote control intelligent table lamp based on 51 single chip microcomputer-The control system circuit design ofintelligent table lampAbstractWith the development of society, intelligent products are also changing, and electronic products are developing rapidly. More and more intelligent home appliances are used. Common intelligent home systems such as rice cooker, electromagnetic stove, table lamp and so on have a common feature. That is to use the single-chip microcomputer control system as the core system of this time, which brings great convenience. This time, for the intelligent home The design of lamp control system is very necessary for the development of smart home in China, and has great market value and market potential.This design is based on STC89C52 as the control chip, through the acquisition of the output information signal of photoresist and infrared sensor to achieve the control of LED lamp, to achieve the purpose of analog control of light. The main purpose of this paper isto complete the hardware design and software design of intelligent lighting. The choice of hardware design includes selection and circuit design. The software is to drive each part of the hardware module. For the preparation of software program, the data acquisition and control output function of the hardware part of the sensor can be achieved, so as to make the lighting intelligent control.Key words: STC89C52; intelligent table lamp; photosensitive resistance; infrared sensor目录1 绪论 (3)1.1 本设计研究背景 (3)1.2 本设计的目的和意义 (3)1.3 设计方案的提出 (2)2 总体方案的选择 (2)2.1 主控芯片的选择 (2)2.2 三极管驱动模块 (3)2.3 热释电红外传感器 (3)2.4 光敏电阻 (3)2.5 报警模块的选择 (4)2.6 按键控制模块 (4)2.7 信号处理模块的选择 (5)2.8 手势模块的选择 (5)2.9 智能灯光方案的确定 (5)3 硬件设计 .................................................. 错误!未定义书签。

基于51单片机的红外遥控器设计

基于51单片机的红外遥控器设计

天津职业大学二○一五~二○一六学年第1学期电子信息工程学院通信系统综合实训报告书课程名称:通信系统综合实训班级:通信技术(5)班学号:1304045640 1304045641 1304045646姓名:韩美红季圆圆陈真真指导教师:崔雁松2015年11月17日一、任务要求利用C51单片机设计开发一套红外线收发、显示系统。

具体要求:●编写相关程序(汇编、C语言均可);●用Proteus绘制电路图并仿真实现基本功能;●制作出实物二、需求分析(系统的应用场景、环境条件、参数等)现在各种红外线技术已经源源不断进入我们的生活中,在很多场合发挥着作用。

机场、宾馆、商场等的自动门,会在人进出时自动地开启和关闭。

原来,在自动门的一侧有一个红外线光源,发射的红外线照射到另一侧的光电管上,红外线是人体察觉不到的。

当人走到大门口,身体挡住红外线,电管接收不到红外线了。

根据设计好的指令,触发相应开关,就把门打开了。

等人进去后,光电管又可以接到红外线,恢复原来的线路,门又会自动关闭。

因此这种光电管被称为“电眼”,在许多自动控制设备中大显身手。

在家庭中,许多电子设备如彩色电视、空调、冰箱和音响等,都使用了各种“红外线遥控器”。

利用它我们可以非常方便的转换电视频道或设定空调的温度档次。

三、概要设计(系统结构框图/系统工作说明流程图)红外线收发、显示系统硬件由以下几部分组成:红外遥控器,51单片机最小系统,接收放大器一体集成红外接收头,LED灯显示电路。

红外线接收是把遥控器发送的数据(已调信号)转换成一定格式的控制指令脉冲(调制信号、基带信号),是完成红外线的接收、放大、解调,还原成发射格式(高、低电位刚好相反)的脉冲信号。

这些工作通常由一体化的接收头来完成,输出TTL兼容电平。

最后通过解码把脉冲信号转换成数据,从而实现数据的传输。

红外遥控系统电路框图四、详细设计(Proteus电路图、程序流程图、源程序清单)1)Proteus电路图:2)程序流程图:程序是首先初始化红外接收端口,然后检测是否接收红外信号,如果接收到红外信号就调用接收子程序,然后就通过L 额度LED 显示当前按键的结果,如图所示:程序流程图3)源程序清单:#include<reg51.h> //头文件#define uchar unsigned char //这里用"uchar"代替"unsigned char","uchar"用来定义无符号字符型数。

51单片机设计的红外线遥控器电路图及工作原理

51单片机设计的红外线遥控器电路图及工作原理

51单片机设计的红外线遥控器电路图及工作原理你家里是否有一个电视机遥控器或者空调机遥控器呢?你是否也想让它遥控其他的电器甚至让它遥控您的电脑呢?那好,跟我一起做这个“红外遥控解码器”。

该小制作所需要的元件很少:单片机TA89C2051一只,RS232接口电平与TTL电平转换心片MAX232CPE 一只,红外接收管一只,晶振11.0592MHz,电解电容10uF4只,10uF 一只,电阻1K1个,300欧姆左右1个,瓷片电容30P2个。

发光二极管8个。

价钱不足20元。

电路图及原理:主控制单元是单片机AT89C2051,中断口INT0跟红外接受管U1相连,接收红外信号的脉冲,8个发光二极管作为显示解码输出(也可以用来扩展接其他控制电路),U3是跟电脑串行口RS232相连时的电平转换心片,9、10脚分别与单片机的1、2脚相连,(1脚为串行接收,2脚为串行发送),MAX232CPE的7、8脚分别接电脑串行口的2(接收)脚、3(发送脚)。

晶振采用11.0592MHz,这样才能使得通讯的波特率达到9600b/s,电脑一般默认值是9600b/s、8位数据位、1位停止位、无校验位。

电路就这么简单了,现在分析具体的编程过程吧。

如图所示,panasonic遥控器的波形是这样的(经过反复测试的结果)。

开始位是以3.6ms低电平然后是3.6ms高电平,然后数据表示形式是0.9ms低电平0.9ms 高电平周期为1.8ms表示“0”,0.9ms低电平2.4ms高电平周期为3.3ms表示“1”,编写程序时,以大于3.4ms小于3.8ms高电平为起始位,以大于2.2ms小于2.7ms高电平表示“1”,大于0.84ms小于1.11ms高电平表示“0”。

因此,我们主要用单片机测量高电平的长短来确定是“1”还是“0”即可。

定时器0的工作方式设置为方式1:mov tmod,#09h,这样设置定时器0即是把GATE置1,16位计数器,最大计数值为2的16次方个机器周期,此方式由外中断INT0控制,即INT0为高时才允许计数器计数。

51红外遥控原理

51红外遥控原理

51红外遥控原理红外遥控技术是一种利用红外线进行远程无线控制的技术,广泛应用于家电、电视、空调、音响等设备上。

其原理是利用红外线的特性进行信息的传输与解码。

首先,红外遥控的原理基于红外线的传播特性。

红外线是一种波长较长的电磁辐射,其波长范围为0.75微米到1000微米。

红外线具有穿透力强、传播速度快、直线传播等特点,且几乎不受可见光的影响。

因此,红外线可以穿透透明的物体,如玻璃、塑料等,而不能穿透不透明的物体,如墙壁等。

在红外遥控中,遥控器是发射器,被控制的设备是接收器。

遥控器中包含一个红外线发射二极管,通过对其通电激活,在发射二极管前方会形成一个红外线发射区域。

而被控制的设备中则装有一个红外线接收头,用于接收发射器发出的红外线信号。

红外遥控的工作过程一般分为发射和接收两个步骤。

在发射过程中,当用户按下遥控器上的某个按键时,遥控器会从内部的码库中选择相应的红外线编码,通过发射二极管产生红外线信号。

这个红外线信号包含了具体的操作指令,如开关、音量调节、频道切换等。

发射二极管将红外线信号发出,在空气中以光的形式传播,然后被被控设备的红外线接收头接收。

在接收过程中,被控设备接收到红外线信号后,红外线接收头会将红外线转换为电信号,并将其传送给设备的中央处理芯片。

中央处理芯片会进行解码操作,将接收到的红外线信号解码成对应的指令。

然后,中央处理芯片根据解码结果执行相应的操作,控制设备的开关、音量、频道等。

例如,如果用户按下遥控器上的音量加键,中央处理芯片会解码出音量加的指令,并相应地改变设备的音量。

总体来说,红外遥控的原理是通过发射器发出红外线信号,经过空气传播到接收器,接收器将红外线信号转换成电信号并进行解码,最终通过中央处理芯片控制设备的操作。

通过这种原理,用户可以远程操控各种设备,实现便捷的家电控制。

需要注意的是,不同厂商之间的红外编码方式可能存在差异,这就需要设备的红外接收头能够识别出不同编码方式,并将其转换为标准的电信号进行解码。

基于51单片机的红外遥控课程设计

基于51单片机的红外遥控课程设计

目录第一章设计简介 (2)第二章系统方案 (2)一、设计方案对比 (2)二、方案设计 (4)第三章硬件设计 (4)一、红外遥控器 (4)二、红外接收模块部分 (6)第四章软件设计 (7)一、红外遥控器软件设计 (7)二、红外接收模块软件设计 (10)三、程序代码 (10)第五章测试及分析 (10)第六章结论 (10)第七章参考文献 (11)附录一(程序代码): (12)第一章设计简介本设计分为红外遥控器与红外接收模块两部分。

红外遥控器包括矩阵键盘、增强型51单片机(STC11L04E)、红外发射电路组成。

单片机扫描矩阵键盘后,将按键状态进行信源编码与信道编码,载波(38k脉冲)后由红外发射器发射。

红外接收模块部分由传统51单片机、数码管、一体化红外接收头组成。

一体化红外接收头将信号进行限幅放大、带通滤波、解调、积分、整形后输出解调信号至单片机,并由单片机输出解调信号。

第二章系统方案一、设计方案对比红外遥控器部分2.1.1 主控芯片方案一:HT6222方案二:STC11L04E分析:传统红外遥控器芯片HT6222具有性价比高、功能强大、稳定可靠、使用简单等特点,但该芯片难以零购。

STC11L04E为增强型51单片机,控制灵活(载波频率可调、通信协议可变更、用户码可变换)、价格较HT6222稍贵。

STC11L04E最大的特别是低功耗,功作电压低3.3V,易于应用于移动设备。

结论:由于STC11L04E单片机的灵活性以及学习性(可增强我们对一个完整通信系统的理解)。

因此我们采用方案二。

2.1.2 矩阵键盘方案一:3*6*2.5 贴片轻触开关方案二:6*6*6 直插轻触开关分析:3*6*2.5贴片轻触开关虽然体积小巧、美观,但与6*6*6直插轻触开关对比,在制板布线上较繁锁。

结论:综上,我们采用6*6*6直插轻触开关,使得整体布线简单,可布单面版,简化制板流程。

2.1.3电源模块方案一:钮扣电池CR2032方案二:可充电锂电池18650分析:可充电锂电池18650容量大,节能环保(可多次利用),但体积大。

基于51单片机的红外线控制系统 2

基于51单片机的红外线控制系统 2

单片机原理结课项目项目题目基于51单片机的红外线控制系统基于51单片机的红外线控制系统一、概述:红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。

由于红外线遥控不具有像无线电遥控那样穿过障碍物去控制被控对象的能力,所以在设计红外线遥控器时,不必要像无线电遥控器那样,每套( 发射器和接收器) 要有不同的遥控频率或编码( 否则,就会隔墙控制或干扰邻居的家用电器) ,所以同类产品的红外线遥控器,可以有相同的遥控频率或编码,而不会出现遥控信号“串门”的情况。

这对于大批量生产以及在家用电器上普及红外线遥控提供了极大的方面。

由于红外线为不可见光,因此对环境影响很小,再由红外光波动波长远小于无线电波的波长,所以红外线遥控不会影响其他家用电器,也不会影响临近的无线电设备。

基于51单片机的红外线控制系统。

要求通过单片机发送和接红外信号程序,根据接收的信号,执行有关动作的系统,能够实现近距离的无线通。

二、硬件设计1. 系统框图2. 电路原理图电路由五个模块构成(最小系统模块、红外接收模块、数码管显示模块、编程下载模块、电源模块)1) 最小系统STC12C5410AD 单片机红外接收头红外遥控器复位电路时钟振荡电路数码光显示最小系统由stc12c5410ad单片机,按键复位电路,时钟振荡电路构成。

a.电源电源采用5V直流电供电。

b.时钟、复位电路本电路选用12MHz晶振。

2)红外接收模块3)显示模块三、软件设计1.红外编解码原理红外线发射编码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制‘0’;以脉宽为0.565ms、间隔1.658ms、周期为2.25ms的组合表示二进制‘1’;红外接收头接收的信号和发射编码相反;一组编码由一个引导码,四个字节数据组成;引导码由9ms的高电位和4.5ms的地电位组成。

基于51单片机的红外遥控-自动避障-贴墙行走-人体感应智能小车机器人

基于51单片机的红外遥控-自动避障-贴墙行走-人体感应智能小车机器人

基于51单片机的红外遥控-自动避障-贴墙行走-人体感应智能小车机器人队员1姓名:周葛学院:仪器科学与电器工程学院专业:测控技术与仪器年级:大一教学号:65130109邮箱:zhouge94@队员2姓名:成妍学院:药学院专业:生物医学工程(再生医学)年级:大一教学号:73130430邮箱:lianyungangcheng@作品类别:基本电子技术应用类目录一、引言 (1)二、总体设计 (1)三、单元电路设计 (2)1)单片机最小驱动模块 (2)2)红外接收模块 (3)方案选择 (3)方案确定 (3)理论分析与方案论证 (3)3)电机驱动模块 (4)4)避障循迹贴墙模块 (5)方案选择 (5)方案确定 (5)理论分析与方案论证 (6)5)电源模块 (7)6)人体感应模块 (7)四、软件设计 (8)五、整体测试 (8)六、结论 (9)【参考文献】 (9)【附录】 (10)源程序 (10)一、引言以STC89C52单片机为核心,制作一款红外线遥控小车,小车具有自动驾驶、手动驾驶和循迹前进等功能。

自动驾驶时,小车在前进过程中可以自动躲避障碍物。

手动驾驶时,可以手动遥控小车前进、后退、左转、右转、加速等操作。

寻迹时小车可以按轨迹前进。

红外遥控的特点是利用红外线进行点对点通信的技术,不影响周边环境,不干扰其他电器设备。

室内近距离(小于10米),信号无干扰、传输准确度高、体积小、功率低的特点,遥控中得到了广泛的应用。

本系统采用成品红外发射遥控器,具有21个按键,采用NEC红外传输协议。

接收端使用1838一体化接受头,通过单片机中断程序处理红外信号。

二、总体设计本系统由硬件和软件两部分组成。

硬件部分由红外线接受电路,控制电路,直流电机驱动,障碍物检测电路,人体感应电路五部分组成,完成红外编码信号的接受,直流电机的驱动,障碍物检测、墙体检测、地面检测,人体感应检测等功能。

软件部分主要完成信号的检测和处理、直流电机的控制,障碍物的规避等功能。

基于51单片机的红外遥控

基于51单片机的红外遥控

基于51单片机的红外遥控红外遥控是无线遥控的一种方式,本文讲述的红外遥控,采用STC89C52单片机,1838红外接收头和38k红外遥控器。

1838红外接收头:红外遥控器:原理:红外接收的原理我不赘述,百度文库上不少,我推荐个网址,这篇文章写得比较清楚,也比较全面,我主要讲下程序的具体意思,在了解原理的基础上,我们知道,当我们在遥控器上每按下一个键,遥控器上的红外发射头都会发出一个32位的编码(32位编码分成4组8位二进制编码,前16位为用户码和用户反码,后16位为数据码和数据反码,用户码表示遥控器类型,数据码表示按键编码),不同的键对应不同的编码,红外接收头接收到这个编码后,发送给单片机,再进行相关操作。

源程序1:(这个程序的功能是将用户码和用户反码,数据码和数据反码显示在1602液晶上,因为遥控器买回来是不会说明按键对应什么码值,所以先自己测试,确定每个按键的码值)#include<reg52.h>#include<stdio.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned char#define _Nop() _nop_()#define TURE 1#define FALSE 0/*端口定义*/sbit lcd_rs_port = P3^5; /*定义LCD控制端口*/sbit lcd_rw_port = P3^6;sbit lcd_en_port = P3^4;#define lcd_data_port P0///////////////////////////////////void delay1 (void)//关闭数码管延时程序{int k;for (k=0; k<1000; k++);}////////////////////////////////////uchar code line0[16]={" user: "};uchar code line1[16]={" data: "};uchar code lcd_mun_to_char[16]={"0123456789ABCDEF"};unsigned char irtime;//红外用全局变量bit irpro_ok,irok;unsigned char IRcord[4];//用来存放用户码、用户反码、数据码、数据反码unsigned char irdata[33];//用来存放32位码值void ShowString (unsigned char line,char *ptr);//////////////////////////////////////////////void Delay(unsigned char mS);void Ir_work(void);void Ircordpro(void);void tim0_isr (void) interrupt 1 using 1//定时器0中断服务函数{irtime++;}void ex0_isr (void) interrupt 0 using 0//外部中断0服务函数{static unsigned char i;static bit startflag;if(startflag){if(irtime<63&&irtime>=33)//引导码TC9012的头码i=0;irdata[i]=irtime;irtime=0;i++;if(i==33){irok=1;i=0;}}else{irtime=0;startflag=1;}}void TIM0init(void)//定时器0初始化{TMOD=0x02;//定时器0工作方式2,TH0是重装值,TL0是初值TH0=0x00;//reload valueTL0=0x00;//initial valueET0=1;//开中断TR0=1;}void EX0init(void){IT0 = 1; // Configure interrupt 0 for falling edge on /INT0 (P3.2)EX0 = 1; // Enable EX0 InterruptEA = 1;}void Ircordpro(void)//红外码值处理函数(关键函数){unsigned char i, j, k=1;unsigned char cord,value;for(i=0;i<4;i++){//处理4个字节for(j=1;j<=8;j++){ //处理1个字节8位cord=irdata[k];value=value>>1;if(cord>7) value=value|0x80; //大于某值为1k++;}IRcord[i]=value;value=0;}irpro_ok=1;//处理完毕标志位置1}///////////////////////////////////////////void lcd_delay(uchar ms) /*LCD1602 延时*/{uchar j;while(ms--){for(j=0;j<250;j++){;}}}//////////////////////////////////////////////void lcd_busy_wait() /*LCD1602 忙等待*/{lcd_rs_port = 0;lcd_rw_port = 1;lcd_en_port = 1;lcd_data_port = 0xff;_Nop();_Nop();_Nop();_Nop();while (lcd_data_port&0x80);lcd_en_port = 0;}///////////////////////////////////////////////void lcd_command_write(uchar command) /*LCD1602 命令字写入*/ {lcd_busy_wait();lcd_rs_port = 0;lcd_rw_port = 0;lcd_en_port = 0;lcd_data_port = command;_Nop();_Nop();_Nop();_Nop();_Nop();_Nop();lcd_en_port = 1;_Nop();_Nop();_Nop();_Nop();_Nop();_Nop();lcd_en_port = 0;}/////////////////////////////////////////void lcd_system_reset() /*LCD1602 初始化*/{lcd_delay(20);lcd_command_write(0x38);lcd_delay(100);lcd_command_write(0x38);lcd_delay(50);lcd_command_write(0x38);lcd_delay(10);lcd_command_write(0x08);lcd_command_write(0x01);lcd_command_write(0x06);lcd_command_write(0x0c);}//////////////////////////////////////////////////void lcd_char_write(uchar x_pos,y_pos,lcd_dat) /*LCD1602 字符写入*/ {x_pos &= 0x0f; /* X位置范围0~15 */y_pos &= 0x01; /* Y位置范围0~ 1 */if(y_pos==1) x_pos += 0x40;x_pos += 0x80;lcd_command_write(x_pos);lcd_busy_wait();lcd_rs_port = 1;lcd_rw_port = 0;lcd_en_port = 0;lcd_data_port = lcd_dat;_Nop();_Nop();_Nop();_Nop();_Nop();_Nop();lcd_en_port = 1;_Nop();_Nop();_Nop();_Nop();_Nop();_Nop();lcd_en_port = 0;}void main(void){uchar i;lcd_system_reset(); /* 初始化LCD1602 */lcd_data_port = 0xff;for(i=0;i<16;i++) lcd_char_write(i,0,line0[i]);for(i=0;i<16;i++) lcd_char_write(i,1,line1[i]);EX0init(); // Enable Global Interrupt FlagTIM0init();while(1){//主循环if(irok){Ircordpro();irok=0;}if(irpro_ok){ /*遥控成功接收*/lcd_char_write(8,0,lcd_mun_to_char[IRcord[0]/0x10]);lcd_char_write(9,0,lcd_mun_to_char[IRcord[0]%0x10]);lcd_char_write(11,0,lcd_mun_to_char[IRcord[1]/0x10]);lcd_char_write(12,0,lcd_mun_to_char[IRcord[1]%0x10]);lcd_char_write(8,1,lcd_mun_to_char[IRcord[2]/0x10]);lcd_char_write(9,1,lcd_mun_to_char[IRcord[2]%0x10]);lcd_char_write(11,1,lcd_mun_to_char[IRcord[3]/0x10]);lcd_char_write(12,1,lcd_mun_to_char[IRcord[3]%0x10]);}//将码值显示在液晶上}}源程序2:(在知道了按键编码的基础上,我们便可以加入判断,判断哪个键被按下,进而执行相关操作)我只修改main函数,其他与源程序1相同sbit led1=P1^0;sbit led2=P1^1;sbit led3=P1^2;sbit led4=P1^3;sbit led5=P1^4;//发光二极管控制端定义void main(void){uchar i;lcd_system_reset(); /* 初始化LCD1602 */lcd_data_port = 0xff;for(i=0;i<16;i++) lcd_char_write(i,0,line0[i]);for(i=0;i<16;i++) lcd_char_write(i,1,line1[i]);EX0init(); // Enable Global Interrupt FlagTIM0init();while(1){//主循环if(irok){Ircordpro();irok=0;}if(irpro_ok){ /*遥控成功接收*/switch(IRcord[2])//为什么判断IRcord[2],因为这个里面存放的是数据码{case 0x0c: led1=0;//按0键,灯1亮break;case 0x18: led2=0; //按1键,灯2亮break;case 0x5e: led3=0; //按2键,灯3亮break;case 0x08: led4=0; //按3键,灯4亮break;case 0x1c: led5=0; //按4键,灯5亮break;}}}}附连接图。

基于51单片机红外遥控小车制作报告

基于51单片机红外遥控小车制作报告

基于51单片机红外遥控小车制作报告基于51单片机红外遥控小车是一项有趣且有挑战性的项目,通过该项目的实践,可以深入了解单片机和红外遥控的原理,并提高自己的动手能力和解决问题的能力。

本文将介绍基于51单片机红外遥控小车的制作过程和实现的功能。

一、实验原理1.51单片机原理51单片机是一种广泛应用于电子产品和嵌入式系统中的微控制器,采用的是哈佛结构,具有较高的性能和稳定性,广泛使用于工业自动化和嵌入式开发中。

2.红外遥控原理红外遥控是一种常见的遥控方式,通过使用红外光发射器和接收器之间的通信,实现无线遥控设备的功能。

红外遥控信号一般由多个比特组成的数据包,通过不同的数据包可以实现不同的操作。

二、实验器材和工具1.器材2个电机、L298N电机驱动模块、51单片机、红外接收器、红外发射器、遥控器、电池盒、杜邦线等。

2.工具电烙铁、焊锡、剪线钳、螺丝刀、万用表等。

三、制作步骤1.电路连接将L298N电机驱动模块与电机连接,L298N模块的输入引脚与单片机的输出引脚连接,红外接收器与单片机的IO引脚连接,红外发射器与单片机的IO引脚连接。

2.程序设计根据需求编写程序,包括红外遥控信号解析、电机控制等功能。

3.调试测试四、实现的功能1.红外信号解析通过红外接收器接收到遥控器发送的红外信号,解析信号中的数据包,判断用户的操作。

2.基本运动控制根据用户的操作,通过控制电机的转动方向和速度,实现小车的前进、后退、左转、右转等基本运动功能。

3.灵敏度调节通过调整程序中的参数,可以调节小车的灵敏度,使其对用户的操作更加敏感和准确。

4.智能避障在程序中添加红外避障功能,当小车检测到前方有障碍物时,自动停下或转向避开障碍物,保证小车的安全。

五、实验心得通过制作基于51单片机红外遥控小车的实验,我深入了解了51单片机和红外遥控的原理,并提高了自己的动手能力和解决问题的能力。

在实验过程中遇到了一些困难,但通过查阅资料和与同学交流,我成功地解决了这些问题。

51单片机综合学习系统_红外线遥控篇

51单片机综合学习系统_红外线遥控篇

图 10 截取的波形图像 Ele
PRACTICAL ELECTRONICS
制作天地
51 单 片 机 综 合 学 习 系 统
— ——红外线遥控篇
◎徐 玮
通过 以 前 的学 习 , 已 经对 51 单 片 机综 合 学 习 系 统 的 使用 方 法 及 学 习 方 式 有 所 了 解, 并 学 会 了 12864 点 阵型液晶显示的基本知识, 体会到了综合学习系统的 易用性与易学性, 这一期我们将学习红外线遥控的基 本原理与使用方法。
2008 年第 3 期 电子制作 23
PRACTICAL ELECTRONICS
制作天地
4.5ms 的结果码完成后才能读码。 3.接收器及解码 一体化红外线接收器是一种集红外线接收和放大
于一体, 不需要任何外接元件, 就能完成从红外线接收 到 输出 与 TTL 电 平信 号 兼 容的 所 有 工 作 , 而 体 积 和 普 通的塑封三极管大小一样, 它适合于各种红外线遥控 和红外线数据传输。在 51 单片机综合学习系统的右上 角有一个黑色的一体化红外线接收头。
遥控 器 在 按键 按 下 后, 周 期 性 地 发 出 同 一 种 32 位 二进制码, 周期约为 108ms。一 组码 本 身 的持 续 时 间随 它 包 含 的 二 进 制“0”和“1”的 个 数 不 同 而 异 , 大 约 在 45~63ms 之间, 图 6 为发射波形图。
HANDS ON PROJECTS
图 1 硬件平台 红外线遥控是目前使用最广泛的一种通信和遥控 方 式 。由 于红 外 线 遥控 装 置 具 有 体 积 小 、功 耗 低 、成 本 低 等 特点, 因 而 继彩 电 、录 像 机 之 后 , 它 在 录 音 机 、音 响 设备、空凋机以及玩具等小型电器装置上也被广泛采 用。 下面详细介绍红外线遥控的基本原理和使用方 法。 1.红外遥控系统 通用红外遥控系统由发射和接收两大部分组成, 应用编 / 解码专用集成电路芯片来进行控制操作, 如图

基于51单片机的步进电机红外控制系统的设计

基于51单片机的步进电机红外控制系统的设计

文章标题:基于51单片机的步进电机红外控制系统的设计引言在现代科技发展迅速的时代,控制系统已经被广泛应用于各个领域。

其中,基于51单片机的步进电机红外控制系统的设计,不仅在工业领域有着重要的作用,同时也在家电领域、智能家居等方面得到了广泛的应用。

本文将从步进电机控制系统的设计原理、红外控制的基本概念以及基于51单片机的系统设计方案等方面展开深入探讨。

一、步进电机控制系统的设计原理步进电机是一种将电脉冲信号转换为机械位移的执行元件,其控制系统设计原理是核心。

以步进电机为执行元件的控制系统通常包括电脉冲发生电路、电流驱动电路、位置控制逻辑电路以及接口电路等模块。

在系统设计中,需要考虑步进电机的类型、工作方式、转动角度以及控制精度等因素,以选择合适的控制方案和相关元器件。

针对步进电机的控制系统设计,首先需要从硬件电路和软件控制两个方面进行综合考虑。

硬件方面需要设计合适的脉冲发生电路和驱动电路,并根据具体场景考虑相关的接口电路,以实现步进电机的控制和驱动。

而软件控制方面,则需要编写相应的控制程序,使得系统能够根据具体的控制要求进行精准的控制和调节。

二、红外控制的基本概念红外控制是一种常见的无线遥控技术,通过使用红外线传输信号来实现对设备的控制。

通常包括红外发射器和红外接收器两个部分,发射器将控制信号转换成红外信号发送出去,接收器接收红外信号并将其转换成电信号进行处理。

在实际应用中,红外控制技术已经被广泛应用于各种家电遥控器、智能家居系统以及工业自动化领域。

红外控制的基本原理是在发射器和接收器之间通过红外线进行双向通信,通过调制解调的方式进行信号的传输和解析。

设计基于红外控制的步进电机系统需要考虑红外信号的发射和接收过程,以及相关的解析算法和信号处理。

信号的稳定性、抗干扰能力以及传输距离等也是需要考虑的重要因素。

三、基于51单片机的系统设计方案在步进电机红外控制系统的设计中,选择合适的控制芯片和处理器是至关重要的。

51红外遥控原理

51红外遥控原理

51红外遥控原理红外遥控是一种常见的远程无线控制技术,广泛应用于各种电子设备中,如电视机、空调、音响等。

它主要通过发送和接收红外信号来实现对设备的控制。

下面我将详细介绍红外遥控的原理。

首先,红外遥控的原理基于红外线的特性。

红外线属于电磁波的一种,其波长在太阳光和微波之间,人眼无法看见。

红外线有很强的穿透力,可以通过一些物体,如玻璃、塑料等。

在红外线技术中,我们通常使用近红外区域的红外线,其波长在0.7至3.0微米之间。

红外遥控器由发射器和接收器两部分组成,分别负责发送和接收红外信号。

发射器通常使用红外二极管(IR LED)作为发射源,它能将电能转化为红外光能。

而接收器则使用红外接收头来接收红外信号,并将其转化为电信号。

在红外遥控过程中,首先用户按下遥控器上的按钮,这会触发发射器发射红外信号。

发射器通过电路将直流电转换为高频交流电,在红外二极管中产生高频信号。

根据按钮的不同,发射器会发射不同的红外编码。

通常来说,红外编码是由一系列高低电平信号组成的,每个按钮都对应一组独特的红外编码。

接下来,发射器将红外编码转化为红外光信号。

红外线信号会在空气中传播,然后照射到目标设备的红外接收头上。

红外接收头中的红外光敏电阻会感应到红外光信号,并转化为电信号。

然后,红外接收头中的电路会处理这个电信号,将其转化为数字信号,以供后续的控制电路使用。

在接收器中,通常会使用解码芯片对接收到的红外编码进行解码。

解码芯片能够根据事先约定好的红外编码规则,将红外编码转化为指令信号。

这些指令信号可以是控制设备开关、调节音量、切换频道等。

总的来说,51红外遥控的原理是通过发射器将电能转化为红外光能,然后将红外编码发送出去。

接收器通过红外接收头接收到红外信号,并将其转化为电信号。

解码芯片会对接收到的红外编码进行解码,生成相应的指令信号。

最后,这些指令信号会通过控制电路来实现对设备的相应控制。

需要注意的是,红外遥控受到一些因素的影响。

基于51单片机的红外遥控LED灯控制系统设计与实现

基于51单片机的红外遥控LED灯控制系统设计与实现

目录0. 引言 (1)1.设计方案 (2)1.1 系统方案选择 (3)1.2 系统构成框图 (5)2. 系统设计 (6)2.1 硬件原理 (8)2.1.1 硬件组成介绍 (8)2.1.2 电路各部分功能原理 (13)2.2 软件流程 (15)2.3 实验与仿真 (21)2.4 实物图 (23)结论 (24)参考文献 (25)附录1原理图 (26)附录2 源程序 (26)基于单片机红外遥控LED灯控制系统设计与实现0.引言随着国民经济的快速发展和社会进步,教育在全社会愈加被关注和重视,校园规模也随着受教育者的数量增加而不断扩大,教室的数量也大幅度增加。

为使师生有舒适的教学和学习的环境,无论是教室的面积、设施和照度,校方在力所能及的范围内,都付出了十分的努力。

但由于学校开放型的管理模式,以及全员的节能意识的淡薄,高校的教室在白天室内照度很高的情况下,仍然普遍存在开灯作业;即使室内无人或人数很少的情况下,也是全部开启室内照明。

夜间许多教室,即使仅有几个学生在教室自习,但室内照明全部开启,绝不会有师生因为只有少数人而仅开几盏灯。

LED被认为是21世纪的照明光源。

LED发光器件是冷光源,光效高,工作电压低,而且能耗低,同样亮度下,LED能耗为白炽灯的10%,荧光灯的50%。

LED寿命可达10万小时,是荧光灯的10倍,白炽灯的100倍。

用LED替代白炽灯或荧光灯,环保无污染。

使用安全可靠,便于维护。

我国照明用电占总发电量的12%。

目前,公共建筑的照明灯具控制大多采用手动开关,经常出现没有及时开关的现象,从而造成大量的能源浪费和使用上的不便。

另外,不必要的使用,也会缩短灯具的使用寿命。

本文阐述了一套LED智能照明控制系统设计方案,可以根据工作环境中是否有人员和环境补光亮度等来自动控制照明的开关和亮度。

采用本系统具有提高用电效率,节约电能和缓解了用电高峰的电力供双重作用。

单片机的出现至今已经有30多年的历史了。

基于51单片机的红外遥控器设计

基于51单片机的红外遥控器设计

基于51单片机的红外遥控器设计近年来,随着智能家居的兴起,红外遥控器在我们的生活中扮演着越来越重要的角色。

本文将基于51单片机,设计一个简单的红外遥控器。

首先,我们需要了解红外遥控器的工作原理。

红外遥控器使用红外线来传输指令。

当用户按下遥控器上的按键时,红外发射器发射一个特定的红外信号。

接收器接收到这个信号后,将其转换成电信号,并将其发送到电子设备中,实现对设备的控制。

接下来,我们需要选择合适的红外发射器和接收器。

常见的红外发射器有红外LED,常见的红外接收器有红外接收头。

在选择红外发射器和接收器时,要根据其工作频率、传输距离、灵敏度等因素进行选择。

在本设计中,我们选择了工作频率为38kHz的红外发射器和接收器。

接下来,我们需要设计电路,并进行程序开发。

首先,我们需要连接红外发射器和接收器到51单片机上。

红外发射器的一个引脚连接到51单片机的I/O口,另一个引脚连接到正极电源,第三个引脚连接到电源的接地端。

红外接收器的输出引脚连接到51单片机的I/O口,电源和接地端分别连接到正负电源。

接下来,我们需要编写程序。

首先,我们需要设置51单片机的I/O 口为输入或输出。

然后,我们需要编写程序来发送红外信号。

我们可以使用PWM技术来模拟红外信号的脉冲。

当用户按下遥控器上的按键时,我们可以发送一个特定的脉冲序列,来控制电子设备。

同时,我们还需要编写程序来接收红外信号。

当红外接收器接收到红外信号时,会输出一个特定的电平信号。

我们可以使用外部中断来检测这个信号,并进行相应的处理。

在程序开发过程中,我们需要注意红外信号的协议。

常见的红外信号协议有NEC、SONY等。

我们需要根据所使用的红外接收器的协议来编写相应的程序。

最后,我们需要测试代码的功能和稳定性。

可以通过连接电子设备,按下遥控器上的按键,来测试红外信号的发送和接收功能。

如果一切正常,我们的红外遥控器设计就完成了。

总结起来,基于51单片机的红外遥控器设计是一个简单而有趣的项目。

基于51单片机的红外遥控系统实现

基于51单片机的红外遥控系统实现

基于51单片机的红外遥控系统实现作者:王凯来源:《电子技术与软件工程》2017年第10期文章从51单片机在玩具车上的应用角度,对于其四个电路构成要素展开分析,给出电路分析以及工作原理,对于加深其应用特征认识,有着积极价值。

【关键词】51单片机红外遥控1 前言51单片机是对所有兼容Intel 8031指令系统的单片机的统称,由Intel的8004单片机演变发展而来,成为当前应用最为广泛的8位单片机领域中的重要力量。

目前在51单片机领域中,比较具有代表性的是ATMEL公司的AT89系列,已经广泛应用于工业测控系统之中,并且有着稳定表现。

2 51单片机的应用51单片机在实际应用过程中,所体现出的强大的便以功能和稳定的物理特性,都决定了其必然有着广阔的市场。

在遥控领域,以玩具车作为代表的遥控系统,同样成了51单片机的重要领地。

对于玩具车的遥控实现,虽然应用着眼点小,但是意义重大,包括其他遥控自动行走设备,诸如扫地机器人等,都与玩具车的遥控与自动化实现相似。

本次研究以AT89S51单片机为例,考察红外遥控系统的实现。

考察当前对于遥控系统的需求,应当能够使玩具车实现自动驾驶、手动控制以及循迹行进等功能。

自动驾驶过程中,玩具车应当能够识别周围障碍并且自行规避,手动控制的时候则应当能够跟随控制器的前进、后退、左转、右转等操作展开对应行为;而循迹行进,则要求玩具车能够依据预先设定的轨迹前进。

从循迹这个角度看,虽然51系列的单片机一般不具备自编程能力,但是循迹等于实现了一种外部的编程。

3 51单片机的红外遥控系统设计整个系统可以分为硬件和软件两个部分,硬件部分承担红外编码信号的发射和接受、障碍物检测、轨迹检测、直流电机运行等功能,而软件则主要负责信号的检测和处理、设备的驱动及控制等功能。

AT89S51单片机对红外信号解码,并且查询各个检测部分的输入信号,展开综合处理,驱动电机,判断障碍物位置以及前方轨迹,最终依据多方面输入,来确定玩具车的行进,并且做出对应的调整。

基于51单片机的红外遥控

基于51单片机的红外遥控

基于51单片机的红外遥控本讲内容:介绍红外遥控的知识,通过例程展示红外遥控程序的编写方法。

红外线简介:在光谱中波长自760nm至400um的电磁波称为红外线,它是一种不可见光。

目前几乎所有的视频和音频设备都可以通过红外遥控的方式进行遥控,比如电视机、空调、影碟机等,都可以见到红外遥控的影子。

这种技术应用广泛,相应的应用器件都十分廉价,因此红外遥控是我们日常设备控制的理想方式。

接收头输出的波形正好和遥控芯片输出的相反。

在这里红外通信采用NEC协议,它的特征如下:信号调制红外遥控信号接收管接口电路:红外信号发射电路 红外信号接收电路例程:红外遥控信号发射:/*****************红外通信——发射*******************单片机型号:STC89C52RC*开发环境:KEIL*名称:红外通信发射*功能:按下按键S4,S5,S6,S8,S9,S10,S11,S13,S14发射对应键值,可以与红外通信——接收程序配套使用***************************************************/#include <REG51.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned int#define SBM 0x80 //识别码#define m9 (65536-8294) //约9mS#define m4_5 (65536-4147) //约4.5mS#define m1_6 (65536-1521) //约1.65mS#define m_65 (65536-599) //约0.65mS#define m_56 (65536-516) //约0.56mS#define m40 (65536-36864) //约40mS#define m56 (65536-51610) //56mS#define m2_25 (65536-2074) //约2.25mSconst uchar TabHL1[9]={0x0c,0x18,0x5e,0x08,0x1c,0x5a,0x42,0x52,0x4a};sbit IR=P1^5; //定义发射引脚sbit BEEP=P2^3;void keyscan();void ZZ(uchar x);void Z0(uchar temp);void TT0(bit BT,uint x);void delay(int In,int Out);/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈函数功能:主函数┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈/ void main(void){TMOD=0x01; //T0 16位工作方式IR=1; //发射端口常态为高电平while(1){keyscan();}}/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈函数功能:发送主程序┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈/ void ZZ(uchar x){TT0(1,m9); //高电平9mSTT0(0,m4_5); //低电平4.5mS/*┈发送4帧数据┈*/Z0(SBM);Z0(~SBM);Z0(x);Z0(~x);/*┈┈结束码┈┈*/TT0(1,m_65);TT0(0,m40);}/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈函数功能:单帧发送程序入口参数:1帧数据┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈/ void Z0(uchar temp){uchar v;for (v=0;v<8;v++) //循环8次移位{TT0(1,m_65); //高电平0.65mSif(temp&0x01) TT0(0,m1_6); //发送最低位else TT0(0,m_56);temp >>= 1; //右移一位}}/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈函数功能:38KHz脉冲发射 + 延时程序入口参数:(是否发射脉冲,延时约 x (uS))┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈/void TT0(bit BT,uint x){TH0=x>>8; //输入T0初始值TL0=x;TF0=0; //清0TR0=1; //启动定时器0if(BT==0)while(!TF0);//BT=0时不发射38KHz脉冲只延时;BT=1发射38KHz脉冲且延时;else while(1) //38KHz脉冲,占空比5:26{IR = 0;if(TF0)break;if(TF0)break;IR=1;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;}TR0=0; //关闭定时器0TF0=0; //标志位溢出则清0IR =1; //脉冲停止后,发射端口常态为高电平}void keyscan() //按键扫描函数{uchar buffer;/***************************************************/P3=0xfe; //扫描S3,S4,S5,S6;buffer=P3;buffer=buffer & 0xf0;if(buffer!=0xf0){delay(5,10);if(buffer!=0xf0){buffer=P3;switch(buffer){case 0xee:{;}break;case 0xde:{ZZ(TabHL1[0]);}break;case 0xbe:{ZZ(TabHL1[1]);}break;case 0x7e:{ZZ(TabHL1[2]);}break;}while(buffer != 0xf0){buffer=P3;buffer=buffer&0xf0;BEEP=0;}BEEP=1;}}/****************************************************/ P3=0xfd; //扫描S8,S9,S10,S11buffer=P3;buffer=buffer & 0xf0;if(buffer!=0xf0){delay(5,10);if(buffer!=0xf0){buffer=P3;switch(buffer){case 0xed:{ZZ(TabHL1[3]);}break;case 0xdd:{ZZ(TabHL1[4]);}break;case 0xbd:{ZZ(TabHL1[5]);}break;case 0x7d:{ZZ(TabHL1[6]);}break;}while(buffer!=0xf0){buffer=P3;buffer=buffer&0xf0;BEEP=0;}BEEP=1;}}/****************************************************/ P3=0xfb; //扫描S13,S14,S15,S16buffer=P3;buffer=buffer&0xf0;if(buffer!=0xf0){delay(5,10);if(buffer!=0xf0){buffer=P3;switch(buffer){case 0xeb:{ZZ(TabHL1[7]);}break;case 0xdb:{ZZ(TabHL1[8]);}break;}while(buffer!=0xf0){buffer=P3;buffer=buffer&0xf0;BEEP=0;}BEEP=1;}}}void delay(int In,int Out) //定义延时函数{int i,j;for(i=0;i<In;i++){for(j=0;j<Out;j++){;}}}红外遥控信号接收:/*****************红外通信--接收*******************单片机型号:STC89C52RC*开发环境:KEIL*功能:在液晶LCD1602上显示接收到的数值*************************************************/#include<reg52.h>#define LCD_Data P0#define Busy 0x80sbit IR=P3^2;sbit LCD_RS=P1^0;sbit LCD_RW=P1^1;sbit LCD_E=P2^5;void TIM0init(void);void EX0init(void);void SYSinit(void);void delay(int In,int Out);void Delay5Ms(void);void Ir_work(void);void Ircordpro(void);void WriteDataLCD(unsigned char WDLCD);void WriteCommandLCD(unsigned char WCLCD,BuysC);unsigned char ReadDataLCD(void);unsigned char ReadStatusLCD(void);void LCDInit(void);void DisplayOneChar(unsigned char X,unsigned char Y,unsigned char DData);void DisplayListChar(unsigned char X,unsigned char Y,unsigned char code *DData); void Info_display(void);bit IRpro_ok;bit IR_ok;unsigned char IRcord[4];unsigned char IRdata[33];unsigned char codedofly_DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsigned char irtime;unsigned char speed_num=0;unsigned char codemb_table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};unsigned char code welcome[]={"YOU ARE WELCOME"};unsigned char code ir_reve[]={"IR_RECEIVE: "};/*******************5ms延时函数*********************/void Delay5Ms(void){unsigned int TempCyc=3552;while(TempCyc--);}void delay(int In,int Out){int i,j;for(i=0;i<In;i++){for(j=0;j<Out;j++){;}}}/***********************写数据函数***********************/ void WriteDataLCD(unsigned char WDLCD){ReadStatusLCD();LCD_Data=WDLCD;LCD_RS=1;LCD_RW=0;LCD_E=0;LCD_E=0;LCD_E=1;}/**********************写指令函数************************/ void WriteCommandLCD(unsigned char WCLCD,BuysC){if(BuysC)ReadStatusLCD();LCD_Data=WCLCD;LCD_RS=0;LCD_RW=0;LCD_E=0;LCD_E=0;LCD_E=1;}/***********************读状态函数************************/ unsigned char ReadStatusLCD(void){LCD_Data=0xFF;LCD_RS=0;LCD_RW=1;LCD_E=0;LCD_E=0;LCD_E=1;while(LCD_Data & Busy);return(LCD_Data);}/************************LCD初始化************************/ void LCDInit(void){LCD_Data=0;WriteCommandLCD(0x38,0);Delay5Ms();WriteCommandLCD(0x38,0);Delay5Ms();WriteCommandLCD(0x38,0);Delay5Ms();WriteCommandLCD(0x38,1);WriteCommandLCD(0x08,1);WriteCommandLCD(0x01,1);WriteCommandLCD(0x06,1);WriteCommandLCD(0x0C,1);}/*******************按指定位置显示一个字符******************/void DisplayOneChar(unsigned char X,unsigned char Y,unsigned char DData){Y&=0x1;X&=0xF;if(Y)X|=0x40;X|=0x80;WriteCommandLCD(X,0);WriteDataLCD(DData);}/*******************按指定位置显示一串字符******************/void DisplayListChar(unsigned char X,unsigned char Y,unsigned char code *DData) {unsigned char ListLength;ListLength=0;Y&=0x1;X&=0xF;while(DData[ListLength]>=0x20){if(X<=0xF){DisplayOneChar(X,Y,DData[ListLength]);ListLength++;X++;}}}/***********************定时器0初始化***********************/void TIM0init(void){TMOD=0x02;TH0=0x00;TL0=0x00;ET0=1;TR0=1;}/**********************外部中断0初始化**********************/void EX0init(void){IT0=1;EX0=1;EA=1;}/*************************系统初始化*************************/void SYSinit(void){TIM0init();EX0init();LCDInit();}/********************红外信号接收相关函数********************/void Ir_work(void){switch(IRcord[2]){case 0x0C:{DisplayOneChar(12,1,0x31);}break;case 0x18:{DisplayOneChar(12,1,0x32);}break;case 0x5e:{DisplayOneChar(12,1,0x33);}break;case 0x08:{DisplayOneChar(12,1,0x34);}break;case 0x1c:{DisplayOneChar(12,1,0x35);}break;case 0x5a:{DisplayOneChar(12,1,0x36);}break;case 0x42:{DisplayOneChar(12,1,0x37);}break;case 0x52:{DisplayOneChar(12,1,0x38);}break;case 0x4a:{DisplayOneChar(12,1,0x39);}break;default:break;}}void Ircordpro(void){unsigned char i,j,k;unsigned char cord,value;k=1;for(i=0;i<4;i++){for(j=1;j<=8;j++){cord=IRdata[k];if(cord>7)value|=0x80;if(j<8){value>>=1;}k++;}IRcord[i]=value;value=0;}IRpro_ok=1;}/********************红外信号接收相关函数********************/ void main(void){SYSinit();delay(5,100);DisplayListChar(0,0,welcome);DisplayListChar(0,1,ir_reve);while(1){if(IR_ok){Ircordpro();IR_ok=0;}if(IRpro_ok){Ir_work();}}}/********************定时器0中断处理函数********************/ void tim0_isr (void) interrupt 1 using 1{irtime++;}/*******************外部中断0中断处理函数*******************/ void EX0_ISR (void) interrupt 0{static unsigned char i;static bit startflag;if(startflag){if(irtime<63&&irtime>=33)i=0;IRdata[i]=irtime;irtime=0;i++;if(i==33){IR_ok=1;i=0;}}else{irtime=0;startflag=1;}}。

基于51单片机智能红外遥控器的设计

基于51单片机智能红外遥控器的设计

6511青岛农业大学毕业论文(设计)任务书论文(设计)题目简易智能红外遥控器的设计要求完成时间论文(设计)内容(需明确列出研究的问题):本设计要求设计一简易智能红外遥控器,需要解决以下问题:1、熟悉红外遥控器的工作原理;2、掌握红外通信的编解码原理及至少一种串行通信数据校验算法;3、实现一个遥控器对至少2台家电设备的控制;4、绘制系统电气原理图及PCB图;5、画出系统的软件流程图并编写系统程序;6、尽量做出样机并完成系统调试。

资料、数据、技术水平等方面的要求:1、查阅至少10篇以上与课题相关资料,至少有两篇是英文文献;2、原理图的绘制要求规范;3、绘制系统PCB图;4、编写并调试系统程序;5、完成实物演示;6、独立完成论文;7、论文要求打印。

指导教师签名:年月日目录摘要 (I)ABSTRACT (II)一. 绪论 (1)1.1课题研究的背景 (1)1.2课题研究的目的 (1)1.3课题研究的内容 (1)二. 系统概述 (3)2.1国外发展概况 (3)2.2国内发展概况 (4)三. 智能红外遥控器的硬件设计 (5)3.1主要元器件介绍 (5)3.1.1 STC系列单片机介绍 (5)3.1.2 红外发光二极管 (6)3.1.3 红外接收头 (7)3.1.4 E2PROM-AT24C02的应用 (8)3.2系统设计思路 (12)3.2.1 红外遥控器组成 (14)3.2.2 红外遥控器的框图 (15)3.3硬件电路设计 (15)3.3.1 发射端硬件电路 (15)3.3.2 接收端硬件电路 (16)四. 智能红外遥控器的软件设计 (18)4.1编解码约定与存储 (18)4.1.1 发射编码部分 (18)4.1.2 接收解码部分 (21)4.1.3 存储部分 (23)4.2子程序介绍 (25)4.2.1 发射子程序 (25)4.2.2 接收子程序 (29)五. 总结与展望 (33)5.1总结 (33)5.2本文的不足 (33)参考文献 (34)致谢 (35)附录一原理图 (36)附录二程序 (37)简易智能红外遥控器的设计摘要红外遥控技术能给人们日常生活带来更加人性化的关怀和体贴,同时还兼具节能与安防等辅助功能,相对应的红外遥控器与人们的日常生活息息相关,是人们使用频率最高的智能化设备。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

文(设计)题目单学生姓名栗明专业自动化班级0612 指导老师贾巍一、毕业论文(设计)的主要内容及要求:1、本设计的任务是,3、进行系统硬件电路5、在设计的基础上完成毕业论文(1.0 -1.2万字)。

二、毕业论文(设计)应收集的资料及主要参考文献:[1] 杨路明. C语言程序设计教程[M] 北京:北京邮电大学出版社,2005[2] 王振营,李满,杨君.ProtelDXP2004电路设计与制版实用教程[M].北京:中国铁道出版社,2006,(6)[3] 黄颖松,吴皓东. 用“积木式”实验板学习51单片机[J].电子制作, 2007,(08)[4] 罗政球.提高电子电路抗干扰能力经验谈[J]. 电子制作, 2006,(10)[5] 胡汉才.单片机原理及其接口技术[M]. 北京:清华大学出版社,2006,3[6] 陆东旭,甄钊博. 自制简单的51开发板[J]. 电子制作, 2008,(01)[7] 吴金戌.8051单片机实践与应用研究[M] .北京:清华大学出版社,2002,(09)[8] 居荣,郭怡倩.DS18B20在温控系统中的应用[J].农机化研究,2005(1):224-226[9] 能昌会. 时钟芯片DS1302在单片机系统中的应用[J]电子制作, 2007,(11)[10] 刘小春, 首珩. 无刷直流电动机的单片机控制[J]. 自动化技术与应用, 2009,(03) :129-131襄樊学院物理与电子工程学院2010届本题报告论文题目班级自动化0612姓名栗明学号06118017指导教师(职称)贾巍填表日期年月日[19] 宋稳力,陈昌旺,黄文婷. 液晶显示模块YG-12864-A的接口设计[J]现代显示, 2005,(06) .[20] 张红, 于平, 程文播. 基于单片机控制的LED点阵显示屏系统[J]. 微计算机信息, 2009, (02) :92-93[21]Jiang Yinping.Intelligent Flow Totalizer Based on MSP430Mixed Single Microcontroller[J].IEEE Sensorsymposium,2007(2):1-6.[22]Yu-Hung Hsiao,Min-Chih.Huang.Development of MSP-430 Based Underwater Acoustic Recorder with Muiti-MCUFramework[J].IEEE Press.,2007(4):101-106.二、研究方案1.研究的思路与方法本论文的初步方案是:先设计出整套系统要完成的功能,主要包括:显示,控制,通讯等几个大的部分,然后根据各个大的部分单独设计功能模块,最后完成整个设计。

系统结构框图如下:图1 系统结构框图系统功能需求本遥控系统要求用单片机作为控制芯片制作一个遥控器,另一个单片机控制系统能被遥控操作。

本系统要求遥控器具有多级调速,开关,定时,以及自然风,睡眠风等切换功能!自然风的处理流程 :图2 自然风流程睡眠风的处理流程 ::图4 正常风流程2.研究的基本内容(大纲)随着科技的发展,,快捷的要求也随之不断增高!遥控器的出现,在一定程度上满足了人们这个要求!Adler在五十年代发明的。

而红外遥控是20世纪70年代才开始发展起来的一种远程控制技术,其原理是利用红外线来传递控制信号,实现对控制对象的远距离控制,具体来是有发射器发出红外线指令信号,有接收器接收下来并对信号进行处理,最后实现对控制对象的各种功能的远程控制。

红外遥控具有独立性、物理特性与可见光相似性、无穿透障碍物的能力及较强的隐蔽性等特点。

随着红外遥控技术的开发和迅速发展,很多电器都应用了红外遥控,而电风扇也不例外。

从单纯的在电风扇面板上通过按钮控制,到短距离(10M 以内)的遥控,虽然改变不大,但其带来的便利无疑是巨大的。

而红外遥控技术的成熟,也使得遥控电风扇变得设计简单,价格低廉。

作为一种老牌的电器,电风扇具有价格便宜、摆放方便、体积轻巧等特点。

虽襄樊学院毕业:单片机红外遥控系统的设计EnglishTopic:The Design Of The Infared Remote Contorl Based On 51-MCU系院:物理与电子工程学院专业:自动化班级:0 6 1 2学生:栗明指导老师:贾巍年月日单片机红外遥控系统设计摘要作为传统的家用电器,随着空调的普及,电风扇的市场地位受到了巨大的冲击,传统的开/关、调速功能已经不能满足市场的需求。

人们希望电风扇在体积小、作方便等的基础上能够拥有更多的功能,而红外遥控的广泛应用及单片机技术的成熟,则使得智能红外遥控系统成为了电风扇的发展趋势。

本设计方案基于市场的需求,结合红外遥控设计简单、作方便、成本低廉等特点,采用了51单片机作为遥控发射接收芯片,HS0038作为红外一体化接收发射管,在此基础上设计了一个简易的智能红外遥控电风扇系统。

系统包括接收和发射两大部分,本文设计实现了几项电风扇的基本功能:开/关功能、多级调速功能、0.5-7.5小时不同时间段的定时功能,以及自然、正常两种风类的选择功能。

另外本系统有16个按键,可用于扩展控制其他电器。

关键字:红外遥控;信号调制;编码;解码.The Design Of The Infared Remote Contorl Based On51-MCUAbstract:With the popularity of air conditioners, the market position of the electric fans which are the traditional household appliances will receive a huge impact, the traditional on / off and speed control function have been unfit for the needs of the market. It is hoped that the fans in small, easy to operate, and so on the basis can have more features. When the application of infrared remote control becomes wilder and technologies of SCM become mature, the remote control system is the trend. The design was based on the needs of the market. Considering that infrared remote control is simple, easy to operate, low-cost, I use a special launching and receiving chip which depends on remote control. On the basis of this chip a system of intelligent infrared remote-control was designed for the fan. The system consists of the launching part and the receiving part. This system is designed to achieve some basic functions of fans: on / off function, three kinds of speed, the timing function which can be chosen at different times of 0.5-7.5 hours, and the function of two kinds of wind which are the natural wind and the normal wind.Key words: Infrared Remote Control; Signal Modulation; Encoding; Decoding。

目录1绪论 (1)1.1课题设计目的及意义 (1)2课题的方案设计与论证 (3)3系统的硬件结构设计 (4)3.1 系统方框图 (4)3.2 系统功能需求 (5)3.3 51系列单片机功能特点[3] (6)3.4 红外发射电路 (10)3.5 红外检测接收电路 (11)3.6 控制电路 (12)3.7 电源电路设计 (13)3.8 显示部分的设计 (14)3.9键盘设计 (17)4 系统软件的设计 (19)4.1 定时/计数器应用 (19)4.2遥控码的发射 (22)4.3 红外接收 (25)4.4 调速单元 (27)4.4.1 调速原理 (27)4.4.2 调速方法 (28)4.5按键抖动问题 (30)4.6 系统的软硬件的调试 (31)结论 (32)参考文献 (33)附录 (34)致谢 (46)1绪论1.1课题设计目的及意义随着科技的发展,人们生活的节奏也越来越快,随之人们对方便,快捷的要求也随之不断增高!遥控器的出现,在一定程度上满足了人们这个要求!遥控器是由高产的发明家Robert Adler在五十年代发明的[14]。

而红外遥控是20世纪70年代才开始发展起来的一种远程控制技术,其原理是利用红外线来传递控制信号,实现对控制对象的远距离控制,具体来讲,就是有发射器发出红外线指令信号,有接收器接收下来并对信号进行处理,最后实现对控制对象的各种功能的远程控制。

红外遥控具有独立性、物理特性与可见光相似性、无穿透障碍物的能力及较强的隐蔽性等特点。

随着红外遥控技术的开发和迅速发展,很多电器都应用了红外遥控,而电风扇也不例外。

从单纯的在电风扇面板上通过按钮控制,到短距离(10M以内)的遥控,虽然改变不大,但其带来的便利无疑是巨大的。

而红外遥控技术的成熟,也使得遥控电风扇变得设计简单,价格低廉。

作为一种老牌的电器,电风扇具有价格便宜、摆放方便、体积轻巧等特点。

虽然现在空调在城市中已经相当普遍,并有替代电风扇的趋势,但由于大部分家庭消费水平的限制,电风扇作为一个成熟的家电行业的一员,尤其在中小城市,以及乡村将来一段时间内仍然会占有市场的大部分份额。

市场的需求促使了电风扇的发展。

随着“智能化”的兴起,电风扇的功能也越来越多,越来越贴进人们生活。

因此,对于电风扇的开发和设计依然有着较大的实用价值。

相关文档
最新文档