




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
遥控接收设计指引一、 美的遥控编码波形规范(东芝编码)美的遥控编码以帧为基本单位,数据长度从1帧到4帧,每帧数据的编码格式为:L,A,A,B,B,C,C,L为引导码,A、B、C为8位数据码,A 、B、C分别是A、B、C的反码,因此共计48位数据。两帧数据之间有分隔符S。具体波形示意如下:1、引导码L 8.8ms 4.4ms2、两帧之间分隔符S 5.76ms 0.54ms 5.22ms 3、数据0 1.08ms 0.54ms 0.54ms 4、数据1 2.16ms 0.54ms 1.62ms 5、一次发码的终止符: 0.54ms 6、 发射波形5.22ms二、 硬件电路遥控接收电路主要由一个遥控接收头、电源滤波电路、信号滤波电路、限流电路组成,电路图如下:三、 芯片资源说明1、外部中断(可以检测上升沿和下降沿)2、定时器以9177芯片为例,可以使用16位定时器TM90和外部中断INTP0来完成遥控接收程序。四、 算法说明遥控接收中断子程序中,缓冲区共7个单元56位,接收数据时从最后一个单元向前压栈;对于只有一帧的数据,可以直接读出数据比较;但对于普通的两帧数据,每当第二帧数据接收到8位后,就可以与第一帧里面的最前一个数据比较,通过不断地循环移位,就可以比较出前后两帧码是否完全一样,这样只需要7个RAM单元就可以完成12个数据的比较,是一种比较节省RAM空间的做法。五、 程序关键控制点说明l 波形检测说明:遥控接收的头码,高电平和低电平都要检测和判断;对于数据“0”和数据“1”,由于美的遥控器编码本身就很严谨,所以可以检测一个周期的长度,而不必分开检测低电平和高电平。l 脉宽误差:对于美的遥控器编码,头码、数据码和分隔码的允许误差范围推荐在20%左右比较合适;如果所使用的芯片定时器精度较低,数据码的允许误差范围可以适当扩大到25%。l 抗干扰设计:一般来讲,为防止中断误触发,在进入遥控接收中断后先判断接收口的电平状态,如果电平状态不对,则可能是误触发,应直接退出中断程序。l 无效码处理:在处理无效码时(例如单冷机型接收到制热开机信号),建议程序不进行任何处理,蜂鸣器不应有动作。l 解码处理:所有遥控码都必须进行正反码的判断,且普通码前后两帧码要进行比较。另外,编码中无效的内容也是固定值,为保证解码程序的严谨性,最好也进行判断。l 故障时解码处理:本范例程序中,当出现故障时,直接在遥控接收程序中将接收到的内容舍弃;其实也可以放到解码程序中去处理,效果相同。六、 程序框图1、遥控接收中断程序框图2、解码程序框图七、 应用程序范例l 常量说明lleadcode equ 275 ;允许偏差20%lleadcodel equ 220 ;头码电平脉宽最小值lleadcodeh equ 330 ;头码电平脉宽最大值onecode equ 135 ;允许偏差20%onecodel equ 108 ;数据1脉宽最小值onecodeh equ 162 ;数据1脉宽最大值zerocode equ 67 ;允许偏差20%zerocodel equ 53 ;数据0脉宽最小值zerocodeh equ 81 ;数据0脉宽最大值sepcode equ 360 ;允许偏差20%sepcodel equ 288 ;间隔符脉宽最大值sepcodeh equ 432 ;间隔符脉宽最大值l 变量说明rembuf0 :ds 7 ;遥控码存放区remlimit :ds 1 ;用来记数,当连续16ms无中断产生时,就直接初始化遥控接收程序l I/O口定义remotepi equ p3.0l 标志变量说明remoteflag :ds 1headf equ remoteflag.0 ;为1表示已经接收到头码separatef equ remoteflag.1 ;为1表示已经接收到间隔码initiatef equ remoteflag.2 ;遥控接收初始化标志,为1表示需要初始化remotef1 equ remoteflag.3 ;接收到经济运行码,该标志置1remotef0 equ remoteflag.4 ;头码接收辅助标志,低电平判断OK后置1remotef3 equ remoteflag.5 ;为1表示已经接收到普通码,可以接收快检码remotef4 equ remoteflag.6 ;1表示中断为上升沿触发;0为下降沿触发remotef2 equ remoteflag.7 ;与remotef1标志配合使用,表示接收到了经济运行信息l 程序范例说明1、在主程序初始化部分,需要对遥控接收进行初始化 set1 initiatef clr1 remotef4 mov intm0,#01000000b ;intp0:falling mov mk0,#11110001b ;enable intp0-2 interrupt2、以下为遥控接收中断子程序,所有码的接收工作均在该程序中完成int_p0: push ax push hl ;保存现场;-;remlimit接收记数单元,当连续16ms没有接收到遥控信号时,遥控接收程序初始化 bt remotef4,$ilab200 bt remotepi,$ilab201 br $ilab202ilab200: bt remotepi,$ilab202ilab201: br ilab342ilab202: movw ax,tcp90 ;读出tcp90最新捕获的数据到ax寄存器 mov remlimit,#4 ;一旦有遥控中断,就初始化remlimit bf initiatef,$ilab300 ;判断遥控接收是否许要初始化;不需要就跳转;以下程序是进行遥控接收初始化工作 movw precount0,ax ;保存当前定时器记数值 and remoteflag,#10000000b ;初始化遥控接收辅助标志 mov intm0,#01000100b ;设置intp0为上升沿中断 set1 remotef4 ; br ilab342 ;中断返回;-ilab300: mov intm0,#01000000b ;设置intp0为下降沿中断 clr1 remotef4 movw hl,ax xch a,x sub a,precount0 xch a,x subc a,precount0+1 xchw ax,hl ;计算测出的脉冲宽度 movw precount0,ax ;将当前的记数值存入precount0单元 xchw ax,hl ;将脉冲宽度保存到ax寄存器;- bt headf,$ilab320 ; cmpw ax,#hleadcodel ;判断脉冲宽度是否在头码允许误差范围内 bc $ilab324 ;遥控接收初始化 cmpw ax,#hleadcodeh ; bnc $ilab324 ;遥控接收初始化 bt remotef0,$ilab310 ;头码低电平是否已经检测到;如果是,跳转 set1 remotef0 ;头码低电平已经检查OK br ilab342 ;中断返回ilab310: set1 headf ;头码OK clr1 remotef0 ;清除头码辅助标志 mov ivariab0,#48 ;遥控接收48位记数 br ilab342 ;中断返回;-ilab320: cmp ivariab0,#0 ;是否已经接收到第49位数据?即分隔符 bnz $ilab330 ;没有则跳转到ilab330 cmpw ax,#sepcodel ;判断是否为分隔符,如不是就初始化遥控接收 bc $ilab324 ; cmpw ax,#sepcodeh bc $ilab323 ;跳转表示一帧数据接收完毕,并且该帧后面带有分隔符ilab324: nop br ilab343 ;初始化遥控接收ilab323: mov a,rembuf0+1 ;以下程序判断接收到的一帧码是否为经济运行码 xch a,x mov a,rembuf0+2 cmpw ax,#4db2h ;识别码A及其反码 bnz $ilab321 mov a,rembuf0+3 xch a,x mov a,rembuf0+4 cmpw ax,#1fe0h ;编码J和其反码 bnz $ilab321 mov a,rembuf0+5 xch a,x mov a,rembuf0+6 cmpw ax,#0fc03h ;编码K和其反码 bnz $ilab321 set1 remotef1 ;收到经济运行码 clr1 separatef ;清除间隔码标志 br ilab322ilab321: set1 separatef ;置间隔码标志,表示已经接收到一帧普通码ilab322: clr1 headf ;初始化相关标志接收下一帧数据 mov intm0,#01000100b ;设置intp0中断为上升沿 set1 remotef4 br ilab342 ;中断返回;-ilab330: cmpw ax,#onecodel ;以下比较是判断接收到的数据是0或1 bc $ilab331 cmpw ax,#onecodeh bc $ilab332ilab331: cmpw ax,#zerocodeh bnc $ilab324 ;脉宽不正确,初始化接收程序 cmpw ax,#zerocodel bc $ilab324 ;脉宽不正确,初始化接收程序ilab332: mov a,rembuf0+6 rolc a,1 mov rembuf0+6,a mov a,rembuf0+5 rolc a,1 mov rembuf0+5,a mov a,rembuf0+4 rolc a,1 mov rembuf0+4,a mov a,rembuf0+3 rolc a,1 mov rembuf0+3,a mov a,rembuf0+2 rolc a,1 mov rembuf0+2,a mov a,rembuf0+1 rolc a,1 mov rembuf0+1,a mov a,rembuf0 rolc a,1 mov rembuf0,a ;朝存储区内移数据,存储区长度为56位 dec ivariab0;- bt separatef,$ilab344 ;前面是否有分隔符,如果没有,就判断是否是风向;有,就判断是否快检 bnz $ilab342 ;如果没有接收到第48位,则中断返回 cmp rembuf0+1,#0b2h ;以下程序判断是否是风向码 bnz $ilab342 ; movw ax,rembuf0+2 ; cmpw ax,#0f4dh ;比较B和A是否符合规范 bnz $ilab342 ; movw ax,rembuf0+4 ; cmpw ax,#0e0f0h ;比较C和B是否符合规范 bnz $ilab342 ;不是则退出 cmp rembuf0+6,#1fh ;判断C的反码是否正确 bnz $ilab342 ;不是则退出 br ilab345 ;表示接收到风向码ilab344: bf remotef3,$ilab344a ;判断前面有无接收到两帧遥控信息,没有则不需要判断是否是快检码 bnz $ilab342 ;如果没有接收到第48位,则中断返回 cmp rembuf0+1,#0b2h ;以下程序判断是否是快检码 bnz $ilab343 ;reset receiving movw ax,rembuf0+2 cmpw ax,#0b4dh bnz $ilab343 ;reset receiving movw ax,rembuf0+4 cmpw ax,#0e0f4h bnz $ilab343 ;reset receiving cmp rembuf0+6,#1fh bnz $ilab343 ;reset receiving clr1 delay3minf br $ilab343 ;reset receivingilab344a: mov a,ivariab0 and a,#00000111b ;判断是否接收到新的8位信息 bnz $ilab342 ;没有则退出 mov a,rembuf0 cmp a,rembuf0+6 bnz $ilab343 ;如果前后两帧码不同,则初始化遥控接收程序 cmp ivariab0,#0 ;判断第二帧数据有没有接收完毕 bnz $ilab342 ;如果第二帧没有接收完,退出ilab345: cmp error,#0 ;是否有故障,有则初始化遥控接收程序 bnz $ilab343 ;如果有故障则屏蔽中断 clr1 remotef2 ; bf remotef1,$ilab340a ; set1 remotef2 ;ilab340a: set1 processf ; set1 remotef3 ;一帧码接收完毕,此标志为1表示可以接收快检码 br ilab342 ;中断返回;-ilab343
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业公关危机处理预案编制手册
- 企业财务报销与审计标准流程
- 《几何图形变换与建模教案》
- 《中西艺术史比较:艺术鉴赏课程教案》
- 特种设备使用管理课件
- 团队绩效评估体系设计工具
- 农村社区农业示范园区管理协议
- 企业内部沟通机制优化与实施指南
- 餐饮业厨房操作安全与卫生管理模板
- 《函数的性质与图像》高中数学基础概念教案
- Klotho蛋白在万古霉素致急性肾损伤中的机制及干预潜力研究
- 小区装修工具管理制度
- 空调冷库维修合同范本
- 气候变化情景模拟与风险评估框架-洞察阐释
- 道路桥梁转包合同范本
- 借物喻人的作文五年级完美版
- 蜜蜂认养协议书
- 矿泉水定制合同协议
- 临床技术操作规范麻醉学分册
- CNAS-CC121-2017 环境管理体系审核及认证的能力要求
- 纪念九·一八:致敬那场永不妥协的抗争-主题班会课件
评论
0/150
提交评论