1、XXXX 大学本科毕业设计基于 PIC 单片机的红外遥控设计学生姓名所 在 系专业名称班 级学 号指导教师XXX 大学教务处年 月1基于 PIC 单片机的红外遥控设计学生: 指导教师:内容提要:遥控器是现代电子控制系统的重要部件。可以利用无线电波、可见光、红外光、超声波作为传输介质远距离操控电子设备。由于其功耗低、可靠性高和互相干扰小等优点,已在现实生活中得到了广泛应用。在目前的家用电器中,如电视机、家庭影院和数字音像设备中,大多都采用了红外线遥控电路。而这套“基于 PIC 单片机的红外遥控设计”则是以 Microchip 公司生产的 16F877a 芯片为模版,价格低廉,电路结构简单,据此本
2、设计提出了一种简单易行的红外遥控器的设计。关键词:PIC 单片机 红外遥控 简单易行2PIC MCU-based infrared remote control designAbstract:The remote control of modern electronic control systems are an important component. Can make use of radio waves, visible light, infrared light, ultrasonic remote control as the transmission medium of elec
3、tronic equipment. Because of its low power consumption, high reliability, and interfere with each other the advantages of small, have been in real life has been widely applied. In the current household appliances such as televisions, home theater and digital audio-visual equipment, most of them have
4、 adopted the infrared remote control circuit. This set of “PIC-based single-chip design of the infrared remote control“ is based on Microchip produced chips for 16F877a template, cheap, simple circuit structure, whereby the design of a simple infrared remote control design. Key words:PIC Single-chip
5、 infrared remote control is simple3一、前言(一)开发的背景自从 1800 年英国天文学家赫歇尔发现红外辐射至今,红外技术的发展经历了将近两个世纪。从那时开始,红外辐射和红外元件、部件的科学研究逐步发展,但发展比较缓慢,直到 1940 年前后才真正出现现代的红外技术。随着科技的不断发展,各系统间的联系越来越紧密,对各系统间的数据传递的要求也越来越高,但是外部设备越多,连接用的线也越多,短距离联接的发展必然要走向无线联机,目前主要的短距离无线连接技术有红外通信技术和蓝牙技术,前者采用红外线,后者采用无线电波作为信息传播的媒介。红外无线通讯的技术与蓝牙相比较,红外
6、技术具有比较成熟,接口电路简单,成本低等诸多优点。红外遥控是通过红外设备将单片机与外部设备联系起来进行通讯,实现系统间的无线通讯。自从红外技术出现以来,美国、英国、前苏联等国竞相发展。特别是美国,大力研究红外技术在军事方面的应用。目前,美国将红外技术应用于单兵装备、装甲车辆、航空和航天的侦察监视、预警、跟踪以及武器制导等各个领域。 1993 年,由二十多个大厂商发起成立了红外数据协会(IrDA) ,统一了红外通讯的标准,这就是目前被广泛使用的 IrDA 红外数据通讯协议及规范。IrDA 专司制订和推进能共同使用的低成本红外数据互连标准,支持点对点的工作模式。由于标准的统一和应用的广泛,更多的公
7、司开始开发和生产 IrDA 模块,技术的进步也使得 IrDA 模块的集成越来越高,体积也越来越小。IrDA1.0 可支持最高115.2kbps 的通信速率,而 IrDA1.1 可以支持的通信速率达到 4Mbps。本课题是专业知识综合用于前沿科技的一个尝试,本人坚信此次研究和设计的成果具有一定的现实意义。(二)开发的目标本系统的基本任务和目标就是,通过红外发射电路的设计,实现单片机利用红外信号,通过发射电路与外界联系,实现对外的遥控控制,其中包含了输入设备红外键盘,和红外传感器的使用。借助软件部分的设计,实现系统的总体功能,红外遥控。总的说来,完成此设计主要有四个模块:发射及接收电路的设计;编码
8、及解码程序;4红外传感器的选取和使用;红外键盘的设计。(三)开发的思路设计基于单片机的红外遥控,我们要从发射接收电路,编码解码,传感器,红外键盘几个方向入手。在软件部分中,我们主要是先要画好系统原理图,还有明确系统各部分功能,发射接收电路的设计,编码及解码程序,在硬件部分中,主要是发射和接收电路的硬件设计,红外传感器的使用,以及红外键盘的设计。二、设计基础(一)PIC 单片机的介绍1PIC 单片机常识据统计,我国的单片机年容量已达 13 亿片,且每年以大约 16%的速度增长,但相对于世界市场我国的占有率还不到 1%。这说明单片机应用在我国才刚刚起步,有着广阔的前景。培养单片机应用人才,特别是在
9、工程技术人员中普及单片机知识有着重要的现实意义。当今单片机厂商琳琅满目,产品性能各异。针对具体情况,我们应选何种型号呢?首先,我们来弄清两个概念:集中指令集(CISC)和精简指令集(RISC) 。采用 CISC 结构的单片机数据线和指令线分时复用,即所谓冯.诺伊曼结构。它的指令丰富,功能较强,但取指令和取数据不能同时进行,速度受限,价格亦高。采用 RISC 结构的单片机数据线和指令线分离,即所谓哈佛结构。这使得取指令和取数据可同时进行,且由于一般指令线宽于数据线,使其指令较同类 CISC 单片机指令包含更多的处理信息,执行效率更高,速度亦更快。同时,这种单片机指令多为单字节,程序存储器的空间利
10、用率大大提高,有利于实现超小型化。属于 CISC 结构的单片机有 Intel8051 系列、Motorola 和 M68HC 系列、Atmel 的AT89 系列、台湾 Winbond(华邦)W78 系列、荷兰 Pilips 的 PCF80C51 系列等;属于 RISC 结构的有 Microchip 公司的 PIC 系列、Zilog 的 Z86 系列、Atmel 的AT90S 系列、韩国三星公司的 KS57C 系列 4 位单片机、台湾义隆的 EM-78 系列等。一般来说,控制关系较简单的小家电,可以采用 RISC 型单片机;控制关系较复杂的场合,如通讯产品、工业控制系统应采用 CISC 单片机。
11、不过,RISC 单片机的迅速完善,使其佼佼者在控制关系复杂的场合也毫不逊色。5根据程序存储方式的不同,单片机可分为 EPROM、OTP(一次可编程) 、QTP(掩膜)三种。我国一开始都采用 ROMless 型单片机(片内无 ROM,需片外配 EPROM) ,对单片机的普及起了很大作用,但这种强调接口的单片机无法广泛应用,甚至走入了误区。如单片机的应用一味强调接口,外接 I/O 及存储器,便失去了单片机的特色。目前单片机大都将程序存储体置于其内,给应用带来了极大的方便。2PIC 单片机的特点和工作原理(1)PIC 最大的特点是不搞单纯的功能堆积,而是从实际出发,重视产品的性能与价格比,靠发展多种
12、型号来满足不同层次的应用要求。就实际而言,不同的应用对单片机功能和资源的需求也是不同的。比如,一个摩托车的点火器需要一个 I/O 较少、RAM 及程序存储空间不大、可靠性较高的小型单片机,若采用 40脚且功能强大的单片机,投资大不说,使用起来也不方便。PIC 系列从低到高有几十个型号,可以满足各种需要。其中,PIC12C508 单片机仅有 8 个引脚,是世界上最小的单片机。(2)精简指令使其执行效率大为提高。PIC 系列 8 位 CMOS 单片机具有独特的RISC 结构,数据总线和指令总线分离的哈佛总线(Harvard)结构,使指令具有单字长的特性,且允许指令码的位数可多于 8 位的数据位数,
13、这与传统的采用CISC 结构的 8 位单片机相比,可以达到 2:1 的代码压缩,速度提高 4 倍。(3)产品上市零等待(Zero time to market) 。采用 PIC 的低价 OTP 型芯片,可使单片机在其应用程序开发完成后立刻使该产品上市。(4)PIC 有优越开发环境。OTP 单片机开发系统的实时性是一个重要的指标,象普通 51 单片机的开发系统大都采用高档型号仿真低档型号,其实时性不尽理想。PIC 在推出一款新型号的同时推出相应的仿真芯片,所有的开发系统由专用的仿真芯片支持,实时性非常好。就我个人的经验看,还没有出现过仿真结果与实际运行结果不同的情况。(5)其引脚具有防瞬态能力,
14、通过限流电阻可以接至 220V 交流电源,可直接与继电器控制电路相连,无须光电耦合器隔离,给应用带来极大方便。(6)彻底的保密性。PIC 以保密熔丝来保护代码,用户在烧入代码后熔断熔丝,别人再也无法读出,除非恢复熔丝。目前,PIC 采用熔丝深埋工艺,恢复熔丝的可能性极小。(7)自带看门狗定时器,可以用来提高程序运行的可靠性。6(8)睡眠和低功耗模式。虽然 PIC 在这方面已不能与新型的 TIMSP430 相比,但在大多数应用场合还是能满足需要的。3PIC 单片机的分类初档 8 位单片机:PIC12C5XXX16C5X 系列PIC16C5X 系列是最早在市场上得到发展的系列,因其价格较低,且有较
15、完善的开发手段,因此在国内应用最为广泛;而 PIC12C5XX 是世界第一个八脚低价位单片机可用于简单的智能控制等一些对单片机体积要求较高的地方,前景十分广阔。中档 8 位单片机:PIC12C6XX/PIC16CXXX 系列PIC 中档产品是 Microchip 近年来重点发展的系列产品,品种最为丰富,其性能比低档产品有所提高,增加了中断功能,指令周期可达到 200ns,带 AD,内部 E2PROM 数据存储器,双时钟工作,比较输出,捕捉输入,PWM 输出,I2C 和SPI 接口,异步串行通讯(USART) ,模拟电压比较器及 LCD 驱动等等,其封装从8 脚到 68 脚,可用于高、中、低档的
16、电子产品设计中,价格适中,广泛应用在各类电子产品中高档 8 位单片机:PIC17CXX 系列PIC17CXX 是适合高级复杂系统开发的系列产品,其性能在中档位单片机的基础上增加了硬件乘法器,指令周期可达成 160ns,它是目前世界上 8 位单片机中性价比最高的机种,可用于高、中档产品的开发,如马达控制(二)相关背景知识 116F877a 基本知识(1)16F877a 的基本架构单片机是中央处理单元(CPU),存储器(Memory) 及输入/输出单元三大部分组成。其中 CPU 可分为两部分,即算术逻辑单元(ALU)及控制单元(CU) ,CPU 通过总线(BUS) 执行程式码的 Fetch、Dec
17、ode、算术逻辑运算及读写时钟信号的控制。存储器单元提供存放程序与资料的空间,包含只读存储器(ROM)和随机存取存储器(RAM)。而输入/输出单元提供与外界周边设备或元件的管道 ,如图一所示。7图 1 单片机基本架构(2)PIC16F877a 的特性说明如下:采用高性能的 RISC CPU 核心8 位微电脑控制芯片8K14Flash 程序存储器5 组 I/O 端口(A,B,C,D,E)368Bytes 数据存储器及 256Bytes 的 EEPROM 数据存储器2 组 8 位定时器 TMR0,TMR2,及 1 组 16 位定时器 TMR1支持 14 个中断处理(3)PIC16F877a 单片机
18、核心架构PIC16F877a 单片机是 RISC 架构单片机,它所采用的 Harvard 结构和过去一般单片机所采用的 Von Neumann 结构最大的差异在于总线的改变,如图 2 所示。Von Neumann 结构是传统的单片机结构,程序存储器和数据存储器是在同一个存储体区块,存储器与 CPU 之间只使用单一总线,不论是对程序存储器或数据存储器作存取都是使用此总线,因此要完成一个指令通常必须依序使用总线,从指令的提取、解码、资料读取、执行到资料的写入,最后的结果是一个指令大都需要等待好几个周期才能完成。Harvard 结构改善了这样的缺点,主要是程序存储器和数据存储器使用不同的存储体区块,
19、而且也有各自独立的总线,这样的做法就大大改善了指令执行的频宽,两条总线可以同时工作,最大的优点是当一个指令在执行时,已经可以去抓下一个指令,因此对于运作的效率会有显著的提升。8图 2 Harvard 架构与 Von Neumann 架构比较(4)存储器基本知识 PIC16F877a 单片机共有 3 个存储器块,它们是程序存储器,数据存储器,EEPROM 数据存储器。程序存储器和数据存储器有它自己的总线,各自工作而不受对方影响。 PIC16F877a 有一个 13 位程序计数器它的寻址能力达 8K14 程序存储器空间,而且 PIC16F877a 的 Flash 存储器空间正好是 8K14,当寻址
20、超出上面可执行的地址范围时将导致回绕。复位向量在 0000h 中,而中断向量在 0004h 中。 数据存储器被分为 4 个体,它包括通用寄存器(GPR)和特殊功能寄存器(FSR),位 RP0,RP1 是块抉择位。RP1 RP0 STATUS6:5 =0 0 体 0=0 1 体 1=1 0 体 2=1 1 体 3每个块的范围达到 7Fh(128bit) ,每个块的较低位存储单元保存 SFRS,在SFRS 上面是 GPRS 作为静态 RAM 操作的。所有执行的块包括 SFR。一些经常使用的 SFRS 可以从一个体镜像到另一个体来减少代码和实现快速访问。 在实际应用编程中会经常使用到两个比较特殊的寄
21、存器:INDF 和 FSR。它们是实现间接寻址所必需的两个寄存器。位于 RAM 数据存储器的的最顶端、地址码最小的 INDF 寄存器,它虽有地址编码,但其实不是一个物理上的寄存器。间接寻址通过使用 INDF 寄存器而成为可能。任何使用 INDF 寄存器的指令其实是通过文件选择寄存器 FSR 来访问所指向的寄存器。在 PIC16F877a 中所采用的这种独特而巧妙的构想,可以使指令集得到很大程度的精简。 电源控制寄存器 PCON9电源控制寄存器的内容包括 2 个有效位,用其中一个来记录和区分是否发生了上电复位、外部引脚 输入低电平引起的人工复位、还是看门狗超时溢出复位。在本系统的设计中就会用到该
22、寄存器中的 位进行判断进入哪个程序模块。电源上电复位标志位=1 没有发生上电复位=0 发生了上电复位。当发生上电复位之后,应该用软件及时将其置 1,以便下次利用该比特来判断是否发生了电源上电复位。2.FLASH 程序存储器的背景知识存储器是任何计算机系统都不可缺少的一类重要的外围器件或部件。在计算机系统中应用的存储器有外部存储器(又叫辅助存储器)和内部存储器(又叫主存储器)之分。外部存储器有:磁带存储器(多用于大型计算机) 、软磁盘存储器、硬磁盘存储器、只读光盘存储器、可读写光盘存储器、卡式存储器(例如IC 卡)等;内部存储器目前都用半导体存储器。而常见的半导体存储器器件分为RAM、ROM 和
23、 NVRAM,而它们往下又细分为多个分支,FLASH 程序存储器就是 ROM中的一种,其内容断电后也不丢失,可反复檫写多次,并且容易实现在线檫写,其檫写速度基本同于 EEPROM,但是其制造成本更低、芯片面积更小。适应于不仅要求内容可以修改而掉电后又不丢失,而且又要求成本更低、存储容量更大的电器设备中。虽然 EEPROM 和 FLASH 存储器都可以多次电檫和电写,但 EEPROM 的读写次数要高的多。因此,FLASH 存储器适合用来烧写那些改动不太频繁的用户程序或参数,有利于降低单片机成本。PIC16F87X 单片机内部同时具备两种电檫和电写存储器,分别是用于存储数据的 EEPROM 和用于
24、固化用户程序的 FLASH,它们都能够在适合 PIC 单片机正常工作的 VDD 电压范围内实现读写操作。也就是说,单片机内部自带电荷泵升压电路,即使是烧写操作也不需要外加高电压。FLASH 程序存储器的读写操作是以14 位的单指令字节为单位进行的,对于其的写操作实际是对某一指定单元进行的“先檫除,后写入”的操作。对于程序存储器的读写操作允许进行“校验和”的计算,以便提高可靠性。烧写到 FLASH 程序存储器中的内容,不一定都是有效指令代码,也可以利用这个 14 位宽的存储器,存放一些固定参数等。当 CPU 执行到存放着这些无效指令代码的区域是,产生与执行空操作指令 NOP 同样的结果。但是对于 FLASH 程序存储器进行单个指令字节的写入操作,将会暂停其他指令的