本科生课程设计
题 目 名 称
基于 80C52+Proteus 仿真的学习型红外线遥控器设计
专
班
业
级
电气工程及其自动化
09 级电气本科一班
学 生 姓 名
马志垒 0612090544(25)
禹涛阳 0612090529(22)
雷心剑 0612090124(33)
刘 元 0612090426(38)
指 导 教 师
李娜
联 系 方 式
13938793620
2012 年 6 月
基于 80C52+Proteus 仿真的学习型红外线遥控器设计
摘要
目前,随着人民生活水平的提高,各种家用电器种类增加和无线遥控产品开始大量普
及,红外遥控器的使用频率也越来越高,针对国内红外遥控学习技术成熟,但产品化程度
相应较低的特点,本文自主设计一种具有红外学习功能的红外遥控器,借此促进红外遥控
学习技术在国内市场的产品化推广。
如今,带红外遥控的家用电器种类繁多,比如电视、空调、VCD 等,有些设备也常配
有红外装置,如汽车和摩托车的防盗报警设备、门窗遥控、汽车遥控。但是,由于各种红
外遥控编码格式不同,使得各种产品的遥控器并不能兼容,用户在使用过程中容易产生混
乱,这给人们的日常生活带来了诸多不便。针对目前市面上已有的学习型遥控器都只能对
一些特定的红外遥控编码进行学习的情况,本文介绍了一种基于单片机的学习型遥控器,
以 C51 系列单片机 AT89C52 为核心,配以一体化红外接收头 SM0038、存储器、还原调制与
红外发光管驱动电路,通过测量红外遥控信号的脉冲宽度来原封不动地保存红外遥控编码,
并直接利用单片机的定时器产生 38KHz 的载波信号,一体化红外接收头负责红外遥控信号
的解调, 将调制在 38 kHz 上的红外脉冲信号解调并反向后再输入到 AT89C52,实现了对
各种空调遥控器的自学习功能,而不需要其它电路或芯片来完成,节约了成本。该学习型
遥控器能成功地学习、记忆和再现各种红外遥控编码,从而实现了对多个红外遥控装置的
统一管理。测试结果表明,本编码压缩方法简化了编码信息,减少了存储空间,可以代替
各种遥控器,从而真正实现一器多用的效果。
关键词:自学习;红外遥控;单片机控制;红外载频和解码
1
目录
前言.................................................................................................................................................................................3
第一章 单片机课程设计概述 ..................................................................................................................................... 4
1.1 单片机课程设计的意义 .......................................................................................................................................... 4
1.2 单片机课程设计的内容、方法和手段 ..................................................................................................................4
1.2.1 Proteus软件简介.......................................................................................................................................... 4
1.2.2 Keil软件简介................................................................................................................................................ 7
第二章 项目要求.......................................................................................................................................................10
2.1 C51 单片机解码红外遥控器原理 .........................................................................................................................10
2.2 具体设计要求........................................................................................................................................................ 12
2.2.1 主要功能模块............................................................................................................................................... 12
第三章 系统设计.......................................................................................................................................................14
3.1 学习型遥控器相关知识 ........................................................................................................................................ 14
3.1.1 学习型遥控器概述....................................................................................................................................... 14
3.1.2 学习型遥控器的通信原理........................................................................................................................... 15
3.2 框图设计................................................................................................................................................................ 15
3.3 知识点.................................................................................................................................................................... 18
第四章 硬件设计.......................................................................................................................................................19
4.1 系统硬件电路设计 ................................................................................................................................................ 19
4.2 详细元件清单........................................................................................................................................................ 20
4.3 控制电路分析........................................................................................................................................................ 21
4.3.1 控制电路的主要电路单元........................................................................................................................... 22
第五章 软件设计.......................................................................................................................................................27
5.1 程序流程图 ............................................................................................................................................................ 27
5.2 程序清单................................................................................................................................................................ 27
第六章 系统仿真及调试........................................................................................................................................... 28
6.1 软硬件调试 ............................................................................................................................................................ 28
第七章 课程设计总结及体会 ................................................................................................................................... 29
7.1 课程设计总结........................................................................................................................................................ 29
7.2 心得体会................................................................................................................................................................ 29
参考文献:...................................................................................................................................................................30
附录 1:自学习型红外遥控器原理图(基于 PROTEUS 仿真):...............................................................................31
附录 1:单片机 C 源程序: .........................................................................................................................................32
2
前言
人们在日常生活中总要用到各种各样的红外遥控器。比如说电视机、空调、汽车、DVD、
车库防盗门等等,有些工作场所也需要用到各种红外设备,所以要经常更换遥控器,这样
会比较麻烦,给人带来很多不便。针对这些情况,市场上已经出现了学习型的红外遥控器,
不过,这种遥控器只能针对一些特定的遥控器进行学习,而这次我们所要介绍的这款红外
遥控器能够实现对各种红外遥控指令的学习,并且能够见其转发应用起来,从而实现一器
多用,给人们避免了一些不必要的麻烦。无线工控类产品学习型遥控器、拷贝型遥控器,
学习型遥控器具有学习功能,可以与学习型控制器自动对码,直接使用,不需要编码,省
去了配制遥控器的麻烦,买回去自动对码后就可以直接使用。当红外遥控器的某个按键按
下时,发射出一组串行二进制遥控编码脉冲。该脉冲由引导码、系统码、功能码和反码组
成,通过设置这些编码以及码长便可区分不同的红外遥控器。红外接收器负责红外信号的
接收和放大并解调出 TTL 电平信号送至微处理器进行处理,微处理器通过比较和识别接收
来的红外遥控编码便可执行相应的遥控功能。本系统的设计思想是不考虑红外编码方式,
仅利用单片机 AT89C52 对多个红外遥控编码的脉冲宽度进行测量,并原封不动地把发射信
号中高、低电平的时间宽度记忆至扩展存储区的指定地址。当要发射红外信号时,从扩展
存储区中还原出相应的红外遥控编码,并调制到 38kHz 的载波信号上,最后,通过三极管
放大电路驱动红外发光二极管发射红外信号,达到学习和发射的目的,从而实现一个遥控
器控制多种红外遥控设备。学习型遥控器是一款携带多功能并符合现代人追求简约生活理
念的新概念产品,它将各种普通遥控器常用按键进行精心提取后并融合为一体,通过独有
的智能控制技术,使用户能够同时轻松地操作电视、影碟、录像机、机顶盒、激光唱机以
及音响功放等各种视听类家用电器,从而实现了“一器在手,遥控天下”的梦想。
3
第一章 单片机课程设计概述
单片机原理与应用课程是一门理论性、实践性很强的专业技术基础课程,单片机课程
设计是单片机教学的重要组成部分,是培养单片机系统设计和开发能力的重要教学环节。
这一环节对掌握单片机技术在生产实践中的应用,对后续专业课程的学习及应用型、创造
性一线工程技术人才的造就将起到积极的促进作用。
1.1 单片机课程设计的意义
单片机课程设计是以课题或项目设计方式开展的一门课程,具有较强的综合性、实践
性,是将单片机原理与应用课程的理论知识转变为应用技术的重要教学环节。这一环不但
能加深对单片机原理的理解,而且还能培养学生的时间动手能力,开发学生的创新思维,
提高学生的分析、解决问题的能力。
1.2 单片机课程设计的内容、方法和手段
单片机课程设计的内容主要包括单片机系统电路设计与程序设计。
目前设计过程中容易造成原件和仪器仪表的损坏,而借助 Proteus 和 Keil 进行单片机
系统开发,可以节省设计成本,提高设计速度。
1.2.1
Proteus 软件简介
Proteus 软件是一个完整的嵌入式系统软件、硬件设计仿真平台,它包括原理图输入
系统 ISIS、带扩展的 Prospice 混合模型仿真器、动态元件库、高级图形分析模块和处理
器虚拟系统仿真模型 VSM。ISIS 是 Proteus 系统的中心,具有超强的控制原理图设计环境。
它是英国 Labcenter electronics 公司出版的 EDA 工具软件。它不仅具有其它 EDA 工具软
件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工
具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于
单片机开发应用的科技工作者的青睐。Proteus 是世界上著名的 EDA 工具(仿真软件),从
原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到 PCB 设计,真正实现了
从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB 设计软件和虚拟模型
仿 真 软 件 三 合 一 的 设 计 平 台 , 其 处 理 器 模 型 支 持 8051 、 HC11 、
PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086 和 MSP430 等,2010 年又增加了 Cortex
和 DSP 系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持 IAR、Keil
和 MPLAB 等多种编译器。
1、功能特点
4
Proteus 软件具有其它 EDA 工具软件(例:multisim)的特点。这些基本功能包括:
原理布图、PCB 自动或人工布线,SPICE 电路仿真,仿真处理器及其外围电路,并可以仿真
51 系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编
程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、
示波器等,Proteus 建立了完备的电子设计开发环境。
2、功能模块
(1)智能原理图设计(ISIS)
丰富的器件库:超过 27000 种元器件,可方便地创建新元件;
智能的器件搜索:通过模糊搜索可以快速定位所需要的器件;
智能化的连线功能:自动连线功能使连接导线简单快捷,大大缩短绘图时间;
支持总线结构:使用总线器件和总线布线使电路设计简明清晰;
可输出高质量图纸:通过个性化设置,可以生成印刷质量的 BMP 图纸,可以方便地供
WORD、POWERPOINT 等多种文档使用。
(2)完善的电路仿真功能(Prospice)
ProSPICE 混合仿真:基于工业标准 SPICE3F5,实现数字/模拟电路的混合仿真;
超
过 27000 个仿真器件:可以通过内部原型或使用厂家的 SPICE 文件自行设计仿真器件,
Labcenter 也在不断地发布新的仿真器件,还可导入第三方发布的仿真器件;多样的激励
源:包括直流、正弦、脉冲、分段线性脉冲、音频(使用 wav 文件)、指数信号、单频 FM、
数字时钟和码流,还支持文件形式的信号输入;丰富的虚拟仪器:13 种虚拟仪器,面板操
作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数
字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI 调试器、I2C 调试器等;生动
的仿真显示:用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动
态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动;高级图形仿真功
能(ASF):基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率
特性、传输特性、噪声、失真、傅立叶频谱分析等,还可以进行一致性分析。
(3)独特的单片机协同仿真功能(VSM)
支持主流的 CPU 类型:如 ARM7、8051/52、AVR、PIC10/12、PIC16、PIC18、PIC24、
dsPIC33、HC11、BasicStamp、8086、MSP430 等,CPU 类型随着版本升级还在继续增加,如
即将支持 CORTEX、DSP 处理
5
器;支持通用外设模型:如字符 LCD 模块、图形 LCD 模块、LED 点阵、LED 七段显示模块、
键盘/按键、直流/步进/伺服电机、RS232 虚拟终端、电子温度计等等,其 COMPIM(COM 口
物理接口模型)还可以使仿真电路通过 PC 机串口和外部电路实现双向异步串行通信;实时
仿真:支持 UART/USART/EUSARTs 仿真、中断仿真、SPI/I2C 仿真、MSSP 仿真、PSP 仿真、
RTC 仿真、ADC 仿真、CCP/ECCP 仿真;编译及调试:支持单片机汇编语言的编辑/编译/源
码级仿真,内带 8051、AVR、PIC 的汇编编译器,也可以与第三方集成编译环境(如 IAR、
Keil 和 Hitech)结合,进行高级语言的源码级仿真和调试。
(4)实用的 PCB 设计平台
原理图到 PCB 的快速通道: 原理图设计完成后,一键便可进入 ARES 的 PCB 设计环境,
实现从概念到产品的完整设计;先进的自动布局/布线功能:支持器件的自动/人工布局;
支持无网格自动布线或人工布线;支持引脚交换/门交换功能使 PCB 设计更为合理;完整的
PCB 设计功能:最多可设计 16 个铜箔层,2 个丝印层,4 个机械层(含板边),灵活的布线
策略供用户设置,自动设计规则检查,3D 可视化预览;多种输出格式的支持:可以输出多
种格式文件,包括 Gerber 文件的导入或导出,便利与其它 PCB 设计工具的互转(如 protel)
和 PCB 板的设计和加工。
3、资源丰富
(1)Proteus 可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器
件,有 30 多个元件库。
(2)Proteus 可提供的仿真仪表资源 :示波器、逻辑分析仪、虚拟终端、SPI 调试器、
I2C 调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪
器可以在一个电路中随意的调用。
(3)除了现实存在的仪器外,Proteus 还提供了一个图形显示功能,可以将线路上变
化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟
仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减
少了仪器对测量结果的影响。
(4)Proteus 可提供的调试手段 Proteus 提供了比较丰富的测试信号用于电路的测
试。这些测试信号包括模拟信号和数字信号。
4、电路仿真
在 Proteus 绘制好原理图后,调入已编译好的目标代码文件(.HEX),可以在 Proteus
6
的原理图中看到模拟的实物运行状态和过程。
Proteus 是单片机课堂教学的先进助手。
Proteus 不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象
化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效
果。
它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代
了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软
件调试、运行结果等。
课程设计、毕业设计是学生走向就业的重要实践环节。由于 Proteus 提供了实验室无
法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上
难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。
随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具
有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降
低工程制造的风险。相信在单片机开发应用中 Proteus 也能茯得愈来愈广泛的应用。
使用 Proteus 软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相
结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程
设计和全国大学生电子设计竞赛中,我们使用 Proteus 开发环境对学生进行培训,在不需
要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,
更容易提高。实践证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能
极大提高单片机系统设计效率。因此,Proteus 有较高的推广利用价值。
1.2.2
Keil 软件简介
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为 CPU
可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手
工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于 MCS-51 单片机的汇
编软件有早期的 A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用
高级语言开发,单片机的开发软件也在不断发展,Keil 软件是目前最流行开发 MCS-51 系
列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持 Keil 即可看出。Keil 提供
了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开
发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行 Keil 软件需要
7