基于单片机的电器遥控器的设计_第1页
基于单片机的电器遥控器的设计_第2页
基于单片机的电器遥控器的设计_第3页
基于单片机的电器遥控器的设计_第4页
基于单片机的电器遥控器的设计_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、四川师范大学成都学院本科毕业论文基于单片机的电器遥控器的设计基于单片机的电器遥控器的设计学生姓名刘宁刘宁学 号20081040602008104060所 在 系电子信息工程系电子信息工程系专业名称电子信息工程(工业与民用)电子信息工程(工业与民用)班 级20082008 级级 2 2 班班指导教师张西张西四川师范大学成都学院二 0 一二年五月四川师范大学成都学院本科毕业论文i基于单片机的电器遥控器的设计学生:刘宁 指导教师:张西内容摘要:本文介绍了单片机电器遥控器的基本原理以及工作流程,主要采用最高科技的单片机技术来实现遥控的目的。该设计主要采用了红外发射模块和红外接收模块,然后分别对这两个程

2、序模块进行编程。具体说明了单片机在电器遥控器中的作用。单片机涉及到了电器遥控器工作的绝大部分过程。从电器遥控器的发展趋势来看,单片机的出现给了电器遥控器更大的优势,促进了新一代电器遥控器的发展。将单片机融入到电器遥控器中,使电器遥控器的使用更加的方便,快捷,也将人们的生活简易化。随着时代的进步,人们对生活物品的要求也越来越高,为了满足消费者的需求,所以将先进的单片机加入到家庭中的电器遥控器中是符合大众要求的。关键词:单片机 电器遥控器 红外发射模块 红外接收模块四川师范大学成都学院本科毕业论文1b ba as se ed d o on n s si in ng gl le e- -c ch h

3、i ip p m mi ic cr ro oc co om mp pu ut te er r r re em mo ot te e c co on nt tr ro ol ll le er r o of f e el le ec ct tr ri ic ca al l a ap pp pl li ia an nc ce e d de es si ig gn nabstract:abstract: this paper introduces the microcomputer electric appliance remote control principle and working proc

4、ess, mainly uses the highest technology, microprocessor technology to achieve the purpose of remote control. design mainly adopts the infrared emitting module and the infrared receiving module, and then each of the two modules are programmed. specify the scm in electrical remote control in rats. scm

5、 relates to the electric appliance remote control most of the course work. from the view of the development tendency of remote controller for electric appliances, the appearance of single chip microcomputer for electrical remote control of greater advantage, promote a new generation of electric appl

6、iance remote control development. the single chip integrated into the electrical remote control, so that the electric appliance remote control the use of more convenient, fast, also be people life simple. with the progress of the times, people living on items are increasingly high requirements, in o

7、rder to meet the needs of consumers, so the advanced scm to join the family electric appliance remote controller is in line with the needs of the public.keywords:keywords: single chip microcomputer electrical remote control infrared emission module infrared receiver module.四川师范大学成都学院本科毕业论文2目 录前言.31

8、红外遥控的发展 .41.1 红外遥控的发展趋势.41.2 红外遥控的功能与特点.41.3 红外线遥控在技术上的优点和缺点 .51.4 红外遥控的发展趋势 .52 总体设计方案的论证和选择.62.1 方案一.62.2 方案二.62.3 方案三.72.4 方案的选择.83 系统硬件电路设计.83.1 发送部分设计.83.1.1 单片机选择.83.1.2 芯片擦除:.93.1.3 按键控制选择.103.1.4 频率信号发生器选择 .10四川师范大学成都学院本科毕业论文33.1.5 遥控发射器电路设计 .103.2 接收部分设计 .113.2.1 单片机的选择.113.2.2 显示设备选择.113.2

9、.3 调光设备选择.133.2.4 受控电器电源开关的设计.143.2.5 调光电路设计.153.2.6 接收频率部分和红外接收设计.163.2.7 遥控接收器电路原理图.164 系统的软件设计.174.1 遥控发射部分 .174.2 遥控接收部分 .195 系统调试.216 结束语 .22附录 1:遥控发射部分程序.22参考文献.38四川师范大学成都学院本科毕业论文4基于单片机的电器遥控器的设计前言当前社会是信息化高速发展的社会,随着社会的发展,中国的电器市场也在不断的发展,不断的更新交替,从刚开始的黑白电视机,到现在的液晶电视等等,还有不断出现在市场的新型电器,比如从前没有的空调,电脑等,

10、这些电器的出现,无疑给中国的电器带来了商机,也给中国的百姓带来了方便,为了满足广大消费者的需求,四川师范大学成都学院本科毕业论文5电器遥控器的产生也是具有一大重要的意义,而将单片机融入到遥控器中也是一大突破,有了单片机的电器遥控器,对电器的操作将更加的简洁化。1红外遥控的发展1.1 红外遥控的发展趋势民用产品的遥控技术在 60 年代时,在一部分发达国家就开始研发,但是由于当时技术的限制,发展很缓慢。70 年代末,随着大规模集成电路和计算机应用技术发展,遥控技迎来了快速发展时期。遥控方式经历了从有线到无线的超声波、从振动子到红外线、再到使用总线的微机红外遥控三个历史性阶段。电磁波来传输信号是最开

11、始的时无线遥控装置所采用的,它具有的最大缺点,科技总是不断地进步,后来以红外线和超声波为媒介进行信号传输就慢慢被采用。虽然这样在很大程度上避免了电磁波容易被干扰的缺陷,但相比红外线,由于超声波传感器频带很窄,所以只能携带很少的信息量,容易被干扰而产生错误。慢慢的红外线的遥控应运而生,当今时代的主流也即是红外线多功能遥控器。1.2 红外遥控的功能与特点 利用红外线进行点对点通信的技术叫红外线遥控技术,其相应的硬件和软件技术都相对成熟。这就是把红外线作为载体的遥控形式。因为红外线的波长比无线电波的波长小得多,所以在用红外遥控到时候,不会影响临近的无线电设备,也不会使其他电器产生干扰。红外线遥控是利

12、用波长在 0.76m-1.5m 之间的红外线来传递控制信号的。它有下面这些特点:a.因为红外线为不可见光,所以,它对环境影响小。而且,红外线的波长很小很小,因此,红外遥控不会使其他电器受到干扰,也不会影响近邻的无线电设备。b.因为红外线是不可见光,有很强的保密性和隐蔽性,所以在警戒,防盗这些安全保卫装置中也有广泛的应用。c.红外遥控的遥控距离一般是几米至几十米。d.红外线遥控具有成本低廉,制作方便,结构简单,工作可靠性高,抗干扰能力强等优点,尤其是室内遥控的优先遥控方式。因为使用红外线遥控器件的时候,它的功耗很小,外围线路非常简单,工作电压很低,所以它在日常工作生活中得到了越来越广泛的应用。四

13、川师范大学成都学院本科毕业论文61.3 红外线遥控在技术上的优点和缺点优点:信号无干扰,传输准确度高;无需专门申请特定频率的使用执照;具有移动通信设备所必需的体积小、功率低的特点。缺点:红外线遥控距离较短;红外 led 不是十分耐用;两个设备之间传输数据,中间不能有阻挡物;红外线遥控是一种视距传输技术,采用点对点的连接具有方向性。1.4 红外遥控的发展趋势在这几十年里红外遥控技术得到了非常快速的发展,尤其是家电领域如空调、电视、dvd 等,当然其他电子领域也有广泛的应用,由于人们生活水平的提高,对产品的追求是更方便,更智能,所以更适合红外遥控技术发展方向。为了提高对红外遥控产品的开发效率,重点

14、介绍该套红外遥控编码分析仪,它好像一台示波器,利用最先进的电脑技术,对红外遥控信号进行分析,显示出详尽的编码、解码,数据信息,使开发人员对编、解码情况一看便知,从而使设计人员提高了工作的效率,增加了产品的可靠性,稳定性。红外遥控信号分析仪用的是 mcs-51 系列单片机做为外部采样控制器,并与计算机通信完成整个处理过程,并由计算机完成作图、数据管理。因为各生产厂家生产了大量专用于红外遥控的集成电路,需要的时候按图索骥即可。所以,现在红外线遥控在家用电器、室内近距离遥控中得到了非常广泛的应用。伴随着大量出现的红外光电器,红外遥控在人们日常生活中的应用越来越广泛了。如电视机的遥控,音响设备的遥控,

15、电风扇的遥控,遥控空调器,安全保卫报警器,自动门,自动水龙头等都可用红外遥控技术来实现。在多路控制的红外发射部分一般会设置有多个按键,每个按键对应有不同的控制功能。接收端不同输出状态取决于发射端按下不同按键。接收端有五种输出状态,分别是:数据形式、脉冲形式、自馈形式、电平形式、互锁形式。利用接收端的几个输出指把一些发射键编上号码形成一个二进制数,来代表不同的按键输入就是“数据”的输出。一般情况下,为了以后适时地来取数据,接收端在具有几位数据输出外的基础上,还有一位“数据有效”输出端。与单片机或微机接口一般都采用这种输出形式。当按发射端按键时,接收端对应输出端输出一个“有效脉冲”就叫做“脉冲”输

16、出,它的宽度一般在 100ms 左右。 “自馈”输出适合用作电源开关、静音控制等,当是指发射端某一个键被每按一次,接收端对应输出端状态就改变一次,简而言之就是原来的高电平变为低电平,原来的低电平变为高电平。有时亦称这种输出形式为“反相” 。发射端按下键时,接收端对应输出端输出“有效电平”消失这样的输出叫“电平”输出。四川师范大学成都学院本科毕业论文7“互锁”输出是指多个输出互相清除,在同一时间内只有一个输出有效。电视机的选台就属此种情况。2 总体设计方案的论证和选择2.1 方案一使用由常规集成电路组成的单通道红外遥控电路,一般用字不需要多路控制的场合,它不需要使用较贵的专用编译码器,因此成本较

17、低。a. 红外发射部分图2.1-1 红外发射部分结构图由于本方案电路是简单的单通道遥控器,可产生一个控制功能的震荡频率,再通过红外发光二极管发射出去。b.红外接收部分图2.1-2 红外接收部分结构图一个电路对其进行解调并产生相应的控制功能之时,就是红外接到控制频率之时。2.2 方案二红外线发射/接收控制电路都采用单片机来实现,输出控制方式可以选择,实用性很强。a. 红外发射部分:产生震荡频率红外发射红外接收解调控制受控电器单片机遥控按钮红外发射四川师范大学成都学院本科毕业论文8图2.2-1 红外发射部分结构图当红外发光二极管发射控制脉冲,就是按下遥控按钮的时,单片机产生的相应的控制脉冲。b.红

18、外接收部分:图2.2-2 红外接收部分结构图红外接收器接收到控制脉冲时,由控制方式选择开关选择是单路控制还是“互锁” ,通过单片机处理后,对相应的受控电器控制。2.3 方案三使用单片机制作一个红外电器遥控器,可以分别控制一个电灯开关和 5 个电器的电源开关,而且可以对电灯调光控制。a. 红外发射部分结构图如图 2.3-1 所示:图 2.3-1 红外发射部分结构图当按下遥控按钮时,单片机产生相应的控制脉冲,由红外发光二极管发射出去。b. 红外接收部分结构如图 2.3-2 所示:单片机红外接收控制方式选择开关单片机按键控制红外发射单片机显示受控电器电源开关受控电器四川师范大学成都学院本科毕业论文9

19、图 2.3-2 红外接收部分结构图红外接收器接收到控制脉冲后,经过单片机的处理由显示设备显示出当前受控电器的序号,并且判断是否对电灯进行调光,如果判断出需调光则经调光电路反应后实现调光功能。2.4 方案的选择综上所述通过比较三套方案我们得到,方案一没有采用单片机控制,功能非常单一,只能对单一电器进行很简单的遥控;方案二和方案三的红外线发射/接收控制电路使用单片机来实现,电路很简单,但实用性强。方案二虽然可以控制多个电器,但是控制功能太过单调,只能实现对电器开关的控制,实用价值不是很大;方案三不但可用控制键来实现对电器的控制,而且可对一路电灯进行亮度控制,方便实用。而且本设计用到的元器件不多,电

20、路相对简单实用,所以本设计采用方案三作为设计蓝本。3 系统硬件电路设计3.1 发送部分设计3.1.1 单片机选择本设计可以用 at89c51,c31, 羚羊单片机等多种单片机来实现。但是 c31没有内部存储器,本设计需要编程,那么就要用到外部扩展,很麻烦。本设计程序比较简单,功能也较少,如果用羚羊单片机太过麻烦,有点大材小用,而且本设计所用到的输入输出端口也不是太多,所以我决定用 at89c51 单片机来完成本设计,不但方便而且实用。 下面对 at89c51 进行介绍:at89c-51 单片机是一种带 4k 字节闪烁可编程可擦除只读存储器(fperomfalsh programmable an

21、d erasable read only memory)的低电压,高性能 cmos8 位微处理器。该单片机采用 atmel 高密度非易失存储器制造技术制造,与工业标准的 mcs-51 指令集和输出管脚相兼容。由于将多功能闪烁存储器和 8位 cpu 组合在单个芯片中,atmel 的 at89c-51 是一种高效微控制器,为许多嵌入式控红外接收调光电路电灯四川师范大学成都学院本科毕业论文10制系统提供了一种不但灵活性高而且价廉的方案。 主要特性:全静态工作:0hz-24hz4k 字节可编程闪烁存储器数据保留时间:10 年与 mcs-51 兼容5 个中断源三级程序存储器锁定128*8 位内部 ram

22、两个 16 位定时器/计数器32 可编程 i/o 线片内振荡器和时钟电路 xtal1 是反向放大器的输入,xtal2 是反向放大器的输出。这个反向放大器可以配置为片内振荡器,陶瓷振荡和石晶振荡都可以采用。当采用外部时钟源驱动器件时,xtal2 应该不接,当有余输入到内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽没有任何要求,但是必须保证脉冲的高低电平要求的宽度。at89c-51 的时钟有两种方式,一种是外部时钟方式,就是将 xtal1 接地,外部时钟信号从 xtal2 脚输入,还有一种是片内时钟振荡方式,但需在 18 和 19 脚外接石英晶体(2-12mhz)和振荡电容振荡,电容

23、的值一般取 10p-30p。两种方式分别如图 3.1.1-1 所示: 图 3.1.1-1 时钟方式图四川师范大学成都学院本科毕业论文113.1.2 芯片擦除:三个锁定位和整个 perom 阵列的电擦除可以通过正确的控制信号组合并保持 ale管脚处于低电平 10ms 来完成。在芯片擦操作中,在代码阵列全被写“1”且在任何非空存储字节被重复编程之前,必须先执行该操作。此外,at89c-51 设有稳态逻辑,可以在低到零频率的条件下形成静态逻辑,支持两种软件可选的掉电模式。在掉电模式下,保存 ram 的内容且冻结振荡器,禁止所用芯片功能,直到下一个硬件复位为止。在闲置模式下,cpu 停止工作,但定时器

24、,ram,计数器,串口和中断系统仍在工作。因此可知,at89c-51 芯片的功能很强大,它的振荡特性很好的满足本设计的需求,与同类 51 芯片相比,其引脚比较多,不但可以满足对控制方式的选择,而且可加入调光控制电路,这非常适合本设计的要求,因此本设计决定选用 at89c-51 作为核心芯片。3.1.3 按键控制选择因为本设计所控制的电器数目比较少,所以不用外接扩充键盘,直接使用单片机上的接口,用 8 个点触式开关就可以了。3.1.4 频率信号发生器选择可以使用一个 12m 晶体震荡器来满足要求的频率。3.1.5 遥控发射器电路设计这个遥控发射器采用码分制遥控方式。码分制红外遥控就是指令信号产生

25、电路以不同的脉冲编码来代表不同的控制指令。在确定使用 at89c-51 作为本设计发射电路核心芯片和点触式开关作为控制键后,加上 12m 晶体震荡器和一个简单红外发射电路便可实现红外发射。下图为本红外遥控设计核心部分之一的发射电路原理图如图 3.1.5-1 所示:四川师范大学成都学院本科毕业论文12图 3.1.5-1 发射电路原理图芯片端口 p1.0p1.7 接 8 个点触式开关,端口 p1.5 为遥控器的开关,端口 p1.0p1.4 用来遥控电器电源开关,端口 p1.6 和 p1.7 是调节电灯亮度的控制开关。其中p1.7 实现对发光二极管的减暗控制,p1.6 实现对发光二极管的增亮控制,端

26、口 rst 为复位脚,采用简单的 rc 上复位电路。端口 xtal1 和端口 xtal2 接 12mhz 晶体振荡器,端口 p3.5 则是红外线遥控码的输出口,用来输出 40khz 载波编码。 晶体三极管在电路中起放大作用,该设计采用的是一个 npn 型的三级管 9013,为了得到更大的放大倍数,采用了共射级接法。因为从 p3.5 口出来的为高电压,而三级管 9013 不能承受这个电压,所以采用了一个阻值比较大的电阻来起分压作用,从而起到了缓冲作用。3.2 接收部分设计3.2.1 单片机的选择和发射部分是一样的,该设计所用到的输入输出端口不是很多 ,所以用 at89c51单片机完全可以完成该设

27、计,而且 at89c-51 方便实用的性能比其他同类芯片更适合于本设计。3.2.2 显示设备选择在单片机应用系统中,使用的显示器主要有 lcd(夜晶显示器),led(发光二极管),这两种显示器都具有配置灵活,成本很低,与单片机接口方便的特点。但是它们也是各有各的特点:led 接口很简单,不需要使用专用的驱动程序,而且在设计程序时也十分的简单;lcd 显示的字较为丰富,也相当清楚,给人的感觉很好,但是它的接口很复四川师范大学成都学院本科毕业论文13杂,而且要自己造字库,难度很高。而本设计遥控器的接收电路,因为配置了一些指示灯,所以只显示数字就够了,因此没有必要采用 lcd,用 led 就可以了。

28、下面就介绍一下 led 显示器的引脚和结构用发光二极管来显示字段的器件叫 led 显示器,在单片机应用系统中一般用七段显示器。共阳极显示器就是发光二极管的阳极连在一起,共阴极显示器就是阴极连在一起。图 4.2.2-1 中是七段显示器的结构,由八个发光二极管组成一个显示器,其中有七个发光二极管控制 ag 七段的暗或亮,最后一个发光二极管控制一个小数点的暗或亮。这种七段显示器能显示的字符的形状有些失真,字符比较少,但是与单片机的控制接口十分简单,使用起来很方便。图 3.2.2-1 led 引脚图led 有动态显示和静态显示两种显示方式。下面简单介绍一下它们的原理:静态显示方式当显示器显示某一个字符

29、时,对应的发光二极管恒定地导通或截止,直到显示另一个字符为止就是静态显示方式。如共阴极 led 显示器,当 a,b,c,d,e,f 为高电平,g,d,p 为低电平时,高电平的引脚恒定截止,显示器显示“0” 。这种显示方式每一个七段 led 显示器需要一个 8 位输出口控制段选位,显示器的各位选位连在一起接高电平(共阳极)或接低电平(共阴极) 。在静态显示方式时,显示器中的各位是相互独立的,且各位的显示字符一旦确定四川师范大学成都学院本科毕业论文14以后,相应锁存输出就会维持不变,因此,静态显示的亮度比较高。这种显示方式管理简单,编程容易,但是占用 i/o 口资源比较多,所以在显示位数较多时,就

30、采用动态显示方式。动态显示方式动态显示方式一般用在多位 led 显示时,是为了节省 i/o 口线,降低成本。动态显示方式是一位一位的轮流点亮各位显示器,就是对每一位显示器,每隔一段时间轮流点亮一次。显示器的亮度不但与点亮和熄灭的时间比例有关,而且与导通电流有关。只要调整时间参数和导通电流,就可实现亮度较高较稳定的显示。这种动态显示方式就是将七段 led 显示器的所有段选位并联在一起,由一个 8 位 i/o 口控制,相应的 i/o口控制相应的共阳极或共阴极,从而实现各位显示器的分时选通。下图利用 p2 口控制各显示器轮流选通,p0 口接各显示器的段选位,提供各显示器的显示数据。由于单片机 i/o

31、 口有限,而静态显示需要占用大量的接口。比如在本设计中需要采用 5 个数码管,一个要 9 个口子,那总共需要 45 个口子,这是无法达到的,而动态只要 8 个就可以了。如果是需要显示的数码管实在是太多,则还可以在数码管和单片机之间加上译码器来进一步减少口子的数目。3.2.3 调光设备选择光电耦合器具有体积小、使用寿命长、工作温度范围宽、抗干扰性能强。无触点且输入与输出在电气上完全隔离等特点,因而在各种电子设备上得到广泛的应用。光电耦合器可用于隔离电路、负载接口及各种家用电器等电路中。光电耦合器的种类较多,但在家电电路中,常见的只有 4 种结构:第一类,为发光二极管与光电晶体管封装的光电耦合器,

32、结构为双列直插 4 引脚塑封,内部电路见表一,主要用于开关电源电路中。 第二类,为发光二极管与光电晶体管封装的光电耦合器,主要区别引脚结构不同,结构为双列直插 6 引脚塑封,内部电路见表一,也用于开关电源电路中。 第三类,为发光二极管与光电晶体管(附基极端子)封装的光电耦合器,结构为双列直插 6 引脚塑封,内部电路见表一,主要用于 av 转换音频电路中。第四类,为发光二极管与光电二极管加晶体管(附基极端子)封装的光电耦合器,结构为双列直插 6 引脚塑封,内部电路见表一,主要用于 av 转换视频电路中。因为本设计所用到的调光功能仅仅是调节电灯的亮暗,所以无需使用复杂的调光控制系统,可直接使用一个

33、光电藕合器,来实现此功能。本设计采用的就是以上第二类的一个型号为 ps2019。四川师范大学成都学院本科毕业论文15红外遥控接收器的接收过程如图 3.2.3-1 所示:图 3.2.3-1 红外遥控接收器的接收过程图从上可知,红外遥控系统中的检出电路和指令信号在码分制系统中由解码电路和编码电路构成,由于码分制系统编码脉冲的频率非常低,是超低频,因此要有调制和解调的过程,假如不用调制与解调电路,外界的光线变化可能会对接收电路产生干扰,从而形成误动作,导致系统的抗干扰能力和可靠性难以得到保证。指令信号产生电路以不同的脉冲编码(不同的脉冲数目和组合)代表着不同的控制指令叫码分制红外遥控。当按下不同的指

34、令键时,指令信号电路产生不同脉冲编码,然后经过调制电路调制,变为编码脉冲调制信号,再经过驱动电路驱动红外发射器发射红外光信号。接收器接到信号后,再经过前置放大后,送入解调电路,对调制信号进行解调,再经过指令信号检出信号。智力指令信号检出电路是和发射器中编码电路相对应的译码电路,它会将指令信号译出。d.电路设计显示电路的设计数码管直接与 51 芯片的 p1 端口相连,但是为了保证 51 芯片能正常工作,必须在p1 端口连电源时加上一个 470 的限流电阻。设计电路图如图 3.2.3-2:红外接收前置放大解调指令解码记忆驱动执行四川师范大学成都学院本科毕业论文16图 3.2.3-2 设计电路图我们

35、用芯片端口 p1.0p1.7 与数码管的 ah 这 8 个引脚对应相连,用来显示被控发光二极管的序号。3.2.4 受控电器电源开关的设计因为该设计无法使用 6 个家用电器开关作为受控开关,所以我用 6 个发光二极管来代替。其中可调节亮度的灯用接端口 p0.5 的二极管。为了保证发光二极管的安全而又能正常工作,特用 1k 的电阻作为限流电阻。设计电路图如图 3.2.4-1 所示:图 3.2.4-1 受控电器电源开关设计电路图四川师范大学成都学院本科毕业论文173.2.5 调光电路设计晶体三极管主要是放在放大电路中用来放大作用,本设计采用的是一个 9012 三极管,为了得到更大的放大倍数,采用了类

36、似于共射级的接法。由于从 p2.7 口出来的电压是高电压,但三极管 9012 不能承受该高电压,故采用了一个阻值比较大的电阻用来起分压作用,从而使加到三极管的电压得到了缓冲。对于调光控制就采用一个光电耦合器来实现对一路电器的亮度控制。图 3.2.5-1 调光电路设计电路图3.2.6 接收频率部分和红外接收设计为了和发射端对应,同样采用一个红外接收的二极管与一个 12m 晶体震荡器配合可以对发射出的频率进行接收。3.2.7 遥控接收器电路原理图下图 3.2.7-7 为本红外遥控设计的另一核心部分接收电路原理图,其中数码管的a 到 h 这 8 个引脚与芯片端口 p1.0 到 p1.7 对应相接,用

37、来显示被控发光二极管的序号,端口 p0.0 到 p0.5 与 6 个发光二极管的电源控制输出对应相接。其中可以对端口 p0.5接的发光二极管进行亮度调节,端口 p2.7 是可控硅调光灯的调光脉冲输出,端口 p3.0是 50hz 交流电相位基准输入,端口 p3.1 是用来接收红外遥控码输入信号端口,端口四川师范大学成都学院本科毕业论文18p3.2 为中断输入口。图 3.2.7-1 遥控接收器电路原理图4 系统的软件设计4.1 遥控发射部分下图是遥控发射的主程序,首先初始化程序,然后调用键扫描处理子程序。 图 4.1-1 遥控发射主程序图扫键过程:首先判断控制键是不是已经按下,如果有控制键按下就进

38、行逐行扫描,按照 p 口值查找键号.再按照键号转到相应的发射程序。如图 4.1-2 所示:开始 初始化调用键扫描处理子程序四川师范大学成都学院本科毕业论文19 n y图 4.1-2 扫键过程图红外信号发射过程:先装入发射脉冲个数(发射时为 3ms 脉冲,停发时为 1ms 脉冲),当发射脉冲个数为 1 的时候,就返回主程序,如果不为 1 就发 1ms 脉冲,然后再停发 1ms脉冲,这样整个发射过程就结束了。实践过程中,在采用红外线遥控方式的时侯,由于受到角度,遥控距离等影响,从而在使用时效果不是很好,但是采用调幅或调频发射接收码,不但可以提高遥控距离,而且没有角度影响。扫键开始键按下?逐行扫描,

39、按 p口值查键号按键号转至相应的发射程序返回四川师范大学成都学院本科毕业论文20 y n图 4.1-3 红外信号发射过程图4.2 遥控接收部分遥控接收部分的主程序及初始化和延时过程如下:首先初始化,再按照显示亮度数据设定调光脉冲延时值,最后看 p3.0 口的脉冲是否为 0,如果不是 0 就调入延时程序,此时 p2.7 口输出调光脉冲然后返回;如果为 0 就直接返回。发射开始装入发射脉冲个数(r1)发 3ms 脉冲停发 1ms(r1)-1=0发 1ms 脉冲停发 1ms返回四川师范大学成都学院本科毕业论文21n ny y图 5.2-1 遥控接收部分主程序图中断过程:首先判断低电平脉冲宽度是否大于

40、 2ms,如果脉宽不到 2ms 就中断返回;如果低电平大于 2ms 就接收低电平脉冲计数,接下来就判断高电平脉冲宽度是不是大于3ms,如果脉宽不到 3ms,则返回上一接收计数过程,如果高电平脉宽大于 3ms,就按照脉冲个数至对应功能程序,此时中断返回。开始初始化按显示亮度数据设定调光脉冲延时值p3.0=0?调延时程序p2.7 口输出调光脉冲四川师范大学成都学院本科毕业论文22 n n y y n n y y图 4.2-2 中断过程图5 系统调试控制电路板的安装与调试在整个系统研制中占有很重要位置,它不但是把理论付诸实践的过程,而且也是把纸面设计转变到实际产品的必经阶段。对试验阶段的电路板安装一

41、般有焊接方式和面包板插接方式两种方式。一般用面包板焊接,因为用面包板焊接使用方便,容易更换器件和线路,而且可以反复使用。但是使用过多后面包板中弹簧片会变松,弹性会变差,容易造成接触不良,这点需要注意。实验和调试常用的仪器有:信号发生器、稳压电源、万用表、示波器等。调试的主要步骤:a.调试前不加电源对照电路图和实际线路检查连线是否正确,如少接、错接、多接等;电源端对地是不是存在短路;元器件引脚之间有没有短路,连接处有没有接触不良,二极管、三极管、集成电路和电解电容的极性是不是都正确;电源供电(极性、信号源)连线是不是正确;用万用表电阻档检查焊接和接插是不是良好。电路经过上述检查,确认无误后,可转

42、入静态检测与调试。中断开始低电平脉宽2ms接收并对低电平脉冲计数高电平脉宽3ms?按脉冲个数至对应的功能程序中断返回四川师范大学成都学院本科毕业论文23b.静态检测与调试断开信号源,把经过准确测量的电源接入电路,用万用表电压档监测电源电压,观察有无冒烟、异常气味、异常声音等异常现象,如果发现异常情况,立即切断电源,排查除故障;如果没此类现象,分别测量静态工作点、数字电路各输入端和输出端的高低电平值和逻辑关系等各关键点直流电压,是否都在正常工作状态下,如果不相符,就调整电路元器件参数、更换元器件等,使电路最终工作在合适的工作状态下。对于放大电路还要用示波器观察是不是有自激发生。c动态检测与调试在

43、静态调试的基础上动态调试,将所需的信号源加在电路的输入端,逐级检测有关点的波形、参数和性能指标是否达到设计要求。发现问题,按照原理和常规知识找出原因,排除故障,继续检测调试。此电路在正常工作状态下,当接通不同的开关时所显示的波型不一样。因为所设计的遥控器电路是采用码分制遥控方式。d.调试注意事项测量仪器的带宽必须大于被测量电路的带宽。测量电压所用仪器的输入阻抗必须远大于被测处的等效阻抗。屏蔽线连线常使用在在信号较弱的输入端,并且要注意将屏蔽线的外屏蔽层要接到公共地线上,在频率较高时要设法隔离连接线分布电容的影响。测量仪器的接地端要正确使用,仪器的接地端与电路的接地端要可靠连接;6 结束语经过几

44、个月的努力,我在张老师的耐心帮助和自己的努力下终于完成了此次设计,并按设计要求实现了遥控器的各项功能。通过这次设计使我从中学到到了很多课本上学不到的知识,了解了红外遥控器的现状和发展趋势,并学会了用单片机开发产品的完整的过程。通过自己亲自去动手和调试我明白的实践的重要性理论结合实践的含义,同时也大大的提高了自己的动手能力,这在我以后的工作中都是非常有用的。在这次设计中,张老师不厌其烦的给我讲解问题和修正错误,在此表示衷心的感谢!四川师范大学成都学院本科毕业论文24附录 1:遥控发射部分程序#include #define timeh 12 /基于 22.1184m 时钟晶振,数字越大,时间越长

45、#define timel 50 /基于 22.1184m 时钟晶振,数字越大,时间越长#define row p3 /矩阵按键接口定义#define line p2 /矩阵按键接口定义extern void timer_init(void);extern void delay(unsigned int);extern unsigned char scan_key(void);unsigned char irm_code;sbit qd = p10;void main()unsigned char tmp;irm_code=0 xff;timer_init();while(1) tmp = s

46、can_key();if(tmp!=0 xff) if(irm_code=0 xff) /一次键值发射完成后会将 irm_code 置为 0 xffirm_code = tmp;/键值传递tr0 = 1; /启动定时器,完成编码发射delay(10);/两次编码发射之间需要延时,连续发射会导致解码失败 四川师范大学成都学院本科毕业论文25 void timer_init(void)tmod = 0 x01;th0 = 0 xff;tl0 = 0 xff;ea = 1;et0 = 1;tr0 = 0;/*定时中断,红外编码*/void timer_int(void) interrupt 1sta

47、tic unsigned char i=0,flag=0;qd=qd;if(i10) /连续发射 5 个“0”引导码th0 = 255-timeh/2;tl0 = 255-timel/2;i+;else if(i18) /数据编码if(irm_code & 0 x80)=0 x80) th0 = 255-timeh;tl0 = 255-timel;irm_code = 1;i+;else 四川师范大学成都学院本科毕业论文26th0 = 255-timeh/2;tl0 = 255-timel/2;if(flag) irm_code = 1;i+;flag = 0 x01;else tr0

48、 = 0;i=0;qd=1;irm_code=0 xff;th0 = 0 xff;tl0 = 0 xff; void delay(unsigned int t)unsigned char i;while(t-) for(i=0;i230;i+);/*矩阵按键扫描*/unsigned char scan_key(void)unsigned char j; static unsigned char i=0;四川师范大学成都学院本科毕业论文27row = 255-(1i); /列扫描低电平有效,fe,fd,fb,f7if(line!=0 xff) for(j=0;j8;j+) if(line=(25

49、5-(1j) return (j+(i3);i+; i&=0 x03;return(0 xff);#include #define timeh 12 /基于 22.1184m 时钟晶振,数字越大,时间越长#define timel 50#define row p3#define line p2extern void timer_init(void);extern void delay(unsigned int);extern unsigned char scan_key(void);unsigned char irm_code,turn_flag;sbit qd = p10;void

50、main()unsigned char tmp=0;irm_code=0;turn_flag=0;timer_init();while(1)if(turn_flag=0) tmp = scan_key();四川师范大学成都学院本科毕业论文28if(tmp!=0 xff) irm_code = tmp;tr0 = 1;turn_flag=0 xff; void timer_init(void)tmod = 0 x01;th0 = 0 xff;tl0 = 0 xff;ea = 1;et0 = 1;tr0 = 0;void timer_int(void) interrupt 1static unsi

51、gned char i=0,flag=0;qd=qd;if(i10) th0 = 255-timeh/2;tl0 = 255-timel/2;i+;else if(i18) if(irm_code & 0 x80)=0 x80) th0 = 255-timeh;四川师范大学成都学院本科毕业论文29tl0 = 255-timel;irm_code = 1;i+;else th0 = 255-timeh/2;tl0 = 255-timel/2;if(flag) irm_code = 1;i+;flag = 0 x01;else tr0 = 0;i=0;qd=1;turn_flag=0;th

52、0 = 0 xff;tl0 = 0 xff; void delay(unsigned int t)unsigned char i;while(t-) for(i=0;i230;i+);四川师范大学成都学院本科毕业论文30unsigned char scan_key(void)static unsigned char i;unsigned char tmp,j; unsigned char code row_code=0 xfe,0 xfd,0 xfb,0 xf7;unsigned char code lin_code=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf,0

53、xbf,0 x7f;row=row_decodei;tmp=line;for(j=0;j8;j+) if(tmp=lin_codej) return j;switch (tmp)case 0 xfe:return 0 x01; break;case 0 xfd:return 0 x02;break;case 0 xfb:return 0 x03; break;case 0 xf7:return 0 x04;break;case 0 xef:return 0 x05; 四川师范大学成都学院本科毕业论文31break;case 0 xdf:return 0 x06;break;case 0 xbf

54、:return 0 x07; break;case 0 x7f:return 0 x08;break;default:break;row=0 xfd;tmp=line;switch (tmp)case 0 xfe:return 0 x09; break;case 0 xfd:return 0 x0a;break;case 0 xfb:return 0 x0b; break;case 0 xf7:return 0 x0c;break;case 0 xef:四川师范大学成都学院本科毕业论文32return 0 x0d; break;case 0 xdf:return 0 x0e;break;cas

55、e 0 xbf:return 0 x0f; break;case 0 x7f:return 0 x10;break;default:break;row=0 xfb;tmp=line|0 x80;switch (tmp)case 0 xfe:return 0 x11; break;case 0 xfd:return 0 x12;break;case 0 xfb:return 0 x13; break;case 0 xf7:return 0 x14;break;四川师范大学成都学院本科毕业论文33case 0 xef:return 0 x15; break;case 0 xdf:return 0

56、x16;break;case 0 xbf:return 0 x17; break;case 0 x7f:return 0 x18;break;default:break;row=0 xf7;tmp=line;switch (tmp)case 0 xfe:return 0 x19; break;case 0 xfd:return 0 x1a;break;case 0 xfb:return 0 x1b; break;case 0 xf7:return 0 x1c;四川师范大学成都学院本科毕业论文34break;case 0 xef:return 0 x1d; break;case 0 xdf:re

57、turn 0 x1e;break;case 0 xbf:return 0 x1f; break;case 0 x7f:return 0 x20;break;default:break; 附录 2:遥控解码部分程序#include irm_int.hunsigned char irm_code;/红外解码键值返回全局变量void irm_int2_init(void)ea = 1;it0 = 1;/下降沿中断ex0 = 1;irm_code=0 xff;四川师范大学成都学院本科毕业论文35void irm_int(void) interrupt 0unsigned char i,flag;uns

58、igned int counter;unsigned int temp=0;ea=0;temp=0 xff;counter=0;flag=0;for(i=0;i300) break;if(counter10)&(counter300) if(flag=0) temp200) temp+;else flag = 0 xff;counter=0;while(irm_dq) if(+counter300) break;if(counter10)&(counter300) if(flag=0) temp200) temp+;else flag = 0 xff;irm_code=(unsigned char)(temp&0 x00ff);ie0 = 0;

温馨提示

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

评论

0/150

提交评论