EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
课程设计的目的: 学习如何使用单片机对红外遥控器进行解码,并实现利用遥控器对一些家电进行控制。(本来我们的项目是对PC机进行控制,虽然解码和单片机与计算机通信都解决了,但由于控制软件的问题,所以我们只好改做遥控调整时钟,虽然比较简单,而且作品没有什么实际意义,但我们的目的主要是学习单片机知识并与实践相结合起来从中获取一些体验和感受,也为我们今后的发展奠定了基础。) 设计思想: 红外遥控器的原理是将编好的代表二进制的代码以调制的形式加载到红外波上,然后通过红外发射和接收装置来实现对电器的遥控。其中 红外线遥控发射电路框图如下图:
6 k: |6 l8 B2 E: o0 \$ J 其中遥控码具有以下特征:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”。遥控器发出的红外信号如下图所示:
+ T9 d, q$ B, l8 T; N* v
引导码由9ms的低电平和4.5ms的低电平组成。接收到引导码时表示一祯数据的开始。引导码之后是地址码、地址码、数据码及数据反码地址码和数据码都为8位。 利用红外一体接收头接收遥控器发出的信号,因为红外一体接收头输出的信号已经是解调过后的高低电平信号,可直接输入单片机,通过单片机对接收到的信号进行解码并利用解好的红外遥控代码来实现对时钟调整的控制。 因为发射红外信号所用的是普通的电视遥控器所以该部分的电路图并不需要我们自己设计。我们要解决的主要是接收部分和数据传输部分的电如图。因为我们使用的是一体化红外接收头,所以接收部分的电路也相应的比较简单,见下图:
) m9 u* H- ^6 g2 T. d" l
时钟显示部分也比较简单,主要是七段数码管的的应用。将两个电路图结合后便有了下面的总图:
& H; n5 g) |5 O4 x) d. V 如何使用硬件单元: 我们的硬件单元相对来说比较简单。因为红外接收部分用的是一体化的原件,所以使用其来相对要简单些,只要注意元件如何使用就行了。 七段数码管的使用只要注意是共阴极的还是共阳极极,还有就是要注意加限流电阻,其他的就没有太大的问题了。 软件设计思想及流程: 程序使用到的I\O口主要有PD6(ICP1)、所有PA口、PB0~PB5。程序的关键部分是红外解码,而根据红外线发出的红外信号编码的规则可以看出,二进制码“0”和“1”最主要的区别在于脉冲时间的长短,所以根据判断脉冲时间便可以判断是一还是零。其流程如下: % i& p: O0 V2 E' ^& A1 ^% M9 R
1 H) f) \7 c; O9 }5 M! J
% c; S8 M: r3 y8 J6 [: e! l2 b
2 j9 F5 V" a% X) v4 V. Y# k b
0 b" @" v+ ~5 q
软件功能:程序主要分为红外接解码、时钟显示和时钟控制三个部分。红外解码部分利用了16位计数器的输入捕捉功能,以测量两个中断之间的时间来判断红外接收头接收到的编码是“1”还是“0”。时钟显示部分是利用timer0计时、比较匹配中断来实现。时钟控制是通过遥控器的P+、P-、V+、V-和静音键来控制十分的加减以及秒的归零。 系统测试过程及测试数据: 第一步:组装好硬件系统后,先解决红外遥控器的解码问题。先编写红外解码程序将解得的编码记录下来。 第二步:编写时钟显示程序,可以简单显示时、分、秒,并可以计时。 第三步:将红外解码程序和时钟显示程序结合起来,并可以用遥控器调整分和时显示。 设计所需全部资源: AVR mega16 course project实验板(所带的电源适配器、AVR仿真器) 100微法电解电容1个 56欧电阻一个,270欧电阻8个 红外一体接收头一个 电视机或DVD遥控机一只 七段数码管六个 成员分工及工作情况: 刘斌:主要负责程序的编写及调试、课程设计的答辩。 杨兴华:元器件的购买以及硬件的组装、答辩PPT的制作。 宋箭叶:课程设计论文的编写、网页的制作、系统设计报告总结的编写。
7 v, M. P! p- ^5 B( Q9 t |