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

合集下载

基于MSC-51单片机红外线电子密码锁

基于MSC-51单片机红外线电子密码锁

基于MSC-51单片机红外线电子密码锁一、【摘要】电子技术的飞速发展,给古老的锁具生产带来了巨大的变革,古老的机械锁安全性能差,容易被破坏,给管理和使用带来了很多的不便。

而电子技术的发展解决了这个问题。

红外线抗干扰能力强、使用方便、工作可靠等优点,本系统采用AT89C51单片机为核心接收和发送,采用AT24C02可擦除寄存器存储密码,设计了6位密码控制密码锁的开、关。

同时用APR9600语音芯片提示密码存储状态及效果。

该系统可靠性高,成本低,操作方便等特点。

第1节、前言 (2)1.1、单片机的概述 (2)1.2、电子密码锁的概述 (3)1.3、本系统的运用和实际意义 (3)1.4、系统设计任务及要求 (3)1.4.1、设计任务 (3)1.4.2、设计要求 (3)1.4.3、所具备功能 (3)第2节、电子密码锁的硬件设计 (3)1.1、系统的硬件构成及功能 (3)2.1.1、遥控器部分 (3)2.1.2、接收部分 (5)2.2、AT24C02引脚图及其引脚功能 (7)2.3.1、 AT24C02的时序图 (7)2.3.2 、本系统AT24C02 掉电存储单元的设计 (9)2.3、APR9600介绍 (9)2.3.1、 APR9600芯片管脚说明 (9)2.3.2、APR9600操作模式设置功能表 (10)2.3.3、APR9600的控制模式 (11)第3节、系统的软件设计 (11)3..1、系统发射部分软件介绍 (12)3.2、红外线接收部分软件介绍 (13)3.3、AT24C02的读写程序 (14)第4节、系统调试和测试结果分析 (15)4.1 、使用的仪器仪表 (15)4.2 、系统调试及调试预想结果 (15)4.3、测试过程及结果 (16)结束语 (17)致谢语 (17)参考文献 (17)附录 (17)第1节前言本系统采用单片机技术实现红外线遥控设置密码控制锁头,具有性能可靠,电路简单,成本低廉,安全稳定等特点。

基于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。

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

基于STC89C51单片机的红外遥控智能家居系统设计

基于STC89C51单片机的红外遥控智能家居系统设计

基于STC89C51单片机的红外遥控智能家居系统设计1. 本文概述阐述问题:我会指出当前智能家居系统中存在的问题,以及为什么需要基于STC89C51单片机的解决方案。

提出解决方案:接着,我会概述STC89C51单片机在智能家居系统中的作用以及红外遥控技术的优势。

文章结构:我会简要介绍文章的结构,说明接下来的章节将如何展开。

随着科技的不断进步,智能家居系统逐渐成为现代家庭生活的一部分,它们通过提高居住环境的舒适性、安全性和便利性,极大地提升了人们的生活质量。

现有的智能家居系统在集成性、成本效益和用户交互体验方面仍存在不足。

为了解决这些问题,本文提出了一种基于STC89C51单片机的红外遥控智能家居系统设计方案。

STC89C51单片机以其较低的成本、丰富的功能和良好的稳定性,成为实现智能家居控制的理想选择。

结合红外遥控技术,该系统不仅能够实现远程控制家电设备,还能通过简单的编程实现个性化的家居自动化场景,从而为用户提供更加灵活和智能的居住体验。

本文将首先介绍智能家居系统的基本概念和发展趋势,然后详细阐述STC89C51单片机的工作原理及其在智能家居系统中的应用。

接着,本文将描述红外遥控技术的原理,并展示如何将其与STC89C51单片机结合,实现对家居设备的智能控制。

本文将通过一个实际的系统设计案例,展示该设计方案的可行性和实用性。

2. 相关技术综述单片机技术:介绍STC89C51单片机的基本特性,包括其处理能力、内存、IO端口等,并说明其在智能家居系统中的应用优势。

红外通信技术:概述红外通信的基本原理,包括信号的调制、传输和解码过程,以及红外技术在遥控设备中的优势。

智能家居系统架构:描述智能家居系统的一般架构,包括控制中心、通信协议、传感器和执行器等组成部分。

现有智能家居解决方案:简要回顾市场上已有的智能家居解决方案,分析它们的特点和局限性。

设计挑战与创新点:讨论在设计基于STC89C51单片机的红外遥控智能家居系统时面临的技术挑战,以及本设计相对于现有技术的创新之处。

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单片机的红外线遥控接收程序(C语言)

自己写的51单片机的红外线遥控接收程序(C语言)

//51单片机做的红外遥控实验(C语言)#include<reg51.h>#define u8 unsigned char#define u16 unsigned int#define ID 0x00 //本遥控器的ID号sbit ir=P3^3;code u8 seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //0-9的段码code u8 s[]={1,0x40,0x48,0x04,0x02,0x05,0x54,0x0A,0x1E,0x0E}; u8 buf[4];bit ir_f=0;u8 nu;void delay(u16 x){while(x--);}void show(u16 x){u8 i=0,k=0;u8 s[4];kk:s[i]=x%10;if((x/10)>=1){x=x/10;i++;goto kk;}k=i+1;for(i=0;i<k;i++){P0=seg[s[i]];P2=~(8>>i);delay(300);P0=0XFF;P2=0XFF;}}void timer0_init(){TH0=0;TL0=0;TMOD|=0x01;TR0=0;}u16 low_test(){u16 t;TR0=1;while((ir==0)&&((TH0&0X80)!=0X80));TR0=0;t=TH0;t<<=8;t|=TL0;TH0=0;TL0=0; //t=(TH*256+TL0);//机器周期数return t;}u16 high_test(){u16 t;TR0=1;while((ir==1)&&((TH0&0X80)!=0X80));TR0=0;t=TH0;t<<=8;t|=TL0;TH0=0;TL0=0;return t;}/*u16 time_test(bit x){}*/u8 receive_8bit(){u8 d,i;u16 t;for(i=0;i<8;i++){t=low_test();t=high_test();d>>=1;if((t>=2750)&&(t<=3100)){d|=0x80;}}return d;}void ir_decode(){u16 t;u8 i;if(ir==0)//有遥控信号{t=low_test();//8295-9000us,倍频的是16590-18000if((t>=14500)&&(t<=18000))//检查引导码低电平时间{t=high_test();if((t>=8000)&&(t<=9000))//检查高电平{for(i=0;i<4;i++){buf[i]=receive_8bit();}if(buf[0]==(~buf[1]))//检查系统码是否正确{if(buf[0]==ID){if(buf[2]==(~buf[3])){//具体按键处理ir_f=1; //遥控有效}}}}}}}/*void key(){if(buf[2]==0x40){P1^=(1<<0);}if(buf[2]==0x48){P1^=(1<<1);}}*/void ir_execuse(){if(ir_f==1){switch(buf[2]){case 0x40:P1^=(1<<0);break;case 0x48:P1^=(1<<1);break;case 0x04:P1^=(1<<2);break;case 0x02:P1^=(1<<3);break;case 0x05:P1^=(1<<4);break;case 0x54:P1^=(1<<5);break;case 0x0A:P1^=(1<<6);break;case 0x1E:P1^=(1<<7);break;}ir_f=0;}}void show_d(){u8 j;for(j=0;j<10;j++){if(s[j]==buf[2]){nu=j;break;}}show(nu);}void isr_init(){EA=1;EX1=1;//外部中断,一直看3.3有没有下降沿。

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

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

ping primary school fire safety systems to e nha nce fire safety, prote ction of public property and t he life and property safety of teacher s and students, school fire safety into day-to-day ma nagement, is devel opi ng the following fire safety system. 1, strengt hen fire safety educati on of the whole school. Accordi ng to the re quireme nts of the Fire S ervices A ct, so t hat everyone has of keeping fire control safety, pr otecting fire control facilities, fire preve ntion, reports of fire学生毕业设计(论文)报告系别:专业:班号:学生姓名:学生学号:设计(论文)题目:基于单片机设计的红外线遥控器指导教师:设计地点:起迄日期:ping primary school fire safety systems to e nha nce fire safety, prote ction of public property and t he life and property safety of teacher s and students, school fire safety into day-to-day ma nagement, is devel opi ng the following fire safety system. 1, strengt hen fire safety educati on of the whole school. Accordi ng to the re quireme nts of the Fire S ervices A ct, so t hat everyone has of keeping fire control safety, pr otecting fire control facilities, fire preve ntion, reports of fire常州信息职业技术学院电子与电气工程学院毕业设计论文毕业设计(论文)任务书专业电子信息工程班级电子085 姓名傅浩一、课题名称:基于单片机设计的红外线遥控器二、主要技术指标:1.遥控距离:0~10m2.额定工作电压:直流3V(普通5号干电池2节);红外光平均辐照度≥40μW/cm2;指向性(辐照度为20μW/cm2)≥30度3.欠压条件下(直流2.4v):红外光平均辐照度≥20μW/cm2,指向性(辐照度为10μW/cm2)≥30度三、工作内容和要求:1.以AT89C2051单片机作为核心,综合应用了单片机中断系统、定时器、计数器等知识,应用红外光的优点2.遥控发射器通过对红外光发射频率的控制来区别不同的操作3.遥控接收器通过对红外光接收频率的识别,判断出控制操作,来完成整个红外遥控发射、接收过程四、主要参考文献:[1] 梅丽凤,王艳秋,张军等. 单片机原理及接口技术,北京:清华大学出版社,2004年.[2] 戴峻峰,付丽辉. 多功能红外线遥控器的设计,传感器世界.2002,8(12):16~18.[3] 李光飞,楼然苗,胡佳文等. 单片机课程设计实例指导,北京:北京航空航天出版社,2004年.[4] 苏长赞. 红外线与超声波遥控,北京:人民邮电出版社.1995年.学生(签名)2010 年 5 月7 日指导教师(签名)2010 年5 月10 日教研室主任(签名)2010 年5 月10 日系主任(签名)2010 年5 月12 日ping primary school fire safety systems to e nha nce fire safety, prote ction of public property and t he life and property safety of teacher s and students, school fire safety into day-to-day ma nagement, is devel opi ng the following fire safety system. 1, strengt hen fire safety educati on of the whole school. Accordi ng to the re quireme nts of the Fire S ervices A ct, so t hat everyone has of keeping fire control safety, pr otecting fire control facilities, fire preve ntion, reports of fire毕业设计(论文)开题报告设计(论文)题目基于单片机设计的红外线遥控器一、选题的背景和意义:随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的遥控系统开始进入了人们的生活。

基于单片机的红外通信系统设计

基于单片机的红外通信系统设计

基于单片机的红外通信系统设计1 简介红外通信是指利用红外线进行信息传输的一种无线通讯方式。

其传输距离在10米以内,速度较快,常用于遥控器、智能家居、安防监控等领域。

本文将介绍基于单片机的红外通信系统设计。

2 系统原理红外通信系统需包含红外发射器、红外接收器和处理器三个部分。

通信原理是将信息编码成红外信号,通过红外发射器发出,再由红外接收器接收,经过解码后传输到处理器中处理。

3 系统设计步骤3.1 红外接收器电路设计红外接收器采用红外管接收器,其特点是灵敏度高,在不同角度能接收到较远的红外信号。

红外管接收器与电路板焊接,电路板再选用较长的电线接到处理器的端口上。

3.2 红外发射器电路设计红外发射器采用红外二极管,其工作电压一般为1.2-1.4V。

通过接通1kHz以上的方波信号控制二极管的导通,使其发出红外光。

为保证其稳定性和较远的有效距离,需在电路中添加反向电流保护二极管。

3.3 处理器设计处理器选用常用的单片机,如AT89C51等。

单片机内置了红外通信模块,可用来发送和接收红外信号。

同时,还需通过编程实现对红外信号的解码和编码,实现信息传输与处理。

4 系统测试测试时,可用遥控器模拟发送红外信号,系统接收并解码后显示在液晶屏幕上。

测试距离一般在10米以内,且需保持天空无其它遮挡物。

5 总结基于单片机的红外通信系统设计,具有灵敏度高、速度快、传输距离短等特点。

其应用广泛,在智能家居、安防监控、车载通信等领域均有应用。

但需注意遮挡物的影响,以及信号干扰等问题。

基于51单片机的红外计数系统设计

基于51单片机的红外计数系统设计

摘要摘要本文介绍了一款以单片机AT89S52为控制器的红外计数系统的设计。

该系统可实现对人流量的监测、实时显示以及存储。

系统采用PC机作为上位机,AT89S52单片机为下位机,二者可相互通信。

单片机实时监测显示人流量信息,并向上位机发送人流量信息。

同时上位机也可以向单片机发送控制命令并且可存储导出人流量信息。

PC机与单片机之间的通信采用RS-232C通信标准来实现。

除此之外,该系统只占用了单片机少量的I /O口和内存,为系统留下了功能扩展的空间。

关键字:单片机、红外对射管、串口通信、上位机控制IABSTRACTABSTRACTThis paper introduces a design of infrared counting system based on MCU AT89S52. The system is able to monitor the flow rate of visitors of which data can be displayed real-timely and stored. In this system, the PC serves as upper computer as well as MCU AT89S52 serves as lower computer. Communication between the upper and lower computer acts like the process that MCU AT89S52 sends the information of the flow rate of visitors being monitored to PC which can stores it and sends control commands in response. The communication applies the RS-232C communications standards.In addition, the system takes up only a small amount of the MCU I/O ports and memory capacity, so that the system has much functional space for expansion.Key words: MCU, infrared shooting tube, serial communication, PC controlII目录第一章引言 (1)1.1单片机发展简述 (1)1.2单片机应用综述 (2)1.3 背景及意义 (2)第二章系统总体方案及硬件平台设计 (4)2.1 设计内容 (4)2.2 技术指标 (4)2.3 总体方案设计 (5)2.3.1 硬件总体方案设计 (5)2.3.2 软件总体方案 (7)2.4 硬件平台设计 (9)2.4.1 控制单元设计 (10)2.4.2 译码电路设计 (12)2.4.3 驱动电路设计 (14)2.4.4 通信系统硬件设计 (16)2.4.5 红外对射收发器设计 (18)2.4.6 显示电路设计 (19)2.5 系统开发流程 (20)第三章软件系统设计 (22)3.1 软件总体设计 (22)3.2 下位机程序设计 (22)3.2.1 Keil 开发环境 (23)3.2.2 串口通信程序设计 (23)3.2.3 数码管显示程序设计 (26)3.2.4 数据处理程序设计 (29)3.3 上位机程序设计 (31)3.3.1 VB6.0开发环境 (32)3.3.2 串口通信部分程序部分 (32)III3.3.3 控制及功能程序部分 (36)3.3.4 显示模块 (42)第四章系统调试 (44)4.1 硬件原理以及软件联合仿真 (44)4.1.1 proteus仿真 (44)4.2 硬件平台调试 (45)4.2.1 短路与虚焊检测 (46)4.2.2 上电测试 (47)4.2.3 串口调试 (47)4.3 软件系统调试 (48)4.4 系统联调 (49)4.5 调试结果及分析 (50)第五章结束语 (51)参考文献 (53)致谢 (54)附录1:硬件原理图 (55)附录2:设计程序 (56)附录3:系统PCB图 (73)外文资料原文 (74)外文资料译文 (76)IV第一章引言第一章引言1.1 单片机发展简述单片机(Microcontrollers)诞生于1971年,经历了SCM、MCU、SoC三大阶段,早期的SCM单片机都是8位或4位的。

基于51单片机的红外防盗报警系统设计-图文

基于51单片机的红外防盗报警系统设计-图文

基于51单片机的红外防盗报警系统设计-图文XX学院本科毕业设计(论文)3硬件基本设计3.1系统方案设计我们综合考虑了各方面可能出现性能影响的因素,人体红外探测元件最后定为性价比很高的热释电红外探测器,最主要的因素还是考虑到该探测器对人体辐射的红外线具有更好的探测效果。

而且该传感器防盗保护性能相对普通的压力报警器(一般通过可触发的压力开关来报警的防盗系统)来说更加稳定,抗干扰能力很高,探测灵敏度和安全性更是无可挑剔。

正如上面所说的,本探测器安装相当隐蔽,几乎很难发现该装置的位置,极大的方便了用户管理和操作。

考虑到正常情况下检测的是处于移动中的人体,所以红外探测器我们选择双元件型。

因为这个传感器内部的两个灵敏元件是反相接的,如果闯入的人员一直停止不动(当然这是不可能的)或者无人闯入,则这两个灵敏元件极化的程度完全相同,两元件的极化相互之间就抵消了,这时候探测器输出电压为0,报警器不工作;可一旦闯入者移动起来,则两个元件极化程度立马就不同了,输出电压也随之变化不在是0,报警器工作,进而实现探测移动中的人体为目的的功能。

本红外防盗报警系统设计包括硬件组成和软件组成两部分。

如果以模块功能来区分的话主要有系统按键模块(按键控制)、信号处理模块(红外探测器)、报警模块(声光报警部)。

如果按照电路的结构来区分的话主要有单片机电路部分、红外传感器部分、蜂鸣器部分、LED报警指示电路部分。

3.2硬件基本设计-5-XX:红外防盗报警系统(1)热释电红外传感器Pyroelectric infrared sensor have polarization inside the pyroelectric crystals with temperature changes , When the constant infrared radiation on the detector, pyroelectric crystal temperature constant, external crystal is electrically neutral, no electrical output from detector, so constant that can not be detected by the infrared radiation?2?.正常人体发出的红外线波长范围一般在9~10μm之间,而本设计的红外探测元件能感应到的波长灵敏度在0.2~20μm范围内,范围太大不太适合,但是其特性基本稳定不变,为了达到更精准的探测效果,我们通过在传感器上面安装了一个限制入射红外光波长范围的的滤光片来把入射红外光波长约束至7~10μm?3?,这时候改装后的探测器对于检测人体红外线来说性能更加完美,显而易见我们安装的滤光片将其它波长的红外线吸收了,只有人体红外线才能进入其内,就这样一种专业探测人体红外线的探测器应运而生,以上充分说明了本系统设计的核心之一为该传感器,其重要性不言而喻。

基于51单片机红外抄表系统

基于51单片机红外抄表系统

摘要近年来,随着信息技术的飞速发展,无线技术正在向各个领域渗透,特别是红外线无线技术,在工业生产、家用电器、安全保卫以及人们的日常生活中得到了广泛的应用。

本文详细描述了该红外抄表系统的设计方案、硬件电路设计和软件设计,并利用keil仿真软件对所开发的C语言程序进行了验证。

在本文的第五章讨论了系统的发展趋势和改进,为系统的进一步开发奠定了基础。

本系统关键部分主要是红外通信原理。

系统在分析可行性、可靠性的基础上,参照工程设计方法,确定了模块化设计的思路。

本系统主要由控制模块、发射模块、接收模块、显示模块4个模块组成。

38kHz频率作为数据通信的载波,发射和接收模块对数字信号进行调制和解调,通过LCD液晶显示屏将收到的数据显示出来。

该系统还具备掉电保护和数据存储功能。

利用一个红外抄表器来完成琐碎的抄表工作。

从而从根本上杜绝“肉眼观察”所带来的随机误差,并大大提高了抄表的效率。

关键词:通信;红外抄表;单片机;调制;解调目录1 绪论 (4)1.1课题的背景和意义 (4)1.2课题总体设计方案 (5)2 系统硬件设计 (7)2.1 控制模块 (7)2.2发射模块 (9)2.3 接收模块 (11)2.4 显示模块 (13)3 系统软件设计 (18)3.1 38kHz频率的产生及发射程序设计 (20)3.2 数据计算程序 (22)3.3 显示模块程序设计 (23)3.3.1 数码管显示 (23)3.3.2 LCD液晶显示程序 (24)3.4 接收模块程序设计 (29)4 电路板的制作 (31)4.1 原理图的绘制 (31)4.2 PCB图的生成 (31)4.3 电路板到印制和焊接 (32)5 系统调试 (34)5.1 硬件调试 (34)5.2 软件调试 (34)总结语 (36)参考文献 (37)致谢 (38)附录一:发射原理图 (39)附录二:接收原理图 (40)附录三:源程序 (41)1 绪论1.1课题的背景和意义众所周知,电表是一种非常重要的计量仪表,它的计量准确与否直接关系到千家万户的利益。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

基于51单片机的红外传感器原理

基于51单片机的红外传感器原理

基于51单片机的红外传感器原理下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!基于51单片机的红外传感器原理1. 简介红外传感器是一种常用于检测物体距离、障碍物识别等的传感器。

基于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单片机的红外遥控器解码设计毕业论文

第1章红外解码系统分析第1节设计要求整个控制系统的设计要求:被控设备的控制实时反应,从接收信号到信号处理及对设备控制反映时间应小于1s;整个系统的抗干扰能力强,防止误动作;整个系统的安装、操作简单,维护方便;成本低。

红外载波、编码电路设计要求:单片机定时器精确产生38KHz红外载波;根据控制系统要求能对红外控制指令信号精确编码并迅速发送。

红外解码电路设计要求:精确接收红外信号,并对所接收信号进行解码、放大、整形、解调等处理,最后输出TTL电平信号;对非红外光及边缘红外光抗干扰能力强。

设备扩展模块设计要求:直流控制交流;抗干扰能力强;反应迅速不产生误动作;能承受大电流冲击。

第2节总体设计方案2.1 方案论证驱动与开关方案一:采用晶闸管直接驱动。

其优点是体积小,电路简单,外围元件少。

但控制电流小,大电流晶闸管成本高,并且隔离性能差。

方案二:采用三极管驱动继电器。

其体积大,外围元件多。

优点是控制电流大,隔离性能好。

根据实际情况,拟采用方案二。

2.2 总体设计框图经过上述方案的分析选择,得出系统硬件由以下几部分组成:电视红外遥控器,51单片机最小系统,接收放大于一体集成红外接收头,1602液晶显示驱动电路。

整体设计思路为:根据扫描到不同的按键值转至相对应的ROM表读取数据。

确认设备及菜单选择键后AT89S2将从ROM读取出来的值,按照数据处理要求从P2.5输出控制脉冲与T0产生的38KHz的载波(周期是26.3μs)进行调制,经NPN三极管对信号放大驱动红外发光管将控制信号发送出去。

红外数据接收则是采用HS0038一体化红外接收头,内部集成红外接收、数据采集、解码的功能,只要在接收端INT0检测头信号低电平的到来,就可完成对整个串行的信号进行分析得出当前控制指令的功能。

然后根据所得的指令去操作相应的用电器件工作,如图1-1所示。

图1-1 电路设计整体框图第2章红外解码硬件电路设计第1节单片机及其硬件电路设计1.1 单片机的介绍AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。

基于51单片机的红外测距仪的设计与实现

基于51单片机的红外测距仪的设计与实现

基于51单片机的红外测距仪的设计与实现本文介绍的是一种基于51单片机的红外测距仪的设计与实现。

该测距仪可用于精确测量物体到距离范围内的距离,适用于工业控制、智能家居、安防等领域。

1. 系统概述该系统基于51单片机,采用红外传感器进行测距。

传感器接收到反射回来的红外信号后,通过单片机的处理,计算出物体与红外传感器的距离,并通过显示屏展示出来。

2. 系统设计系统由红外传感器模块、51单片机模块和显示屏模块组成。

下面分别介绍:(1)红外传感器模块该模块采用红外线传感器GP2Y0A02YK0F,该传感器可以实现1.5-15cm的测距范围。

传感器工作电压为5v,输出信号为模拟信号。

(2)51单片机模块该模块采用STC89C52单片机,由于系统只需要进行简单的计算,而且运算速度不需要太快,因此选择了这款单片机。

系统通过单片机的ADC模块读取红外传感器的模拟信号,并通过计算获得具体的距离数据,再通过串口通信输出到PC机。

(3)显示屏模块该模块采用一块16*2字符液晶屏,并通过单片机控制显示距离结果。

3. 系统实现系统实现步骤如下:(1)系统初始化单片机需要初始化计时器、串口和ADC模块。

(2)红外测距传感器可以输出模拟信号,单片机通过ADC模块进行转换,得到具体的电压值。

然后通过公式计算距离。

(3)显示距离数据将距离数据通过串口发送到PC机,并在显示屏上显示出来。

PC机通过串口读取数据,将数据显示到PC机软件界面中。

4. 系统特点该系统具有以下特点:(1)测量距离的精度高,可以测量1.5-15cm的距离范围。

(2)系统成本低,易于实现和制作,适用于大规模生产。

(3)系统体积小,方便携带和安装。

5. 结论本文介绍的基于51单片机的红外测距仪可实现高精度的距离测量,成本低、易于实现,适用于工业控制、智能家居、安防等领域。

红外遥控系统毕业设计基于单片机的红外遥控系统设计

红外遥控系统毕业设计基于单片机的红外遥控系统设计

《单片机设计》课程设计题目:基于单片机的红外遥控系统设计专业:电气工程系班级:姓名:学号:指导教师:小组成员:成绩:摘要随着社会的进展、科技的进步和人们生活水平的慢慢提高,各类方便于生活的遥控系统开始进入了人们的生活。

采纳单片机进行遥控系统的应用设计,具有编程灵活多样、操作码个数可随意设定等优势。

由于单片机具有集成度高、体积小、靠得住性高、价钱廉价等优势,其在机电一体化、工业操纵、仪器仪表和家用电器等领域取得了普遍应用。

当前单片机对家用电器操纵呈现出外形简单化、功能多样化、产品智能化的进展趋向。

红外遥控技术具有利用方便、功耗低、抗干扰能力强、价钱廉价的特点,因此它的应用前景十分广漠。

本课题以延伸红外无线遥控技术为目的,提出了一种红外遥控器集中操纵的方案,核心是设计出一个红外接收系统。

本设计以红外线作为传递信息的载体,可对受控对象的工作状态进行短距离无线操纵,适用于遥控工业、医疗、家用电器等设备的开闭状态。

并含有设备计数模块,可对处于工作状态的设备进行计数,并显示出来。

课题的重点在于通过软件实现二进制数据的解码工作,然后通过红外收发头进行数据传输操纵系统。

关键词:红外遥控;单片机操纵;显示模块目录1 引言........................................................................................................................................ - 4 -1.1 课题研究的目的........................................................................................................... - 4 -............................................................................................................................................. - 4 - 2设计任务及要求....................................................................................................................... - 5 -2.1红外遥控系统的设计与实现任务,要紧完成:........................................................ - 5 -2.2 红外遥控系统的设计要求:....................................................................................... - 5 -3 红外遥控系统的硬件设计...................................................................................................... - 6 -3.1 本设计方案思路......................................................................................................... - 6 -3.2 研发方向和技术关键................................................................................................. - 6 - ..................................................................................................................................................... - 7 - ...................................................................................................................................... - 7 -3.3.3 红外接收模块.................................................................................................. - 11 -3.3.4 LED模拟外围设备模块.................................................................................. - 12 -.................................................................................................................................... - 13 - 4 红外遥控系统的软件设计.................................................................................................... - 14 -4.1 主控程序..................................................................................................................... - 14 -4.2 遥控发射部份............................................................................................................. - 14 -4.3 遥控接收处置部份..................................................................................................... - 15 -5 测试结果及分析.................................................................................................................... - 15 -5.1 实验仪与运算机的连接............................................................................................. - 15 -5.2 硬件系统的调试......................................................................................................... - 16 -5.3 软件系统的调试......................................................................................................... - 16 -6 总结与体会............................................................................................................................ - 16 - 参考文献.................................................................................................................................... - 17 - 7附录程序代码....................................................................................................................... - 18 -1 引言1.1 课题研究的目的本设计要紧研究并设计一个基于单片机的红外发射及接收系统,实现对温度操纵、蜂鸣器、LED灯的隔离操纵。

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

单片机原理结课项目
项目题目基于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的地电位组成。

2. 程序框图
N
Y
四、程序代码
解码程序源代码:
开始
初始化
红外解码
处理接收到的编码
显示接收到的编码 解码完成?
#include <STC12C5X.h>
unsigned char code
table[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0 x39,0x5e,0x79,0x71,};// 显示数值表0-f
unsigned char s,g;
unsigned char ircord[4];
unsigned char irtime;//红外用全局变量
bit irok,jiemaok;
sbit ge=P3^3;
sbit shi=P3^2;
sbit ir=P3^7;
void init(void);
void delayms(unsigned int t); //函数声明
void display(void);
void jiema(void);
void process(void);
/*------------------------------------------------
主函数
------------------------------------------------*/
void main (void)
{
init();
while (1) //主循环
{
jiema();
if(jiemaok)
{
process();
jiemaok=0;
}
display();
}
}
void init(void)
{
// P3M0=0X00;
// P3M1=0X0c;
TMOD=0x02;//定时器0工作方式2,TH0是重装值,TL0是初值TH0=0x9C; //重载值
TL0=0x9C; //初始化值
EA = 1;
ET0=1; //开中断
TR0=0;
}
void jiema(void)
{
unsigned char i,j,value;
if(!ir)
{
while(!ir);
TR0=1;
while(ir);
TR0=0;
// P1=0;
if(irtime<48&&irtime>=42)
{
irok=1;
// P1=0;
}
else
{
irok=0;
}
irtime=0;
if(irok)
{
irok=0;
for(i=0;i<4;i++)
{
for(j=0;j<8;j++)
{
value>>=1;
while(!ir);//等待低电平结束
TR0=1;
while(ir);// 等待高电平的结束
TR0=0;
if(irtime>10) //如果收到的高电平时间大雨1ms 说明收到数据是1
{
value|=0x80;
}
irtime=0;
}
ircord[i]=value;
value=0;
}
jiemaok=1;
// P1=0;
}
}
}
void process(void)
{
s=ircord[2]/16;
g=ircord[2]%16;
}
void display(void)
{
ge=1;
P2=table[s];
delayms(1);
ge=0;
P2=0x00;
shi=1;
P2=table[g];
delayms(1);
shi=0;
P2=0x00;
}
void delayms(unsigned int xms)
{
unsigned i,j;
for(i=xms;i>0;i--)
for(j=120;j>0;j--);
}
void tim0_isr (void) interrupt 1 using 1
{
irtime++; //用于计数时间
五、参考文献
1、《8051单片机课程设计实训教材》,陈明荧,清华大学出版社
2、《数字电子技术》,阎石,高等教育出版社
3、《模拟电子技术》,童诗白,高等教育出版社
4、《单片机课程设计指导》,谭浩强,清华大学出版社
5、《MCS-51单片机应用设计》,张毅刚,哈工大出版社。

相关文档
最新文档