文档介绍:黑龙江科技学院
(计算机与信息工程学院)
单片机课程设计
(本科生)
学生姓名高红班级计03—1班学号 25
设计题目红外遥控器的设计
指导教师姓名孔庆臣
成绩
红外遥控器的设计
本设计是单键学习型遥控器,它是其他遥控器的基础。可以利用它模拟任何遥控器的某个键的功能,通过对单键学习性遥控器的设计可以在控制领域有很广泛的应用。利用单键学习型遥控器可以学习任何遥控器的某个按键功能。单键学习型遥控器采用最小化应用模式设计,电路简单,可靠性高,尤其是通过大量不同遥控码的特征分析,在遥控码的读入时选择了最佳采样频率,使遥控码的学习成功率大大提高。单键学习型遥控器的设计性能与软件的编写具有密切的关系,特别是码宽计数的采样周期及计数器采用16位还是8位,都关系到能否识别起始位及遥控码采样精度问题,所以码宽计数的采样周期等在编程时须经多次实验测试后才能决定。本设计中读码采样周期为21μs。
此技术可应用于多媒体教室、家庭集中控制器、工业控制器等很多领域的控制设备。对单键遥控器的研究,能使得对遥控器的研究简单化,对控制领域的方展有重要的意义。使用时先按一下K,待绿色指示灯亮后,用遥控器对准红外接收头,按某个功能按键,当绿灯灭且红灯亮时说明学习完成,按发射键即可进行遥控。
系统硬件电路设计:
图(a)为单键学习型遥控器的电原理图,,,绿灯亮代表学习状态。,闪烁时表示遥控码正在发射之中。处在学习状态,绿灯灭表示码已读入。第9脚为单片机的复位脚,采用简单的RC上电复位电路;12脚为中断输入口,用于工作方式的转换控制,当脚为低电平时,系统进入学习状态;14脚用于红外线接收头的输出信号输入;15脚作为遥控码的输出口,用于输出40kHz的遥控码;18、19脚接12MHz晶振。由于采用最小化应用系统,控制线(片外取指控制)、ALE(地址锁存控制)不用,(片外存储器选择)接高电平,使低8KB的E2PROM地址(0000H~1FFFH)指向片内。
图(a) 单键学习型遥控器电路原理图
软件设计:
初始化程序
⑴初始化程序内容包括P0、P1、P3口置位,P2口清零,清08H~6EH共103个工作寄存器,设置堆栈基址(70H),设置计数器计数模式、控制字,开外中断允许等。
⑵遥控码读入处理程序
遥控码读入处理程序可以完成遥控码起始位的识别、脉宽计数功能,完成遥控码编码位的宽度计数功能,完成结束位的认别功能,其流程图如图(b)所示。本程序模块在编程设计中非常重要,通过大量的不同种类的遥控码小型实验测试分析,遥控码的帧间歇位宽度均在10ms以上,起始位码宽度在100μs~20ms之间,编码位在100μs~5ms之间。
为确保所有遥控器学习的成功,采用以下设计方法:
寻找起始位方法:用16位DPTR计数器对高电平进行宽度计数,计数采样周期为21μs;当高电平结束时,如高8位计数器为非零,(255
×21μs),接下来的低电平码就是起始位,否则重新开始。
读起始位方法:采用16位DPTR对低电平宽度计数(),当高电平跳变时结束计数,并将DPTR的高位、低8位分别存入R4、R5寄存器。
读遥控编码的方法:采用DPTR低8位计数器对(高电平或低电平)进行宽度计数,电平跳变时结束计数,并将值存入规定的地址;在高电平码计数时,如DPTR高8位计数器为非零(),则判定为结束帧间隔位,在相应存储单元写入数据#00H作为结束标志。
中断开始
学习状态
读码准备
起始位?
存起始位
存编码位
结束位?
中断退出
N
Y
N
Y
图(b)遥控码读入处理程序流程图
⑶遥控码发送处理程序
遥控码发送处理程序利用计数器计数中断功能,实现40kHz载波的发送,利用接收时接收的低电平位时间,控制载波的发送时间。
⑷主程序
主程序在上电初始化后进行端口按键扫描,当确认有键按下时,将编码发出去,其流程图如图(c)所示。
开始
初始化
键盘扫描
键按下?
编码发送
N
Y
图(c) 主程序流程图
⑸延时程序
延时程序主要用于读键时消抖。
⑴最大学习码长:206 b;
⑵学习码识别范围:起始位:21μs~,编码位:21μs~;
⑶读码误差:±21μs;
⑷帧间歇位识别范围;,。
单键学习型遥控器的设计性能与软件的编写具有密切的关系,特别是码宽计数的采样周期及计数器采用16位还是8位,都关系到能否识别起始位及遥控码采样精度问题,所以码宽计数的采样周期等