1、河南农业大学本科生毕业论文题 目 红外学习型遥控器的设计 学 院 理学院 专业班级 08 级信安一班 学生姓名 陈晨 指导教师 贾树恒 撰写日期: 2012 年 5 月 22 日河南农业大学理学院本科毕业论文指导教师评语(主要评价论文的工作量、试验数据的可靠性、论文的主要内容与特点、写作水平等):论文的工作量:试验数据的可靠性:论文的主要内容与特点、写作水平:签 名:2012 年 5 月 22 日答辩委员会评语及论文成绩(主要评价论文的性质、难度、质量、综合训练、答辩情况、不足等。评定论文成绩):论文的性质、难度、质量:学生的综合训练、答辩情况、不足等:论文成绩:主任委员签名:2012 年 5
2、 月 28 日河南农业大学理学院本科毕业论文红外学习型遥控器的设计陈晨摘要随着社会的发展、科技的 进步以及人们生活水平的逐步提高,各种方便于生活的遥控系统开始进入了人们的生活。传统的遥控器采用 专用的遥控编码及解 码集成电路, 这种方法虽然制作简单、容易,但由于功能键数及功能受到特定的限制,只 实用于某一 专用电器产品的应用,应用范围受到限制。而采用单片机进行遥控系统的应用设计,具有 编程灵活多 样、操作 码个数可随便设定等优点。本设计以单片机为核心设计一种红外学习型遥控器,可以对基于 NEC 红外协议的红外线遥控器发射的信号进行识别、存储和再 现等功能,从而 实现对各类 家用电器的控制。红外
3、学习型遥控器由单片机、红外线接收、红外线发射、 显示、存储、按 键和电源等部分组成。 本设计详细介绍了红外学习型遥控器的软硬件设计方法,并 给出了具体的各单元电路设计 、程序 设计及主程序流程图。关键词:单片机;红外遥控;中断;学习型河南农业大学理学院本科毕业论文Design of IR Learning Remote ControlerCHEN ChenAbstractWith the development of our society and the gradual improvement of science and technology, various kinds of help
4、remote control systems have began to enter peoples life. The traditional remote controllers adopt special remote control code and decode integrated circuits, though this kind of method is simply and easily, it is only the practical application of some certain special electric equipments because of t
5、he counted functional keys is counted and the restricted function, so the range of application is limited. But the remote controllers which adopt the microprocessors have many advantages such as flexible operating and unceremonious manipulative keys.This is to design an intelligent infrared remote f
6、ocusing on single chip. It can distinguish, store and recurrence to signals that all kinds of infrared remote launched .Thereby, the control of all household electrical appliances can be realized. The intelligent infrared remote is made up of singe clip, infrared receiving, infrared launching, displ
7、aying, storing, keys, power supply, etc.This design introduced detailedly the soft and hard designing methods of intelligent infrared remote and gave the details of circuit design, procedure design and main procedure flow chart of every unit.Keywords: Single chip microcomputer; Infrared remote contr
8、ol; Interrupt; The learning河南农业大学理学院本科毕业论文I目录1 绪论 11.1 选题的意义 11.2 设计思想 .21.3 设计重点与难点 .22 硬件的选取 32.1 单片机 .32.1.1 简介 .32.1.2 主要功能特性 .32.1.3 引脚介绍 .42.1.4 STC89C52RC 单片机的工作模式 .62.1.5 定时器/计数器 62.2 电源 L7805 稳压器概述 .82.3 存储器 .92.3.1 AT24C02 串行 E2PROM 的概述 92.3.2 AT24C02 串行 E2PROM 的特性 92.4 红外接收头 .102.4.1 NB00
9、38 的概述 .102.4.2 NB0038 的特性 .103 系统组成设计 114 各单元电路设计 124.1 单片机最小系统 .124.1.1 复位电路 124.1.2 CPU 时钟电路 124.1.3 管脚应用 134.2 键盘电路 134.2.1 键盘与单片机的接口 .134.2.2 键连击现象的克服和处理 144.3 红外发射电路 .144.4 红外接收电路 .154.4.1 红外接收原理 154.5 存储器电路 .174.5.1 24C02 引脚说明 174.5.2 单片机与 24C02 的接口 174.6 指示灯电路 .174.7 电源电路 .185 程序设计 19河南农业大学理
10、学院本科毕业论文II5.1 主程序流程图 .195.2 键号判别程序设计 .205.3 红外接收程序设计 .215.4 红外发射程序设计 .226 程序源代码 236.1 按键扫描源码见附录 A 236.2 I2C 总线程序 236.2.1 位传输 .236.2.2 数据传输的字节格式 236.2.3 I2C 数据传输协议 .236.3 红外接收源码见附录 B 246.4 红外发射源码见附录 C 247 系统调试 257.1 软件调试 .257.2 硬件调试 .268 调试中遇到的问题和解决方法 298.1 硬件部分 298.1.1 单片机的选取 298.1.2 功能切换键的设置 298.1.
11、3 AT24C02 的焊接 298.2 软件部分 298.2.1 红外发射部分 .298.2.2 中断部分 .298.2.3 定时器 0 模式部分 .30结论 31参考文献 32附 录 A 33附 录 B 34附 录 C 36附 录 D 38附 录 E 39致谢 40河南农业大学理学院本科毕业论文11 绪论1.1 选题的意义上世纪八十年代初,日本率先在电视产品中使用了红外遥控技术,使用集成发射芯片来实现遥控码的发射,如东芝 TC9012,飞利浦 SAA3010 等,它的主要特点是:遥控器内预置固定编码,一只遥控器只能控制单一型号的电器。如图 1.1 所示:图 1.1 遥控单一种类电器的遥控器随
12、着电子技术的发展,家用电器越来越普遍,人们希望以一只遥控器遥控所有家用电器,多用遥控器产生了。它的主要特点是: 遥控器内预置多套编码,可供用户选择。如图 1.2 所示: 图 1.2 可遥控多种家用电器的遥控器如今,随着嵌入式的广泛应用,部分厂商推出了具备红外学习的遥控器,它的主要特点是:遥控器内置一个动态编码库,具备红外学习功能,可由用户自主录入编码 【1】 ,如图 1.3 所示: 图 1.3 具备学习功能的遥控器通过对具备红外学习功能的遥控器进行市场调查,本文发现:国内红外遥控编码学习技术虽比较成熟,但产品化程度较低,市场推广不够,主要原因在于设计者对用户需求的调查不够全面,以致产品不够实用
13、,性价比较低。为此,我们试着设计一种以 单片机为核心的智能型遥控器。河南农业大学理学院本科毕业论文21.2 设计思想本系统的设计思想是针对市面上流行的 NEC 红外协议,利用小型一体化接收头 NB0038 对红外遥控信号进行接收,再用单片机对红外信号进行解码,把解码结果存储到扩展存储区的指定地址。当要发射红外信号时,从扩展存储区中读出相应的红外遥控编码,调制到由单片机产生 38K 载波上,最后,通过三极管放大电路驱动红外发光二极管发射红外信号,达到学习和发射的目的,从而实现一个遥控器控制多种红外遥控设备。遥控器有两种工作状态:“学习”状态和“控制”状态,使用者可通过学习/控制复用键进行转换。当
14、使用者在学习状态下,红外线接收电路处于接收红外线信号状态下,当有红外信号并接收成功后,指示灯会闪烁。当按下一个控制键后,由 CPU 将解码信息存放到相应的存储单元中去,存储成功后指示灯会闪烁。当遥控器处于控制状态时,使用者每按下一个控制键,CPU 从指定的存储单元中读取遥控编码信号,然后进行信号调制,将调制信号经放大以后,由红外线发射二极管进行发射,从而实现对该键对应设备功能的控制。1.3 设计重点与难点系统组成的设计;各部分硬件的选取;单片机串行接口的键盘设计;红外线遥控器信号的接收、发射与调制解码软件的设计;流程图及程序的设计。河南农业大学理学院本科毕业论文32 硬件的选取2.1 单片机由
15、于此单片机应用在家用遥控器上,所以本设计选用了低功耗、低价格的 STC89C52RC 单片机,如图 2.1 所示。图 2.1 STC89C52RC 引脚图2.1.1 简介STC89C52RC 单片机是宏晶科技推出的新一代高速/低功耗 /超强抗干扰的单片机,指令代码完全兼容传统 8051 单片机,12 时钟/机器周期和 6 时钟/ 机器周期可以任意选择。2.1.2 主要功能特性(1) 增强型 8051 单片机,6 时钟/机器周期和 12 时钟/机器周期可以任意选择,指令代码完全兼容传统 8051。(2) 工作电压:5.5V3.3V(5V 单片机)/3.8V2.0V(3V 单片机) 。(3) 工作
16、频率范围:040MHz,相当于普通 8051 的 080MHz,实际工作频率可达 48MHz。(4) 用户应用程序空间为 8K 字节,片上集成 512 字节 RAM。(5) 通用 I/O 口(32 个) ,复位后为:P1/P2/P3/P4 是准双向口/弱上拉,P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。河南农业大学理学院本科毕业论文4(6) ISP(在系统可编程)/IAP(在应用可编程) ,无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片。(7) 具有 EEPROM 功能。(8)
17、 具有看门狗功能。(9) 共 3 个 16 位定时器/计数器。即定时器 T0、T1、T2。(10)外部中断 4 路,下降沿中断或低电平触发电路,Power Down 模式可由外部中断低电平触发中断方式唤醒。(11)通用异步串行口(UART) ,还可用定时器软件实现多个 UART。(12)工作温度范围:-40+85(工业级)/075(商业级) 。2.1.3 引脚介绍(1) VCC(40 引脚):电源电压。(2) VSS(20 引脚):接地。(3) P0 端口( P0.0P0.7,3932 引脚):P0 口是一个漏极开路的 8 位双向 I/O 口。作为输出端口,每个引脚能驱动 8 个 TTL 负载
18、,对端口 P0 写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0 口也可以提供低 8 位地址和 8 位数据的复用总线。此时,P0 口内部上拉电阻有效。在 Flash ROM 编程时,P0 端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。(4) P1 端口( P1.0P1.7,18 引脚):P1 口是一个带内部上拉电阻的 8 位双向 I/O 口。P1 的输出缓冲器可驱动(吸收或者输出电流方式)4 个 TTL 输入。对端口写入 1 时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1 口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引
19、脚会输出一个电流( ) 。此外,P1.0 和 P1.1 还可以作为定时器/计数器2 的外部技术输入(P1.0/T2)和定时器 /计数器 2 的触发输入( P1.1/T2EX) 。(5) P2 端口( P2.0P2.7,2128 引脚):P2 口是一个带内部上拉电阻的 8 位双向 I/O 端口。P2的输出缓冲器可以驱动(吸收或输出电流方式)4 个 TTL 输入。对端口写入 1 时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。P2 作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流( ) 。(6) P3 端口( P3.0P3.7,1017 引脚):P3 是一个
20、带内部上拉电阻的 8 位双向 I/O 端口。P3 的输出缓冲器可驱动(吸收或输出电流方式)4 个 TTL 输入。对端口写入 1 时,通过内部的上拉河南农业大学理学院本科毕业论文5电阻把端口拉到高电位,这时可用作输入口。P3 做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流( ) 。P3 口还用于实现各种第二功能,如下表所列:表 2.1 P3 口的第二功能引脚口 功能P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7RXD 串行输入端口TXD 串行输出端口INT0 外中断 0INT1 外中断 1T0 定时器 0 外部输入T1 定时器 1 外部输入WR 外
21、部数据存储器写选通RD 外部数据存储器读选通(7) RST(9 引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。看门狗计时完成后,RST 引脚输出 96 个晶振周期的高电平。特殊寄存器 AUXR(地址 8EH)上的 DISRTO 位可以使此功能无效。DISRTO 默认状态下,复位高电平有效。(8) ALE/ (30 引脚):地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低 8 位地址的输出脉冲。在 Flash 编程时,此引脚( )也用作编程输入脉冲。(9) (29 引脚):外部程序存储器选通信号( )是外部程序存储器选通信号。当AT89
22、C51RC 从外部程序存储器执行外部代码时, 在每个机器周期被激活两次,而访问外部数据存储器时, 将不被激活。(10) /VPP(31 引脚):访问外部程序存储器控制信号。为使能从 0000H 到 FFFFH 的外部程序存储器读取指令, 必须接 GND。注意加密方式 1 时, 将内部锁定位 RESET。为了执行内部程序指令, 应该接 VCC。在 Flash 编程期间, 也接收 12 伏 VPP 电压。(11) XTAL1(19 引脚):振荡器反相放大器和内部时钟发生电路的输入端。河南农业大学理学院本科毕业论文6(12) XTAL2(18 引脚):振荡器反相放大器的输入端。2.1.4 STC89
23、C52RC 单片机的工作模式(1) 掉电模式:典型功耗 j) j = 0 ;是否图 5.4 发射程序流程图河南农业大学理学院本科毕业论文226 程序源代码6.1 按键扫描源码见附录 A6.2 I2C 总线程序6.2.1 位传输I2C 总线每传送一位数据必须有一个时钟脉冲。被传送的数据在时钟 SCL 的高电平期间保持稳定,只有在 SCL 低电平期间才能够改变,在标准模式下,高低电平宽度必须不小于 4.7us。那么是不是所有 I2C 总线中的信号都必须符合上述的有效性呢?只有两个例外,就是开始和停止信号。开始信号:当 SCL 为高电平时,SDA 发生从高到低的跳变,就定义为开始信号。停止信号:当
24、SCL为高电平时,SDA 发生从低到高的跳变,就定义为结束信号。6.2.2 数据传输的字节格式SDA 传送数据是以字节为单位进行的。每个字节必须是 8 位,但是传输的字节数量不受限制,首先传送的是数据的最高位。每次传送一个字节完毕,必须接收到从机发出的一个应答位,才能开始下一个字节的传输。如果没有接受到应答位,主机则产生一个停止条件结束本次的传送。那么从机应该发出什么信号算是产生了应答呢?这个过程是这样的。当主器件传送一个字节后,在第 9个 SCL 时钟内置高 SDA 线,而从器件的响应信号将 SDA 拉低,从而给出一个应答位。6.2.3 I2C 数据传输协议I2C 总线的数据传输协议如下:(
25、1)主器件发出开始信号。(2)主器件发出第一个字节,用来选通相应的从器件。其中前 7 位为地址码,第 8 位为方向位(R/W) 。方向位为 “0”表示发送,方向位为“1”表示接受。(3)从机产生应答信号,进入下一个传送周期,如果从器件没有给出应答信号,此时主器件产生一个结束信号使得传送结束,传送数据无效。(4)接下来主、从器件正式进行数据的传送,这时在 I2C 总线上每次传送的数据字节数不限,但每一个字节必须为 8 位(传送的时候先送高位,再送低位) 。当一个字节传送完毕时,再发送一个应答位(第 9 位) ,如上一条所述,这样每次传送一个字节都需要 9 个时钟脉冲 【5】 。河南农业大学理学院
26、本科毕业论文236.3 红外接收源码见附录 B6.4 红外发射源码见附录 C河南农业大学理学院本科毕业论文247 系统调试单片机系统经过总体设计,完成了硬件和软件设计开发。通过软件和硬件相结合系统即可运行。但编制好的程序或焊接好的线路不能按预计的那样正常工作是常见的事,经常会出现一些硬件、软件上的错误,这是软件和硬件开发者经常遇见的,这就需要通过调试来发现错误并加以改正。调试可分为硬件调试和软件调试。本设计系统的已经在 PC 机上用模拟开发软件进行了检测和调试,并运行成功,最后进行实物图的硬件组装与调试,这样就给开发者提供了方便 【6】 。7.1 软件调试本设计是在 Proteus 软件和 Keil 软件相结合调试的,完全用仿真软件在 PC 机上对目标电路原理图和程序进行检测和调试。本次软件模拟用另一个单片机模拟一体化红外接收头,而红外发射电路采用虚拟逻辑分析仪捕获的方式查看。图 7.1 为用 Proteus 软件仿真电路图。图 7.1 软件模拟电路图经过多次修改程序最后调试出来了理想的效果,图 7.2 为模拟红外接收头接收的红外信号,图 7.3 为遥控器学习后,按下某个按键发射的红外信号。