日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
HT6221/2解碼成標(biāo)準(zhǔn)的鍵值
HT6221/2解碼成標(biāo)準(zhǔn)的鍵值
 更新時(shí)間:2009-7-9 16:53:02  點(diǎn)擊數(shù):0
【字體: 字體顏色
一.HT6221遙控器芯片簡介
1. 特征
* 工作電壓: 1.8V~3.5V
* Dout輸出38KHz
* 最小發(fā)射字: 一個(gè)字
* 一個(gè)455KHz的陶瓷或晶體
* 16位地址碼
* 8位數(shù)據(jù)碼
* ppm代碼方式
* 最大活動(dòng)鍵 HT6221: 32鍵
HT6222: 64鍵

2. 應(yīng)用
* 電視和錄像錄音機(jī)控制器
* 夜盜警報(bào)系統(tǒng)
* 煙火警報(bào)系統(tǒng)
* 車門控制器
* 汽車警報(bào)系統(tǒng)
* 安全系統(tǒng)
* 其它遙控系統(tǒng)

3. 概述
HT6221/HT6222能編碼16位地址碼和8位數(shù)據(jù)碼, HT6221/HT6222包含32鍵(K1~K32)和64鍵(K1~K64)

4. 引腳圖

5. 方框圖
6. 引腳說明
引腳號引腳名稱I/0 描述
1~6 R3~R8 輸入鍵盤行控制, 高電平有效
7 DOUT 輸出串行數(shù)據(jù)輸出引腳, 38KHz發(fā)射頻率
8 VDD 輸入1.8V~3.5V
9 DT 輸入最重要數(shù)據(jù)位(DT)代碼設(shè)置
10 X2 輸出455KHz振蕩器輸出
11 X1 輸入455KHz振蕩器輸入
12 VSS 輸入
13 LED 輸出發(fā)射輸出
14~21 C8~C1 輸入/輸出鍵盤列控制
22 AIN 輸入低8位地址碼輸入
23~24 R1~R2 輸入鍵盤行控制, 高電平有效
7. 內(nèi)部連接應(yīng)用電路
二.代碼的特征
1. HT6221鍵碼的形成
當(dāng)一個(gè)鍵按下超過36ms,振蕩器使芯片激活,如果這個(gè)鍵按下且延遲大約108ms,這108ms發(fā)射代碼由一個(gè)起始碼(9ms),一個(gè)結(jié)果碼(4.5ms),低8位地址碼(9ms~18ms),高8位地址碼(9ms~18ms),8位數(shù)據(jù)碼(9ms~18ms)和這8位數(shù)據(jù)的反碼(9ms~18ms)組成。如果鍵按下超過108ms仍未松開,接下來發(fā)射的代碼(連發(fā)代碼)將僅由起始碼(9ms)和結(jié)束碼(2.5ms)組成。
2. 代碼格式(以接收代碼為準(zhǔn),接收代碼與發(fā)射代碼反向)
①位定義

②單發(fā)代碼格式
③連發(fā)代碼格式
注:代碼寬度算法: 16位地址碼的最短寬度:1.12×16=18ms
          16位地址碼的最長寬度:2.24ms×16=36ms
易知8位數(shù)據(jù)代碼及其8位反代碼的寬度和不變:(1.12ms+2.24ms)×8=27ms
∴32位代碼的寬度為(18ms+27ms)~(36ms+27ms)
三.解碼方法及軟件說明
1.解碼的關(guān)鍵是如何識別"0"和"1",從位的定義我們可以發(fā)現(xiàn)"0"、"1"均以0.56ms的低電平開始,不同的是高電平的寬度不同,"0"為 0.56ms,"1"為1.68ms,所以必須根據(jù)高電平的寬度區(qū)別"0"和"1"。如果從0.56ms低電平過后,開始延時(shí),0.56ms以后,若讀到的電平為低,說明該位為"0",反之則為"1",為了可靠起見,延時(shí)必須比0.56ms長些,但又不能超過1.12ms,否則如果該位為"0",讀到的已是下一位的高電平,因此取(1.12ms+0.56ms)/2=0.84ms最為可靠,一般取0.84ms左右均可。

2. 根據(jù)碼的格式,應(yīng)該等待9ms的起始碼和4.5ms的結(jié)果碼完成后才能讀碼。
3. 從上述兩點(diǎn),我們可得到解碼程序的流程圖。

這樣接收到的僅僅是普通的代碼,要得到標(biāo)準(zhǔn)的鍵值,還必須進(jìn)行代碼識別和代碼轉(zhuǎn)換,下面是從代碼接收到獲得標(biāo)準(zhǔn)值的子程。

KREM;與接收頭相連的I/O口 1AH,1BH,1CH,1DH;存放代碼的4個(gè)連續(xù)單元
YAO_KONG: CLR EA
JNB KREM,REMOT1
SJMP REM_BAK ;平時(shí)KREM為高電平,所以當(dāng)KREM=1時(shí),
;表示無鍵按下,應(yīng)立即返回

REMOT1: JNB KREM,$ ;等待9ms的起始碼發(fā)送完
MOV R2,#32 ;32表示代碼共32位,也可以送24,這樣
;接收到的24位碼將不包括數(shù)據(jù)代碼的
;反代碼 ;-----------------------------------------
;代碼接收
BYTE1: MOV R3,#250
BYTE2: MUL AB ;延時(shí)約6ms,可以稍長或稍短,但不能
;小于4.5ms,也不能太長。太長連擊時(shí)
;將影響程序運(yùn)行速度
JNB KREM,BYTE3;
DJNZ R3,BYTE2 ;由于結(jié)果碼為4.5ms,如果小于4.5ms,
;結(jié)果碼未發(fā)送完,讀得的碼值將出錯(cuò)
BYTE3: JNB KREM,$ ;等待高電平,保證讀每一位的起點(diǎn)一致
;-----------------------------------------------
MOV R3,#150
DJNZ R3,$ ;延時(shí)0.9ms,延時(shí)范圍為0.56ms~1.12ms
;----------------------------------------
MOV C,KREM
MOV R3,#4
MOV R0,#1DH
BYTE4: MOV A,@R0
RLC A
MOV @R0,A
DEC R0
DJNZ R3,BYTE4
DJNZ R2,BYTE1
;至此32位代碼已全部接收完成,并存放在1AH~1DH中,
;依次為低8位地址碼,高8位地址碼,8位數(shù)據(jù)碼,
;8位數(shù)據(jù)的反代碼
;----------------------------------------------------
;代碼識別 MOV A,1AH
XRL A,#03 ;3為地址低8位的值,對于不同的遙控器
;有不同的地址值
JNZ REM_BAK MOV A,1BH XRL A,#0FCH ;FCH為地址高8位的值 JNZ REM_BAK MOV A,1CH CPL A
XRL A,1DH ;如果地址碼不對或接收到的數(shù)據(jù)碼兩單元
;不反向均當(dāng)錯(cuò)碼,本程序當(dāng)無鍵按下處理
JNZ REM_BAK
;-------------------------------------------- ;代碼轉(zhuǎn)換
MOV R2,#21 ;21為遙控器面板按鍵數(shù) MOV DPTR,#TAB_REMOT
LOOKUP_1: MOV A,R2 MOVC A,@A+DPTR XRL A,1CH JZ REM_BAK0 DJNZ R2,LOOPUP_1
REM_BAK0: MOV A,R2 ;R2中的值即為標(biāo)準(zhǔn)的鍵值
SJMP END_YK
REM_BAK: CLR A
END_YK: SETB EA
RET
;===================================================================== ;代碼轉(zhuǎn)換表,表中的值為面板上相應(yīng)鍵的代碼
;對于不同的遙控器,表中的值應(yīng)做相應(yīng)的改變
TAB_REMOT: DB 00H ; VCD DVD AUX TUNER ST/M TSV-4 6
DB 0C0H, 0D0H, 0E8H, 0F0H, 0E0H, 0C8H
; UP DOWN FM/AM MEMORY A/B 11
DB 00H, 20H, 48H, 68H, 58H

; 1 2 3 4 5 6 17 DB 0D8H, 0F8H, 40H, 60H, 50H, 70H ; AUTO VOL+ VOL- MUTE 21 DB 28H , 10H , 30H , 78H
;=================================================================
說明:此程序可在需要的地方任意調(diào)用(LCALL YA0_KONG),返回后,累加器中的值即為標(biāo)準(zhǔn)的鍵值,如果A=0則不予處理(可能原因有:無鍵按下,錯(cuò)碼或非本機(jī)所用的遙控器的操作),程序中的延時(shí)均以4MHz的晶振為準(zhǔn),若用不同的晶振,只需改變相應(yīng)值,符合注釋中的延時(shí)時(shí)間即可。

4.從上述解碼過程我們不難發(fā)現(xiàn),對于連發(fā)代碼,解碼得的值1AH~1DH全為0FFH,所以軟件如果需要處理連擊,我們只須在代碼識別前判斷1AH~1DH 是否全為0FFH,是則有連擊現(xiàn)象,這樣建一個(gè)連擊標(biāo)志,再返回,軟件根據(jù)這個(gè)標(biāo)志,結(jié)合上一次讀得的鍵值便可進(jìn)行相應(yīng)的連擊操作,直到按鍵松開,連擊標(biāo)志才被清除。具體操作如下:
在代碼識別前插入
MOV A,1AH
ANL A,1BH
ANL A,1CH
ANL A,1DH
XRL A,#0FFH
JNZ DAN_JI
SETB FLAG_LIANJI ;建連擊標(biāo)志
SJMP END_YK
DAN_JI: NOP

另外子程的最后幾條指令改成
REM_BAK0: MOV A,R2
SJMP END_YK0
REM_BAK: CLRA
END_YK0: CLR FLAG_LIANJI ;清連擊標(biāo)志
END_YK: SETB EA
RET

四.應(yīng)用實(shí)例
讀者也許會問,只要解得遙控器的代碼就可以了,轉(zhuǎn)換成1~n標(biāo)準(zhǔn)值有什么優(yōu)點(diǎn)呢?看了后面的簡單實(shí)例,不難發(fā)現(xiàn)它有如下好處:
①. 在應(yīng)用系統(tǒng)中,帶遙控器的儀器,一般都帶按鍵,而且二者功能相同,轉(zhuǎn)換成標(biāo)準(zhǔn)值后,遙控按鍵散轉(zhuǎn)表格可以與鍵盤散轉(zhuǎn)表格復(fù)用,這樣能節(jié)省一定的空間。
②. HT622 1/2最大可支持32或64個(gè)按鍵,一般系統(tǒng)只使用其中的一部分,這樣可能會使遙控器按鍵的代碼毫無規(guī)律,為了處理這樣的代碼,軟件人員要么想方設(shè)法通過復(fù)雜的算法找出那些代碼不是規(guī)律的規(guī)律,要么干脆不管那么多,排列一大堆"CJNE A,#DATA,NEXT"指令判斷,使鍵值判斷變得拖沓冗長。使用前述方法則清楚明了,簡單易行。
③. 對于不同的遙控器,本程序只要改變代碼轉(zhuǎn)換表即可,對再開發(fā)大有益處。

1.實(shí)例電路

程序清單及說明:
KREM EQU P0.0 L1 EQU P1.0 L2 EQU P1.1 L3 EQU P1.2 L4 EQU P1.3 L5 EQU P1.4
L6 EQU P1.5
L7 EQU P1.6
L8 EQU P1.7
L9 EQU P3.4
L10 EQU P3.5
L11 EQU P3.6
L12 EQU P2.0
L13 EQU P2.1
L14 EQU P2.2
L15 EQU P2.3
L16 EQU P2.4
L17 EQU P2.5
L18 EQU P2.6
L19 EQU P2.7
L20 EQU P0.6
L21 EQU P0.5
;-----------------------------------------


ORG 0000H
AJMP START0
ORG 0030H
START0: MOV SP,#60H
START: ACALL YAO_KONG ;調(diào)用解碼子程
JZ START
;----------------------------------------
RL A
MOV DPTR,#TAB_KEY
JMP @A+DPTR
;---------------------------------------
TAB_KEY: AJMP START
AJMP KEY1
AJMP KEY2
AJMP KEY3
AJMP KEY4
AJMP KEY5
AJMP KEY6
AJMP KEY7
AJMP KEY8
AJMP KEY9
AJMP KEY10
AJMP KEY11
AJMP KEY12
AJMP KEY13
AJMP KEY14
AJMP KEY15
AJMP KEY16
AJMP KEY17
AJMP KEY18
AJMP KEY19
AJMP KEY20
AJMP KEY21
;-------------------------------------
KEY1: ACALL CLEAR_IO
SETB L1
AJMP START
;-------------------------------------
KEY2: ACALL CLEAR_IO
SETB L2
AJMP START
;------------------------------------
KEY3: ACALL CLEAR_IO
SETB L3
AJMP START
;-----------------------------------
KEY4: ACALL CLEAR_IO
SETB L4
AJMP START
;----------------------------------
KEY5: ACALL CLEAR_IO
SETB L5
AJMP START
;----------------------------------
KEY6: ACALL CLEAR_IO
SETB L6
AJMP START
;----------------------------------
KEY7: ACALL CLEAR_IO
SETB L7
AJMP START
;----------------------------------
KEY8: ACALL CLEAR_IO
SETB L8
AJMP START
;----------------------------------
KEY9: ACALL CLEAR_IO
SETB L9
AJMP START
;----------------------------------
KEY10: ACALL CLEAR_IO
SETB L10
AJMP START
;----------------------------------
KEY11: ACALL CLEAR_IO
SETB L11
AJMP START
;----------------------------------
KEY12: ACALL CLEAR_IO
SETB L12
AJMP START
;----------------------------------
KEY13: ACALL CLEAR_IO
SETB L13
AJMP START
;----------------------------------
KEY14: ACALL CLEAR_IO
SETB L14
AJMP START
;----------------------------------
KEY15: ACALL CLEAR_IO
SETB L15
AJMP START
;----------------------------------
KEY16: ACALL CLEAR_IO
SETB L16
AJMP START
;----------------------------------
KEY17: ACALL CLEAR_IO
SETB L17
AJMP START
;----------------------------------
KEY18: ACALL CLEAR_IO
SETB L18
AJMP START
;----------------------------------
KEY19: ACALL CLEAR_IO
SETB L19
AJMP START
;----------------------------------
KEY20: ACALL CLEAR_IO
SETB L20
AJMP START
;----------------------------------
KEY21: ACALL CLEAR_IO
SETB L21
AJMP START
;----------------------------------
CLEAR_I MOV P0,#0
MOV P1,#0
MOV P2,#0
MOV P3,#0
RET
;------------------------------------
END

  • 上一篇: HT9200A DTMF電路與單片機(jī)的接口
  • 下一篇: 實(shí)時(shí)時(shí)鐘電路DS1302的原理及應(yīng)用
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1