HS0038接收程序

合集下载

HS0038B红外接收管数据手册

HS0038B红外接收管数据手册

D D D D
Suitable burst length ≥10 cycles/burst Low power consumption High immunity against ambient light Continuous data transmission possible (800 bit/s)
Ee min – Threshold Irradiance ( mW/m2 ) 1.0 / E – Rel. Responsitivity e 0.8 2.0 f ( E ) = f0 1.6 1.2 0.8 0.4 0.0 0.7
94 8143
0.6
0.4 0.2 0.0 0.8 0.9 1.0 1.1 1.2 1.3 f / f0 – Relative Frequency
HS0038B
Vishay Telefunken Absolute Maximum Ratings
Tamb = 25_C Parameter Supply Voltage Supply Current Output Voltage Output Current Junction Temperature Storage Temperature Range Operating Temperature Range Power Consumption Soldering Temperature Test Conditions (Pin 3) (Pin 3) (Pin 1) (Pin 1) Symbol VS IS VO IO Tj Tstg Tamb Ptot Tsd Value –0.3...6.0 5 –0.3...6.0 5 100 –25...+85 –25...+85 50 260 Unit V mA V mA °C °C °C mW °C

[教学]HS0038红外接收

[教学]HS0038红外接收

[教学]HS0038红外接收红外接收探头,接收红外信号频率为38kHz,周期约26μs随着家用电器、视听产品的普及,自动化办公设备的广泛应用和网络化的不断发展,越来越多的产品具有了待机功能(如遥控开关、网络唤醒、定时开关、智能开关等)。

产品的待机功能实现遥控操作,极大地方便了我们的生活,但也浪费了大量的能源。

中国节能产品认证中心(CECP)调查显示,全球每个家庭处于待机状态下的家电相当于亮着一个15 W,30 W 的长明灯,仅一台彩电每年在“无用待机状态”下浪费电力近100?,在我国彩色电视机待机一项一年就浪费电力150 多亿度,相当于十几个大型火力发电厂白白发电。

澳大利亚电器设备能源委员会新近的研究成果显示,不仅会耗费可观的电能,每月支付数额不小的“冤枉电费”,而且其释放大量有害气体二氧化碳在一定程度上加速了气候的变暖。

利用本系统可以良好的达到节能和环保的效果。

同时在家庭或工业控制现场,一些手动操作不太方便的场合,可以使用现有遥控器通过设置代替手动操作,比如可以利用家中现有的彩电遥控器,控制其它没有遥控功能的电器(如电灯、计算机、音响、电脑、打印机、饮水机、热水器等),方便生活。

1 系统方案论证和选择为了实现系统整体功能,红外解码部分是核心,红外解码指将遥控发射器所产生的红外遥控编码脉冲所对应的键值翻译出来的过程。

下面将系统方案做一论证,通常有硬件解码和软件解码两种方案。

方案一:此方案中,使用专用遥控器作为控制信号发出装置,当按下遥控器的设置键后,一体化红外接收装置接收到遥控器发出的设置控制信号,然后将信号送到专用的解码芯片中进行解码,解码后将信号送到单片机,由单片机查表判断这个信号是不是设置信号,当确认是设置信号后,启动设置子程序,那么以后接收到的红外信号就是设置的时间信号了,红外接收头接收到红外信号后再通过放大器将信号传到解码器中,解码器解完码后送到单片机,单片机再通过查表确定这些数值并进行设置,然后按下确认键,红外接收头接收到这个信号并通过放大送到解码器中,解码后再送到单片机中,单片机通过查表确定这是确认操作后,可以通过可控硅控制电源通断。

【免费下载】HS0038红外接收

【免费下载】HS0038红外接收

说明红外接收头和遥控器至少有一个损坏。

只要确保遥控器工作正常,很容易判断红外接收头的优劣。

2.2 红外遥控解码的实现 因为要进行遥控操作,必须使被遥控对象能够认识遥控指令,这样才能对其进行操作。

举例说明一下:假如我只会说汉语,而JIM 只会说英语,让我们两个独自交流的话肯定不会有什么结果,那我们要进行交流,怎么办?这就需要一个翻译者来做中间人了,翻译者将JIM(我)说的话翻译给我(JIM)能够听懂、识别的语言,这样我们交流就没问题了。

同样,在红外遥控方面,要使被遥控对象能够识别遥控指令,那就需要一个“翻译者”,我们将这作为一个过程,叫解码。

本系统中所使用的遥控器为普通电视遥控器,红外芯片采用的是3010 芯片。

识别方法分析:为了用软件识别以上波形,采用与程控交换机中“脉冲号码识别法”类似的方法来解决。

用扫描的方式对接收波形快速扫描,然后根据扫描结果分析出编码值。

识别编码的关键之一是确定扫描周期。

分析波形和参数知道:整个数据14 位,总时长为22 ms~25 ms,则一个数据位时长为1.5 ms~1.8 ms,占空比1:1,脉宽为750 μs~900 μs。

在编程时要考虑脉宽的偏差容限,为保证扫描精度,选取扫描周期为100μs。

识别编码的关键之二是判别“0”和“1”。

数据“0”为波形从低到高,即在相邻的 2 次扫描中,扫描值从0 到1,则识别数据为“0”;数据“1”为波形从高到低,即在相邻的 2 次扫描中,扫描值从 1 到0,则识别数据为“1”。

为了记录相邻 2 次扫描值,则分别用 2 个变量来记录当前扫描值和前一次的扫描值,程序中用变量TheB 和PreB。

识别编码的关键之三是识别各个数据比特的跳变时刻。

为了识别这种跳变时刻,用一个标志位做“变化识别标志位”,程序中用VIB 表示,它由前次扫描值和当前扫描值“相异或”而得,即VIB=PreB TheB,若VIB=1,则说明是跳变时刻。

但是,在 2 个数据位之间,也有一个跳变,为了将它与数据位中的有效跳变区分开,设置一个“数据有效标志位”,程序中用IDB 表示。

红外HS0038

红外HS0038
4、要判定23ms的时间间隔,如果大于等于23ms则退出。
5、获得的数据倒数第二位为有效数据,倒数第一位为校验位。(校验方法:最后一个字节取反,然后判断是否与倒数第二个字节相等,如果相等则表明解码正确,否则解码错误)
6、比对数据。(switch case:break;)
在用HS0038红外接收器时要注意:在接受数据期间不能有中断发生,否则可能出现数据的干扰,按同一个键,每次解码的数据都不相同。
步棸:
初始化IO口(即为高电平)
1、跳过9ms的高电平,(用while(IO的状态)循环等待)
2、跳过4ms的低电平,方法同上
开始解,如果大于1ms则为1,否则为0 ,内循环8次(获得一个字节),外循环4次(获得4个字节)。

单片机红外接受发送实验报告

单片机红外接受发送实验报告

单片机红外发射与接收实验报告指导老师:报告人:一·实验选题:基于单片机的红外发射与接收设计任务要求:设计一个以单片机为核心控制器件的红外收发系统。

发射载频:38KHz工作温度:-40℃--+85℃接收范围:2m二·系统概述方案设计与论证红外遥控收发系统(以下简称红外遥控系统)是指利用红外光波作为信息传输的媒介以实现远距离控制的装置。

从实际系统的硬件结构看,红外遥控系统包括发射装置和接收装置,其中发射装置包括电源模块、输入模块、红外发射模块和单片机最小系统,接收装置包括电源模块、红外接收模块、输出模块和单片机最小系统。

本设计选题设计任务要求设计一个以单片机为核心控制器件的红外收发系统。

其中,发射载波 38KHz,电源 5V/0.2A 5V/0.1A,工作温度-40℃--+85℃,接收范围 2m,传输速率 27bit/s,反应时间 2ms。

利用单片机的定时功能或使用载波发生器(用于产生载波的芯片)均可产生 38KHz 的发射载波。

单片机系统可以直接由 5V/0.1A 的电源供电,也可以通过三端稳压芯片由 9V/0.2A 电源供电。

采用工业级单片机可以工作在-40℃--+85℃。

为保证接收范围达到 2m,在发射载频恒为 38KHz 的前提下,应采用电流放大电路使红外发射管发射功率足够大。

传输速率和反应时间取决于所使用的编码芯片或程序的执行效率。

通过上述分析可知,为实现设计任务并满足设计指标,应采用工业级单片机,由电流放大电路驱动红外发射管。

将针对设计任务提出两种设计方案。

三·程序功能将程序编译通过并下载成功后,两个板上的红外光电器件都要套上黑色遮光罩,就可以进行实验了。

测距实验:手持1号板和2号板,两管相对,慢慢拉远或移近两管的距离,观察LED的读数变化。

阻断实验:可请另一人协助,将一张纸或其他障碍物放在两管之间再拿开,会看到读数有大幅度的变化。

反射实验:将1号和2号实验板并排拿在手中,并形成一个小夹角,向一张白纸移动观察读数变化。

51单片机红外解码、超声波测距程序(详细解释程序)

51单片机红外解码、超声波测距程序(详细解释程序)

// c51红外解码、超声波测距程序#include <reg52.h>#define uchar unsigned char#define uint unsigned int#define count 4uchar data IRcode[4]; //定义一个4字节的数组用来存储代码uchar table[4];uchar enled[4]={0x1f,0x2f,0x4f,0x8f};uchar CodeTemp,temp,tt; //编码字节缓存变量uchari,j,k,temp,timeH,timeL,succeed_flag,flag,h,h1,h2,a,key,key1,key2; //延时用的循环变量uint distance,distance1,time; //距离,timesbit IRsignal=P3^2; //HS0038接收头OUT端直接连P3.2(INT0)sbit come=P3^3;sbit d=P1^1;//发送码sbit BZ=P1^0;sbit s=P3^7;//38ksbit ss=P3^6;//38kuchar m;// 开关控制//sbit n=P2;//电机反转code unsigned charseg7code[10]={0xa0,0xbb,0x62,0x2a,0x39,0x2c,0x24,0xba,0x20,0x28}; //显示段码/**************************** 定时器0中断************************/void timer0() interrupt 1{TH0=(65536-count)/256;TL0=(65536-count)%256;s=~s;//产生38K信号ss=~ss;//tt++;//发送超声波个数}/**************************** 延时0.9ms子程序************************/void Delay0_9ms(void){uchar j,k;for(j=18;j>0;j--)for(k=20;k>0;k--);}/***************************延时1ms子程序**********************/void Delay1ms(void){uchar i,j;for(i=2;i>0;i--)for(j=230;j>0;j--);}/***************************延时4.5ms子程序**********************/ void Delay4_5ms(void){uchar i,j;for(i=10;i>0;i--)for(j=225;j>0;j--);}/**************************** 解码延时子程序************************/ void Delay(void){uchar i,j,k;for(i=100;i>0;i--)for(j=100;j>0;j--)for(k=3;k>0;k--);}/**************************** 显示延时子程序************************/ void ledDelay(unsigned int tc) //延时程序{unsigned int i,j;for(i=0;i<10;i++)for(j=0;j<tc;j++);}/************************************************ ****************///定时器1中断,用做超声波测距无回波void timer1() interrupt 3{TR1=0;ET1=0;EX1=0;TH1=0;TL1=0;}/***********************显示程序*********************/ void Led(int date) //显示函数{ int i;table[0]=date/1000;table[1]=date/100%10;table[2]=date/10%10;table[3]=date%10;date=0;for(i=0;i<120;i++){P2=enled[i%4]&m;//P2口高四位控制数码管,低位陪分控制继电器P0=seg7code[table[i%4]]; //取出千位数,查表,输出。

(整理)红外数据传输

(整理)红外数据传输

红外数据传输一、红外通信原理红外遥控有发送和接收两个组成部分。

发送端采用单片机将待发送的二进制信号编码调制为一系列的脉冲串信号,通过红外发射管发射红外信号。

红外接收完成对红外信号的接收、放大、检波、整形,并解调出遥控编码脉冲。

为了减少干扰,采用的是价格便宜性能可靠的一体化红外接收头(HS0038,它接收红外信号频率为38kHz,周期约26μs) 接收红外信号,它同时对信号进行放大、检波、整形得到TTL 电平的编码信号,再送给单片机,经单片机解码并执行去控制相关对象。

如图1 所示:红外发送部分由51单片机、键盘、红外发光二极管和7段数码管组成。

键盘用于输入指令,51单片机检测键盘上按键的状态,并对红外信号进行调制,发光二极管产生红外线,数码管用来显示发送的键值。

图2红外发射电路红外接收部分由51单片机、一体化红外接收头HS0038和7段数码管组成。

51单片机检测HS0038,并对HS0038接收到的数据解码,通过数码管显示接收到的键值。

图3红外接收电路二、编码、解码(1) 二进制信号的调制二进制信号的调制由单片机来完成,它把编码后的二进制信号调制成频率为38kHz 的间断脉冲串,相当于用二进制信号的编码乘以频率为38kHz 的脉冲信号得到的间断脉冲串,即是调制后用于红外发射二极管发送的信号如图4 二进制码的调制所示(2) 红外接收需先进行解调,解调的过程是通过红外接收管进行接收的。

其基本工作过程为:当接收到调制信号时,输出解调后的高低电平信号;红外接收器HS0038的应用电路(图6)。

(3)红外遥控发射芯片采用PPM 编码方式,当发射器按键按下后,将发射一组108ms 的编码脉冲。

遥控编码脉冲由前导码、16位地址码(8 位地址码、8 位地址码的反码)和16位操作码(8 位操作码、8 位操作码的反码)组成。

通过对用户码的检验,每个遥控器只能控制一个设备动作,这样可以有效地防止多个设备之间的干扰。

编码后面还要有编码的反码,用来检验编码接收的正确性,防止误操作,增强系统的可靠性。

基于单片机密码锁的设计剖析

基于单片机密码锁的设计剖析

毕业设计说明书基于单片机电子密码锁的设计学院:专业:学生姓名:学号:指导教师:2014 年 6 月摘要摘要本次设计题目为遥控电子密码锁的设计,与传统锁相比,电子密码锁具有非常多的优点:操作简单,易于编程等,因而也具有更广阔的市场应用前景。

这次毕设采用8051做为核心,加上各种外接电路实现要求的各种功能,例如:矩阵键盘电路、红外接收和发射电路、LCD屏显示器等等,密码锁的功能包括设置原始密码、实现本机开锁、8到10米遥控开锁、密码错误3次报警报警、修改密码的能力。

下面的论文比较详细说明了遥控密码锁的硬软件电路电路设计、总机电路图,个人认为设计的难点在于红外线的发射和接收,如果使用传统的编码器、解码器就会使是系统变得异常复杂,故我们应该打破传统思维的限制利用现代化技术找到一种可以替代的简单技术来解决问题。

这种新技术是应用单片机来调制红外线信号,然后用红外发射管发射出去。

本机接收部分用HS0038器件,它是接收周期约为26us,频率约为38KHZ的信号,它能够一次性完成模拟电路的分立元件完成的对信号的接收、放大等,HS0038输出的是TTL信号,可以直接输入单片机进行处理。

这个原件会使本机接受部分电路的设计变得简单,使用方便,降低了成本。

本次设计的的电子密码锁的实用性非常强,比如它能够用在家里和仓库的门上也可以用在保险柜或者汽车门上,并且这种所比较传统的机械锁更加安全保障。

实际的生活和生产中,我们可能会碰到许多对身体健康有害的环境:有害气体、辐射等等,因此采用遥控的方式开锁既可以最大限度的隔离各种电气干扰。

关键词:安全、密码锁、红外遥控AbstractAbstractThis design titled infrared remote electronic locks design, compared with the traditional locks, remote electronic locks have a lot of advantages: easy to operate , easy to program , and thus also have a broader market prospects. The remote electronic locks designed into two modules: the transmitter module and receiver module . The entire system to AT89C51 core , plus keyboard circuit, crystal oscillator circuit, infrared receiver circuit, alarm circuit , infrared transmitter circuit , display circuit and other peripheral circuits to achieve, with the default six original password , the machine lock, remote keyless entry , password input error alarm , change passwords and other functions. The following paper introduces the overall design of the infrared remote electronic locks , hardware circuit and software circuit , difficulty personally think that design is an infrared transmitter and receiver , if you use a traditional encoders, decoders will make the system become abnormal complex , it must find a new way to solve the problem . Part of the launch to modulate the signal using light-emitting diodes to emit infrared light. Receiver section uses integrated receiver HS0038, it receives a frequency of 38KHZ, a period of 26us, it can be a remote control signal reception , amplification, detection , plastic rolled into one , and the output of the it can be identified TTL signal , thereby greatly simplifying a receiving circuit design and circuit complexity , ease of use.The design of the electronic locks practicality is very strong, such that it can be used at home and warehouse doors can also be used in the safe or car door , and this the more traditional mechanical lock more security. In industrial production , we will encounter a variety of environments : harmful gases, radiation , etc., so a way to unlock the remote control to maximize both the isolation of various electrical interference .Keywords : security , password lock , infrared remote control.目录摘要 (I)Abstract (III)目录 (IV)第一章绪论 (1)1.1设计的背景及其意义 (1)1.2 电子密码锁的研究现状 (2)1.3 红外通信概述 (3)1.4设计的要求及其指标 (4)1.4.1主要设计内容 (4)1.4.2主要设计指标及其参数 (4)第二章系统总体方案设计 (5)2.1 整体设计思路 (5)2.2 硬件电路设计方案 (5)2.2.1 遥控发射部分设计 (5)2.2.2 本机接收部分设计 (6)3.1 AT89C52单片机 (8)3.1.1 AT89C52简介 (8)3.1.2 AT89C52的引脚功能 (8)3.1.3 晶振电路设计 (10)3.1.4复位电路 (11)3.2 电源电路 (12)3.3 红外发射电路 (14)3.3.1 红外对管简介 (14)3.3.2 红外发射电路 (14)3.4 红外接收电路设计 (15)3.4.1 HS0038概述 (15)3.4.2 红外一体化接收头的特性: (16)3.4.3 红外接收电路图 (17)3.5 键盘电路 (17)3.5.1 矩阵键盘原理 (17)3.5.2矩阵键盘原理图 (18)3.6 显示电路 (19)3.7 报警电路设计 (20)3.8 电磁锁部分电路 (21)第四章软件设计 (23)4.1 系统发射部分的软件设计 (23)4.1.1 主程序流程图 (23)4.1.2 延时10ms 子程序 (24)4.1.3 键盘扫描程序 (24)4.1.4 红外发射程序 (26)4.2 主机接收部分程序设计 (28)4.2.1 主程序设计 (28)4.2.2 红外接收程序 (28)4.2.3 密码识别子程序 (30)4.2.4 报警部分程序 (30)4.2.5 显示子程序 (31)4.2.7 修改密码子程序 (32)第五章结论 (34)参考文献 (35)致谢 .......................................... 错误!未定义书签。

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

//红外线HS0038接收并在LCD上显示,可惜是参照别人的程序,不好意思#include <reg52.h>
#define c(x) (x*110592/120000)
sbit Ir_Pin = P3^3;
sbit rs=P1^0;
sbit wr=P1^1; //1602控制口
sbit e=P1^5;
unsigned char Ir_Buf[4]; //用于保存解码结果
void delay(unsigned int z)
{
unsigned char i; //1602用到的延时
while(z--)
for(i=110;i>0;i--);
}
void write_com(unsigned char com)
{
rs=0;
wr=0; //1602写命令子程序
P0=com;
delay(5);
e=1;
delay(5);
e=0;
}
void write_dat(unsigned char dat)
{
rs=1;
wr=0;
P0=dat; //1602写数据子程序delay(5);
e=1;
delay(5);
e=0;
}
void init_1602()
{
e=0;
write_com(0x38);
write_com(0x0e); //1602初始化
write_com(0x06);
write_com(0x01);
}
unsigned int Ir_Get_Low()
{
TL0 = 0;
TH0 = 0;
TR0 = 1; //用定制器0接收,获取低电平时间while (!Ir_Pin && (TH0&0x80)==0);
TR0 = 0;
return (TH0 * 256 + TL0);
}
// 获取高电平时间
unsigned int Ir_Get_High()
{
TL0 = 0;
TH0 = 0;
TR0 = 1;
while (Ir_Pin && (TH0&0x80)==0);
TR0 = 0;
return (TH0 * 256 + TL0);
}
void uart_init(void)
{
unsigned char u;
ET1=0;
TMOD = 0x21; // 定时器1工作在方式2(自动重装)
SCON = 0x50; // 10位uart
TH1 = 0xFD;
TL1 = 0xFD;
u = SBUF;
TR1 = 1;
}
void write_1602shuju()
{
write_com(0x80);
delay(1);
write_dat(Ir_Buf[2]/10+0x30);
delay(1); //1602xieshuju
write_dat(Ir_Buf[2]%10+0x30);
delay(1);
}
void main()
{
unsigned int temp;
char i,j;
uart_init();
init_1602();
while(1)
{
while (Ir_Pin); //等待变低
temp = Ir_Get_Low();
if (temp < c(8500) || temp > c(9500)) //引导脉冲低电平9000 continue;
temp = Ir_Get_High();
if (temp < c(4000) || temp > c(5000)) //引导脉冲高电平4500 continue;
for (i=0; i<4; i++) //4个字节
{
for (j=0; j<8; j++) //每个字节8位
{
temp = Ir_Get_Low();
if(temp < c(200) || temp > c(800))
continue;
temp = Ir_Get_High();
if(temp < c(200) || temp > c(2000))
continue;
Ir_Buf[i] >>= 1;
if(temp > c(1120))
Ir_Buf[i]|=0x80;
}
}
write_1602shuju();
SBUF = Ir_Buf[2]; // 返回键码
while (TI == 0);
TI = 0; }
}。

相关文档
最新文档