基于红外遥控的步进电机智能控制电路设计方案.doc_第1页
基于红外遥控的步进电机智能控制电路设计方案.doc_第2页
基于红外遥控的步进电机智能控制电路设计方案.doc_第3页
基于红外遥控的步进电机智能控制电路设计方案.doc_第4页
基于红外遥控的步进电机智能控制电路设计方案.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

基于红外遥控的步进电机智能控制电路设计方案第一章 概述 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 根据步进电机驱动方式,我们想到了用单片机输出频率,但是单片机输出电压不够,需要升压,于是在单片机的外围电路上加上高速光耦电路在去驱动步进电机,本设计最大的优点在于可以远程遥控,步进电机的转动的频率。本课题最大的意义,是突出机电一体化(电子技术)专业的精华,弱电控制强电,强弱相结合,智能控制。在确定设计方向后,我们这个设计小组就讨论在分步分模块设计电路,然后整体结合。还是一步就把整个电路做出来。在解教授的指导下,我们明白设计需要严谨,电路不能一步成功,而是一步一个脚印,步进式的设计电路,分模块做电路和写程序。于是我们设计和调试都是分部进行的,每个成员做一个擅长的模块,然后再整体结合,虽然在结合过程中,有许多困难,但是在解教授的指导下,一一攻破。最后设计完成液晶时间显示,红外线发射,红外线接收,输出频率。使步进电机智能控制正常运行。第二章 系统硬件设计2.1红外线发射部分总电路红外线发射部分总电路如图2.1所示。 图2.1电路采用了AT89S52低功耗单片机,红外线发射二极管,DS1302时钟芯片,LCD1602液晶显示屏,矩阵按键。2.2 微机系统电路:AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。AT89C52采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义。AT89C52引脚图如图2.2所示。 图2.22.3 LCD1602液晶显示屏电路:显示使用了1602液晶屏显示,液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。 LCM1602A采用标准的16脚接口,其中VSS为地电源,VDD接5V正电源,V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,为使显示达到最佳效果,实训电路在V0与VCC之间串接一10K的电位器进行对比度调节。VSS与BLK接三极管NPN,三极管NPN做开关,控制液晶屏的开关,用于省电模式。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。D0D7为8位双向数据线。LCD1602引脚图如图2.3.1所示。 图2.3.1LCD1602与单片机相接图如图2.3.2所示。 图2.3.22.4 DS1302时钟芯片电路时间计算使用了DS1302时钟芯片,DS1302 包括时钟/日历寄存器和31字节(8位)的数据暂存寄存器,数据通信仅通过一条串行输入输出口。实时时钟/日历提供包括秒、分、时、日期、月份和年份信息。闰年可自行调整,可选择12 小时制和24 小时制,可以设置AM、PM。只通过三根线进行数据的控制和传递:RST,I/O,SCLK。通过备用电源可以让芯片在小于1MW 的功率下运作。主要工作原理 :移位寄存器,控制逻辑,晶振,时钟和RAM。在进行任何数据传输时,RST必须被制高电平(注意虽然将它置为高电平,内部时钟还是在晶振作用下走时的,此时,允许外部读写数据),在每个SCLK 上升沿时数据被输入,下降沿时数据被输出,一次只能读写一位,适度还是写需要通过串行输入控制指令来实现(也是一个字节),通过8 个脉冲便可读取一个字节从而实现串行输入与输出。最初通过8 个时钟周期载入控制字节到移位寄存器。如果控制指令选择的是单字节模式,连续的8 个时钟脉冲可以进行8位数据的写和8位数据的读操作,SCLK 时钟的上升沿时,数据被写入DS1302,SCLK 脉冲的下降沿读出DS1302 的数据。8个脉冲便可读写一个字节。在突发模式,通过连续的脉冲一次性读写完7 个字节的时钟/日历寄存器(注意时钟/日历寄存器要读写完),也可以一次性读写8328 位RAM 数据(可按实际情况读写一定数量的位,不必全部读写,两者的区别)DS1302引脚图如图2.4.1所示: 图2.4.1DS1302与单片机电路图如图2.4.2所示: 图2.4.22.5 矩阵按键电路:键盘使用了4乘4矩阵按键.扫描原理:首先确定是哪一行按下键,在确定哪一个键那下。(1) 置P1口为高电平, 扫描第一行,拉底P1.0电位,如果第一行无键按下,就拉高P1.0电位,拉底P1.1电位,开始扫描第二行。如果还是没键按下,按以上顺序,扫描第三行和第四行,直到检测到按键为止。(2) 如果检测第一行有按键按下,就开始检测列的按键,因为矩阵对应的编码,所以检测出P1口的值与编码对照,找出对应的按键。依此类推,就可以检测第二行,第三行,第四行,列位的键。键盘与单片机电路图如图2.5所示。 图2.52.6 红外线发射电路:红外线发射采用了红外线发射管。红外线发射管也称红外线发射二极管,属于二极管类。它是可以将电能直接转换成近红外光(不可见光)并能辐射出去的发光器件,主要应用于各种光电开关及遥控发射电路中。红外线发射管的结构、原理与普通发光二极管相近,只是使用的半导体材料不同。红外发光二极管通常使用砷化镓(GaAs)、砷铝化镓(GaAlAs)等材料,采用全透明或浅蓝色、黑色的树脂封装。工作原理:用单片机控制红外线发射管,设定遥控码的脉冲个数,在调制成40kHz方波由红外线发射管发射出去。红外线发射管图如图2.6.1所示:图2.6.1红外线发射管与单片机图如图2.6.2所示:图2.6.22.7红外线接受部分 红外线接受总电路图如图2.7所示: 图2.7 电路采用AT89S52低功耗单片机,红外线接收头,光耦电路,步进电机驱动电路。2.8红外线接收电路:红外线接收头(又称红外线接收模组,IRM)是集成红外线接收PD二极管、放大、滤波和比较器输出等IC模块。红外线接收头分类通常可以按频率分为36,37.9,40,56.7Khz可按不同需求选择使用不同频点.红外接收头,广泛应用在家用电视TV,DVD们不再制作接收放大电路,这样红外接收头简化了电路。常用的一种红外接收头的外形,均有三只引脚,即电源正VDD、电源负(GND)和数据输出(Out)。接收头的引脚排列因型号不同而不尽相同,因接收头的外形不同而引脚的区别。红外线引脚图如图2.8.1所示:图2.8.1红外线接收头与单片机电路图如图2.10.2所示: 图2.8.22.9光耦电路(1) 光耦的工作原理 耦合器以光为媒介传输电信号。它对输入、输出电信号有良好的隔离作用,所以,它在各种电路中得到广泛的应用。目前它已成为种类最多、用途最广的光电器件之一。光耦合器一般由三部分组成:光的发射、光的接收及信号放大。输入的电信号驱动发光二极管(LED),使之发出一定波长的光,被光探测器接收而产生光电流,再经过进一步放大后输出。这就完成了电光电的转换,从而起到输入、输出、隔离的作用。由于光耦合器输入输出间互相隔离,电信号传输具有单向性等特点,因而具有良好的电绝缘能力和抗干扰能力。又由于光耦合器的输入端属于电流型工作的低阻元件,因而具有很强的共模抑制能力。所以,它在长线传输信息中作为终端隔离元件可以大大提高信噪比。在计算机数字通信及实时控制中作为信号隔离的接口器件,可以大大增加计算机工作的可靠性。(2) 光耦的优点 光耦合器的主要优点是:信号单向传输,输入端与输出端完全实现了电气隔离,输出信号对输入端无影响,抗干扰能力强,工作稳定,无触点,使用寿命长,传输效率高。光耦合器是70年代发展起来产新型器件,现已广泛用于电气绝缘、电平转换、级间耦合、驱动电路、开关电路、斩波器、多谐振荡器、信号隔离、级间隔离 、脉冲放大电路、数字仪表、远距离信号传输、脉冲放大、固态继电器(SSR)、仪器仪表、通信设备及微机接口中。在单片开关电源中,利用线性光耦合器可构成光耦反馈电路,通过调节控制端电流来改变占空比,达到精密稳压目的。(3) 光耦的种类 光电耦合器分为两种:一种为非线性光耦,另一种为线性光耦。 非线性光耦的电流传输特性曲线是非线性的,这类光耦适合于开关信号的传输,不适合于传输模拟量。 常用的4N系列光耦属于非线性光耦 。 线性光耦的电流传输特性曲线接近直线,并且小信号时性能较好,能以线性特性进行隔离控制。 常用的线性光耦是PC817AC系列。 开关电源中常用的光耦是线性光耦。如果使用非线性光耦,有可能使振荡波形变坏,严重时出现寄生振荡,使数千赫的振荡频率被数十到数百赫的低频振荡依次为号调制。由此产生的后果是对彩电,彩显,VCD,DCD等等,将在图像画面上产生干扰。同时电源带负载能力下降。 在彩电,显示器等开关电源维修中如果光耦损坏,一定要用线性光耦代换。 常用的4脚线性光耦有PC817A-C。PC111 TLP521等常用的六脚线性光耦有:LP632 TLP532 PC614 PC714 PS2031等。 常用的4N25 4N26 4N35 4N36是不适合用于开关电源中的,因为这4种光耦均属于非线性光耦。电路选用光耦为pc817,pc817是常用的线性光藕,在各种要求比较精密的功能电路中常常被当作耦合器件,具有上下级电路完全隔离的作用,相互不产生影响。pc817内部框图如图2.9.1所示: 图2.9.1 当输入端加电信号时,发光器发出光线,照射在受光器上,受光器接受光线后导通,产生光电流从输出端输出,从而实现了“电-光-电”的转换。 普通光电耦合器只能传输数字信号(开关信号),不适合传输模拟信号。线性光电耦合器是一种新型的光电隔离器件,能够传输连续变化的模拟电压或电流信号,这样随着输入信号的强弱变化会产生相应的光信号,从而使光敏晶体管的导通程度也不同,输出的电压或电流也随之不同。PC817光电耦合器不但可以起到反馈作用还可以起到隔离作用。如图2.9.2所示。图2.9.2 PCB17集射极电压Vce与二极管正向电流IF关系单片机与光耦电路图如图2.9.3所示: 图2.9.3光耦驱动部分如图2.9.4所示:图2.10.4电路使用单片机低电平触发,R8为限流电阻,当单片机输出为低电平时候,光耦LED启动光耦输出部分如图2.9.5所示: 图2.9.5因为步进电机驱动器为24V脉冲型号驱动,所以光耦输出电路,脉冲上限为40KHz.2.10 步进电机电路:步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。虽然步进电机已被广泛运用,但它不能像普通的直流电机,交流电机那样在常规下使用。它由双环形脉冲信号、功率驱动电路等组成系统次可以使用。步进电动机多用于数字式计算机的外部设备,以及打印机、绘图机和磁盘等装置。步进电机驱动简介:步进电机不能直接接到工频交流或直流电源上工作,而必须使用专用的步进电机驱动器,如图2.11.1所示,它由脉冲发生控制单元、功率驱动单元、保护单元等组成。图中点划线所包围的二个单元可以用微机控制来实现。驱动单元与步进电动机直接耦合,也可理解成步进电机微机控制器的功率接口,这里予以简单介绍。图2.10.1步进电机驱动控制器Q2HB68CM驱动器如图2.10.2所示: 图2.10.2Q2HB68MC(D)为等角度恒力矩细分型驱动器,驱动电压DC24-80V,适配6或8出线、电流在6A以下、外径57-86mm的各种型号的二相混合式步进电机。该产品广泛应用于雕刻机、激光打标机,激光内雕机等分辨率较高的小型数控设备上。特点: 高性能、低价格 采用独特的控制电路 设有12/8档等角度恒力矩细分,最高200细分 最高反应频率可达200Kpps 步进脉冲停止超过100ms时,线圈电流自动减半 双极恒流斩波方式 光电隔离信号输入/输出 驱动电流从0.5A/相到6A/相连续可调 单电源输入,电压范围:DC24-80V工作电流示设置图如图2.10.3所示。 图2.10.3输入信号时序图如图图2.10.4所示。 图2.10.4驱动器接线图如图2.10.5所示。 图2.10.5注意:1、千万不要将电源接反,输入电压不要超过DC80V;2、输入控制信号电平为5V,当高于5V时需接限流电阻;3、驱动器温度超过70度时驱动器停止工作,故障指示灯O.H亮,直到驱动器温度降到50度,驱动器自动恢复工作。出现过热保护请加装散热器;4、此型号驱动器由于采用特殊的控制电路,故必须使用6出线或8出线电机;5、过流(负载短路)故障指示灯O.H亮,请检查电机接线及其他短路故障,排除后需要重新上电恢复;6、欠压(电压小于DC24V),故障指示灯O.H亮。Q2HB68CM细分表如表2.10.6所示表2.10.6细分数124581020254050100200200200200200D0ONOFFONOFFONOFFONOFFONOFFONOFFONOFFONOFFD1ONONOFFOFFONONOFFOFFONONOFFOFFONONOFFOFFD2ONONONONOFFOFFOFFOFFONONONONOFFOFFOFFOFFD3ONONONONONONONONOFFOFFOFFOFFOFFOFFOFFOFFD4ON,双脉冲:PU为正向步进脉冲信号,DR为反向步进脉冲信号OFF,单脉冲:PU为步进脉冲信号,DR为方向控制信号D5自检测开关(OFF时接收外部脉冲,ON时驱动器内部发7.5kHz脉冲)细分数1248163264128D0ONOFFONOFFONOFFONOFFD1ONONOFFOFFONONOFFOFFD2ONONONONOFFOFFOFFOFFD3无效D4ON,双脉冲:PU为正向步进脉冲信号,DR为反向步进脉冲信号OFF,单脉冲:PU为步进脉冲信号,DR为方向控制信号 D5自检测开关(OFF时接收外部脉冲,ON时驱动器内部发7.5kHz脉冲)引脚功能说明如表2.10.7所示表2.10.7标记符号功 能注 释TM工作指示灯TM信号有效时,绿色指示灯点亮O.H故障指示灯过热保护时红色发光管点亮Im电机线圈电流设定电位器调整电机相电流,逆时针减小,顺时针增大+输入信号光电隔离正端接+5V供电电源.+5V-+24V均可驱动,高于+5V需接限流电阻PUD4=OFF,PU为步进脉冲信号下降沿有效,每当脉冲由高变低时电机走一步。输入电阻220,要求:低电平0-0.5V,高电平4-5V,脉冲宽度2.5sD4=ON,PU为正向步进脉冲信号+输入信号光电隔离正端接+5V供电电源.+5V-+24V均可驱动,高于+5V需接限流电阻DRD4=OFF,DR为方向控制信号用于改变电机转向。输入电阻220,要求:低电平0-0.5V,高电平4-5V,脉冲宽度2.5sD4=ON,DR为反向步进脉冲信号+输入信号光电隔离正端接+5V供电电源.+5V-+24V均可驱动,高于+5V需接限流电阻MF电机释放信号有效(低电平)时关断电机线圈电流,驱动器停止工作,电机处于自由状态+原点输出光电隔离正端电机线圈通电位于原点置为有效(B,-A通电);光电隔离输出(高电平)TM原点输出信号光电隔离负端+端接输出信号限流电阻,TM接输出地。最大驱动电流50mA,最高电压50V。+V电源正极DC24-80VV电源负极AC、BC 电机接线第三章 软件系统设计3.1 LCD1602液晶显示屏程序设计:LCD1602时序图如图3.1.1, 图3.1.2, 图3.1.3所示: 图3.1.1 图3.1.2 图3.1.3液晶显示的程序框图如图3.1.4所示:图3.1.4显示子程序:INIT_1602:MOV A, #01HLCALL WR_CMD ;清屏MOV A, #38HLCALL WR_CMD ;8位数据,16X2,5X7点阵MOV A, #0CHLCALL WR_CMD ;开显示,关光标,不闪烁MOV A, #06HLCALL WR_CMD ;读写字符时地址+1,整屏不移动RETWR_CMD: MOV P0, ACLR RS ;写入控制命令CLR RWCLR ELCALL BUSYSETB ERETWR_DATA:MOV P0, ASETB RS ;写入数据CLR RWCLR ELCALL BUSY ;判断液晶模块是否忙?SETB ERETBUSY: MOV P0,#0FFH;查看LCD是否忙CLR RSSETB RWCLR ENOPSETB EJB P0.7,BUSY ;如果P0.7为高电平表示忙就循环等待RET3.2 DS1302时钟芯片程序设计DS1302时序图如图3.2.1所示: 图3.2.1DS1302寄存器如表3.2.2所示:表3.2.2DS1302程序流程图如图图3.2.3所示: 图3.2.3DS1302显示子程序:WR1302: MOV DS1302_ADDR,#8EH MOV DS1302_DATA,#00H ;允许写1302LCALL WRITE ;写子程序MOV DS1302_ADDR,#80HMOV DS1302_DATA,#80H ;1302停止振荡LCALL WRITEMOV DS1302_ADDR,#8CH ;年写入1302MOV DS1302_DATA,YEARLCALL WRITEMOV DS1302_ADDR,#8AH ;周写入1302MOV DS1302_DATA,WEEKLCALL WRITEMOV DS1302_ADDR,#88H ;月写入1302MOV DS1302_DATA,MONTHLCALL WRITEMOV DS1302_ADDR,#86H ;日写入1302MOV DS1302_DATA,DAYLCALL WRITEMOV DS1302_ADDR,#84H ;时写入1302MOV DS1302_DATA,HOURLCALL WRITEMOV DS1302_ADDR,#82H ;分写入1302MOV DS1302_DATA,MINLCALL WRITEMOV DS1302_ADDR,#80H ;秒写入1302MOV DS1302_DATA,SECLCALL WRITERETWRITE: CLR T_CLKNOPSETB T_RSTNOPMOV A,DS1302_ADDRMOV R4,#8WRITE1:RRC A NOPNOPCLR T_CLKNOPNOPNOPMOV T_IO,CNOPNOPNOPSETB T_CLKNOPNOPDJNZ R4, WRITE1CLR T_CLKNOPMOV A, DS1302_DATAMOV R4,#8WRITE2: RRC ANOP CLR T_CLKNOPNOPMOV T_IO,CNOP NOPNOPSETB T_CLKNOPNOPDJNZ R4,WRITE2CLR T_RSTRETK_STR:MOV DS1302_ADDR,#80H ;开始振荡MOV DS1302_DATA,SECLCALL WRITEMOV DS1302_ADDR,#8EH ;禁止写入1302MOV DS1302_DATA,#80HLCALL WRITESETB F0AJMP RTRD1302:MOV DS1302_ADDR,#8DH ;年读出LCALL READ ;读子程序MOV YEAR,DS1302_DATAMOV DS1302_ADDR,#8BH ;周读出 LCALL READMOV WEEK,DS1302_DATAMOV DS1302_ADDR,#89H ;月读出 LCALL READMOV MONTH,DS1302_DATAMOV DS1302_ADDR,#87H ;日读出LCALL READMOV DAY,DS1302_DATAMOV DS1302_ADDR,#85H ;时读出LCALL READMOV HOUR,DS1302_DATAMOV DS1302_ADDR,#83H ;分读出LCALL READMOV MIN,DS1302_DATAMOV DS1302_ADDR,#81H ;秒读出LCALL READMOV SEC,DS1302_DATARET READ: CLR T_CLKNOPNOPSETB T_RSTNOPMOV A,DS1302_ADDRMOV R4,#8 READ1: RRC AMOV T_IO,CNOPNOPNOPSETB T_CLKNOPNOPNOPCLR T_CLKNOPNOPDJNZ R4,READ1MOV R4,#8 READ2: CLR T_CLKNOPNOPNOPMOV C,T_IONOPNOPNOPNOPNOPRRC ANOPNOPNOPNOPSETB T_CLKNOPDJNZ R4,READ2MOV DS1302_DATA,ACLR T_RSTRET3.3 矩阵按键程序设计键盘是由若干独立的键组成。键盘的形式有以下两种:独立式键盘和编码式键盘。为了节省资源,所以使用了编码式键盘(4乘4矩阵按键)。键的按下与释放是通过机械触点的闭合与断开来实现的,因机械触点的弹性作用,在闭合与断开的瞬间均有一个抖动过程 。抖动时序图如图3.3.1所示: 图3.3.1 这个项目采用了,软件去抖动的方法,用了10ms延时,去抖动。4乘4矩阵按键程序工作流程图如图图3.3.2所示: 图3.3.2键盘子程序:KEY: MOV P1,#0FFH CLR P1.0 MOV A,P1 ANL A,#0F0H CJNE A,#0F0H,KEY1 SETB P1.0 CLR P1.1 MOV A,P1 ANL A,#0F0H CJNE A,#0F0H,KEY1 SETB P1.1 CLR P1.2 MOV A,P1 ANL A,#0F0H CJNE A,#0F0H,KEY1 SETB P1.2 CLR P1.3 MOV A,P1 ANL A,#0F0H CJNE A,#0F0H,KEY1 SETB P1.3 RET KEY1: LCALL D10MS MOV A,P1 ANL A,#0F0H CJNE A,#0F0H,KEY2 KEYOUT: RET KEY2: MOV A,P1 MOV R7,A KEY3: LCALL D10MS MOV A,P1 ANL A,#0F0H CJNE A,#0F0H,KEY3 MOV R4,#00H MOV DPTR,#KEYTAB X1: MOV A,R4 MOVC A,A+DPTR XRL A,R7 JZ X2 INC R4 CJNE R4,#10H,X1 RET ;X2: MOV A,R4 MOV B,A RL A ADD A,B MOV DPTR,#KEYFUNTAB JMP A+DPTR KEYFUNTAB: LJMP KEYFUN00 LJMP H_ADD LJMP M_ADD LJMP S_ADD LJMP W_ADD LJMP K_STR LJMP TIM1 LJMP RT LJMP RT LJMP RT LJMP RT LJMP RT LJMP RT LJMP RT LJMP RT LJMP RT RT: RETKEYTAB: DB 0EEH,0DEH,0BEH,7EH,0EDH,0DDH,0BDH,7DH DB 0EBH,0DBH,0BBH,7BH,0E7H,0D7H,0B7H,77H,0FFH,0FFH3.4 红外线发射程序设计遥控码的编码格式:遥控器采用脉冲个数编码,不同的脉冲个数代表不同的码,最小为2个脉冲,最大为17个脉冲。为了使接受可靠,第一位码宽为3ms,其余为1ms,遥控码数据帧间大于10ms.如图3.4.1所示: 图3.4.1红外线发射程序流程图如图3.4.2所示: 图3.4.2红外线发射子程序:REMOTE: MOV R1,A ;装入发射脉冲个数 LJMP OUT3 ;转第一个码发射处理OUT: MOV R0,#55H ;1MS宽低电平发射控制数据OUT1: SETB ET1 ;开T1中断 SETB TR1 ;开启定时器T1 NOP ;延时 NOP NOP NOP NOP DJNZ R0,OUT1 ;时间不到转OUT1再循环 MOV R0,#32H ;1MS高电平间隙控制数据OUT2: CLR TR1 ;关定时器T1 CLR ET1 ;关T1中断 CLR P3.5 ;关脉冲输出 NOP ;空操作延时 NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP DJNZ R0,OUT2 ;时间不到转OUT2再循环 DJNZ R1,OUT ;脉冲未发完,转OUT再循环发射 LCALL DL500MS ; RET ;OUT3: MOV R0,#0FFH ;装发谢3MS宽控制数据 LJMP OUT1 ;转OUT1;513微秒延时程序DELAY: MOV R2,#0FFHDELAY1: DJNZ R2,DELAY1RET;10毫秒延时程序DL10MS: MOV R3,#14HDL10MS1: LCALL DELAY DJNZ R3,DL10MS1 RET;500毫秒延时程序DL500MS: MOV R4,#32HDL500MS1: LCALL DL10MS DJNZ R4,DL500MS1 RET3.5 红外线发射总程序流程图如图3.5所示: 图3.5红外线发射总程序附录一3.6红外线接收程序红外接收头的主要参数如下: 工作电压:2.74.5V 工作电流:1.72.7mA 接收频率:37.9kHz 峰值波长:940nm 静态输出:高电平 输出低电平:0.4V 输出高电平:接近工作电压。光电参数:光电参数(T=25 Vcc=5v f0=38KHZ)如表3.6.1,表3.6.2所示。表3.6.1权限参数:表3.6.2数据帧的接收处理当红外线接收器输出脉冲帧数据时,第一位码的低电平将启动中断程序,实时接收数据帧。在数据帧接收时,将对第一位(起始位)码的码宽进行验证。若第一位低电平码的脉宽小于2ms,将作为错误码处理。当间隔位的高电平脉宽大于3ms时,结束接收,然后根据累加器A中的脉冲个数,执行相应输出口的操作。图为红外线接收器输出的一帧遥控数码波形图如图3.6.3所示。图3.6.3红外线接收器输出的一帧遥控数码波形图。程序流程图如图3.6.4所示: 图3.6.4接收子程序:BZ EQU 42HPV EQU 41HBZ1 EQU 40HORG 0000H;程序开始地址 LJMP START;跳至START执行ORG 0003H;外中断0中断入口 LJMP INTEX0;跳至INTEX0执行中断服务程序ORG 000BH ;定时器T0中断入口地址LJMP MP1 ;中断返回(不开中断) ORG 0013H ;外中断1中断入口地址 RETI ;中断返回(不开中断)ORG 001BH ;定时器T1中断入口地址RETI ;中断返回(不开中断)ORG 0023H ;串行口中断入口地址RETI ;中断返回(不开中断)ORG 002BH ;定时器T2中断入口地址RETI ;中断返回(不开中断)CLEARMEMIO: CLRA ; DECA ;A为#0FFH MOV P0,A ;P1-P3口置1 MOV P1,A ; MOV P2,A ; MOV P3,A CLR BZ CLR BZ1 ;CLEARMEM: MOV IE,#00H ;关所有中断 SETB EX0 ;开外中断 SETB EA ;总中断允许 RET ;子程序返回START: LCALL CLEARMEMIO ;上电初始化MAIN: JB BZ,SHUCHU JB BZ1,START LJMP MAIN SHUCHU: CLR BZ SETB P1.3 MOV TMOD,#02H MOV TL0,PVMOV TH0,PVSETB ET0SETB TR0MP2:JB BZ,SHUCHUJB BZ1,XXX1LJMP MP2MP1: CPL P1.3RETI XXX1:CLR ET0CLR TR0LJMP START INTEX0: CLR EX0JNB P3.4,READ1 ;P3.1口为低电平转READ1READOU

温馨提示

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

评论

0/150

提交评论