版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科生课程论文论文题目光电红外遥控开关设计课程名称光电系统设计学生姓名学号所在学院所在班级指导教师0目 录摘要3关键词:光电技术,红外遥控开关,单片机,多路3引言4一、课程设计目的4二、课程设计任务与要求41、设计任务42、设计要求5三、系统总体设计方案51、红外遥控技术的简介52、系统总体设计方案53、光电红外遥控开关系统框图(系统分析)6四.总电路设计61、硬件设计原理62、系统功能的实现方法6五、系统硬件设计71、元器件选择72、单元模块电路设计7(1)光电红外遥控开关发射电路7(2)光电耦合电路8(3)光电红外遥控开关接收电路93、系统原理硬件电路图10六、系统软件设计101、光电红外
2、遥控开关发射102、光电红外遥控开关接收113、软件程序流程114、编程代码11七、protues仿真结果111、光电遥控开关仿真电路图112、调试结果与分析12八、将电路图转换为pcb印刷电路板图121、发射部分工程图及pcb图122、接收部分工程图及pcb图14九、团队分工及心得体会151、团队介绍及分工152、队员心得16(1)成员116(2)成员217(3)成员318(4)成员418参考文献19附录1 光电红外遥控开关系统电路原理图20附录2 光电红外遥控系统发射部分程序21附录3 光电红外遥控系统接收部分程序26附录4 元器件明细清单29光电红外遥控开关设计摘要本次设计课程是光电红外
3、遥控开关,利用红外线对多路的电器进行开关控制,采用把编码格式进行不同编码,产生不同频率脉冲,控制不同电器设备,达到开关控制的目的。硬件部分主要包括发射部分(包括键盘矩阵、编码调制、红外发送二极管),接收部分分为红外接收头(包括光/电转换、放大解调)和解码mcu。软件部分包括发射编码程序、接收解码程序、数码显示函数等。按下遥控开关不同数字产生不同频率的编码,数码管会显示不同的数字从而达到遥控开关的目的。关键词:光电技术,红外遥控开关,单片机,多路引言光电技术无论在生活领域、科技领域、医学领域都发挥着不可替代的作用。目前市面上的遥控器铺天盖地,对于家电设备的控制,首选红外遥控开关,然而技术和经济的
4、发展使得家庭数字化趋势越来越强烈,单一遥控开关已经不能满足用户要求和市场需求,如果把家用的所有遥控器都解码出来,用一个遥控器来控制多路电器,就方便多了。而光电红外遥控开关辐射较小,不会对人体健康产生较大危害,能与其他电器各行其道。又因为红外线波长较长,所以不同的家用电器不会相互作用。随着单片机的出现,产生了数字编码方式的红外遥控系统。红外遥控彰显出了它独特的魅力。红外线发射装置的遥控发射器造型小且价格低。数字信号编码和二次调制不仅能够完成多路信息的调控,增多遥控功能,提高信号传输的抗干扰性,减少误动作,而且功率消耗低。红外线向室外泄露的小,更不会出现信号串扰;它的反应速度快、传输效率高、工作稳
5、定可靠。所以现在许多遥控器都采用红外遥控方式。本论文主要是通过结合自己所学过的光学、电学、单片机方面的知识,设计红外遥控来控制家庭的多路开关,能用一个遥控器来控制家中较多的电器电源开关,解决生活中开关单一从而造成的使用不便,材料浪费等问题。一、课程设计目的综合运用光学、光电检测、电子技术、单片机课程的理论知识,掌握光电红外遥控开关系统的理论设计原理和系统总体设计方案,及系统分析与各模块单元电路的设计,掌握参数计算、元器件选择等。学会画完整的系统原理电路图和系统印刷电路板布线设计图。提高对软件编程和排错调试能力,提高对系统功能故障分析的能力。学会用keil编译和protues的isis仿真,并根
6、据分析影响仿真结果的各种可能的因素,找到问题并改进解决,完成一份光电系统设计报告,团队分工合作完成光电红外遥控开关课题。二、课程设计任务与要求1、设计任务利用光学、光电检测、电子技术、单片机课程的知识,设计一个光电红外遥控开关设计光电系统,包括相关的探测部分、电子线路、单片机控制、程序设计、系统仿真、电路板设计等。2、设计要求光电红外遥控开关系统总体设计方案;系统分析与各模块或单元电路的设计、参数计算、元器件选择等;完整的系统原理电路图;所需的元器件清单;仿真调试方案与步骤、相应测量表格与测量结论;完整的系统印刷电路板布线设计图。三、系统总体设计方案1、红外遥控技术的简介 红外线遥控是利用近红
7、外光传送遥控指令,波长为0.76um-1.5um。用近红外作为遥控光源,是因为红外发射器件(红外发光管)与红外接收器件(光敏二极管、三极管及光电池)的发光与受光峰值波长在0.8um-0.94um,在近红外光波段内,二者的光谱正重合,能够很好匹配,可获得较高的传输效率及较高的可靠性。红外线作为遥控模式是红外遥控器的载体。因为长波红外线的波长比无线电波较小,用红外线遥控不会干扰到其他家用设备,更不会引起其他的无线电设备的正常工作。况且红外遥控开关有较低的额定电压,有较小的功率损耗,电路简便,有较广的发展前景。红外通信的实质就是对二进制数字信号进行调制与解调,以便利用红外信道进行传输,发送端采用脉时
8、调制方式,将二进制数字信号调制成某一频率的脉冲序列,并驱动红外发射管以光脉冲的形式发送出去。接收端将接收到的光脉转换成电信号,再经过放大、滤波等处理后送给解调电路进行解调,还原为二进制数字信号后输出。2、系统总体设计方案以单片机为核心器件设计一个2路或2路以上红外遥控开关,实现控制多个家用电器的功能。用8052单片机片控制发射端u1,at8952单片机控制接收端u2,中间通过光电耦合装置实现红外发射和接收一体化系统。选用44矩阵键盘,可控制16路电器的开关。发射部分包括键盘矩阵、红外数据编码和调制、红外发送二极管。当按下遥控按钮时,单片机将红外信号编码和调制,并产生相应的控制脉冲,接收部分包括
9、红外接收头(光/电转换、放大解调)和解码mcu,中间连接电路(光电耦合器),方便实现在实现红外遥控开关系统一体化仿真。接收到红外遥控信号后,将光信号转变为电信号在经放大、解调、滤波后, 将编码信号送入到单片机at89c51中进行信号识别、解码,然后单片机在进行相应的处理,从而达到控制家电的目的。3、光电红外遥控开关系统框图(系统分析)红外控制电路at89c52单片机红外接收电路遥控器发射电路at89c52单片机遥控器操作键盘图1 基于单片机的红外遥控系统硬件组成模块四.总电路设计1、硬件设计原理红外发射接收一体系统分为红外发射部分u1和红外接收部分u2。发射部分是将发送的二进制信号调制成脉冲信
10、号,再发射。p1口作为键扫描端口,采用 4 4矩阵键盘,当按下某一个键后会发出对应的编码。经单片机的编码程序,发射相对应的脉冲频率,即产生具有不同的编码数字脉冲,定时器1中断产生38khz红外方波信号,其p3.6口输出待发射数据,由三极管放大后向接收端发射。该数据和 38k载波信号调制后发射到接收电路,接收电路再通过光电耦合器即irlink模块解调后送到u2的外部中断int0。由光电耦合器将电能转化为光能,发射出去。激励红外光二级管产生具有脉冲串的红外波,传送到遥控接收器。接收到信号后,单片机获取发射频率,由cpu确定发射频率,进行解码,确定控制信号,经由接收装置对红外信号的接收、放大、检波、
11、整形,并产生遥控编码脉冲,完成整个遥控功能。2、系统功能的实现方法二进制信号将会有单片机进行调制,经过单片机后,编码的二进制信号变成间断脉冲串,然后发射出去。红外遥控发射器发射的一帧数据由引导码、低8位用户编码、 8位数据码、 8位数据码的反码组成。用户识别码能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。后16位为8位数据码和8位数据码的反码,每次8位的数据码被传送之后,它的反码也随即被传送,用于确保接收数据准确。采用脉冲宽度调制方式,采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的 0,以脉宽为0.565ms、间隔1.685ms、
12、周期为2.25ms的组合表示二进制的1。红外数据帧经编码后,还要用38khz的方波进行脉冲幅度调制。图2 常见红外遥控调制解调过程波形图五、系统硬件设计1、元器件选择红外发光二极管、光敏二极管,at89c52单片机,44矩阵键盘,八段数码管,八线驱动器,解调器,led等。图3 红外发射器件及接收器件红外发光二极管是红外遥控发射电路主要组成部分;接收部分的红外接收管是一种光敏二极管。2、单元模块电路设计(1)光电红外遥控开关发射电路红外遥控发射部分的包括单片机、行列式键盘、数码管显示、三极管放大电路。控制核心为at89c52,单片机的定时器1中断产生38khz红外方波信号,其p3.6口输出待发射
13、数据,由三极管放大后向接收端发射。该数据和 38k载波信号调制后发射到接收电路,接收电路再通过光电耦合器即proteus软件自带的irlink模块调制后送到u2的外部中断int0。当按下某一个键后会点亮led灯,并产生具有不同的编码数字脉冲,会发出对应的编码。例如按下键k6,按照红外发射数据帧结构,将通过p3.4口串行发送“ 00,00, 0x06, 0xf9”,其中,前面的“ 00, 00”为用户码,对于不同的设备需作相应的修改;“ 0x06”是代表6号键,“ 0xf9”是“ 0x06” 的反码,用于校验,提高传输准确性。p1口作为键扫描端口,采用 44矩阵键盘,p0口相接数码管显示的值是矩
14、阵键盘的按键值,p3.7接发光二极管和220电阻。图4 光电红外遥控开关发射电路图(2)光电耦合电路光电耦合器是以光为媒介来传输电信号的器件,把红外发光二极管与光敏二极管封装在管壳内。当输入端加电信号时发光器发出光线,光敏二极管接收后就产生光电流,从输出端流出,从而实现了光电光的转换。由三极管放大后的信号,接红外发射接收一体化装置光电耦合器即proteus软件自带的irlink模块,其接入了解调器,以实现对脉冲编码信号调制的红外光信号的接收。然后对红外信号的接收、放大、检波、整形,得到ttl电平编码,将信号解调后送到u2的外部中断p3.3int0口。图5 光电耦合电路(3)光电红外遥控开关接收
15、电路红外接收部分是由红外接收头(光电耦合器、放大解调器)和解码mcu组成。把遥控发射器发来的红外光信号转换成电信号,再放大、限幅、检波、整形,形成遥控指令脉冲,解调电路将已调制的编码信号解调出来,还原为编码信号,通过解码得到遥控器的键码值,输出至单片机。数码管的二进制编码输出口为p1口,调解后的红外遥控信号的接收口为 p3.2。图6 光电红外遥控开关接收电路图3、系统原理硬件电路图图7 系统原理硬件电路图六、系统软件设计1、光电红外遥控开关发射图7所示是红外发射接收一体化仿真电路,为了便于在proteus上仿真实验。主要有单帧编码发射程序,38khz脉冲发射程序,按键扫描,按键消抖动和延时程序
16、。对44矩阵键盘扫描,得到按键码,并根据按键码查找出对应的红外发射编码。调制后编码发射,根据前述的编码协议通过p3.4口发射红外编码。发射红外编码采用定时器中断的方式来实现,设定时值为38k,也就是每隔26us中断一次。要发送9ms的引导码,将p3.4置为1,并控制定时器中断次数为346次即可。要发送4.5ms的起始码,将p3.4清0,并控制定时器中断次数为173次即可。图8 编码格式2、光电红外遥控开关接收主要有接收解码程序,数码管显示函数外部中断函数程序等。系统通电后,对p3.3口进行检查,当状态为低电平,启动中断服务程序,实时接收数据帧,采用中断的方法,对前3为码宽进行验证。当系统接收到
17、的高电平脉冲宽度大于3,就结束接收工作,同时输出二进制数据,这样数据接收就完成了。3、软件程序流程图9 遥控发射控制流程图开始定时器和中断初始化键盘扫描根据按键码找到相应的红外发射码发射引导码发射用户码发射数据和反码将p3.4口置0是否有按键4、编程代码(1)发射程序(见附录2)(2)接收程序(见附录3)七、proteus仿真结果1、光电遥控开关仿真电路图为了便于在proteus上仿真实验。单片机u2部分为红外接收,并显示接收到的红外编码,显示部分可采用数码管,lcd等显示器件,因proteus仿真软件里面没有常见的红外遥控发射器处理芯片,这里用at89c52单片机u1来实现,红外发射接收一体
18、化仿真电路。(见附录1)2、调试结果与分析还原后的数据波形与发射出的数据波形相位刚好反向。按下遥控开关不同数字产生不同频率的编码,发光二极管会被点亮,数码管会显示不同的数字,达到控制开关仿真结果,符合要求。八、将电路图转换为pcb印刷电路板图为了将该系统进行实践运用,需要将该电路图进行设计成pcb印刷电路板。为了设计方便,我运用altium designer进行设计。altium designer是一个完善的适应电子产品发展的开发软件。实际生活中,红外接收和红外发射是完全独立的两部分,红外发射器往往是一个遥控器,每个遥控器都自己的识别码。只要通过修改接收部分的识别码一般就可以控制接收器的驱动了
19、。1、发射部分工程图及pcb图通过altium designer创建两个工程,一个为发射部分的原理图,如下所示:图10 基于altium designer的红外遥控发射图新建一个pcb电气原理图,加载电路元件,在原理图中放置元件,添加库,画详细电气元件,严格控制接点宽度,详细的布局布线及选用封装这里省略,完成后导出成pdf格式,最终pcb图如下所示:图11 基于altium designer的红外发射pcb图所用实际器件如下:图12 红外发射器件列表2、接收部分工程图及pcb图图中的ldr为光敏二极管,红外接收原理图如下所示:图13 基于altium designer的红外接收原理图跟(1)同
20、样步骤,最终pcb图如下所示:图14 基于altium designer的红外接收pcb图所用实际器件如下:图15 红外发射器件列表九、团队分工及心得体会1、团队介绍及分工姓名主要分工学号联系电话1主要负责在proteus上设计电路并进行仿真测试,软件驱动程序设计,在altium designer上制作pcb图,排版论文并检查2对红外遥控开关系统理论设计,设计出电路思路,该系统设计论文的攥写3光电红外遥控开关相关资料收集,协助电脑仿真4光电耦合器的资料收集,协助红外遥控电路硬件、软件设计2、队员心得(1)成员1本次的光电系统课程设计是红外遥控开关系统设计,刚开始拿到题目时我几乎不太懂得它的原理
21、,也有些摸不着头脑,红外发光二极管不是就只有一个能发红外光的二极管吗,仅仅点亮它就能感应了?经过我们的资料收集,才发现,原来可以根据发光的频率脉冲,几毫秒的高电平,几毫秒的低电平即可辨识所发出的红外编码。由于我比较善于使用单片机,于是我们就想到用单片机来驱动红外接收和发射,对红外进行编码发射和解码驱动,即可完成红外遥控。了解了原理之后,我作为本组的组长,分好了详细分工,通过查找资料,及相关的视频学习后,开始设计本实验电路。当我们开始设计时遇到了一些问题,发现在proteus软件中找不到相应的红外发射接收模块,同时,红外接收和红外发射部分是完全独立的,无法在电脑上进行红外遥控的仿真实验。后来上网
22、查询相关资料,发现proteus中有一个红外发射接收一体化irlink模块,将红外发射和接收结合在一起,于是我们的思路有了一个大的变化,设计也变得顺畅。我主要负责在电脑上设计电路,仿真实验,单片机部分软件设计,pcb印刷电路板的制作以及论文排版。最为困难的是软件设计和pcb印刷电路板的制作,拿到这个电路图,且不说里面的接线是否正确,程序还没写好,都没办法进行仿真;当程序完成后,导入电路图进行仿真时,又发现没反应,这个过程反反复复,着实消磨我的信心。经过队友的帮忙和网上查询资料,结果才渐渐浮出水面,顿时成就感满满。而且pcb印刷电路板的制作也是刚开始学,完全琢磨不透,后来我请教班上的同学,经过一
23、天的教学,我方能开始制作pcb图,在这个过程对很多电器件的封装有了一个深入的了解,pcb制作,并不是电脑上随便选封装的,要根据实际情况,现实中能买得到的器件来设计,有时找不到封装,就只能自己画出它的大小和接线宽度等等,非常的繁杂。总的来说,这次设计确实能让我收获了不止是书本的知识,更是实际应用中的知识,只有接触了才知道自己在很多方面的不足,还需要不断地练习和学习,就比如这个排版,也是由于做多了论文才会渐渐懂得怎样排版才会显得合适和美观。(2)通过本次的光电系统课程设计我受益匪浅,我们的课程设计的题目是光电红外遥控开关,并对光电红外遥控技术,单片机的知识,实际操作能力都得到提高。在硬件方面,了解
24、光电红外遥控开关的开发流程,学习了光电红外遥控发射和接收电路的设计,和印刷电路板的设计等。在软件方面,学会了控制单片机的编码解码程序,和发送接收程序编写等,学会运用keil软件建立工程文件来调试程序的正确性,和运用protues仿真软件仿真调试。我负责的部分是系统总理论的设计和设计报告总结部分。对于红外遥控开关的设计方案有很多,方案一是用普通的集成电路单通道实现的,方案二是单片机实现的,通过系统分析后觉得后者才可进行多路控制更具有实用性。刚开始寻找有关的资料后按题目要求制定了设计方案,进行设计的总体规划,理清课程设计思路是设计必要的准备。然后经过不断的仿真调试完成总设计。通过组员分工合作再汇总
25、总结。在设计环节和步骤中,刚开始就遇到了很多问题,比如光电红外遥控是怎样实现红外信号数据的传送和接收等。并逐渐认识到红外通信的实质就是对二进制数字信号进行调制与解调,其中软件编程是重点难点,如编码解码程序,如实现键盘扫描等。在仿真中,刚开始是分别采用发射和接收两部分电路进行设计,在仿真中才意识到无法在同一个电脑上实现红外发射传送,在查找资料后,最后采用红外遥控开关一体化系统,中间的用irlink光电耦合器连接解调器实现数码调制。经不断调试后,最后能实现红外遥控开关的控制。利用单片机控制红外信号的编码解码是设计中的突破点,通过不断的查找资料,终于弄清楚了什么是发送数据帧的用户码,数据码等。而遥控
26、码的调制和解调方式也是难点,分别是脉冲宽度调制和脉冲个数编码调制。选择采用了串行码编码,这种编码方式虽然复杂,但是可靠性强,适用于遥控按键多的遥控器编码。本次课程设计侧重光电系统中的红外遥控技术,全面具体地掌握系统设计思路方法和理论知识,使理论与实际相结合,充分的锻炼动手和思维扩展能力。通过这次课设,我掌握了光电红外遥控开关的工作原理,又综合运用了光电和单片机的知识,熟练了数据编码和解码调制的过程。在各位组员的分工合作协助下突破了一个个困难,扩充了自己的不足的知识面,收获了很多。整个课程设计,既再次对光电系统设计有了更深刻理解,又提高了分析问题解决问题的能力。学以致用,理论应用于实践,这是我最
27、大的收获。(3)成员3终于设计完了,感觉轻松了好多。有很多感受,感觉自己知识太缺乏了,尤其是关于模电,数电这方面的知识,需要不停地翻书上网查找。还有关于proteus画图软件的应用,对于我这个软件小白真的每一步都需要上网捣鼓好久,万事开头难,一旦开始就不能回头了,所以再难我们都会硬着头皮做下去。我们设计分工不错,只是仿真还是有些问题,一直没法解决,限于时间有限也只能作罢了。希望下次能紧扣课本。(4)成员4书本的知识要活学活用,实践出真知。这是我每次完成实验或者是课程设计之后最大的感慨,跟书本的学习不同,课程设计更多的是学要我们自己去动手,主动去学,把知识变成工具,来辅助自己完成设计,而不是被动
28、的跟着书本,被牵着走。本次课程设计我们的课题是光电红外遥控开关设计,这需要我们更加深入的去学习了解光电红外的开发流程,光电红外遥控接收和发射电路的设计,还有其他的keil软件的使用以及运用proteus仿真软件仿真调试等等。本次课程设计我负责的是光电耦合器的资料收集,协助红外遥控电路硬件,软件设计部分的工作,由于自己基础不是很扎实,一开始入手觉得挺困难的,也是通过小组成员的协助,加上不断的查找资料多方请教,最总算是顺利的完成了这次的课程设计。通过本次的课程设计,加深了对红外遥控技术知识的理解,进一步巩固了红外遥控电路设计的知识,更加培养了我的团队协作能力,发现问题解决问题的能力,深切的体会到理
29、论结合实际,理论应当运用于实践的道理。参考文献1 何立民主编.mcs-51系列单片机应用系统设计.北京:北京航空航天大学出版社2001.2彭伟.基于红外接收组件irlink的仿真遥控系统设计j.北京电子科技学院学报,2011(4):84-90. 3李建华.实用遥控器原理与制作.北京:人民邮电出版社,1996.4苏长赞.红外线与超声波遥控.北京:人民邮电出版社,1995.附录1 光电红外遥控开关系统电路原理图附录2 光电红外遥控系统发射部分程序/发射引脚(接pnp三极管b极)/pnp三极管e极接2电阻,c极接红外发射管 #include #include #define uchar unsign
30、ed char #define uint unsigned int #define sbm 0x80 /识别码#define m9 (65536-9000) /约9ms#define m4_5 (65536-4500) /约4.5ms#define m1_6 (65536-1630) /约1.65ms#define m_65 (65536-580) /约0.65ms#define m_56 (65536-560) /约0.56ms#define m40 (65536-40000) /约40ms#define m56 (65536-56000) /约56ms#define m2_25 (6553
31、6-2250) /约2.25mssbit ir = p36; /定义发射引脚(接pnp三极管基极)sbit led = p37; /发射指示灯uchar key_check(void); /检测按键void key_handle(void); /散转程序void send_main(char x); /发送主程序void send_frame(uchar temp); /发送帧数据void send_pulse(bit bt,uint x); /发送脉冲数据void delay(uchar time); /按键去抖动/*函数功能:主函数*/void main(void)tmod = 0x01;
32、/t0 16位工作方式ir = 1;/发射端口常态为高电平while(1) key_handle();/*函数功能: 44矩阵键盘 获取键值 p1.0 p1.1 p1.2 p1.3 p1.4 p1.5 p1.6 p1.7 13 14 15 16 9 10 11 12 5 6 7 8 1 2 3 4 */uchar key_check(void)uchar line, row; /行值,列值line = 0;row = 0;p1 = 0xf0; /将键盘端口行值设为1,列值设为0if(p1 != 0xf0) /检测是否有按键按下,如果有则line必不为0x0fdelay(10);/按键去抖动,延
33、时10毫秒if(p1 != 0xf0)/确实有按键按下led = 0;line = p1 & 0xf0;/按键后得到按键的行标志位,将行标志位赋值给linep1 = 0x0f;/翻转键盘接口输出row = p1 & 0x0f;/得到列标志位return (line + row);return 0;/*函数功能:散转程序入口参数:key_value/ 13 14 15 16/ 9 10 11 12/ 5 6 7 8/ 1 2 3 4*/void key_handle(void)uchar key_value;key_value = key_check(); switch(key_value)ca
34、se 0x77:send_main(0x01); key_value=0; break;/1case 0xb7:send_main(0x02); key_value=0; break;/2case 0xd7:send_main(0x03); key_value=0; break;/3case 0xe7:send_main(0x04); key_value=0; break;/4case 0x7b:send_main(0x05); key_value=0; break;/5case 0xbb:send_main(0x06); key_value=0; break;/6case 0xdb:send
35、_main(0x07); key_value=0; break;/7case 0xeb:send_main(0x08); key_value=0; break;/8case 0x7d:send_main(0x09); key_value=0; break;/9case 0xbd:send_main(0x10); key_value=0; break;/10case 0xdd:send_main(0x11); key_value=0; break;/11case 0xed:send_main(0x12); key_value=0; break;/12case 0x7e:send_main(0x1
36、3); key_value=0; break;/13case 0xbe:send_main(0x14); key_value=0; break;/14case 0xde:send_main(0x15); key_value=0; break;/15case 0xee:send_main(0x16); key_value=0; break;/16default:key_value=0;/*函数功能:发送主程序*/void send_main(uchar x) send_pulse(1, m9);/高电平9mssend_pulse(0, m4_5);/低电平4.5ms/* 发送4帧数据 */sen
37、d_frame(sbm); send_frame(sbm);send_frame(x);send_frame(x);/* 结束码 */send_pulse(1, m_65);send_pulse(0, m40);/* 重复码 */while(key_check()send_pulse(1, m9);send_pulse(0, m2_25);send_pulse(1, m_56);send_pulse(0, m40);send_pulse(0, m56);led = !led; /指示灯 led = 1;/*函数功能:单帧发送程序入口参数:1帧数据*/void send_frame(uchar
38、temp) uchar v;for (v=0; v= 1; /右移一位 /*函数功能:38khz脉冲发射 + 延时程序入口参数:(是否发射脉冲,延时约 x (us))*/void send_pulse(bit bt, uint x)th0 = x8; /输入t0初始值tl0 = x;tf0 = 0; /清0tr0 = 1; /启动定时器0if(bt = 0)while(!tf0);/bt=0时不发射38khz脉冲只延时;bt=1发射38khz脉冲且延时;else while(1) /38khz脉冲,占空比5:26ir = 0;if(tf0)break;if(tf0)break;ir = 1;i
39、f(tf0)break;if(tf0)break;if(tf0)break;if(tf0)break;if(tf0)break;if(tf0)break;if(tf0)break;if(tf0)break;if(tf0)break;if(tf0)break;if(tf0)break;tr0 = 0; /关闭定时器0tf0 = 0; /标志位溢出则清0ir = 1; /脉冲停止后,发射端口常态为高电平/*函数功能:按键消抖 延时程序入口参数:1mstime (晶振=12mhz)*/void delay(uchar time)uchar i, j;for(i=0; itime; i+)for(j=0; j247; j+);附录3 光电红外遥控系统接收部分程序/ 使用外部中断0接收#include #include #define uchar unsigned char #define uint unsi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年版建筑工程前期勘察合作合同版
- 2025年度绿色能源产业合伙公司协议范本2篇
- 2025年度离婚协议模板下载:包含子女抚养细则
- 2024年中国橡皮警棒市场调查研究报告
- 2024年版权购买合同协议书范本
- 2024年知识产权维权协议
- 2025年极细射频同轴电缆合作协议书
- 2024年物流园区车辆停放合同范本3篇
- 用精馏或吸收的课程设计
- 熊猫宝宝漫画课程设计
- 中国食物成分表2018年(标准版)第6版 第一册 素食
- EBV相关TNK细胞淋巴组织增殖性疾病
- 中国电信-员工手册(共20页)
- 京东五力模型分析
- 毕业设计(论文)驱动桥毕业设计
- 电大《电气传动与调速系统》网络课形考任务1-4作业及答案
- 宜都市产业集群基本情况及产业链
- SF_T 0119-2021 声像资料鉴定通用规范_(高清版)
- 变电站电气一次工程监理要点重点
- 足球专项体育课教学大纲、教学计划
- 五年级科学下册 给冷水加热课件1 教科版
评论
0/150
提交评论