资源目录
压缩包内文档预览:
编号:34123456
类型:共享资源
大小:29.24MB
格式:ZIP
上传时间:2019-12-25
上传人:遗****
认证信息
个人认证
刘**(实名认证)
湖北
IP属地:湖北
25
积分
- 关 键 词:
-
基于
51
单片机
红外
遥控
开关
设计
- 资源描述:
-
基于51单片机的红外遥控开关设计,基于,51,单片机,红外,遥控,开关,设计
- 内容简介:
-
HT6221 发码的接收发码的接收 HT6221 发码的接收发码的接收 文件编码:文件编码:HA0040s 简介:简介: HT6221 的应用电路图如下:的应用电路图如下: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ! #? ? ? ?$ ?$ ? ? ? ? % & ! () * + , ? ! - , ? ? ? . ? ? ? . ? ? ? ? ? ? ? ? ? ? ? ? ? HT6221 发码的接收发码的接收 HT6221是Holtek公司生产的多功能编码芯片, 采用PPM (Pulse Position Modulation) 进行编码, 1.12ms为 0,2.24ms 为 1,如下图: / ? ? / 0 , /# ! - ! * . ) , # * 1 ? ? ? ? (+ 2 *# ! - ! * . ) , # * 1 ? ? ? ? (+ 2? ? ? % & * ! ) ? ? ? % & * ! ) ? ? ? ? (+ 每发送一个码,HT6221 会先送出一个 9ms 的头码和 4.5ms 的间隙,然后依次送出 16 位的地址码(18ms36ms) 、8 位数据码(9ms18ms)和 8 位数据反码,如下图: ? ? ? ? (+? ? (+ ? ? ? (+? ? ? (+? ? ? (+1 ? ? ? ? ? ? 3 ? ? ? ? ? 3 ? ? ? ? ? * 2? ? ? % & 4? ? 5* # 6 - 7 * ! ) ? (+? ? ? (+? ? ? (+? (+? ? ? (+? ? ? ? (+? ? ? ? (+ 本文主要介绍用 HT48R30A-1 来进行解码的程序。 HT6221 通过红外发射管发出信号, 红外接收管接到 HT48R30A-1 的外部中断输入脚。 ;File name:6221receiver.asm ;作者: KELVEN ;说明: 程序开始时,先清除 RAM 区,然后打开主中断、外部中断及定时计数器中断。通 ;过计算中断之间的时间间隔来解码,当接收到有效码后,会置标志位。在主程序中判 ;断标志位是否置位来判断有效码的接收。掩膜选择系统时钟为 4000kHz。 include ht48r30a-1.inc ; * ; * Filename : 6221RECEIVER.asm * ; * Function : DECODER HT6221 * ; * Microprocessor : HT48R30A-1 * ; * Crystal : 4MHz * ; * data .section data card_no0 equ 060h ; card_no1 equ 061h card_no2 equ 062h card_no3 equ 063h ;记录最终的数据 temp equ 07eh cint db ? ;记录收数据 bit 个数的变量 HT6221 发码的接收发码的接收 count db ? count_buf db ? int_acc db ? ;中断保护变量 right_tou dbit y_bit dbit ;- code .section at 0000 code org 00h jmp start org 04h ;中断入口地址 jmp do_wai org 08h jmp do_tmr ;有 time 中断发生 org 20h start: set pgc ;中断口设为输入状态 call init mov a, 81h ;fsys/4 1M mov tmrc, a mov a, 56 mov tmr, a ;200s 中断一次 mov a, 6 mov intc, a set tmrc.4 ;- sleep: set intc.0 snz y_bit ;判断是否有外部中断发生? jmp sleep ;没有外部中断发生则继续等待 call decode_1 ;解码 snz right_tou ;解码不正确,返回重来 jmp start mov a, cint sub a, 32 ;准备收数据的 bit 个数 snz c ;判断数据是否已收完 jmp sleep clr tmrc ;收码完毕 clr intc cpla card_no2 xor a, card_no3 ;校验所收码是否正确 HT6221 发码的接收发码的接收 snz z jmp error1 jmp start ;正确 error1: jmp start ;错误 ;- do_wai : clr tmrc.4 clr intc.0 mov int_acc, a ;入中断保护,push acc 值暂存 mov a, count mov count_buf, a clr count set y_bit over_int: mov a, 56 mov tmr, a mov a, int_acc ;pop acc 值 set tmrc.4 set intc.0 reti ;- do_tmr: inc count reti ; decode_1 proc clr intc.0 clr y_bit snz right_tou jmp judge_touma mov a, count_buf sub a, 4 snz c jmp error ;data 值小于 200s*4=800s 判断错误 mov a, count_buf sub a, 13 sz c jmp error ;data 值大于 200s*13=2.6ms 判断错误 mov a, count_buf ;data 值大于 200s*8=1.6ms sub a, 8 ;c=1, data=1 ;data 值小于 200s*8=1.6ms c=0, data=0 rrc card_no3 HT6221 发码的接收发码的接收 rrc card_no2 rrc card_no1 rrc card_no0 inc cint ;记录收到的 BIT 位数 ret error: clr count clr right_tou ret judge_touma: clr right_tou ;头码判断 13.50ms mov a, count_buf sub a, 70 ;200*70=14ms sz c ret ;头码大于 14ms 判断错误 mov a, count_buf sub a, 63 ;63*200=12.6ms snz c ret ;头码小于 12.6ms 判断错误 set right_tou ret decode_1 endp ; ;Function : init ;Purpose : clear ram value ;Parameter: ;Return :
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。