当前位置:文档之家› 基于单片机模拟红外编码解码的设计

基于单片机模拟红外编码解码的设计

基于单片机模拟红外编码解码的设计
基于单片机模拟红外编码解码的设计

开放实验报告

课题名称基于单片机的红外解码器的设计学生姓名

系、年级专业信息工程系、11、12级电子信息工程指导教师江世明

2014年 5 月20日

基于单片机的红外解码器的设计

一.实验目的

1、了解红外编码原理,模拟红外发射信号;

2、用程序实现红外编码的解码;

二.实验内容

设计基于单片机的红外解码器,实现红外遥控信号智能解码,要求制作出实物,实现解码功能。

三.电路设计

1、红外编码原理

在实际应用中红外编码将二进制码调制到38MHz的载波频率上,通过在空中传播,由红外接收头接收之后,由内部的解调电路进行解调, 解调出来的就是我们发送的那些二进制码。红外编码方式根据日本NEC 协议编码。每次发送四个字节:用户码,用户反码,数据码,数据反码。数据 0和 1的区别通常体现在高低电平的时间长短上。一次按键首先发送9ms的低电平和4.5ms的高电平的引导码。

实际生活中,用遥控器发出的信号与上面的信号是相反的,经过红外线接收头解码以后就和上图一样了,值得大家注意的是发射模块的芯片不同,引导区的时间和数据都有所不同,但解决的方法都是一样的。

引导码后就是用户码。但是怎么来区分0和1呢?前面我们提到了PWM(脉宽调制)。根据脉冲的宽度来区别0和1.0.56ms低电平之后接0.56ms高电平为0,接1.12ms高电平为1.

2、红外解码方法

在实际生活中红外解码一般由红外接收头接收并解码。解码时先跳过9ms 高电平和4.5ms的低电平,然后跳过0.56ms的低电平,最后通过循环等待搞电平的结束并计时。通过判断高电平时间的长短来区分0(0.56ms)和1(1.12ms)。最后判断接收到的四个字节(用户码,用户反码,数据码,数据反码)中数据码和取反后的数据反码相不相等。

3、红外编解码电路

四、程序设计

见附录

五、系统仿真

仿真分析:

仿真照片如上图,当从4*4键盘按下K5时,单片机U1的数码管显示5,同时P3.0发送出如下图所示的脉冲。

上图包含了9ms高电平和4.5ms低电平的引导码和4字节(32位)的信息码,包括用户码(00000000),用户反码(11111111),数据码(00001001),数据反码(11110110)。

六、结论

通过本次试验用软件模拟了红外发送编码与接收解码的过程。基本上可以脱离硬件实现红外的发送与接收。但是本实验还是存在一些问题,发送信号没有用38Khz的载波频率载波和实际的发送信号应该与本实验相反。所以做实物时应该考虑这些问题。

附录:

发送程序:

#include

#define uchar unsigned char

#define uint unsigned int

uchar IR[4]; //全局变量存放发送数据

sbit IRIN=P3^4;// 发送脚

sbit BEEP = P3^0;// 蜂鸣器

void SendData();

void Delay(uint x);

void Delay_112();

void Delay_56();

void Delay_50();

void Key_scan();

void Beep();

uchar DM[] =

{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1 ,0x86,0x8e,0xff};

void main()

{

uchar t=16;

IR[2]=16;

while(1)

{

Key_scan();

P0 = DM[IR[2]];

if(t!=IR[2]) //保证每次只发送一个数据缺点:每个键不能重复发送

{

t=IR[2]; //保护IR[2]的值

Beep();

SendData();

IR[2]=t; //还原IR[2]的值

}

Delay(100);

}

}

void SendData()

{

uchar k,i,t;

IR[1]=~IR[0]; //用户码取反

IR[3]=~IR[2]; //数据码取反

IRIN=0;

Delay(9); //假设9ms低电平发射

IRIN=1;

Delay(4); //4.5ms高电平

Delay_50();

for(k=0;k<4;k++)

for(i=0;i<8;i++)

{

IRIN=0;

Delay_56();

t=IR[k]; //保存IR[k]的值

if(IR[k]>>=7) //取最高位

{

IRIN=1;

Delay_112();

}

else

{

IRIN=1;

Delay_56();

}

t<<=1; //次高位变为最高位

IR[k]=t;

}

IRIN=0;//保证最后一个脉冲的高电平时间

Delay_56();

IRIN=1;

}

void Key_scan()

{

uchar i;

P1=0x0f;

if(P1!=0X0f)

{

Delay(2); //消抖

if(P1!=0x0f)

switch(P1)

{

case 0x0e: i=0;break;

case 0x0d: i=1;break;

case 0x0b: i=2;break;

case 0x07: i=3;

}

Delay(1);

P1=0xf0;

switch(P1)

{

case 0xe0: i+=0;break;

case 0xd0: i+=4;break;

case 0xb0: i+=8;break;

case 0x70: i+=12;

}

IR[0]=0; //用户码为0

IR[2]=i;

}

}

void Beep()

{

uchar i,j;

for(i=0;i<100;i++)

{

for(j=0;j<123;j++);

BEEP=~BEEP;

}

BEEP=1;

}

void Delay(uint x)

{

uint i,s;

for(i=x;i>0;i--)

for(s=127;s>0;s--);

}

void Delay_112()

{

uint m,n;

for(m=1;m>0;m--)

for(n=142;n>0;n--);

}

void Delay_56()

{

uint m,n;

for(m=1;m>0;m--)

for(n=68;n>0;n--);

}

void Delay_50()

{

uint m,n;

for(m=1;m>0;m--)

for(n=64;n>0;n--);

}

接收程序:

#include

#define uchar unsigned char

#define uint unsigned int

#define SMG P0

sbit IRIN=P2^7; //红外线输入

sbit TS=P1^0; //显示灯

void Delay(uint x);

void Delay_50();

void ReadIR();

uchar IR[4];

uchar DM[] =

{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1 ,0x86,0x8e,0xff};

void main()

{

IR[2]=16;//关显示

while(1)

{

ReadIR();

Delay(10);

if(IR[2]>=16) //接收到的值大于等于16关显示

SMG=DM[16];

else

SMG=DM[IR[2]];

} }

void ReadIR()

{

uchar i,j,time;

if(IRIN==0)

{

while(IRIN==0); //等待9ms的引导码过去

if(IRIN==1)

{

while(IRIN==1); //等待4.5ms的引导码过去

IR[2]=0; //重新给数据码清零

for(i=0;i<4;i++)

{

for(j=0;j<8;j++)

{

while(IRIN==0); //等待560us的低电平过去

while(IRIN==1)

{

time++; //计时

Delay_50();

}

IR[i]<<=1; //因为有8次循环为了保证最后一次为个位

if(time>=6)

{

IR[i]|=0x01;

}

time=0; //计时清零

}

}

TS=0; //灯闪烁提示

Delay(200);

TS=1;

}

}

}

void Delay(uint x)

{

uint i,s;

for(i=x;i>0;i--)

for(s=127;s>0;s--);

}

void Delay_50()

{

uint m,n;

for(m=1;m>0;m--)

for(n=20;n>0;n--);

}

基于单片机模拟红外编码解码的设计

开放实验报告 课题名称基于单片机的红外解码器的设计学生姓名 系、年级专业信息工程系、11、12级电子信息工程指导教师江世明 2014年 5 月20日

基于单片机的红外解码器的设计 一.实验目的 1、了解红外编码原理,模拟红外发射信号; 2、用程序实现红外编码的解码; 二.实验内容 设计基于单片机的红外解码器,实现红外遥控信号智能解码,要求制作出实物,实现解码功能。 三.电路设计 1、红外编码原理 在实际应用中红外编码将二进制码调制到38MHz的载波频率上,通过在空中传播,由红外接收头接收之后,由内部的解调电路进行解调, 解调出来的就是我们发送的那些二进制码。红外编码方式根据日本NEC 协议编码。每次发送四个字节:用户码,用户反码,数据码,数据反码。数据 0和 1的区别通常体现在高低电平的时间长短上。一次按键首先发送9ms的低电平和4.5ms的高电平的引导码。 实际生活中,用遥控器发出的信号与上面的信号是相反的,经过红外线接收头解码以后就和上图一样了,值得大家注意的是发射模块的芯片不同,引导区的时间和数据都有所不同,但解决的方法都是一样的。 引导码后就是用户码。但是怎么来区分0和1呢?前面我们提到了PWM(脉宽调制)。根据脉冲的宽度来区别0和1.0.56ms低电平之后接0.56ms高电平为0,接1.12ms高电平为1.

2、红外解码方法 在实际生活中红外解码一般由红外接收头接收并解码。解码时先跳过9ms 高电平和4.5ms的低电平,然后跳过0.56ms的低电平,最后通过循环等待搞电平的结束并计时。通过判断高电平时间的长短来区分0(0.56ms)和1(1.12ms)。最后判断接收到的四个字节(用户码,用户反码,数据码,数据反码)中数据码和取反后的数据反码相不相等。 3、红外编解码电路 四、程序设计 见附录 五、系统仿真

基于51单片机的红外遥控

基于51单片机的红外遥控 红外遥控是无线遥控的一种方式,本文讲述的红外遥控,采用STC89C52单片机,1838红外接收头和38k红外遥控器。 1838红外接收头: 红外遥控器: 原理: 红外接收的原理我不赘述,百度文库上不少,我推荐个网址,这篇文章写得比较清楚,也比较全面,https://www.doczj.com/doc/0d4043727.html,/view/c353e8360b4c2e3f57276349.html 我主要讲下程序的具体意思,在了解原理的基础上,我们知道,当我们在遥控器上每按下一个键,遥控器上的红外发射头都会发出一个32位的编码(32位编码分成4组8位二进制编码,前16位为用户码和用户反码,后16位为数据码和数据反码,用户码表示遥控器类型,数据码表示按键编码),不同的键对应不同的编码,红外接收头接收到这个编码后,发送给单片机,再进行相关操作。 源程序1:(这个程序的功能是将用户码和用户反码,数据码和数据反码显示在1602液晶上,因为遥控器买回来是不会说明按键对应什么码值,所以先自己测试,确定每个 按键的码值) #include #include #include #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; }

基于单片机的机器人用红外测距仪系统设计 (1)

第37卷第4期应用科技 V o.l 37, .4 2010年4月 Appli ed Sc i ence and T echno l ogy A pr .2010 do :i 10.3969/.j issn .1009-671X.2010.04.003 基于单片机的机器人用红外测距仪系统设计 唐秦崴,瞿哲奕,朱熀秋 (江苏大学电气信息工程学院,江苏镇江212013) 摘 要:针对机器人智能倒车防护的问题,提出了以单片机AT 89S52为控制核心,采用红外测距技术设计机器人用红外测距仪系统,由单片机处理环境信息,红外测距仪发出停车提示或直接执行停车,不需要驾驶员亲自根据信息作判断,具有显著的智能化.论文采用红外管和AT 89S52单片机,设计和制作了红外测距仪系统硬件电路,并且开发了相关软件.试验表明:研制的基于单片机的红外测距仪,机器人停车时距预期位置最大误差不超过4c m,工作可靠,性能良好,确保机器人倒车的智能性和稳定性.关键词:单片机;机器人;红外测距仪;系统设计 中图分类号:TP273.4 文献标识码:A 文章编号:1009-671X (2010)04-0011-04 Desi gn of i nfrared range fi nder syste m for a robot based on a si ngle chip m icroco mputer TANG Q in w e,i QU Zhe y,i Z HU Huang qiu (Schoo l of E lectrica l and In f o r m ati on Eng i neer i ng ,Jiangsu U niversit y ,Zhenjiang 212000,Ch i na) A bstract :A i m i n g at the proble m of r obot inte lligent par k i n g pr o tecti o n ,an i n frared range fi n der is designed by u sing the i n frared rang i n g techno logy for par k i n g syste m based on a si n g le ch ip m icr oco mputer AT89S52.The i n fra red range finder can send out par k i n g si g na lpro m ptly or execute parking directly .The driver does not need to j u dge infor m ati o n by h i m se l;f t h e i n for m ati o n is processed by a sing le ch i p m icroco m puter AT89S52,and t h e infrared range fi n der has disti n ct i n telli g ent f u nction.This paper i n troduces t h e soft w are and har dw are c ircuits o f an infrared range finder parking syste m ,w hich are designed and deve l o ped w it h an infrared tube and a si n g le ch i p m i c roco m puter .The experi m ental resu lts have shown that the i n frared range based on a si n g le chip m icroco m puter operates reliab l y and m easures exactl y ,having good perfor m ance w ith the m ax i m um error of no tm ore than 4c m,thus the robo ts 'i n telli g ence and stab ility are i n sured.K eywords :si n g l e ch i p m icroco m puter ;robo ;t i n frared range finder ;syste m desi g n 收稿日期:2009 12 03. 项目基金:国家高技术研究发展计划基金资助项目(2007AA04Z213);江苏省高等学校大学生实践创新训练计划基金资助项目(2008 297).作者简介:唐秦崴(1986 ),男,大学本科,主要研究方向:机器人编程及硬件制作,E m ai:l tqw86107@yahoo .co https://www.doczj.com/doc/0d4043727.html, . 机器人智能倒车防护有利于机器人安全可靠运行.目前投入应用的机器人智能倒车防护技术主要有2种:一种是车载雷达(超声波技术)测距倒车防护 [1-4] ;一种是摄像头视觉防护 [5-6] .车载雷达测距 十分精确,智能化程度较高,但造价较为昂贵;摄像头视觉防护虽然可以让驾驶员实时获取身后的环境信息,但对距离的测量则仍需要外加其他设备的辅助,驾驶员仍然需要亲自通过肉眼判断身后的情况,智能化有所不足.基于红外管以及单片机技术的机器人用测距仪采用单片机独立处理环境信息并发出 停车提示或直接执行停车,不需要驾驶员亲自根据信息作判断,能够实现智能化防护提示或停车.采用的红外技术虽然在精准度上不及超声波技术,但对于机器人已经足够,并且对突然出现的行人的敏感度不亚于超声波技术,所以拥有同超声波技术同等的安全性.同时由于红外发射、接受装置以及使用的AT89S52单片机芯片成本低廉,本系统较雷达测距仪更易于商业推广.

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

课程设计 基于单片机的红外遥控系统设计 学院:计算机与通信工程学院 专业:通信工程 班级:通信11-3班 姓名: 学号:

天津理工大学 摘要 本设计采用51单片机作为遥控发射接收芯片,HS003B作为红外一体化接收发射管,在此基础上设计了一个简易的智能红外遥控系统。系统包括接收和发射两大部分,发射部分有16个按键,接收部分含有8盏彩色LED灯、一片二位数码管和蜂鸣器系统。发射部分通过键盘扫描判断哪个键被按下,经过单片机编码程序进行编码,控制红外发射电路发送信号。接收部分解码信号,实现相应的输出。本设计方案结合红外遥控设计简单、作方便、成本低廉等特点。 关键字:红外遥控信号调制编码解码

天津理工大学 目录 摘要................................................................................................................................................... I I 1.绪论 (1) 1.1课题目的和意义 (1) 1.2红外线简介 (1) 1.3红外遥控系统简介 (1) 2 课题方案和设计思路 (2) 2.1总体方案 (2) 2.2红外发射器设计 (3) 2.2.1红外发射器原理 (3) 2.2.2红外编码 (3) 2.3红外接收端设计 (4) 3硬件结构设计与介绍 (5) 3.1AT89C51系列单片机功能特点 (5) 3.1.1主要特性 (5) 3.1.2管脚说明 (5) 3.1.3基本电路 (7) 3.2红外发射电路 (8) 3.3红外接收电路设计 (9) 3.3.1红外接收模块 (9) 3.3.2数码管 (9) 3.3.3彩灯系统 (10) 3.3.4蜂鸣器系统 (11) 3.3.5红外接收端电路图 (12) 4 软件设计 (12) 4.1定时/计数器功能简介 (12) 4.2遥控码的发射 (13) 4.3红外接收 (14) 5.课程设计总结和心得 (15) 参考文献 (16) 附录 (17) 附录1P ROTEUS仿真图 (17) 附录2发射程序 (17) 附录3接收程序 (20)

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

天津职业大学 二○一五~二○一六学年第1学期 电子信息工程学院 通信系统综合实训报告书 课程名称:通信系统综合实训 班级:通信技术(5)班 学号:1304045640 1304045641 1304045646姓名:韩美红季圆圆陈真真指导教师:崔雁松 2015年11月17日

一、任务要求 利用C51单片机设计开发一套红外线收发、显示系统。 具体要求: ●编写相关程序(汇编、C语言均可); ●用Proteus绘制电路图并仿真实现基本功能; ●制作出实物 二、需求分析(系统的应用场景、环境条件、参数等) 现在各种红外线技术已经源源不断进入我们的生活中,在很多场合发挥着作用。 机场、宾馆、商场等的自动门,会在人进出时自动地开启和关闭。原来,在自动门的一侧有一个红外线光源,发射的红外线照射到另一侧的光电管上,红外线是人体察觉不到的。当人走到大门口,身体挡住红外线,电管接收不到红外线了。根据设计好的指令,触发相应开关,就把门打开了。等人进去后,光电管又可以接到红外线,恢复原来的线路,门又会自动关闭。因此这种光电管被称为“电眼”,在许多自动控制设备中大显身手。 在家庭中,许多电子设备如彩色电视、空调、冰箱和音响等,都使用了各种“红外线遥控器”。利用它我们可以非常方便的转换电视频道或设定空调的温度档次。 三、概要设计(系统结构框图/系统工作说明流程图) 红外线收发、显示系统硬件由以下几部分组成:红外遥控器,51单片机最小系统,接收放大器一体集成红外接收头,LED灯显示电路。 红外线接收是把遥控器发送的数据(已调信号)转换成一定格式的控制指令脉冲(调制信号、基带信号),是完成红外线的接收、放大、解调,还原成发射格式(高、低电位刚好相反)的脉冲信号。这些工作通常由一体化的接收头来完成,输出TTL兼容电平。最后通过解码把脉冲信号转换成数据,从而实现数据的传输。 红外遥控系统电路框图

基于单片机的红外遥控小车设计

单片机系统设计实例 红外遥控小车 专业:信息对抗技术 姓名:吴志飞 学号:1411050121 指导教师:张东阳

目录 1 绪论 (1) 2 系统分析 (2) 2.1系统框架 (2) 2.2电机驱动模块 (3) 2.3 LCD显示模块 (4) 3 系统硬件设计 (5) 3.1主控模块的电路设计 (6) 3.1.1AT89C51单片机的简介 (8) 3.1.2AT89C51管脚功能 (8) 3.2红外遥控模块的电路设计 (9) 3.2.1红外遥控的实现原理 (10) 3.2.2红外发射器 (11) 3.2.3红外接收器 (12) 3.3电机驱动模块的电路设计 (12) 3.4显示模块的电路设计 (13) 4 系统软件设计 (14) 4.1程序代码 (14) 4.2软件流程图 (17) 5 调试与仿真 (18) 5.1在keil中进行调试 (18) 5.2在Proteus中进行仿真 (19) 6 总结 (21) 参考文献 (22) I

沈阳理工大学课程设计说明书 1 绪论 随着计算机、微电子、信息技术的快速进步,智能化技术的开发速度越来越快,,智能化程度越来越高,应用范围也越来越广,包括海洋开发、宇宙探测、工农业生产、军事、社会服务、娱乐等各个领域。智能电动小车系统以迅猛发展的汽车电子为背景,涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科。主要由路径识别、角度控制及车速控制等功能模块组成。同时,当今机器人技术发展的如火如荼,其在国防等众多领域的应用广泛开展。神五、神六升天、无人飞船等等无不得益于机器人技术的迅速发展。一些发达国家已把机器人制作比赛作为创新教育的战略性手段,参加者多数为学生,目的在于通过大赛全面培养学生的动手能力、创造能力、合作能力和进取精神,同时也普及智能机器人的知识。从某种意义上来说,机器人技术反映了一个国家综合技术实力的高低,而智能电动小车是机器人的雏形,它的控制系统的研制将有助于推动智能机器人控制系统的发展,同时为智能机器人的研制提供更有利的手段。 本次课设设计的红外遥控智能小车可以分为四大组成部分:红外遥控部分、显示部分、执行部分、控制部分。智能小车可以实现按遥控指示前行,后退,左转和右转。该设计主要通过对系统硬件电路的设计,软件设计和程序的编写,然后通过后期软硬件调试达到设计初衷。 1

单片机红外遥控原理

红外遥控原理 人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。其中红光的波长范围为0.62~0.76um;紫光的波长范围为0.38~0.46。比紫光的波长还要短的光叫紫外线,比红光的波长还要长的光叫红外线。红外线遥控技术就是利用波长为0.76~1.5μm之间的近红外线来传送控制信号的。常用的红外遥控系统一般分发射和接收两个部分。发射部分的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管,由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它便发出的是红外线而不是可见光。目前大量使用的红外发光二极管发出的红外线波长为940nm左右,外形与普通5发光二极管相同,只是颜色不同。红外发光二极管一般有黑色、深蓝、透明三种颜色。判断红外发光二极管好坏的办法与判断普通二极管一样:用万用表电阻挡量一下红外发光二极管的正、反向电阻即可。红外发光二极管的发光效率要用专门的仪器才能精确测定,而业余条件下只能用拉距法来粗略判定。接收部分的红外接收管是一种光敏二极管。 在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。红外接收二极管一般有圆形和方形两种。由于红外发光二极管的发射功率都较小,所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路。 前些年常用μPC1373H、CX20106A等红外接收专用放大电路。最近几年不论是业余制作还是正式产品,大多都采用成品红外接收头。成品红外接收头的封装大致有两种:一种采用铁皮屏蔽;一种是塑料封装。均有三只引脚,即电源正、电源负和数据输出(VO或OUT)。红外接收

基于单片机的红外测距系统设计-开题报告

武汉大学珞珈学院本科生毕业论文(设计)开题报告 论文题目:基于单片机的红外测距系统设计 系:电子信息科学系学号: 20100802041 姓名:钱源 一、论文选题的目的和意义 红外线是不可见光,是电磁波的一种形式,可以用来进行距离的测量,其应用历史可以追溯到上世纪60年代。现代科学技术的发展进入了许多新领域,而在测距方面先后出现了激光测距、微波雷达测距、超声波测距及红外线测距。其中激光测距是靠激光束照射在物体上反射回来的激光束探测物体的距离。由于受恶劣的天气、污染等因素影响,使反射的激光束在一定功率上探测距离比可能探测的最大距离减少一半左右,损失很大,影响探测的精确度;微波雷达测距技术为军事和某些工业开发采用的装备和振荡器等电路部分价格昂贵,现在几乎还没有开拓民用市场;超声波测距在国内外已有人做过研究,由于采用特殊专用组件使其价格高,难以推广;红外线作为一种特殊的光波,具有光波的基本物理传输特性—反射、折射、散射等,且由于其技术难度相对不太大,构成的测距系统成本低廉,性能优良,便于民用推广。另外红外测距的应用越来越普遍。在很多领域都可以用到红外测距仪。红外测距一般具有精确度和分辨率高、抗干扰能力强、体积小、重量轻等优点,因而应用领域广、行业需求众多,市场需求空间大。 红外测距的研究就非常有意义了。红外线测距仪指的就是激光红外线测距仪,红外测距仪----用调制的红外光进行精密测距的仪器,测程一般为1-5公里。在100米以内则超声波测距更有优势,但是超声波测距的距离一般无法测量1米以内,而红外测距则可以这一段距离的不足,而且有着不错的精度,在本课题中研究的就是这一类情况的红外线测距。 二、国内外关于该论题的研究现状和发展趋势 (1)国内: 根据《国内近年来红外光电测距仪的发展情况》,随着国家对外开放政策的实施和测量工作的需要,近年来国内一些光学仪器厂和电子仪器厂分别从瑞典、瑞士和日本等国引进几种红外测距仪组装线,组装测距仪,我国有关工厂和院校近年来也研制出一些产品。由于微处理机在国产测距仪上的应用,大大缩小了仪器的体积,同时也减少了出故障的几率,使得国产测距仪的性能和质量都较过去有很大的提高。在国家“六·五”计划攻关中,常州第二电子仪器厂研制的DCHZ 型多功能红外测距仪就是一个很好的例证。该产品经国家测绘局测绘科学研究所光电测距仪检测巾心进行全面质量鉴定后认为:该仪器外型美观、体积小、重量

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

单片机红外遥控系统设计 随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的遥控系统开始进入了人们的生活。传统的遥控器采用专用的遥控编码及解码集成电路,这种方法虽然制作简单、容易,但由于功能键数及功能受到特定的限制,只实用于某一专用电器产品的应用,应用范围受到限制。而采用单片机进行遥控系统的应用设计,具有编程灵活多样、操作码个数可随便设定等优点。 本设计主要应用了AT89C51单片机作为核心,综合应用了单片机中断系统、定时器、计数器等知识,应用红外光的优点,设计了一个红外线遥控系统。本系统包含发射和接收两大部分,利用编码/解码芯片来进行控制操作。发射部分包括键盘矩阵、编码调制、LED 红外线发射器;接收部分包括红外线接收芯片、光电转换器、调解电路。其优点硬件电路 简单,软件功能完善,性价比较高等特点,具有一定的使用和参考价值。 关键词:单片机AT89C51;LED红外线发射器

目录 目录 (2) 1 绪论 (2) 1.1研究背景 (2) 1.2国内外研究现状 (3) 1.3研究目的与意义 (3) 2系统方案设计论证 (5) 2.1单片机红外遥控发射器设计原理 (5) 2.2单片机红外遥控接收器设计原理 (5) 2.3方案选择和论证 (6) 3红外解码硬件电路设计 (8) 3.1红外解码系统设计 (8) 3.2单片机及其硬件电路设计 (8) 3.3红外发射电路设计 (10) 3.4红外接收电路设计 (11) 3.5本章小结 (13) 4红外解码程序设计 (14) 4.1红外接收电路主程序流程图 (14) 4.2红外接收电路子程序流程图 (14) 4.3本章小结 (15) 5 联机与调试 (16) 结论和展望 (23) 附录A:系统原理图 (24) 附录B:系统PCB图 (25) 附录C:系统仿真图 (26) 附录D:系统源程序 (27) 1 绪论 1.1研究背景 目前市场上采用的一般是遥控编码及解码集成的电路。此方案的特点是制作简单、容

基于单片机的红外测距系统设计

武汉大学珞珈学院毕业论文 基于单片机的红外测距系统设计

摘要 现代科学技术的发展,进入了很多新领域,而在测距方面先后出现了激光测距、微波雷达测距、超声波测距及红外光测距。为了实现物体近距离、高精度的无线测量而采用了红外发射接收模块作为距离传感器,单片机作为处理器,编写A/D转换和显示程序,完成了一套便推式的红外距离测量系统,系统可以高精度的实时显示所测的距离,本系统结构简单可靠、体积小、测量精度高、方便使用。 红外测距的探测距离较短,一般在几十厘米之内,本文介绍的一种基于AT89C52单片机设计的红外测距仪,可以测量距离。 首先,在绪论中,介绍了红外线及红外传感器的分类和应用、AT89C52单片机的应用与说明以及MCP3001芯片的简介。其次,阐述了与红外测距的工作原理基本结构,对红外测距传感器也做了详细说明。再次,介绍了红外测距的硬件设计和软件设计。 在硬件设计中,介绍了红外测距实现的构想,给出红外测距硬件电路原理图,并说明了红外测距传感器、键盘、A/D转换电路、LCD显示电路工作原理及AT89C52单片机的管脚分配。在软件设计中,说明了整个程序流程及各程序设计的函数。最后,是对整个设计的结论,说明了红外测距实现的可行性。 关键词:红外测距 A/D转换实时显示红外线单片机

目录 第1章绪论 (1) 1.1 课题研究的背景和意义 (1) 1.2 本课题研究的热点及发展现状 (2) 1.3 本课题研究的目的 (2) 1.4 本课题研究的内容 (3) 第2章红外测距的工作原理与基本结构 (4) 2.1.方案及设计思想: (4) 2.2 红外测距系统的基本结构 (5) 第3章红外测距的硬件设计 (6) 3.1红外收发模块 (6) 3.2 A/D转换模块 (7) 3.3 LCD显示模块 (10) 3.4 AT89C52单片机概述 (11) 3.5整个红外测距系统显示 (13) 第4章红外测距的软件设计 (15) 4.1 程序流程图 (15) 第5章系统软硬件调试 (17) 5.1 硬件调试 (17) 5.2 软件调试 (17) 5.3测试结果绘图 (17) 5.4 调试中遇到的问题 (19) 结论 (20) 参考文献 (21) 附录 (1) 后记 (29)

基于某单片机地红外遥控设计与制作

基于单片机的红外遥控设计与制作 13工试2班舒佳章韬略 一、设计目的 对于本课题的研究,其理论中的价值是对红外线这种电磁波的特性进行更加深入的研究。同时在与单片机和电子电路的共同作用下,找到单片机及电子电路在实际运用中的更多功能,从而挖掘出红外线和硬件设备结合中的更多可能性。在现实意义中,对于红外线的使用,它不仅提高了单片机、硬件设备和硬件系统在智能遥控领域的广泛应用,而相对了在硬件设施上使用了红外线的遥控技术,也同时大大拓宽了硬件设施的应用围。在不久的将来,我相信,人们对于红外遥控控制的运用,会变得越来越广。 二、设计要求 基本功能要求: 1.以一个单片机作为控制遥控器,另一个单片机控制系统为被遥控对象; 2.用遥控器的10个遥控开关,控制遥控对象的10个电源开关通断; 3.能实现10个电源开关状态显示; 4.能实现定时开关某一个电源开关。 扩展功能: 1.能实现灯光亮度连续调节;

2.能根据不同电器实现不同时间通断控制; 3.其他扩展功能。 三、方案设计 3.1红外遥控发射电路的方案 采用指令键产生电路产生不同的控制指令,单片机进行状态的编码,直接由单片机的口输出方波信号控制红外发射管进行发射。红外发射管采用普通的红外发射二极管。 3.2红外遥控接收电路的方案 遥控系统采用红外线脉冲个数编码,直接利用单片机软件解码,实现功能的遥控。 3.3单片机的选择 本设计所编写的程序比较简单,功能也比较少,所用到的输入输出端口也不是很多,所以我们决定用STC89C52单片机来完成本设计,既方便也很实用。 3.4红外遥控系统电路的原理框图以及各部分作用

各部分作用: (1)行列式键盘 行列式键盘又称为矩阵式键盘,用I/O线组成行列结构,按键设置在行列的交点上,行列式分别连接到按键开关的两端。键盘中有无按键按下是由行线送入扫描字及列线读入列线状态字来判断的,有键按下时通过查键并执行键功能程序。 (2)红外线发射电路 遥控器信息码由单片机的定时器1中断产生40KHZ红外线方波信号。由P3.5口输出,经过三极管放大,由红外线发射管发送。 (3)单片机 单片机用于输出方波信号控制红外发射电路的工作。 3.5红外接收部分原理框图以及各部分作用 各部分作用: (1)+5V电源电路 给单片机最小系统、控制电路提供以及红外接收电路提供电压。

c51、c52单片机红外线遥控接收解码c程序(可直接使用)

/ 亲,此程序以经过测试,可直接使用!!!/ #include #define uchar unsigned char #define uint unsigned int void delay(uchar x); sbit IRIN = P3^2; uchar IRCOM[4]; void main() { IE = 0x81; TCON = 0x01; IRIN=1; /* 此处可以根据按键码自由编写程序 /以下为3*7遥控按键码/ /(也可以应用与其他类型遥控,本程序只以3*7遥控为例)/ / 0x45 0x46 0x47 / / 0x44 0x40 0x43 / / 0x07 0x15 0x09 / / 0x16 0x19 0x0d / / 0x0c 0x18 0x5e / / 0x08 0x1c 0x5a / / 0x42 0x52 0x4a / 例如: while(1) {switch(IRCOM[2]) {case 0x45: P2=0x7f; break; case 0x44: P2=0xbf; break; case 0x07: P2=0xdf; break; case 0x16: P2=0xef; break; case 0x0c: P2=0xf7; break; case 0x08: P2=0xfb; break; case 0x42: P2=0xfd; break; case 0x52: P2=0xfe; break; case 0x4a: P2=0xff; break; case 0x5a: P2=0x00; break;} } */ while(1); } //end main /**********************************************************/ void IR_IN(void) interrupt 0 //外部中断服务程序 {unsigned char j,k,N=0; EX0 = 0; delay(15); if (IRIN==1) { EX0 =1;

基于单片机的红外无线控制

中国矿业大学徐海学院 技能考核培训 姓名:陈思彤学号: 22110838 专业:信息11-2班 题目:基于单片机的红外无线控制 专题:音乐播放器 指导教师:有鹏老师翟晓东老师 设计地点:电工电子实验室 时间: 2014 年 4 月

通信系统综合设计训练任务书 学生姓名陈思彤专业年级信息11-2班学号22110838 设计日期:2014年4 月5日至2014 年4 月10 日 设计题目: 基于单片机的红外无线控制 设计专题题目: 音乐播放器 设计主要内容和要求: 1. 主要内容: 单片机内部结构 红外遥控解码 C语言程序设 2. 功能扩展要求 实现音乐播放器的功能 指导教师签字:

摘要:近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入。红外线技术也被广泛应用于各个电子领域,先设计一种基于单片机的红外遥控的简易音乐播放器。通信蜂鸣器来发声,来完成音乐播放器的功能。该系统可实现对音乐播放的远距离遥控,且结构简单,速度快,抗干扰能力强。通过本次课程设计,我对单片机中断系统等知识有了进一步的了解,对单片机的相关知识做到理论联系实际。 关键词:单片机,中断系统,红外遥控,音乐播放

目录 1 绪论 (4) 1.1概述 (4) 1.2功能 (4) 2 硬件电路 (5) 2.1总体设计方 (5) 2.2单片机最小系统 (5) 2.3红外遥控收发电路 (5) 2.3.1 红外遥控发射电路 (6) 2.3.2 红外遥控接收电路 (7) 2.4蜂鸣器电路 (7) 2.5 LED指示灯电路 (8) 3软件编程 (9) 3.1 C语言实现系统设计 (9) 3.2乐谱的改编 (10) 参考文献 (11) 附录 (12)

单片机如何通过捕获来实现对红外遥控器解码

单片机如何通过捕获来实现对红外遥控器解码 一、内容提要 上讲介绍并应用了单片机动态扫描驱动数码管,并给出了实例。这一讲将重点介绍单片机如何通过捕获来实现对红外遥控器解码。通过该讲,读者可以掌握红外遥控器的编码原理以及如何通过单片机对遥控器进行解码。 二、原理简介 随着家用电器、视听产品的普及,红外线遥控器已被广泛使用在各种类型的家电产品上(如遥控开关、智能开关等)。其具有体积小、抗干扰能力强、功耗低、功能强、成本低等特点,在工业设备中也得到广泛应用。 一般而言,一个通用的红外遥控系统由发射和接收两大部分组成,如图1 所示: 图1 红外遥控系统框图 其中发射部分主要包括键盘矩阵、编码调制、红外发射管;接收部分包括光、电信号的转换以及放大、解调、解码电路。举例来说,通常我们家电遥控器信号的发射,就是将相应按键所对应的控制指令和系统码(由0 和1 组成的序列),调制在32~56kHz 范围内的载波上,然后经放大、驱动红外发射管将信号发射出去。此外,现在流行的控制方法是应用编/ 解码专用集成电路芯片来实现(如下文提到的SAA3010 红外编码芯片和HS0038 红外接收头)。 不同公司的遥控芯片,采用的遥控码格式也不一样。在此介绍目前广泛使用较普遍的两种,一种是NEC Protocol 的PWM(脉冲宽度调制)标准,一种是Philips RC-5 Protocol 的PPM(脉冲位置调制)标准。 NEC 标准:遥控载波的频率为38kHz(占空比为1:3);当某个按键按下时,系统首先发射一个完整的全码,然后经延时再发射一系列简码,直到按键松开即停止发射。简码重复为延时108ms,即两个引导脉冲上升沿之间的间隔都是108ms。一个完整的全码如图2所示。

基于51单片机的红外遥控

基于51单片机的红外遥控 红外遥控就是无线遥控的一种方式,本文讲述的红外遥控,采用STC89C52单片机,1838红外接收头与38k红外遥控器。 1838红外接收头: 红外遥控器: 原理: 红外接收的原理我不赘述,百度文库上不少,我推荐个网址,这篇文章写得比较清楚,也比较全面, 我主要讲下程序的具体意思,在了解原理的基础上,我们知道,当我们在遥控器上每按下一个键,遥控器上的红外发射头都会发出一个32位的编码(32位编码分成4组8位二进制编码,前16位为用户码与用户反码,后16位为数据码与数据反码,用户码表示遥控器类型,数据码表示按键编码),不同的键对应不同的编码,红外接收头接收到这个编码后,发送给单片机,再进行相关操作。 源程序1:(这个程序的功能就是将用户码与用户反码,数据码与数据反码显示在1602液晶上,因为遥控器买回来就是不会说明按键对应什么码值,所以先自己测试,确定每个按 键的码值) #include #include #include #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; }

基于单片机的红外测距系统设计 - 副本

北京联合大学应用科技学院 实训报告 基于单片机的红外测距系统设计 系别电子 专业电子信息工程技术 年级12级02班 组长:张祎楠2012191294068 组员:殷跃2012191294070 白雨童2012191294063

目录 第1章绪论 (1) 1.1 本课题研究的目的 (1) 1.2 本课题研究的内容 (1) 13整个红外测距系统显示 (4) 第2章红外测距的软件设计 (5) 后记 (6)

第1章绪论 1.3 本课题研究的目的 我们所进行的课题便是做一个简易的,精确的,近距离的距离检测仪,这也是对我们所学知识的一种考验方法,从中我们可以更系统的认识单片机,了解AD转换和红外收发模块。 1.4 本课题研究的内容 红外传感器的测距基本原理为:红外发射电路的红外发光管发出红外光,红外接收电路的光敏接收管接收发射光,根据发射光的强弱判断出所测的距离。由于接收管接收的光强度是随着发光管与测量物的距离变化而变化的,因而,与测量物的距离近则接收光强,距离远则接收光弱。 具体方法如图1所示,红外模块发出并接收到红外线信号;AD转换模块将接收到的模拟信号转换成数字信号再交给单片机, 启动单片机中断程序,此时单片机得到数字信号也就是电压值,再由软件进行判别、计算,得出距离数并送给LED/LCD显示。 红外模块 电压距离公式 AD模块 单片机 显示模块 图1.1 反射能量法原理

图3.7 protues中整体系统 单片机AT89C52左端分别接了时钟电路和复位电路,这是单片机最小的系统。XTAL1和XTAL2串连一个晶振,并且分别接上一个20p的电容,两个电容另一端都接地,构成时钟电路。RST同时接上100p电容,4脚按键,1k电阻,4脚按键另一端接上一个1k电阻再与100p电容并联接VCC,1k电阻另一端则接地,构成复位电路。 单片机AT89C52右端P0端同时接LED的D1-D7端口和排阻,P2.0接CLK,P2.1接DO,P2.2接CS,P2.5接E,P2.6接RW,P2.7接RS。 MCP3001的VREF接vcc,IN+接红外距离传感器的Vo。 软件程序 #include #include #define uchar unsigned char #define uint unsigned int

基于单片机的红外解码的设计

基于单片机的红外遥控器解码器的设计 时间:2011-05-17 22:25:18来源:电子元器件应用作者:李泽光TC9012F是一种通用型红外遥控信号发送用CMOS大规模集成电路,适用于电视(TV),磁带录像机(VTR),激光唱机等设备的遥控操作。市场上,以TC9012F为核心的9012型红外遥控器被广泛使用且价格便宜。将设计的基于单片机AT89C51的9012型红外遥控解码器应用于生产即时显示系统中,作为参数设置和系统控制用红外遥控器,在实际应用中收到了良好效果。 1 红外线遥控信号发送器电路 TC9012F的遥控信号 TC9012F为4位专用微控制器,其内部振荡电路的振荡频率fosc典型值为455 kHz。当不按下操作键时,其内部455 kHz的时钟振荡器停止工作,以减少电池消耗。内部分频电路将振荡频率,fosc进行12分频后,变成频率fc=37.9 kHz,占空比为1/3的脉冲载波信号。红外遥控信号发送器电路由集成电路TC9012F、键盘矩阵电路、驱动器和红外发光二极管组成,遥控信号为37.9 kHz的脉冲载波被遥控编码脉冲调制的已调波,如图1所示。 遥控编码脉冲由引导码、用户码、功能码和功能码的相反码组成,用户码是同一组码发送两次,如图2所示。用户码为8位,所以整个脉冲码为32位。引导码作为接收数据的准备脉冲,他由8TCP(4.5 ms)的高电平和8TCP(4.5 ms)的低电平组成。用户码和功能码采用脉冲位置调制(PPM)方式编码,根据脉冲之间的时间间隔来区分码值的"0"或"1"。对应于二进制数字信号的"0"或"1",脉冲时间间隔分别为2TCP(1.125 ms)和4TCP(2.25 ms),而每一脉冲的宽度仍不变,均为TCP(0.562 6 ms)。由于用户码发送两次,功能码与其相反码一起发送,因此系统的误动作很少。 本遥控器采用第一次发送的遥控信号的编码脉冲(图3所示)和第二、第三次连续发送的遥控信号的编码脉冲(图4所示)不同的工作方式。这样,当按键一直按着的时候,从第二次连续发送开始,只发送引导码和用户码第一位SO的相反码SO,因此可减少接收处理时间和红外发光二极管功耗,遥控编码脉冲经脉冲载波调制后由TC9021F的第脚输出,再经激励器驱动红外发光二极管,发送出波长为940nm的脉冲红外光。假设用户码为十六进制的76H 则第一次发送的遥控信号的编码脉冲如图3所示。

相关主题
文本预览
相关文档 最新文档