基于51单片机的红外遥控课程设计Word下载.docx
《基于51单片机的红外遥控课程设计Word下载.docx》由会员分享,可在线阅读,更多相关《基于51单片机的红外遥控课程设计Word下载.docx(24页珍藏版)》请在冰豆网上搜索。
![基于51单片机的红外遥控课程设计Word下载.docx](https://file1.bdocx.com/fileroot1/2022-10/22/563e77c3-fdde-4c51-a463-1a6476d23668/563e77c3-fdde-4c51-a463-1a6476d236681.gif)
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容量大,节能环保(可多次利用),但体积大。
钮扣电池CR2032价格低廉、替换容易、体积轻巧。
基于红外遥控器的便携性考虑,我们采用方案一。
2.1.4红外发射管
3mm红外发射管
5mm红外发射管
方案一与方案二的区别在于直径越大发射管发射距离更远、信号稳定。
鉴于发射距离,我们采用5mm红外发射管。
红外接收模块部分
2.1.5电源电路
线性电源AMS1117。
AMS1117系列。
开关电源LM2576。
AMS1117系列含有可调(ADJ)与固定输出两种。
AMS1117具有性价比高、体积小、外部电路简单、输出电流大(800mA)、最大输入电压达16V等特点。
其固定输出AMS1117-5.0甚至可以在仅加一个SS14二极管的情况下稳定工作,但为了增强其稳定性,我们在其输出输入端各加一个10uF电解电容。
LM2576系列开关,稳压集成电路是线性三端稳压器件的替代品,它具有可靠的工作性能,较高的工作效率,和较强的输出电流驱动能力,从而可为单片机的稳定可靠工作提供强有力的保证。
虽然LM2576性能极佳,但在本系统对于体积、外部电路、性价比的要求上进行衡量。
我决定采用AMS1117-5.0作为供电系统。
二、方案设计
(图2.2.a红外遥控器部分)
(图2.2.b红外接收模块部分)
第三章硬件设计
一、红外遥控器
单片机由CR2032钮扣电池供电。
STC11L04E对矩阵键盘进行按键扫描,并将按键状态进行信源编码、信道编码,载波后由红外发射管向外发射信号。
(图3.1.a)
二、红外接收模块部分
单片机电源由AMS1117-5.0芯片供电。
STC89C52将一体化红外接收器传来的信号进行解调,并输出显示至数码管。
第四章软件设计
一、红外遥控器软件设计
(图4.1.a主函数)
(图4.1.b发送一串数据)
(图4.1.c定时器0中断)
(图4.1.d发送一字节)
二、红外接收模块软件设计
(略)
三、程序代码
(见附录一)
第五章测试及分析
测试量
参数
传输距离
误码率
第六章结论
一、电子技术
1.增强型51单片机如STC11、12、15系列单片机的实际运行速度为传统51单片机的8~12倍。
在将程序从传统51单片机移植至增强型51单片机时,时序上只需将延时常数乘以8~12倍,调试可得最佳延时常数。
2.按键扫描程序应添加延时函数以消除按键抖动。
3.常见红外遥控器使的协议有:
ITTprotocol、NECprotocol、NokiaNRC17protocol、Sharpprotocol等。
4.由于共射放大电路输出的波形与输入信号波形相反、一体化红外接收头输出信号波形与输入波形又相反,故由单片机调制后输出的波形信号应与红外接收头输出信号波形相同,即采用负脉冲载波。
5.不同延时函数的延时效果不一样,有些延时函数的延时时长与形参成正比,有些呈对数关系。
6.单片机时钟频率与晶振频率、谐振电容、晶振引脚长度有关。
12M的晶振可选22~30pF的电容,30M的晶振可选30~33pF电容,24M的晶振可选20~22pF的电容。
7.画PCB的时候要选合适的封装。
不应0603封装的电容误选1206的封装。
8.调试程序时序可以借助示波器、软件的Debug功能。
二、心得体会
1.在这次合作设计中,加强了我们团队配合能力。
2.培养了我们胆大,心细,谨慎的工作作风。
3.养成了敢于发现问题,解决问题的习惯
4.在调试过程中,要多利用万用表、示波器等电子仪器。
第七章参考文献
[1]《HT6122.pdf》NEC著
[2]《全面了解红外遥控》SanBergmans著
[3]《STC11L04E.pdf》宏晶科技著
[4]《例说51单片机(C语言版)(第3版)》张义和著
[5]《模拟电子技术基础(第四版)》华成英.童诗白著
[6]《AltiumDesigner原理图与PCB设计》穆秀春著
[7]《通信原理》樊昌信著
[8]《通信原理》周烔槃著
附录一(程序代码):
红外遥控器程序
/*----------------------ItemDescription-----------------------------------
-ProjectName:
IR_Remote/基于单片机的红外遥控课程设计
-Files:
-Description:
本设计基于单片机的红外遥控,具有稳定可靠、指令、
地址可自定义、控制距离远等特点。
-IDE:
KeiluVision4
-Author:
Mason别名:
小菜
-EmailAddress:
1609099954@
-CreateDate:
2013/6/7
-Performance:
Finished
--------------------------------------------
-RevisionHistory
-No.DateRevisedbyItemDescription
-
-------------------------------------------------------------------------*/
/*----------------------------Head---------------------------------------*/
#include<
reg52.H>
#include"
keyboard3_3.H"
IR_Tran.H"
/*----------------------------GrobalVariable----------------------------*/
charcmd=0,lastcmd=0,ctemp;
/*----------------------------Code---------------------------------------*/
voidmain()
{
IRtimer_Init();
while
(1)
{
ctemp=scankeyboard3_3();
if(ctemp!
=NULL)cmd=ctemp;
if(cmd!
=lastcmd){
IR_send(cmd);
lastcmd=cmd;
}
}
}
/*----HeadDescription----
-FileName:
IR_Tran.H
-CreateDate:
#ifndef_IR_TRAN_H_
#define_IR_TRAN_H_
MICRO.H"
voidIRtimer_Init(void);
//定时器初使化
voidIR_Pulse(void);
//频率为精准38k方波(截波)
voidIR_send(charcmd);
//发送指令
#endif
/*----FileDescription----
IR_Tran.c
-Functions:
voidIRtimer_Init(void);
voidtimer0()interrupt1
voidIR_send(charcmd);
红外遥控的驱动程序,调节IR_Pulse函数中的dt可将
程序从传统51单片机移殖至增强型(1T)51单片机。
更改iraddr的值可以改变遥控器的地址。
本设计的晶振采用12M,但实际中只有11.89M,因此为了
使遥控器反应更准确,需根据实际振荡频率调节
voidIR_Pulse(void)的延时环节,最终使用频率计测试.
-GlobalVariable:
None
-FilestaticVariable:
intrins.H"
/*----------------------------Micro---------------