最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

ht6221[1]

来源:动视网 责编:小OO 时间:2025-09-30 21:04:42
文档

ht6221[1]

HT6221发码的接收文件编码:HA0040s简介:HT6221的应用电路图如下:HT6221是Holtek公司生产的多功能编码芯片,采用PPM(PulsePositionModulation)进行编码,1.12ms为0,2.24ms为1,如下图:每发送一个码,HT6221会先送出一个9ms的头码和4.5ms的间隙,然后依次送出16位的地址码(18ms~36ms)、8位数据码(9ms~18ms)和8位数据反码,如下图:本文主要介绍用HT48R30A-1来进行解码的程序。HT6221通过红外发射
推荐度:
导读HT6221发码的接收文件编码:HA0040s简介:HT6221的应用电路图如下:HT6221是Holtek公司生产的多功能编码芯片,采用PPM(PulsePositionModulation)进行编码,1.12ms为0,2.24ms为1,如下图:每发送一个码,HT6221会先送出一个9ms的头码和4.5ms的间隙,然后依次送出16位的地址码(18ms~36ms)、8位数据码(9ms~18ms)和8位数据反码,如下图:本文主要介绍用HT48R30A-1来进行解码的程序。HT6221通过红外发射
HT6221发码的接收文件编码:HA0040s

简介:

HT6221的应用电路图如下:

HT6221是Holtek公司生产的多功能编码芯片,采用PPM(Pulse Position Modulation)进行编码,1.12ms 为0,2.24ms为1,如下图:

每发送一个码,HT6221会先送出一个9ms的头码和4.5ms的间隙,然后依次送出16位的地址码(18ms~36ms)、8位数据码(9ms~18ms)和8位数据反码,如下图:

本文主要介绍用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个数的变量count db ?

count_buf db ?

int_acc db ? ;中断保护变量

right_tou dbit

y_bit dbit

;-----------------------------------------

code .section a t 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 ;200µs中断一次

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 ;校验所收码是否正确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值小于200µs*4=800µs判断错误

mov a, count_buf

sub a, 13

sz c

jmp error ;data值大于200µs*13=2.6ms判断错误

mov a, count_buf ;data值大于200µs*8=1.6ms

sub a, 8 ;c=1, data=1

;data值小于200µs*8=1.6ms c=0, data=0 rrc card_no3rrc 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 :

;Modified : acc, status

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ init proc

clr intc ;清中断

mov a, 20h

mov mp0, a

mov a, 5fh

mov temp, a

ram_clr: ;清RAM

clr r0

inc mp0

sdz temp

jmp ram_clr

ret

init endp

文档

ht6221[1]

HT6221发码的接收文件编码:HA0040s简介:HT6221的应用电路图如下:HT6221是Holtek公司生产的多功能编码芯片,采用PPM(PulsePositionModulation)进行编码,1.12ms为0,2.24ms为1,如下图:每发送一个码,HT6221会先送出一个9ms的头码和4.5ms的间隙,然后依次送出16位的地址码(18ms~36ms)、8位数据码(9ms~18ms)和8位数据反码,如下图:本文主要介绍用HT48R30A-1来进行解码的程序。HT6221通过红外发射
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top