基于单片机的红外遥控发送系统的设计实现.docx
- 文档编号:6549051
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:17
- 大小:393.36KB
基于单片机的红外遥控发送系统的设计实现.docx
《基于单片机的红外遥控发送系统的设计实现.docx》由会员分享,可在线阅读,更多相关《基于单片机的红外遥控发送系统的设计实现.docx(17页珍藏版)》请在冰豆网上搜索。
基于单片机的红外遥控发送系统的设计实现
基于单片机的红外遥控发送系统的设计实现
姓名:
2
指导老师:
刘馨
2014.12.12
基于单片机的红外遥控发送系统的设计实现
摘要
随着科学技术的发展,单片机因其高可靠性和高性价比,在智能化家用电器、仪器仪表等诸多领域内得到了极为广泛的应用。
当前单片机对家用电器控制呈现出外型简单化、功能多样化、性能优越化的发展趋向。
红外遥控器具用使用方便、功耗低、抗干扰能力强的特点,因此它的应用前景是不可估量。
本课题以延伸红外无线遥控技术为目的,提出了一种红外遥控器集中控制的方案,核心是设计出一个无线红外多发射/接收系统。
本设计以红外线作为传递信息的载体,可对8个受控对象的工作状态进行短距离无线控制,适用于工业、医疗、家用电器等设备的开启或关闭遥控,也可以对一种设备的八种工作状态同步进行控制,或对2种设备的4种工作状态同时控制。
该系统可实现的具体参数如下:
1.遥控距离不小于5m,即红外遥控发射机与红外接收机之间的距离不小于5m;2.遥控路数为8路,即可对8个受控设备同时进行开关控制;
3.工作频率为38KHz,即红外发射和接收的载频为38KHz;
4.接收端显示受控状态
一、课题任务与要求
1.设计题目:
基于单片机为核心的红外遥控发送系统的设计实现
2.任务与要求:
1)设计一个以单片机为核心的红外遥控发送系统。
2)发射载频:
38KHz,电源:
9V/0.2A,5V/0.1A。
3)工作温度:
-40度--+85度
4)接收范围:
2m,传输速率:
27bit/s,反应时间:
2ms.
二、系统概述
2.1设计要求
2.1.1整个控制系统的设计要求
1、被控设备的控制实时反映,从接收信号到信号处理与对设备控制反映时间应小于1s;
2、整个系统的抗干扰能力强,防止误动作;
3、整个系统的安装、操作简单,维护方便;
4、总体成本低。
2.1.2红外载波、编码电路设计要求
1、精确产生38KHz红外载波;
2、根据控制系统要求能对红外控制指令信号精确编码并迅速发送。
2.2.1方案论证
(一)单片机控制器模块
方案一:
采用目前比较通用的51系列单片机。
此单片机的运算能力强,软件编程灵活,自由度大,市场上比较多见价格便宜且技术比较成熟容易实现。
方案二:
采用凌阳16位单片机SPCE061A作为控制核心。
与51单片机相比,SPCE061A具有更加丰富的资源,有32个可编程的I/O口,14个中断源。
但考虑到本设计没有用到如此多资源且价格贵,市场比较少见,技术不稳定。
综合分析考虑,选择方案一。
(二)38KHz载波实现
利用载波对信号进行调制从而减少信号传输过程中的光波干扰,提高数据传输效率。
方案一:
单片机T0定时产生38KHz载波
电路原理:
STC89C52RC定时器T0产生周期性的26.3us的矩形脉冲,即每隔13us,定时器T0产生中断输出一个相反的信号使输出端产生周期的38KHz脉冲信号。
计算公式如2-1所示,脉冲图如图2-1所示。
方案二:
硬件晶振电路产生38KHz载波
电路分析:
晶振Y1,电容C1、C2、U1A、R2、R3组成38KHz载波振荡电路,MC14011是逻辑与非门。
U1B对38KHz的振荡信号取反,同时隔离前后级的信号干扰。
如图2-2所示。
P11属于单片机P1口用于单片机对受控对象控制信号处理后的数据输出口,数据与38KHz信号与P11端数据逻辑或非门输出,完成信号的调制。
图2-2脉冲产生的硬件电路图
方案三:
利用逻辑芯片CD4011构成多谐振荡器产生38kHz的载波信
号,芯片如下图:
利用该芯片和单片机相连构成多谐振荡器产生38kHz的载波信
号,方便简单,电路易实现,信号准确,精度高.
对于产生38KHz脉冲信号的实现方案进行比较选择,软件实现经济,但编程麻烦,方案二硬件复杂,不利实现,经济上也不太合算。
因而采用方案三,电路简单,经济适用,便于控制,精度还高。
(三)显示电路
因要求简单,只需要实现0到9的数字显示,采用一个共阳数码管显示即可
(四)编码电路:
采用专用的集成编码芯片MC145026
采用专用的集成编码芯片MC145026进行编码操作,方便简单,经济适用,便于实现,且与逻辑芯片CD4011良好连接,便于编码的实现
2.2.2总体设计框图
经过上述方案的分析选择,得出系统硬件由以下几部分组成:
红外数据发射电路,键盘电路,编码调制,数码管显示.
整体设计思路为:
根据扫描到不同的按键值转至相对应的ROM表读取数据。
确认设备与菜单选择键后单片机将从ROM读取出来的值,按照数据处理要求从控制端口输出控制脉冲与逻辑芯片CD4011产生的38KHz的载波(周期是26.3us)进行调制,经NPN三极管对信号放大驱动红外发光管将控制信号发送出去。
同时利用单片机控制数码管显示发送的值.
图2-3电路设计整体框图
.3.1实用性
本系统具有实时性、灵活性、稳定性、以与多功能同时控制等优点,方便用户对多个设备进行控制。
2.3.2经济可行性
对于有多个红外遥控家电的用户来说,可通过识别已存储在ROM中的信号,实现以现有的单一红外信号,同时对任意红外遥控家用电器进行控制,由于节约了实现控制功能的多个遥控硬件,从而减少了用户的投资。
2.3.3技术可行性
单片机对数据进行处理,定时器产生38KHz的载波对红外信号调制,采用一体红外接收头对红外信号放大、解码、电平转换
三.单元电路设计与分析
序号
元器件
型号
数量
1
单片机
STC89C51(带座)
1
2
电平转换
MAX232(带座)
1
3
编码芯片
MC145026(带座)
1
4
逻辑芯片
CD4011(带座)
1
4
共阳数码管(单)(带座或单排插孔两组)
1
5
芯片插座
DIP40,DIP14,DIP16
DIP40,DIP14各1个;DIP16,2个
6
九针串口插座(母)(弯)(单排插孔一组)
1
7
九脚排阻
10K
1
8
小按键
9
9
晶振
12MHZ
1
10
电位器
203
1
11
三极管
9013
2
12
发光二极管
1
13
红外发射头
1
14
电阻
1K
10
10K
1
51K
1
100K
1
160K
1
4.7K
1
200
1
15
电容
电解电容10
1
磁片30P
2
磁片104
6
磁片103
1
磁片681
1
16
万用板
S-2(独立焊盘)
1
17
导线、焊锡
细
若干
1发射机部分元器件清单表:
2单片机单元电路
STC89C52RC单片机
STC89C52RC系列单片机是有超强抗干扰、高速、低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟机器周期和6时钟机器周期可任意选择,最新的D版本内部集成MAX810专用复位电路。
TC89C52RC芯片内部有一高增益反相放大器,用于构成振荡器.反相放大器的输入端为XTAL1,输出端为XTAL2。
在XTAL1、XTAL2(第19、18引脚)两端跨接一个石英晶体振荡器,和两个电容就构成了稳定自激谐振电路。
晶振频率为11.0592MHz。
C12,C13是两个瓷片电容,与晶振Y2构成了自激谐振电路。
其电容的作用主要是对频率进行微调,一般取30-45PF左右。
使用该电路可产生稳定的11.0592MHZ频率,受外界的环境的干扰影响非常小。
其接法如图3-2所示:
图3-2晶振电路
复位是单片机初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元执行程序。
除了进入系统的正常初始化之外,当程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复位键重新启动。
复位操作有上电自动复位和按键手动复位两种方式。
本设计采用了按键手动复位方式。
该复位电路如图3-3所示。
复位电路采用了按键与上电复位。
上电与按键均可以有效复位。
上电瞬间RST引脚获得高电平,单片机复位电路随着电容的C11的充电,RST引脚的高电平逐渐下降。
RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。
按键复位是直接将高电平通过电阻R11、R10分压到达RESET引脚,实现复位操作
图3-3复位电路图
系统总图:
2电平转换电路
单片机要实现与电脑相接需要下载电路,即为电平转换电路,通过该电路可是实现程序下载
如下图:
3键盘电路
电路图:
8个键盘分别于单片机P2.0-P2.7口相接,分别代表8个输入状态(0,1,2,3,4,6,7,8),同时将P2口状态保存于单片机,以实现转换
4显示电路
电路图:
数码管通过与单片机相连,通过单片机内部程序的转换,显示发送的数字
5编码发射电路
电路图:
将指令脉冲编码信号调制在载波振荡器产生的载波上(也称脉码调制),然后用这脉码调制信号去驱动红外发光二极管,以发出经过调制的红外光波,红外编码原理:
通常,红外遥控器将遥控信号(二进制脉冲码)调制在38KHz的载波上,经缓冲放大后送至红外发光二极管,转化为红外信号发射出去。
二进制脉冲码的形式有多种,其中最为常用的是PWM码(脉冲宽度调制码)和PPM码(脉冲位置调制码)。
前者以宽脉冲表示1,窄脉冲表示0。
后者脉冲宽度一样,但是码位的宽度不一样,码位宽的代表1,码位窄的代表0。
脉宽为0.56ms、间隔0.565ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.56ms、间隔1.69ms、周期为2.25ms的组合表示二进制的“1”
将要发送的指令脉冲编码信号调制在38KHz的载波上,可以增加信号的抗干扰能力,提高信号传输效率。
信号调制时序如3-9所示。
图3-9信号调制图
。
程序说明:
程序总框图:
总程序
#include
#include"intrins.h"//_nop_();延时函数用
#defineucharunsignedchar
#defineuintunsignedint
sbitTE=P0^4;
ucharxianzhi,fazhi,jianzhi;
ucharcodedis[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
voidchajian(void)
{
uchari=0;
P2=0xff;
_nop_();
if(P2!
=0xff)//有键按下
{
i=P2;//存键值
while(P2!
=0xff)//等待键释放
{
P2=0xff;
_nop_();
}
jianzhi=i;//键值转移
}
}
voidtiaozheng(void)//使其适合显示与发送
{
switch(jianzhi)
{
case0xfe:
{xianzhi=dis[1];fazhi=0x11;break;}
case0xfd:
{xianzhi=dis[2];fazhi=0x12;break;}
case0xfb:
{xianzhi=dis[3];fazhi=0x13;break;}
case0xf7:
{xianzhi=dis[4];fazhi=0x14;break;}
case0xef:
{xianzhi=dis[5];fazhi=0x15;break;}
case0xdf:
{xianzhi=dis[6];fazhi=0x16;break;}
case0xbf:
{xianzhi=dis[7];fazhi=0x17;break;}
case0x7f:
{xianzhi=dis[8];fazhi=0x18;break;}
default:
{break;}
}
}
voiddelay(uintz)
{
uintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
voidfashe(void)
{
P0=fazhi;
delay(5);
TE=0;//控制发射
delay(5);
TE=1;
}
voidmain()主程序
{
while
(1)
{
chajian();
tiaozheng();
fashe();
P1=xianzhi;
}
}
四、安装调试与测量数据分析
1硬件安装步骤:
按顺序一个模块一个模块的设计,即模块化设计
a先安装单片机最小模块,最重要的控制模块,按电路图逐个在万用板上搭好电路
记录现象:
当该模块完成后,给单片机供电(5v),用示波器观察单片机30引脚,出现规律的方波,证明该模块正常工作,可以进行下一步
出现问题:
按图中接好电路后,不产生正常方波
解决方案:
先是认真的检查了电路有没有短路,断路的部位,用万用表逐个排查,没有出现问题,然后证明是器件的问题,器件容易坏的只有晶振和单片机,换了一块晶振还不好使,再换了一块单片机,方波正常出现。
b安装电平转换模块,这部分模块安装比较顺利,通过串口能够实现单片机与电脑之间的通信。
c键盘模块,此模块比较简单,关键是检查键盘的接法,键盘有四个引脚,有的是直接相连,有的断开,需要事先用万用表检查
d显示模块,用三极管驱动数码管,关键是识别数码管的引脚,电路也较简单,一次性成功
e编码模块,首先逻辑芯片CD4011构成多谐振荡器产生38kHz的载波信,安装
完改芯片外围电路后,需要用示波器检查该芯片的11引脚,是否产生38KHz
方波,实验中较顺利,一次性成功。
2软件调试
a先检验显示部分的正常运行,编程给各P1口低电平,看对应的数码管段是否被点亮,经调试都成功。
b检验键盘部分程序,即调整键盘与发射还有显示之间的对应,每按一个键,对应数码管显示一个数值,并发射一个值
程序如下:
vvoidtiaozheng(void)//使其适合显示与发送
v{
vswitch(jianzhi)
v{
vcase0xfe:
{xianzhi=0xf9;fazhi=0x11;break;}
vcase0xfd:
{xianzhi=0xa4;fazhi=0x12;break;}
vcase0xfb:
{xianzhi=0xb0;fazhi=0x13;break;}
vcase0xf7:
{xianzhi=0x99;fazhi=0x14;break;}
vcase0xef:
{xianzhi=0x92;fazhi=0x15;break;}
vcase0xdf:
{xianzhi=0x82;fazhi=0x16;break;}
vcase0xbf:
{xianzhi=0xf8;fazhi=0x17;break;}
vcase0x7f:
{xianzhi=0x80;fazhi=0x18;break;}
vdefault:
{break;}
v}
v}
记录现象:
按键
数码管显示
状态
S1
1
正常
S2
2
正常
S3
3
正常
S4
4
正常
S5
5
正常
S6
6
正常
S7
7
正常
S8
8
正常
由结果分析,电路正常。
C主程序调试
主程序:
记录结果
按键
发送数码管显示
接收数码管显示
接收端流水灯显示
红外发射管状态
S1
1
1
1灯亮
亮
S2
2
2
2灯亮
亮
S3
3
3
3灯亮
亮
S4
4
4
4灯亮
亮
S5
5
5
5灯亮
亮
S6
6
6
6灯亮
亮
S7
7
7
7灯亮
亮
S8
8
8
8灯亮
亮
发射与接收是的波形:
3测量仪器
实验室电源,数字万用表,数学示波器,
六.结束语
通过这实验的锻炼使我薄弱的动手的能力有所提高,提高了我排查解决系统问题的能力。
以往对于这些问题总是难以理清头绪,经过这次的锻炼后,我学会了对分模块的检测的方法,从而来对系统调试。
并加深了对模数转换的理解。
同时我也认识到自己所学专业的应用前景,增强了我的信心。
感谢指导老师对我们的指导,感谢各位战友对我的帮助,使我能顺利完成这次实验、使我在这次实验中有所进步。
附录:
参考文献:
1、《实用电子系统设计基础》姜威北京理工大学
2、《数字电子技术基础》阎石高等教育出版社
3.《电子线路设计实验测试》罗杰,谢自美,电子工业出版社
4.《单片机实验与应用系统设计》范蟠果,国防工业出版社
5.芯片资料
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 红外 遥控 发送 系统 设计 实现