基于单片机的红外遥控系统设计毕业论文_第1页
基于单片机的红外遥控系统设计毕业论文_第2页
基于单片机的红外遥控系统设计毕业论文_第3页
基于单片机的红外遥控系统设计毕业论文_第4页
基于单片机的红外遥控系统设计毕业论文_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、基于单片机的红外遥控系统设计摘要随着科技的发展以及人们生活水平的提高,各种遥控设备慢慢渗透到人们生活的方方面面,这些遥控设备极大的方便了人们的生活。传统的遥控器采用专用的编码和解码的集成电路芯片,这种电路虽然制作简单,但是用于其键数功能受到限制,只能用于某一特定的电器设备,因而其应用范围受到很大限制。而采用单片机进行设计的遥控系统,具有编程灵活多样、操作码个数可以随意设定等优点。本设计采用at89c52作为主控芯片,负责红外数据的解码和执行遥控操作;红外信号采用市场上现有的遥控器产生,它使用的编码芯片是hs6221,采用nec编码方式;一体化红外接收头hs0038负责红外信号的接收和反向、放大

2、等初步处理;为了更直观的观察红外遥控效果,本系统还增加了数码管来显示接收到的红外数据;使用28byj48型步进电机作为红外信号的最终操控的对象,利用遥控器发射不同的数值,实现对步进电机转速的控制。关键词:单片机;at89c52;红外遥控;步进电机microcontroller-based infrared remote control system designabstractwith the development of science and technology as well as improvement of living standards, a variety of remote

3、 control equipment slowly penetrated into every aspect of peoples lives, these remote control devices, great convenience to peoples lives. traditional remote control with a dedicated encoding and decoding integrated circuit chip, this circuit, although the production is simple, but for a number of k

4、ey capabilities may be limited, which can only be used for a particular electrical equipment, and thus its scope of application has been greatly restrictions. using the remote control system of the single-chip design, with a flexible programming, and operation code number can be set, etc.this design

5、 uses at89c52 as the main chip, decoding and execution of remote operation responsible for the infrared data; infrared signal using the remote control available on the market that had been produced, it uses the encoding chip hs6221 that using nec encoding; integrated infrared receiver head hs0038 re

6、sponsible for the initial processing of the infrared signal receiver and reverse amplification; more intuitive observation of infrared remote control effect, the system also adds a digital control to display the received infrared data; 28byj48 stepper motor is the final manipulation of the infrared

7、signal object, using the remote control to launch different values of the stepper motor speed control.key words: mcu; at89c52; infrared remote control; stepper motor目录第一章绪论11.1 红外遥控系统的简介11.2 红外遥控技术的发展11.3 红外遥控技术的特点11.4 红外遥控技术的发展前景11.5 课题的意义2第二章单片机的工作原理32.1 at89c52的简介32.2 at89c52的功能特性32.3 at89c52的引脚功

8、能32.4 单片机最小系统52.5 单片机的中断系统7第三章红外发射和接收基本原理103.1 红外发射系统的原理103.1.1 红外发射芯片hs6221113.1.2 红外信号的数据格式123.1.3 位定义133.2 红外信号解码的基本原理13第四章系统方案的硬件电路设计154.1设计思路154.2红外接收模块的设计154.3 步进电机模块的设计164.4 数据显示模块的设计19第五章程序设计225.1设计思路225.2 数据采集程序的设计225.3 数据提取程序的设计235.4 数码管显示程序的设计255.5 步进电机驱动程序的设计27第六章 硬件系统的实验296.1 实验一296.2 实

9、验二30第七章 总结33参考文献34附录a35附录b36附录c37致谢43第一章绪论1.1 红外遥控系统的简介红外遥控是利用红外技术实现两点间的近距离保密通信和信息转发。它一般由红外发射和接收系统两部分组成。发射系统对一个红外辐射源进行调制后发射红外信号,而接收系统用光学装置和红外探测器进行接收,这两部分就构成红外遥控通信系统。1.2 红外遥控技术的发展红外通信由来已久,但是进入90年代,这一通信技术又有新的发展,应用范围更加广泛。遥控器是一种用于远端控制机械的装置。现代的遥控器,主要是由专用集成电路板和用来产生不同信息的按钮所组成。1995年,一个由部件、计算机系统、外围设备和电信厂商组成的

10、大型集团红外数据协会(irda)就红外通信的一套标准达成一致。现在约有120 家以上的厂商支持红外通信标准。其中的许多厂商已推出符合红外通信标准并支持windows 95的产品。 此外,红外数据协会开发的这种新的无线通信标准还得到pc机产业的有力支持1。此外,红外通信的连通性已用在大多数新的便携式笔记本中,并成为一种最具成本效益和便于使用的无线通信技术而问鼎市场。1.3 红外遥控技术的特点由于红外遥控装置具有体积小、功耗低、成本低、编码/解码容易等诸多优点,因而在很多家用电器中得到广泛的应用。工业控制方面,在高压、辐射、有毒气体、粉尘等环境下采用红外遥控不仅安全可靠,而且可以有效地隔离电气干扰

11、。保密性强,息容量大,结构简单等特点,使红外通信技术既可以是室内使用,也可以在野外使用,由于它具有良好的方向性,所以适用于国防边界哨所与哨所在之间的保密通信,故国外军事通信机构历来重视这一技术的开发和应用。这一技术在军事隐蔽通信,特别是军事机密机构、边海防的端对端通信中将发挥出重要的作用。红外遥控器是一种非常容易买到且价格便宜的产品种类很多,但它们都是配合某种特定电子产品的,如各种电视机、vcd、空调器等。1.4 红外遥控技术的发展前景目前,符合红外通信标准要求的个人数字数据助理设备、笔记本计算机和打印机已推向市场,然而红外通信技术的潜力将通过个人通信系统(pcs)和全球移动通信系统(gsm)

12、网络的建立而充分显示出来。红外通信标准有可能使大量的主流计算机技术和产品遭淘汰,包括历史悠久的调制解调器。预计,执行红外通信标准即可将所有的局域网(lan)的数据率提高到10mb/s。 红外通信标准规定的发射功率很低,因此它自然是以电池为工作电源的标准。目前,惠普移动计算分公司正在开发内置式端口,所有拥有支持红外通信标准的笔记本计算机和手持式计算机的用户,可以把计算机放在电话机的旁边,遂行高速呼叫,可连通本地的因特网。由于电话机、手持式计算机和红外通信连接全都是数字式的,故不需要调制解调器2。 红外通信标准的广泛兼容性可为pc设计师和终端用户提供多种供选择的无电缆连接方式,如掌上计算机、笔记本

13、计算机、个人数字助理设备和桌面计算机之间的文件交换;在计算机装置之间传送数据以及控制电视、盒式录像机和其它设备等近距离传输领域有很大的发展空间和更广阔的前景。1.5 课题的意义目前市场上一般设备系统均采用专用的遥控编码及解码集成电路,具有制作简单等特点,但由于这些芯片价格较贵,功能键数及功能受到特定的限制,且相互之间采用的遥控编码格式互不兼容,所以各机型的遥控器通常只能针对各自的遥控对象而无法通用,只适用于某一专用电器产品的应用,应用范围受到限制。采用单片机进行遥控系统的应用设计,具有硬件接口简单方便,编程灵活多样,操作码个数可随意设定等优点。本设计目的就在于介绍软件解码研究的一般方法和红外遥

14、控器进行二次开发的应用技术。第二章单片机的工作原理2.1 at89c52的简介 at89c52是一个低电压,高性能cmos 8位单片机,片内含8k bytes的可反复擦写的flash只读程序存储器和256 bytes的随机存取数据存储器(ram),器件采用atmel公司的高密度、非易失性存储技术生产,兼容标准mcs-51指令系统,片内置通用8位中央处理器和flash存储单元,at89c52单片机在电子行业中有着广泛的应用2。2.2 at89c52的功能特性at89c52 提供以下标准功能:8字节flash闪速存储器,256字竹内部ram , 32个i/o口线,3个16 位定时计数器,一个6向量

15、两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,at89c52可降至ohz的静态逻辑操作,并支持两种软件可选的节电上作模式。空闲方式停止cpu 的工作,但允许ram,定时计数器串行通信口及中断系统继续工作。掉电方式保存ram 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。2.3 at89c52的引脚功能at89c52为8位通用微处理器,采用工业标准的c51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。功能包括对会聚主ic内部寄存器、数据ram及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号ir的

16、接收解码及与主板cpu通信等3。如图2.1,at89c52的主要管脚有:xtal1(19脚)和xtal2(18脚)为振荡器输入输出端口,外接12mhz晶振。rst/vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。vcc(40脚)和vss(20脚)为供电端口,分别接+5v电源的正负端。p0p3为可编程通用i/o脚,其功能用途由软件定义,在本设计中,p0端口(3239 脚)被定义为n1 功能控制端口,分别与n1的相应功能管脚相连接,13脚定义为ir输入端,10 脚和11脚定义为i2c总线控制端口,分别连接n1的sdas(18脚)和scls(19脚)端口,12脚、27脚及28脚定义为握手信

17、号功能端口,连接主板cpu的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。p0口:p0口是一组8位漏极开路型双向i/o口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个ttl逻辑门电路,对端口p0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在flash 编程时,p0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。p1口:p1是一个带内部上拉电阻的8位双向i/o 口, p1的输出缓冲级可驱动(吸收或输出电流)4个ttl逻辑门电路。对端

18、口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(iil)。与at89c51 不同之处是,p1.0和p1.1还可分别作为定时/计数器2的外部计数输入(p1.0/t2)和输入(p1.1/t2ex),flash编程和程序校验期间,p1接收低8位地址。p2口:p2是一个带有内部上拉电阻的8位双向i/o 口,p2的输出缓冲级可驱动(吸收或输出电流)4个ttl 逻辑门电路。对端口p2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一

19、个电流(iil)。在访问外部程序存储器或1位地址的外部数据存储器(例如执行movx dptr指令)时,p2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行movx ri指令)时,p2口输出p2锁存器的内容。flash编程或校验时,p2亦接收高位地址和一些控制信号4。p3口:p3口是一组带有内部上拉电阻的8位双向i/o口。p3口输出缓冲级可驱动(吸收或输出电流)4个ttl逻辑门电路。对p3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的p3口将用上拉电阻输出电流(iil)。 p3口除了作为一般的i/o口线外,更重要的用途是它的第二功能。p3口还接收一些用于f

20、lash闪速存储器编程和程序校验的控制信号。rst:复位输入。当振荡器工作时,rst引脚出现两个机器周期以上高电平将使单片机复位。ale/prog:当访问外部程序存储器或数据存储器时,ale(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ale仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ale脉冲。对flash存储器编程期间,该引脚还用于输入编程脉冲(prog)。如有必要,可通过对特殊功能寄存器(sfr)区中的8eh单元的d0位置位,可禁止ale操作。该位置位后,只有一条movx和movc指令才能将

21、ale激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ale禁止位无效。psen:程序储存允许(psen)输出是外部程序存储器的读选通信号,当at89c52 由外部程序存储器取指令(或数据)时,每个机器周期两次psen有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次psen信号。ea/vpp:外部访问允许。欲使cpu仅访问外部程序存储器(地址为0000hffffh),ea端必须保持低电平(接地)。需注意的是:如果加密位lb1被编程,复位时内部会锁存ea端状态。如ea端为高电平(接vcc端),cpu则执行内部程序存储器中的指令。13flash存储器编程时,该引脚加上+

22、12v的编程允许电源vpp,当然这必须是该器件是使用12v编程电压vpp。xtal1:振荡器反相放大器的及内部时钟发生器的输入端。xtal2:振荡器反相放大器的输出端。2.4 单片机最小系统单片机的最小系统包括单片机、电源、晶振电路、复位电路等几部分(如图2. 1)。1.晶振电路图2.1 单片机最小系统fig.2.1 the smallest single-chip system单片机的stal1和xtal2两引脚是片内振荡电路输入线,这两个段子用来外接石英晶体和微调电容,即用来连接单片机内部osc的定时反馈回路,如图2.1所示。石英晶振起振后,应能在txal2线上输出一个3v左右的正弦波,以

23、便是单片机内部的osc电路按石英晶振相同的频率自激震荡。通常,osc的输出时钟频率fosc为0.516mhz,典型值为12mhz或11.0592mhz。电容c3和c4可以帮助起振,一般在30pf左右,微调它们可以达到微调fosc的目的。2.复位电路为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为5v5%,即4.755.25v。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当vcc超过4.75v低于5.25v以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。单片机在启动时都需要

24、复位,以使cpu及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从rst引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果rst引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则cpu就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位。图2.2 单片机的上电复位电路fig.2.2 single-chip power-on reset circuit(1)上电复位at89c51的上电复位电路如图2.2所示,只要在rst复位输入引脚上接一电容至vcc端,下接一个电阻到地即可。上电复位的工作过程是在加电时,复

25、位电路通过电 容加给rst端一个短暂的高电平信号,此高电平信号随着vcc对电容的充电过程而逐渐回落,即rst端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,rst端的高电平信号必须维持足够长的时间5。复位后,系统将端口置为全“1”态。如果系统在上电时得不到有效的复位,则程序计数器pc将得不到一个合适的初值,因此,cpu可能会从一个未被定义的位置开始执行程序。(2)手动按钮复位手动按钮复位需要人为在复位输入端rst上加入高电平(图2.1)。一般采用的办法是在rst端和正电源vcc之间接一个按钮。当人为按下按钮时,则vcc的+5v电平就会直接加到rst端。手动按钮复位的电路如所

26、示。手动按钮复位电路如图2.1所示,vcc上电时,c充电,在10k电阻上出现电压,使得单片机复位;几个毫秒后,c充满,10k电阻上电流降为0,电压也为0,使得单片机进入工作状态。工作期间,按下开关s,c放电。开关s断开,c又充电,在10k电阻上出现电压,使得单片机复位。几个毫秒后,单片机进入工作状态。2.5 单片机的中断系统at89c52 共有6 个中断向量:两个外中断(int0 和int1),3 个定时器中断(定时器0、1、2)和串行口中断。at89c52有int0和int1两条外部中断请求输入线,用于输入两个外部中断请求信号,并允许外部中断源以低电平或负边沿两种中断出发方式输入中断请求信号

27、。定时/计数器溢出中断是单片机内部的中断,给定时/计数器中装入初值后开始定时/计数,当定时/计数器装满后产生溢出,定时/计数器中数据由全“1”变为全“0”,并使tf0/tf1变为“1”,这样就产生了中断的申请。1. 定时/计数器控制寄存器tcon的作用是控制定时器的启、停,标志定时器溢出和中断情况。tcon的格式如图所示。其中,tfl,trl,tf0和tr0位用于定时器/计数器;iel,itl,ie0和it0位用于中断系统。表2.1 tcon的位定义table 2.1 tcon bits definetcontf1tr1tf0tr0ie1it1ie0it0位地址8f8e8d8c8b8a8988

28、2.工作方式控制寄存器定时器的选择和工作方式的选择是由定时器控制寄存器tcon的设定值而定的,tcon的各位定义如表。表2.1 tmod的位定义table 2.1 tmod bits definetmod7654321089hgatec/tm1m0gatec/tm1m0定时器溢出中断由at89c52内部定时器中断源产生,它有三个定时器t0、t1和t2,别由高8位低8位组成,均可以通过字节传送指令为它们设定初值。工作方式的选择由tmod中的m1m0决定,如m1m0=1,那么定时/计数器就以方式1工作6。四种工作方式功能如表2.2。表2.2 at89c52的定时/计数器的工作方式table 2.2

29、 at89c52timer / counterwork mode工作方式计数器功能方式013位计数器方式116为计数器方式2自动重装初值的8为计数器方式3t0为两个8位独立计数器,t1为无中断重装8位计数器本系统采用定时器0的方式一,它是8位自动重装的定时方式。需先对定时方式控制寄存器tmod设置,然后给t0定时器的高八位和低八位赋初值,然后开总中断允许(ea=1),开定时器t0中断(et0=1),最后启动定时器t0(tr0=1)。3.中断允许寄存器中断的开放和关闭是通过中断允许寄存器ie进行两级控制的。ie有一个中断总开关ea,要使某一中断开启,不仅要开启该中断标志位,还需要开启中断总开关e

30、a,ie的各位定义如表2.3所示:表2.3 ie各位的功能定义table 2.3 ie to function definitionsieeaet2eset1ex1et0ex0功能总中断开关t0中断允许串口中断允许t1中断允许int1中断允许t1中断允许int0中断允许不论是外部中断还是内部中断的开始,都要对中断允许寄存器ie进行设置,本系统用到内部定时器t0中断和外部int0中断,每个中断的启动都要令ea=1,然后开启相应的控制位才可以启动该中断。对于int0中断,还需要设置其触发方式10。外部中断的触发方式有低电平触发和下降沿触发两种方式,本系统采用的是下降沿触发方式所以要对et0进行设置

31、,这些内容在第五章将会讲到。第三章红外发射和接收基本原理红外遥控是利用950nm近红外波段的红外线作为传递信息的载体即:通信信道。发送端采用脉冲位置调制方式(ppm)。将二进制数字信号调制成某一频率的脉冲序列,并驱动红外接收管以光脉冲的形式发送出去7。在接收端,一体化接收头将接收到的光脉转换成电信号,再经过放大、滤波等处理后送给解调电路进行解调,还原为二进制数字信号后输出。红外信号的发射使用的是hs6221芯片,它采用nec编码标准,利用特定的发射电路和红外发光二极管将按键编码数据发送出去。在接收端,一体化红外接收头hs0038将接收到的信号经过放大、反向、整形后传送到单片机内部,单片机再经过

32、解码程序将得到的信号数据进行解码,最终由得到的数据码来设定单片机要执行的操作。经过发送、接收、解码、执行等即个步骤,就组成了一个完整的红外遥控系统(如图3.1)。图3.1 整体系统框图fig.3.1 the overall system block diagram3.1 红外发射系统的原理根据红外发射管本身的物理特性,要将信号发射出去,必须要有载波信号和要发射的信号做“与”运算之后,再送给红外发射管发射,才能将红外信号传送出去。本设计采用hs6221芯片电路对红外红外信号进行发射,就是将某个按键所对应的控制指令和系统码(由0和1组成的序列)调制在38khz,然后经放大、经三极管驱动红外发射管将

33、信号发射出去。 不同公司的遥控芯片采用的遥控码格式也不一样。hs6221采用应用较普遍的nec标准。nec标准的载波波形如图3.3,使用455khz的晶振,经内部分频电路,信号被调制在37.91khz,占空比是1/3。为了更好的理解红外数据格式和发射原理,下面介绍hs6221芯片的特性功能。3.1.1红外发射芯片hs6221 hs6221芯片是通用红外遥控发射集成电路,采用cmos工艺制造,最多可外接64个按键,并有三组双重按键。应用于电视机、空调,dvd等电器设备。hs6221管脚分布如图3.2所示。-图3.2 hs6221管脚分布fig.3.2 hs6221 pin distributio

34、n1.hs6221各个管脚定义hs6221各个管脚定义下表3.1所示。表3.1 hs6221管脚定义table 3.1 hs6221 pin definition管脚号符号输入/输出功能描述14k10k13i键扫描输入端5remo数据输出管脚(遥控输出)6vdd-电源正端7seli选择管脚8oscoo振荡器管脚(输出)9oscii振荡器管脚(输入)10vss-电源负端11lmp-输出led指示1219ki/o0ki/o7i/o键扫描输入/输出管脚20ccsi键扫描输入端当某个按键按下时,系统首先发射一个完整的全码,然后经延时一段时间,再发射一系列简码,直到按键松开即停止发射。简码重复延时108

35、ms,每两个引导脉冲上升沿之间的间隔都是108ms。2. hs6221的输出波形hs6221 所发射的一帧码含有一个引导码,16位的用户编码和8位的键数据码、键数据码的反码也同时被传送。码型结构如图3.3。引导码由一个9ms的载波波形和4.5ms的关断时间构成,它作为随后发射的码的引导,这样当接收系统是由微处理器构成的时候, 能更有效地处理码的接收与检测及其它各项控制之间的时序关系。编码采用脉冲位置调制方式(ppm)。利用脉冲之间的时间间隔来区分“0”和“1”。每次8位的码被传送之后,它们的反码也被传送,减少了系统的误码率8。hs6221发送的数据,低位在前高位在后,即按照bit0、bit1、

36、bit2bit7的顺序发送的。其中用户码的高八位是低八位数据的反码,按键数据码的高八位是按键数据第八位的反码,这样可以提供纠错能力,提高了数据的可靠性。hs6221的输出波形如图3.4。图3.3 hs6221的输出波形fig.3.3 the output waveform of the hs62213.1.2红外信号的数据格式包括引导码(由9ms的高电平和4.5ms的低电平组成)、8位地址码、8位地址反码、8位数据码、8位数据反码(如图3.4)。各部分码的作用如下:引导码用来告知接收器其后为遥控数据。地址码即系统码用来区分是哪一机型的数据,同一机型的地址码是相同的,接收端依此来判断后续的数据是

37、否为须执行的指令。数据码用来区分是哪一个键被按下,也就是该键对应的数据值,接收端根据数据码做出应。简码是在持续按键时发送的码。它告知接收端某键被连续地按下。nec编码数据传输具有很好的可靠性。其中系统码、数据码后分别接着传送一个同样的反码供误码校验用。图3.4 nec编码数据格式fig.3.4 nec encoded data formatnec协议最低位先传送,所以接收的时候最先接收的是低位。一个信息发送是由9ms的agc自动增益控制脉冲开头,在早期的ir红外接收器中用来设置增益。接着是4.5ms空闲,然后是地址、命令。地址和命令都传送2次,第二次的地址和命令是反码,可以用来校验接收到的信息

38、。总的传输时间是固定的,因为每一位都有反码传送。一个命令只发送一次,即使遥控器上的按键一直按着。但是会每110ms发送一次代码,此代码是重复码,直到遥控器按键释放9。3.1.3位定义数据“0”用高电平0.56ms,低电平0.56ms表示;数据“1”用“高电平0.56ms,低电平1.69ms表示(如图3.5),这种用占空比来区分不同的数据的调制方式称为脉冲位置调制(ppm)。图3.5 nec中数据“0”和”1” fig.3.5 nec in the data 0 and 1在5ms只要是上面的任意码,都会出现高低电平的变化的,如果超过5ms都没有出现变化,则这个码就是无效码。3.2 红外信号解码

39、的基本原理由于信号数据的“0”和“1”传输时长不同,故单片机可以根据数据码的长度来对红外信号进行解码。简而言之,红外遥控的实质就是对二进制数字信号进行调制与解调,以便利用红外信道进行传输。红外信号的解码是由单片机完成的,红外一体化接收头引脚与单片机的p3.2口相连。由于红外信号的引导码由9.5ms的高电平和4.5ms的低电平组成(如图3.3),由引导码到用户码开始这段时间内会产生两个上升沿,信号经过红外一体化接收头反向后到达单片机部内部就成了两个下降沿,要判断信号是否开始,只需在第一个下降沿到来后的13.5ms后检测是否有第二个下降沿即可。若在第一个下降沿约13.5ms之后出现第二个下降沿说明

40、用户码应到来,故引导码的作用相当于一个开始接收的信号。在引导码之后是32bit的数据“0”或“1”,当检测到引导码之后就要对之后的数据进行采集。红外一体化接收头集信号的接收、放大、反向等功能于一体,hs0038的输出引脚经过1k的电阻与单片机的p3.2引脚相连,单片机时时检测p3.2引脚上电平的变化。当检测到第一个下降沿之后开始计时,同时令开始标志位startflag=1,令相邻两个下降沿间隔时间irtime=0,以便准备接收数据位。在约13.5ms后如果出现第二个下降沿则认为信号开始,此时令irdatabitnum=irtime,这样就将每两个相邻的下降沿之间的间隔时间存放到数组irdata

41、中,以便之后对数据进行提取。若没有检测到第二个下降沿,则单片机重新对p3.2口进行扫描。数组irdata中的数据仅仅是每一位数据码的持续时长,要将原始信号数据解码,还需要对数据进行进一步的处理。由于ppm调制方式的数据“0”和“1”持续的时长并不相等,而时长的差异又远远大于单片机的机器周期,所以可以根据irdata中每一个数据的大小来判断该位是“0”或“1”。如图3.5,数据“0”由0.56ms的高电平和0.56ms的低电平组成,其占空比是1:2;数据“1”有0.56ms的高电平和1.69ms的低电平组成,其占空比是1:3。定时器t0定时基数是0x38,即irtime每次自动加一一次时间是0.

42、2ms,irdata中的数据也是以此时间为基数的。对nec编码方式,数据位“0”的持续时间是1.125ms,即5.625个基准时间;数据位“1”的持续时间是2.25ms,即11.25个基准时间。那么就可以取5.625和11.25中间的一个数值7,若某位数据大于7则认为该位是数据“1”,若某位数据小于7,则认为该为是数据“0”。解码出来的数据用一个数组ircode存放,它由4个字节(32位)组成,这4个字节分别是接收到的用户码、用户反码、数据码和数据反码。这样就将遥控器发射的原始信号解码出来了,然后即可用所解码的数据进行其他的控制。第四章系统方案的硬件电路设计本毕业设计拟设计一个基于单片机控制红

43、外遥控系统,设计要求能够实现红外信号的接收、红外信号的解码以及对接收的数据进行处理,并使单片机根据接收到的不同信号实现相应的操作,以达到使用红外信号对一些电气产品的模拟控制的要求。该系统使用一个整体的市面上已有的遥控器来研究单片机如何解码如何根据信号的不同执行不同的操作。4.1 设计思路本设计系统采用红外一体化接收头hs0038负责红外信号的接收,at89c52单片机负责信号的解码和控制中心,为了更直观的看到实验现象还增加了数码管负责遥控信号的显示,红外信号的执行用步进电机28byj-48来执行,根据键盘上按键的不同将步进电机设置不同的档位,即可实现对步进电机的控制。4.2 红外接收模块的设计

44、hs0038的信号输出引脚经过1k的电阻与单片机的p3.2引脚相连,单片机时时检测p3.2引脚上电平的变化。当检测到第一个下降沿之后开始计时,在约13.5ms后如果出现第二个下降沿则认为信号开始,然后对之后的信号进行收集和解码等操作。连接电路如图4.1所示。1.hs0038的简介红外接收电路通常由红外接收二极管与放大电路组成,放大电路通常又由一个集成块及若干电阻电容等元件组成,并且需要封装在一个金属屏蔽盒里,因而电路比较复杂。hs0038是一种用于红外遥控接收或其他方面的小型一体化接收头,中心频率为37.9khz,可改善自然光的干扰,独立的pin二极管和前置放大器集成在同一封装上。一体化接收头

45、hs0038的主要功能包括放大、选频、解调几部分, 并且输出可以让单片机识别的ttl 信号,这样大大简化了接收电路的复杂程度和电路的设计工作,方便使用。要求输入信号需是已经被调制的信号。经过它的接收放大和解调会在输出端直接输出原始的信号。从而使电路达到最简化,灵敏度和抗干扰性都非常,可以说是一个接收红外信号的理想装置。图4. 1 hs0038和单片机的连接fig.4.1 hs0038 and connected to the microcontroller2.hs0038的工作原理hs0038有三条管脚,分别是电源正极、电源负极以及解调信号输出端,其工作电压在5v左右.只要给它接上电源即是一个

46、完整的红外接收放大器,使用十分方便。其结构框图如图4.2所示:图4.2 hs0038结构框图fig.4.2 hs0038 structure block diagramhs0038一体化接收头接收空外遥控器发射的信号,数据输出口和单片机的p3.2口相连。hs0038只是对接收的红外信号进行初步的处理,然后将处理好的比较规则的信号传送给单片机进行解码工作。当有中断信号时,触发中断并查询中断时间,并和红外起始码、“0”、“1”和终止码的时间进行比较,从而检测红外操作码。4.3 步进电机模块的设计由于单片机的输出信号很弱,要驱动步进电机需要经过一个uln2003芯片,该芯片有功率放大的作用。当出入端

47、为高电平时输出端为低电平,当输入端为低电平时,输出端为高电平。当输入端某一引脚为低电平时,对应的输出端即输出高电平。输入端引脚1、2、3、4分别与输出引脚16、15、14、13引脚对应,控制着步进电机的a、b、c、d四相。uln2003的出入引脚1、2、3、4分别和单片机的p1.0、p1.1、p1.2、p1.3相连,电路连接如图4.3。图4.3 步进电机控制电路fig.4.3 stepper motor control circuit 1. 28byj48型步进电机简介步电机是一种将电脉冲转化为角位移的执行装置。一般的电机都是连续旋转的而步进电机是一步一步转动的,故称之为步进电机。其外观如图4

48、.4。每次能转动的最小角度成为步距角。每当步进电机的驱动器接收到一个脉冲信号后,步进电机将会按照设定的方向转动一个固定的角度,称为角位移步进电机。对于角位移步进电机,可以通过控制脉冲的个数来控制角位移量,从而达到准确定位的目的。也可以通过控制脉冲频率来控制步进电机的转动速度和加速度,从而达到调速的目的。2. 28byj48型步进电机的工作原理28byj48型四相八拍步进电机,工作电压为512v。当对步进电机施加一系列连续不断的控制脉冲时,转子可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就使对应转子转过一定的角度(一个步距角)。当图4.4 28byj-4

49、8型步进电机fig.4.4 28byj-48-type stepping motor通电状态的改变完成一个循环时,转子转过一个齿距10。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(a-b-c-d-a.),图4.5 28byj48型步进电机工作原理示意图fig.4.5 28byj48 type stepper motor working principle diagram双(双相绕组通电)四拍(ab-bc-cd-da-ab.),八拍(a-ab-b-bc-c-cd-d-da-a.)。该步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合

50、适的时序通电,就能使步进电机步进转动。如图4.5,开始时,开关sb接通电源,sa、sc、sd断开,b相磁极和转子0、3号齿在磁力矩的作用下对齐,同时,转子的1、4号齿就和c、d相磁极产生一个错齿角度,2、5号齿就和d、a相磁极产生一个错齿角度。当开关sc接通电源,sb、sa、sd断开时,由于c相绕组的磁力线和1、4号齿之间磁力矩的作用,使转子转动,1、4号齿和c相的磁极对齐。而0、3号齿和a、b相产生一个错齿角度,2、5号齿就和a、d相磁极产生一个错齿角度。依次类推,a、b、c、d四相绕组轮流供电,则转子会依着a、b、c、d的顺序转动。3.驱动方式要对28byj48型四相八拍步进电机进行驱动,

51、只需在四个定子上交替通电,即可产生步进所需的电磁力,使转子按照一定的方向和角度转动。其驱动方式如表4.1。表4.1 28byj48型四相八拍步进电机的驱动方式table 4.1 28byj48 type four-phase eight-shot of the stepper motor drive导线颜色12345678红+橙-黄-粉-蓝-28byj-48型步进电机是一种减速步进电机,减速比是1/64,即电机转动64周电机外部的转轴转动1周。其工作电压是5v,采用5线4项驱动,步距角度为5.6251/64。本系统采用一向励磁方式(通电方式为a-b-c-d-a.),每次转动的角度是步距角的两倍

52、,即425.6251/64=0.7031。要使外部转轴旋转一周需要通电循环360/0.7031=512次。4.4 数据显示模块的设计在遥控器按键按下之后,如何判断单片机系统是否已经工作以及解码的正确性呢?为了能直观的看到解码的结果,这里在使用数码管实现对所接收数据的显示。在本系统中,为了节省单片机管脚资源,将数码管通过74hc573锁存器与单片机的p0口相连。它的输入是和标准 cmos 输出兼容的,加上拉电阻,他们能和ls/alsttl 输出兼容。当锁存使能端le为高时,这些器件的锁存对于数据是透明的(也就是说输出同步);当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。图4.6 数码管

53、的驱动电路fig.4.6 digital tube drive circuit1.数码管的简介图4.7 八段数码管字段fig.4.7 eight out of digital pipe field锁存器的锁存控制端分别与单片机的p2.6和p2.7引脚相连,分别控制数码管的段选和位选信号。数据输入端分别与p0口的八个管脚相连,分别控制其输出引脚上电平。在系统中数码管的驱动电路如图4.6。led数码管是目前使用相当普遍的一种显示器件,它是将若干个led组合成数字(或 符号)的形状,再封装在一起构成的。因为“8”是十进制数中笔画最多的一个数字,所以要用七只led排列成“8”的形状,再按要求是数码管的

54、某些字段(笔画)发光,就可以显示09这十个数字,其外形结构如图4.7。led数码管按显示驱动电平高低不同可分为共阳极和共阴极两大类,以共阴极数码管为例,其等效电路分别如图4.8所示,ag 为七个笔段驱动电平输入端,dp为小数点驱动端,+v代表共阳极,它是将8只led发光管(包括dp笔段)的正极连在一起引出,作为公共端接正电源。-v代表共阴极 ,与共阳极相反。它是将8只led发光管(包括dp笔画)的负极连在一起引出,作为公共端接地或低电平11。图4.8 共阴极数码管fig.4.8 common cathode nixie tube3.数码管的驱动字段式数码管按字段的不同又可分为七段数码管和八段数

55、码管。按发光二极管单元连接方式分为共阳数码管和共阴数码管:共阳极数码管是将每个字段的发光二极管的阳极连接在一起,要点亮某一字段时,只需给该字段的二极管的阴极施加低电平即可点亮该字段;共阴极数码管是将每个字段的放光二极管的阴极连接在一起,要点亮某一字段时,只需给该字段的二极管施加高电平即可点亮该字段。设计中使用的是三个封装在一起的八段共阴数码管,这样共能显示六位数据。每一位都有其单独的位选控制端,而三个数码管的a、b、c、d、e、f、g、dp八个字段是连接在一起的。在送位选数据之后,给六个数码管的为选段都传送同一个数据,由于同一时间只有一位数码管导通,所以只有选中的一位数码管有显示,其余的数码管没有显

温馨提示

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

评论

0/150

提交评论