单键学习型遥控器的设计论文_第1页
单键学习型遥控器的设计论文_第2页
单键学习型遥控器的设计论文_第3页
单键学习型遥控器的设计论文_第4页
单键学习型遥控器的设计论文_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、河南职业技术学院 毕业设计(论文题 目 单片机单键学习型遥控器系 (分 院 机 电 系学 生 姓 名 王 海 涛学 号专 业 名 称 应 用 电 子 技 术指 导 教 师 张 湘 洁2010 年 12 月 10 日单键学习型遥控器的设计利用单键学习型遥控器可以学习任何遥控器的某个按键功能。 单键学习型遥控器 采用最小化应用模式设计,电路简单,可靠性高,尤其是通过大量不同遥控器码的特 征分析,在遥控码的读入时选择了最佳采样频率,使遥控码的学习成功率大大提高。 此技术可应用于多媒体教室和家庭集中控制器等设备。使用时先按一下 K ,待绿色指 示灯亮后,用遥控器对准红外线接收头,按某个功能按键,当绿灯

2、灭且红灯亮时说明 学习完成,按发射键即可进行遥控。系统硬件电路的设计图 1 为单键学习型遥控器的电原理图, 其中 P1.0口接遥控码发射按键; P1.6口 用作状态指示,绿灯亮代表学习状态,绿灯灭表示码已读入。第 9脚为单片机的复位 脚,采用简单的 RC 上电复位电路; 12脚为中断输入口,用于工作方式的转换控制,当 0INT 脚为低电平时, 系统进入学习状态; 14脚用于红外线接收头的输出信号输入; 15脚作为遥控码的输出口,用于输出 40KHZ 的遥控码; 18、 19脚接 12MHZ 晶振。 由于采用最小化应用系统,控制线 PSEN (片外取指控制 、 ALE (地址锁存控制不 用 EN

3、 (片外存储器选择 接高电平, 使低 8KB的 E 2P ROM 地址 (0000H1FFFFH 指向片内。 系统主要程序的设计1初始化程序初始化程序内容包括 P0、 P1、 P3口置 1, P2口清 0,清 08H6EH共103个工作 寄存器,设置堆栈基址(70H ,设置计数器计数模式、控制字和开外中断使能等。2. 遥控器读入处理程序 遥控码读入处理程序可以完成遥控码起始位的 识别、脉宽计数功能,完成遥控码编码位的宽度计数功能,完成结束位的人别功能,其流程如图 2所 示。本程序模块在编程设计中非常重要,通过大量的不同种类的遥控码波形实验测试分析,遥控码的帧间歇位宽度均为在 10ms 以上,起

4、始位码宽度在100us20us之间,编码位在 100us5ms之间。为确保所有遥控器学习的成功,可采用以下设计方法。寻找起始位方法:用 16位 DPTR 计数器对高电 平进行宽度计数,计数采样周期为 21us ;当高电平结束时,如高 8位计数器为非 0,则说明高电平宽度超过 5.355ms(21us ×255 ,接下来的低电平码就是起始位;否则重新开始。 读起始位方法:采用 16位 DPTR 对低电平进行宽度计数(最大可读宽度为 1.376s ,当高电平跳变时结束计数,并将DPTR的高八位、低八位分别存入 R4、 R5寄存器。读遥控编码的方法:采用DPTR低8位计数器对码(高电平或低

5、电平进行宽度计数,电平跳变时结束计数,并将值存入规定的地址;在高电平 码计数时,如果DPTR高8位计数器为非0(宽度大于5. 355ms, 则判定为结束帧间隔位, 在相应 存 储 单 元 写 入 数 据#00H作为结束标志。 3. 遥控码发送处理程序遥控码发送处理程序利用计数器中断功能,实现40KHZ 载波的发送,利用接收时接收的低电平位时 间控制载波的发送时间。 4. 主程序 主程序在上电初始化后进行端口按键扫描,当确 认有键按下时,将编码发出去,其流程图如图 3所示。5. 延时程序延时程序主要用于读键时消抖。图 3电路主要性能指标(1 最大学习码长:206位;(2 学习码识别范围:起始位为

6、 21us1.376s,编码位为 21us5.335ms;(3 读码误差:±21us;(4 帧间歇位识别范围:小于 1.37s ,大于 5.335ms 。单键学习型遥控器的设计性能与软件的编写具有密切关系, 特别是码宽计数的采样周 期及计数器采用 16位还是 8位,都关系到能否识别起始位及遥控码采样精度问题, 所以码宽计数的采样周期等在编程时须经多次试验测试后才能决定。 本设计中读码采 样周期为 21us.汇编程序清单以下是单键学习型遥控器完整的汇编程序清单: SPBASE EQU 70H IEV AL EQU 00H MEMBASE EQU 08H MEMS EQU 67H BIT

7、NMB EQU 08H KEYFUNFLAG EQU 80H KEYFUNNMB EQU 81H KEYFUNRW EQU 82H READFLAG EQU 88H WITERFLAG EQU 99H TMPHADDR EQU 08H TMPLADDR EQU 90H READTIME EQU 00H LOWH EQU R4 LOWL EQU R5 STUDYLAMP EQU P1.6 LAMP EQU P1.7 STUDYKEY EQU P3.2REMOTEIN EQU P3.4 REMOTEOUT EQU P3.5 DELAYCONUT EQU 30H DELAYCONUT0 EQU 0F

8、FH T1COUNT EQU 0F3H TMODV AL EQU 22H TCONV AL EQU 41H PCONV AL EQU 00H T2CONV AL EQU 00H SCONV AL EQU 0F8H IPV AL EQU 01H 主程序和中断程序入口如下 ;ORG 0000HAJMP STARTORG 0003HAJMP INTEX0ORG 000BHRETIORG 0013HRETIORG 001BHORG 0023HRETIORG 002BHRETI初始化程序中的各变量如下 :CLEARMEMIO: CLR ADEC AMOV P0,AMOV P3,AMOV P1,ACLR

9、AMOV P2,ACLR STUDYLAMP CLR LAMPCLR REMOTEINSETB REMOTEINMOV R0,#MEMBASE MOV R1,#MEMS CLEARMEM: MOV R0,AINC R0DJNZ R1,CLEARMEM MOV R0,#KEYFUNRW MOV R0,#READFLAG MOV IE,#IEVALMOV IP,#IPVALMOV TMOD,#TMODVAL MOV PCON,#PCONVAL MOV SCON,#SCONVAL MOV TH1,#T1COUNT MOV TL1,#T1COUNT SETB EX0SETB EARET主程序如下:ST

10、ART: MOV SP,#SPBASELCALL CLEARMEMIOMAIN: LCALL KEYWORKLJMP MAINNOPNOPLJMP STARTT1中断服务程序如下 :INTT1: CPL REMOTEOUTRETI载波合成如下:REMOTETX: MOV R0,#TMPHADDR MOV R1,#TMPLADDR SETB LAMPMOV A,R4MOV R3,AJZ LOWBACKCLR ADEC ALOWBACKTMP :MOV R2,A LOWBACKTMP0: SETB TR1SETB ET1NOPNOPNOPNOPNOPNOPDJNZ R2,LOWBACKTMP0 D

11、JNZ R3,LOWBACKTMP LOWBACK: MOV A,R5MOV R2,A LOWBACKTMP1: SETB TR1SETB ET1NOPNOPNOPNOPNOPNOPDJNZ R2,LOWBACKTMP1 TMP0: MOV A,R0MOV R2,ATMP1: CLR TR1CLR ET1CLR REMOTEOUT NOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPDJNZ R2,TMP1INC R0TMPP: MOV A,R1MOV R2,ATMP2: SETB TR1SETB ET1NOPNOPNOPNOPNOPNOPDJNZ R2,

12、TMP2INC R1MOV A,R1JZ OUTAJMP TMP0OUT: CLR TR1CLR ET1CLR LAMPCLR REMOTEOUT RET; 遥控数据读取 INT0中断程序;高电平存 TMPHAADDR 为首址 RAM ; 低电平存 TMPLADDR 为首址 RAM INTEX0: CLR ET1CLR TR1CLR EX0CLR EASETB STUDYLAMP CLR LAMPMOV R0,#TMPHADDRMOV R1,#TMPLADDRCLR AMOV DPH,AMOV DPL,AREADHEAD: JNB REMOTEIN,READDATA INC DPTRNOPNO

13、PNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPAJMP READHEADREADDATA: CJNE A,DPH,READDATA00 MOV DPH,AMOV DPL,AAJMP READHEAD READDATA00:CLR AMOV DPH,AMOV DPL,AREADLOOP01: JB REMOTEIN,READDATA02 INC DPTRNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPAJMP READLOOP01 READDATA02: CLR LAMPMOV R4,DPHMOV R5,DPLMOV D

14、PH,#00HMOV DPL , #READTIMEAJMP READLOOP1 READDATA1: SETB LAMPMOV R0,DPLINC R0MOV DPL,#READTIMEMOV DPH,#00H READLOOP0: JB REMOTEIN,READDATA2 INC DPTRNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPAJMP READL00P0 READDATA2: CLR LAMPMOV R1,DPLINC R1MOV DPL,#READTIME MOV DPH,#00H READLOOP1: JNB REMOTEIN,READDATA3 INC DPTRNOPNOPNOPNOPNOPNOPREADDATA3: READDATA4: READEND: NOP NOP NOP NOP NOP NOP NOP NOP NOP AJMP CLR CJNE AJMP MOV MOV SETB CLR SETB JNB SETB SETB RETI READLOOP1 A A,DPH,READDATA4 READDATA1 R0,A R1,A LAMP STUDYLAMP REMOTEIN STUDYKEY,READEND EX0 EA 键工作子程序如下: KEYWORK:

温馨提示

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

评论

0/150

提交评论