久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5693|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

51hei板子配的無線解碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:12816 發(fā)表于 2011-2-13 21:35 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

51hei板子配的無線解碼通過串口顯示地址和鍵值

 

;使用AT89S52解碼PT2262 晶振11.0592 MHZ
;0-代表接VSS 1-代表接VDD *2代表懸空;通過串口顯示出來
;晶體頻率為11.0592Mhz
;本程序中的時(shí)間定位關(guān)系只適用于接3.3M振蕩電阻的PT2262解碼
;使用其它阻值電阻時(shí),應(yīng)將定位時(shí)間按電阻比例縮放
;-----------------------------------------------------------

;----------------------------------------------------------------
  TDN  EQU 20H 
  TDN1 EQU 21H
  TMP0 EQU 30H
  TMP1 EQU 31H
  BUF1 EQU 40H ;儲(chǔ)存 1ST 數(shù)據(jù)流
  BUF2 EQU 50H ;儲(chǔ)存 2ND 據(jù)
;-----------------------------------------------------------
  ORG  0000H
  JMP  LAB00
LAB00: 
  MOV  SP,#60H
  MOV  A,#0FFH
  MOV  P1,A
  MOV  P3,A
  CALL  DLY01 ;調(diào)用延時(shí)100MS
;--------------------------------------------------
SETBD: 
  MOV  TMOD,#22H ;兩個(gè)定時(shí)器都設(shè)為8位自動(dòng)重裝初值
  MOV  TH1,#0FDH ;11.059MHZ 設(shè)置波特率為 9600 
  SETB  TR1    ;
  MOV  SCON,#01010000B ;設(shè)定串列方式 MODE1,接收時(shí) REN=1
  NOP
  MOV  TH0,#0F4H ;定時(shí)器0 模式2, 8位自動(dòng)重裝 0.013MS
  CLR  TR0  ;11.0592 = 13 uS
  MOV  IE,#10010000B ;UART中斷使能
;--------------------------------------------------
LOOPX: 
  SETB  P1.0 ;信號指示燈
  CALL  WSTAT  ;等待 2 同步 (>3.3MS)
  CALL  WSTAT  ;等待 2 同步 (>3.3MS)
  CLR  P1.0 ;信號指示燈
  MOV  R0,#BUF1 ;分解 1ST 數(shù)據(jù)流
  MOV  R2,#12
LOOPX2: 
  CALL  GET2P  ;收到 2 脈沖
  JNC  LOOPX1
  JMP  LOOPX ;失敗
LOOPX1: 
  MOV  A,B
  MOV  @R0,A
  INC  R0
  DJNZ  R2,LOOPX2
  CALL  WSTAT ;
  MOV  R0,#BUF2 ;分解 2ND 數(shù)據(jù)流
  MOV  R2,#12
LOOPX3: 
  CALL  GET2P ;收到 2 脈沖
  JNC  LOOPX4
  JMP  LOOPX ;失敗
LOOPX4: 
  MOV  A,B
  MOV  @R0,A
  INC  R0
  DJNZ  R2,LOOPX3
  SETB  P1.0;信號指示燈
;--------------------------------------------------
;CHECK BOTH STREAM DATA
  MOV  R0,#BUF1;儲(chǔ)存 1ST 數(shù)據(jù)流
  MOV  R1,#BUF2;儲(chǔ)存 2ND 據(jù)
  MOV  R2,#12
LOOPX51: 
  MOV  A,@R0
  ANL  A,#3
  MOV  B,A
  MOV  A,@R1
  ANL  A,#3
  CJNE  A,B,LOOPX5
  INC  R0
  INC  R1
  DJNZ  R2,LOOPX51
  JMP  TXDATA
;--------------------------------------------------
LOOPX5: 
  JMP  LOOPX ;檢查 失敗,重新LOOPX
;--------------------------------------------------
; (發(fā)送地址 - 鍵編碼)
;TX 數(shù)據(jù)串 : $AAAAAAAAAAAA-KKKK!
;-------------------------------------------------
TXDATA: 
  MOV  A,#'$' ;通過串口發(fā)送 $ 字符
  CALL  TRANS ;通過串口發(fā)送數(shù)據(jù)
  MOV  R2,#8 ;共8位地址
  MOV  R0,#BUF1;儲(chǔ)存 1ST 數(shù)據(jù)流
TXNXD: 
  MOV  A,@R0
  ANL  A,#3
  CALL  CONVD
LOOPX6: 
  CALL  TRANS ;通過串口發(fā)送數(shù)據(jù)
  INC  R0
  DJNZ  R2,TXNXD
  MOV  A,#'-' ;通過串口發(fā)送 - 字符
  CALL  TRANS ;通過串口發(fā)送數(shù)據(jù)
  MOV  R2,#4 ;共1位地鍵值
TXNXD1: 
  MOV  A,@R0
  ANL  A,#3
  CALL  CONVD
LOOPX7: 
  CALL  TRANS ;通過串口發(fā)送數(shù)據(jù)
  INC  R0
  DJNZ  R2,TXNXD1
  MOV  A,#'!' ;通過串口發(fā)送 ! 字符
  CALL  TRANS ;通過串口發(fā)送數(shù)據(jù)
  CALL  CRLF
  JMP  LOOPX
;--------------------------------------------------
CONVD: 
  CJNE  A,#0,CONV1
  MOV  A,#'0'
  RET
CONV1: 
  CJNE  A,#3,CONV2
  MOV  A,#'1'
  RET
CONV2: 
  CJNE  A,#1,CONV3
  MOV  A,#'2'
  RET
CONV3: 
  MOV  A,#'3'
  RET
;--------------------------------------------------
WSTAT:       ;等待數(shù)據(jù)流 SLOT >3MS
  NOP 
  MOV  R4,#33
WSTAT1: 
  JB   P3.2,WSTAT ;尋找數(shù)據(jù)流
  CALL  DLY100U  ;延時(shí) 100uS
  DJNZ  R4,WSTAT1
WSTAT2: 
  JNB  P3.2,WSTAT2 
  RET    ;重新開始尋找數(shù)據(jù)流
;--------------------------------------------------
GET2P: 
  CALL  GET1P ;RET TMP0=HIGH TIME, TMP1=LOW TIME
  JC   GPERR
  MOV  A,TMP1
  CPL  A
  ADD  A,TMP0 ;
  MOV  B.1,C
  CALL  GET1P ;2
  JC   GPERR ;2
  MOV  A,TMP1 ;2
  CPL  A ;1
  ADD  A,TMP0 ;2
  MOV  B.0,C ;2
  CLR  C
  RET
GPERR: 
  SETB  C
  RET
;--------------------------------------------------
GET1P: 
  MOV  TDN,#0
RXHP1: 
  JNB  P3.2,RXHP2 ;2 cycle
  INC  TDN   ;1 ACCUMULATE HIGH TIME
  MOV  A,TDN   ;1
  ADD  A,#-80   ;1 high:> 80*7*1.085>600U-->ERR
  JNC  RXHP1   ;2
  JMP  RXPERR
RXHP2: 
  MOV  A,TDN  ;1, find low, 
  ADD  A,#-5  ;1, 
  JC   RXHP3  ;2, HIGH MUST > 4*1.085*7 =31U
  JMP  RXPERR  ;2, 
RXHP3: 
  MOV  TMP0,TDN ;2
  MOV  TDN,#0  ;2
RXLP1: 
  JB   P3.2,RXLP2 ;2
  INC  TDN  ;1
  MOV  A,TDN  ;1
  ADD  A,#-80  ;1 LOW> 80*7*1.085>600U-->ERR
  JNC  RXLP1  ;2
  JMP  RXPERR
RXLP2: 
  MOV  A,TDN  ;1, find high
  ADD  A,#-5  ;1
  JC   RXLP3  ;2, LOW MUST >31U
  JMP  RXPERR  ;2
RXLP3: 
  MOV  TMP1,TDN ;2
  CLR  C
  RET
RXPERR: 
  SETB  C
  RET
;--------------------------------------------------
TXASC: 
  MOV  A,@R1  ;TX 2 BYTE : "5A" --> '5' 'A'
  SWAP  A
  ANL  A,#0FH
  CALL  HEXASC
  CALL  TRANS ;通過串口發(fā)送數(shù)據(jù)
  MOV  A,@R1
  ANL  A,#0FH
  CALL  HEXASC
  CALL  TRANS ;通過串口發(fā)送數(shù)據(jù)
  RET
;--------------------------------------------------
HEXASC: 
  ADD  A,#30H
  CJNE  A,#39H,HEXA1
  RET    ;39H
HEXA1: 
  JNC  HEXA2
  RET    ;30..38H
HEXA2: 
  ADD  A,#7  ;3A-->41H
  RET
;--------------------------------------------------
CRLF: 
  MOV  A,#0DH
  CALL  TRANS ;通過串口發(fā)送數(shù)據(jù)
  MOV  A,#0AH
  CALL  TRANS ;通過串口發(fā)送數(shù)據(jù)
  RET
TRANS: ;通過串口發(fā)送數(shù)據(jù)
  MOV  SBUF,A  ;send A from pin txd
  JNB  TI,$  ;等待 TI = 1
  CLR  TI   ;清除 TI
  RET
;-----------------------------------------------
; 延時(shí)
;-----------------------------------------------
DLY01:   ;延時(shí) 100MS
  MOV  R6,#100 ;0.1 SEC 100/1MS = 100
DD1: 
  CALL  DLYT;基本延時(shí) 1MS
  DJNZ  R6,DD1
  RET
;------------------------------------------------

DLYT:  ;基本延時(shí) 1MS
  MOV  R5,#230 ;11.0592M= 1.085U
DLYT1: 
  NOP
  NOP
  DJNZ  R5,DLYT1 ;1.085*230*4= 1MS
  RET
;------------------------------------------------    
DLY100U: ;100US
  MOV  R5,#46
  DJNZ  R5,$
  RET
DLYS1: 
  CALL  DLY01 ;延時(shí) 100MS
  DJNZ  R7,DLYS1
  RET
  END





分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品久久中文 | 91资源在线 | 亚洲免费久久久 | 国内av在线| 成人一区二区三区在线 | 欧美日韩成人影院 | 一区二区三区视频在线观看 | 情侣酒店偷拍一区二区在线播放 | 日韩在线免费 | 特级毛片 | 欧美一区二区三区视频在线 | 亚洲国产精品人人爽夜夜爽 | 日韩一级免费观看 | 一区二区日韩 | 久久久久久久99 | 国产精品久久久久久久久久久久久 | 久久久久国产精品一区二区 | 国产精品99久久久久久www | 成人在线看片 | 精品美女视频在线观看免费软件 | 一区二区三区在线免费观看视频 | 91精品国产91久久综合桃花 | 在线视频一区二区三区 | 91电影院| 欧美一区二区网站 | 观看毛片 | 一本一道久久a久久精品综合蜜臀 | 亚洲一区二区三区在线视频 | 精品国产一区二区三区观看不卡 | 国产精品高潮呻吟久久av野狼 | 欧美日韩不卡合集视频 | 九七午夜剧场福利写真 | 成人久久 | 久久青 | 久久久91精品国产一区二区三区 | 91精品国产综合久久久久 | 91精品国产777在线观看 | 成人欧美一区二区三区在线播放 | 日本二区在线观看 | 香蕉久久a毛片 | 欧美啪啪 |