红外遥控器的设计用单片机制作通用性电视遥控器_第1页
红外遥控器的设计用单片机制作通用性电视遥控器_第2页
红外遥控器的设计用单片机制作通用性电视遥控器_第3页
红外遥控器的设计用单片机制作通用性电视遥控器_第4页
红外遥控器的设计用单片机制作通用性电视遥控器_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、天津城建大学课程设计任务书2013 2014 学年第 1 学期 控制与机械工程学院 电气工程及其自动化 专业 2 班级 课程设计名称: 单片机原理及应用 A 设计题目: 用单片机制作通用型电视遥控器 完成期限:自 2014年 1 月 6 日至2014 年 1 月 10日共 1 周设计依据、要求及主要内容: 一程设计的目的1 进一步熟悉和掌握单片机的结构及工作原理。2 掌握单片机的接口技术及相关外围芯片的外特性,控制方法。3 通过课程设计,掌握以单片机核心的电路设计的基本方法和技术。4 通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。5 通过完成一个包括电路设计和程序开发的完整过程

2、,了解开发一单片机应用系统的全过 程,为今后从事相应打下基础。二课程设计的基本要求1. 认真认识设计的意义,掌握设计工作程序,学会使用工具书和技术参考资料,并培养科 学的设计思想和良好的设计作风。2. 提高模型建立和设计能力,学会应用相关设计资料进行设计计算的方法。3. 提高独立分析、解决问题的能力,逐步增强实际应用训练。4. 课程设计的说明书要求简洁、通顺,计算正确,图纸表达内容完整、清楚、规范。5. 课程设计说明书封面格式要求见天津城市建设学院课程设计教学工作规范附表 1三课程设计具体要求a) 要求每位同学独立完成设计任务。b) 原理图设计。1 原理图设计要符合项目的工作原理,连线要正确。

3、2 图中所使用的元器件要合理选用,电阻,电容等器件的参数要正确标明。3 原理图要完整, CPU,外围器件,扩器接口,输入 / 输出装置要一应俱全。c) 程序调计1 根据要求,将总体项能分解成若干个子功能模块,每个功能模块完成一个特定的功能。2 根据总体要求及分解的功能模块,确定各功能模块之间的关系,设直出完整的程序流程 图。d) 设计说明书1 原理图设计说明 简要说明设计目的,原理图中所使用的元器件功能及在图中的作用,各器件的工作过程及顺序。2 程序设计说明 对程序设计总体功能及结构进行说明,对各子模块的功能以及各子模块之间的关系作较详细 的描述。3 画出工作原理图,程序流程图如并给出相应的程

4、序清单。四 设计任务用 MCS-51系列单片机 AT89C52代替专用遥控芯片的设计方案,通过软件模拟实现了电视 机遥控编码的发射,并且达到“一器多用”指导教师(签字):系主任(签字):批准日期:2014 年 1 月 10 日目录一、绪论 0二、功能要求和设计原理 12.1 功能要求 12.2 遥控器发射设计原理 1三、遥控发射器硬件电路及其组成 23.1 遥控发射器硬件电路图 23.2 键盘电路 33.2.1 键输入原理 33.2.2 按键结构与特点 33.2.3 按键编码 33.3 空闲节电模式 43.3.1 掉电模式 43.3.2红外线发射管和指示灯 4四、系统软件的设计 54.1 系统

5、软件的总体流程图 54.2 初始化程序和主程序流程 64.3 键盘扫描程序 74.3.1 键盘的工作方式 74.3.2 矩阵键盘具体按键的确定 84.4 红外编码设计 84.5 遥控码的发射流程图 8五、小 结 11绪论在现在社会及家庭的各种家用电器产品和娱乐设施中,一般都采用红外线遥控技术。红外遥控器电路 调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作,而且红外遥控编解码容易,还可 以进行多路遥控。目前红外线遥控技术已经在电视机中得到了广泛的应用。 电视机遥控器使用的是专用集成发射芯片来 实现遥控器的发射,如东芝 TC9012,飞利浦 SAA3010T等。这些芯片价格贵,且互

6、相之间采用的遥控格式 互不兼容,所以各机型遥控器通常只能针对各自的遥控对象而无法通用。本设计利用低成本的MCS-51 系列来实现遥控器的模拟发射,并实现遥控器的通用化。功能要求和设计原理2.1 功能要求通用红外遥控系统由发射和接收两大部分组成,发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调电路和解码电路。遥控信号发射装置通过将某个按键所对应的控制 指令调制在 38KHz范围内的载波上,然后经放大、驱动红外发射管将信号发射出去。遥控接收头通过对遥 控信号的放大、检波、整形、解调出遥控编码脉冲。图 1 红外遥控系统总体框图本设计采用 MCS-51系列单片机 A

7、T89C52代替专用遥控发射芯片,通过软件模拟实现了电视机遥控编 码的发射,具有编程灵活多样,操作码个数可随意设定等优点,并且可以达到“一器多用” 。2.2 遥控器发射设计原理 目前市场上一般设备系统采用专用的遥控编码芯片,制作比较简单容易,但由于功能键数及功能受到 特定的限制,只适合用于某一专用电器产品的应用,应用范围受到限制。而采用单片机进行遥控系统的应 用设计,具有编程灵活多样,操作码个数可随意设定等优点。图 2 遥控发射器总体结构图三、遥控发射器硬件电路及其组成3.1 遥控发射器硬件电路图遥控发射器电路主要由下面几部分组成: AT89C52 单片机,低功率损耗电路,红外线发射电路以及由

8、 P0 口和 P2口搭成 88 按键矩阵。当无键按下时,单片机处于低功耗空闲状态。当有键按下时,产生的外 中断请求信号 (低电平有效 ) 经八输入与非门和非门后送至 P3.2 端,使 CPU进入中断处理,同时点亮按键 指示灯。系统产生的遥控编码信号通过 P3.5 端发出,经放大后驱动发射管发射出去。图 3 遥控器硬件电路总图3.2 键盘电路3.2.1 键输入原理 在单片机应用系统中,除了复位按键有专门的复位电路及专一的复位功能外,其它按键都是以开关状 态来设置控制功能或输入数据的。当所设置的功能键或数字键按下时,应用系统应完成该按键所设定的功 能,键信息输入是与软件结构密切相关的过程。对于一组

9、键或一个键盘, 总有一个接口电路与 CPU相连。 CPU可以采用查询或中断方式了解有无按键 输入,并检查是哪一个键按下,将该键号送入累加器ACC,然后通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。3.2.2 按键结构与特点 机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有定时间的触点机械抖动,然 后其触点才稳定下来。抖动时间的长短与开关的机械特性有关,一般为5 10ms。在触点抖动期间检测按键的通与断状态,可能导致判断出错,即按键一次按下或释放被错误地认为是 多次操作, 这种情况是不允许出现的。 为了克服按键触点机械抖动所致的检测误判, 必须采取去抖动措施。 这一点可从

10、硬件、软件西方面予以考虑。在键数较少时,可采用硬件去抖,而当模数较多时,采用软件去 抖。3.2.3 按键编码 一组按键或键盘都要通过 I/O 口线查询技键的开关状态。根据键盘结构的不同,采用不同的编码。无 论有无编码,以及采用什么编码、最后都要转换成为与累加器中数值相对应的键值,以实现按键功能程序 的跳转。3.3 空闲节电模式在空闲工作模式状态, CPU自身处于睡眠状态而所有的外设仍保持激活状态,这种方式由软件产生。 此时将片内 RAM和所有特殊功能寄存器的内容冻结。空闲模式可有任何允许的中断请求和硬件复位终止。由硬件复位终止空闲状态只需要两个机器周期有效复位信号,在此状态下,片内硬件禁止访问

11、内部 RAM,但可以访问端口引脚,当复位终止空闲方式时,为避免可能对端口和外部存储器产生意外写入,激 活空闲模式的那条指令后一条指令不应是一条对端口或外部存储器的写入指令。3.3.1 掉电模式在掉电模式下,震荡器停止工作。进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结,去除掉电模式的唯一办法是硬件复位。复位后将重新定义全部 特殊功能寄存器,但不改变 RAM中的内容。在 VCC恢复到正常工作电平前,复位无效,且保持一定的时间 以使振荡器重启动并稳定工作。在这里遥控器采用空闲节电方式。当系统进入空闲工作方式,内部时钟电路不向CPU提供,而只供给中断

12、 串行口和定时器部分。遥控器退出低功耗空闲方式电路由 T060 与非门来实现。当有键按下时,单片 机退出空闲状态,进入键盘和红外发射程序,结束后又进入低功耗空闲方式待机。使用过程中单片机基本 上都处于空闲工作方式,功耗相当低,从而为电池电源提供保障。3.3.2 红外线发射管和指示灯 红外发光二极管能发出波长为 940nm 的红外光,其结构、工艺、原理与一般的发光二极管相同,只是 所采用的半导体材料不同,具有体积小、寿命长、耐振动、响应速度快、耗电小等优点。在这里遥控编码 信息由 AT89C52单片机的定时器 1调制成 38kHz红外载波信号,由 P3.5 输出,经过三极管 9013 放大,由

13、红外发射管发射。按键的操作指示灯使用一个LED发光二级管即可。四、系统软件的设计 软件的设计,需要准确无误的实现遥控器的控制功能,希望能够使系统具有高的可靠性能、快的反应 速度、以及较低的系统功率损耗。控制功能主要包括:系统的初始化程序、键盘扫描程序、红外线的编码 程序以及发射程序等。4.1系统软件的总体流程图图 4 系统的总程序流程图4.2初始化程序和主程序流程图 5 初始化程序流程图调用初始化程序调用键盘程序进入低空耗空闲方式是硬件退出低空耗空闲方式图 6 主程序流程图4.3 键盘扫描程序4.3.1 键盘的工作方式在单片机应用系统中,键盘扫描是系统工作内容之一。CPU对键盘的响应取决于键盘

14、的工作方式,键盘的工作方式应根据实际应用系统中CPU的工作状况而定,其选取的原则是既要保证CPU能及时响应按键操作,又不要过多占用 CPU的工作时间。通常,键盘的工作方式有三种,即编程扫描、定时扫描和中断扫 描。采用前两种键盘扫描方式时,无论是否按键,CPU都要定时扫描键盘而遥控器在工作时,并非经常需要键盘输入,因此, CPU经常处于空扫描状态。而且对于电视机的遥控器,当有按键按下时,需要做出 立即的反应。同时为了提高 CPU工作效率,可采用中断扫描工作方式。其工作过程如下;当无键按下时, CPU处理自己的工作,当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。其工作原理用

15、上面的 4*4 键盘矩阵来进行说明。 图 7 是一种简易键盘接口电路,该键盘是由 89C52 门口的高、低字节构成的 44 键盘。键盘的列线与门口的高 4 位相连,键盘的行线与门口的低 4 位相连, 因此, P14P17 是键输出线, P1.0P1.3 是扫描输入线。图中的 4输入与门用于产生按键中断,其输 入端与各列线相连, 再通过上拉电阻接至 +5v 电源,输出端接至 8051 的外部中断输入端口。 具体工作如下: 当键盘无键按下时, 与门各输入端均为高电平, 保持输出端为高电平; 当有键按下时, 其端口端为低电平, 向 CPU申请中断,若 CPU开放外部中断,则会响应中断请求,转去执行键

16、盘扫描子程序。4.3.2 矩阵键盘具体按键的确定 要确定具体是键盘的哪一个按键按下,使用线性反转法。 第一步:将行线编程为输入线,列线编程为输出线,并使输出线为全 0 电平,则行线中电平由高到低 变化所在的行为按键所在的行。第二步:同第一步完全相反,将行线编程为输出线,列线编程为输入线,并使输出线为全0 电平,则列线中电平由高到低变化所在的列为按键所在的列矩阵形式由扫描线和数据线构成。两组线分别接AT89C52的两个输端口。控制器通过软件把扫描线写成 0,接受线写成 1 。按下一键即将响应的扫描线和接收线接通,于是接受线被拉成低电平。8 条接受线逻辑相与之后的统一信号作为AT89C52 的一个

17、外部中断输入,这样有键按下时就将引起中断。中断服务程序对所按的键进行鉴别。如果是多个键同时按下则不做任何反应,若是单键按下,则将信 息转换成响应的输出。通常,当无键按下且无其他任务时,微控制器处于空闲状态。当矩阵有键按下,则产生中断,从而结 束空闲状态。中断服务程序首先调用一段延时程序(10ms20ms左右),等待键的抖动消失,然后才对所按的键进行处理。首先接收线的现状态被存入内部的寄存器中,若是单一键按下,则接收线除一位外其余各位均为1,此后向接受线写 0,扫描线写 1,并随之读扫描线,若是单一键按下,则扫描线除一位外其余各位均为1,根据两组线中零的位置即可确定按下的是哪一个键,若矩阵中同时

18、有多个键按下,则每组线中0 的个数不止一个。SCAN 扫描程序可以确定每组线中那一个为零, 是否有多个零等。 再调用此程序前,应将所读组线的数 据存入一个可按位寻址的片内 RAM单元。自这段程序返回时, ZERO_CNT单元中包含有 LINE 单元中 0 的个 数。若只有一位为 0,则 0 的位置保存在 ZERO_BIT单元中。按键所引起的中断有如下的中断服务程序:4.4 红外编码设计 遥控器之间的本质区别就在于编码的不同。不同的编码,其发射和接受的原理不同。常用的编码格式 有脉冲编码和脉宽编码。这里采用脉冲个数进行编码。采用脉冲个数进行编码, 不同的脉冲个数代表不同的码, 最小为两个脉冲,

19、依次递加, 为了接受可靠, 第一位码宽为 3ms,其余为 1ms,遥控码数据桢之间的间隔大于 10ms, 当某个操作键按下时单片机先读出键 值,然后再根据键值设定遥控码的脉冲个数,再调制成38KHZ的方波发射出去4.5遥控码的发射流程图图 10 遥控码发射流程图编码的格式比较多,其相对应的发射格式也比较多,但其原理都是一样的。在这里画出脉冲个数编码的发 射流程图。在用脉冲个数进行中,不同的脉冲个数代表不同的码。最小为两个脉冲,依次递加,为了接受 可靠,第一位码宽为 3ms,其余为 1ms。直至按键所对应的脉冲个数发射完毕为止。#include #include#define uchar unsigned char#define uint unsigned int/*#define out P2引脚定义 *#define outk P1函数申明 *void delayms(uint); uchar scan(void);共阳数码管编码表 */uchar seg=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;*/void main(void) uchar key; while(1) key=scan();if(key!=16)out=segkey;/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论