本帖最后由 新鄉家電維修 于 2019-5-29 21:48 編輯
最近研究315M解碼最下面增加了發送遙控碼功能,記憶功能
1557730697842.jpg (258.93 KB, 下載次數: 76)
下載附件
2019-5-13 15:33 上傳
1557730487123.jpg (332.16 KB, 下載次數: 86)
下載附件
2019-5-13 15:33 上傳
1557730644791.jpg (476.76 KB, 下載次數: 95)
下載附件
2019-5-13 15:33 上傳
超外差模塊驅動能力很強,可以直接聯接單片機I口,
集成晶振模塊驅動能力有限,無法驅動單片機IO口,需要加驅動三極管組成射集跟隨器驅動
同步頭是一個高電平脈沖和一個長的低電平組成,圖片是9.3ms左右的同步頭,要連續檢測到
兩個同步頭(繞開中間24個脈沖)相同才能確認是正確的信號。解碼成功后,蜂鳴器響一聲
第一排顯示同步頭時間:XX.Xms
第二排顯示密碼和數據:F1000010 1001
常見密碼大家都熟悉:00=0、01=F、11=1,還有遙控有10,開始以為我解碼錯誤
后來電腦分析波形才知道,特增加了10=D,擴大解碼范圍,這種波形出現在電動車遙控比較多。
1557730543249.jpg (1.76 MB, 下載次數: 74)
下載附件
2019-5-13 15:33 上傳
1557730609990.jpg (566.03 KB, 下載次數: 87)
下載附件
2019-5-13 15:33 上傳
電腦采集信號分析如圖所示:
315波形.jpg (108.68 KB, 下載次數: 88)
下載附件
2019-5-13 15:34 上傳
1557730514942.jpg (300.71 KB, 下載次數: 76)
下載附件
2019-5-13 15:33 上傳
1557730561625.jpg (314.01 KB, 下載次數: 78)
下載附件
2019-5-13 15:33 上傳
如果多人跟帖,有興趣,我會繼續更新貼新加入了發射接收到的315M遙控信號功能,并保存到24C02中
下次開機直接讀取24C02數據作為比較信號和接收的信號比較,控制SSR輸出
按下K1發射存儲在24C02中的信號(最少發送5遍信號)
按下S1手動控制SSR輸出
按下S0記憶當前接收到的信號到24C02中
下圖是新程序,增加的功能顯示
11443.jpg (97.64 KB, 下載次數: 74)
下載附件
2019-5-29 21:24 上傳
SPK EQU P3.7 ;蜂鳴器
RS bit P2.7 ;引腳定義
RW bit P2.6
E bit P2.5
LCD EQU P0
IRIN BIT P3.2 ;315M信號輸入端
FAST BIT P3.5 ;315M信號發射端
K1 BIT P1.0 ;開關控制發射
S0 BIT P1.1 ;學習按鍵(解碼正確后,按鍵按下就學習成功)
S1 BIT P3.3 ;手動開關,控制輸出
sda BIT p3.4 ;5腳
scl BIT p3.3 ;6腳
address equ 40h ;256字節地址數
cdate equ 2Ah ;數據暫時存放單元
SSR BIT P3.0 ;輸出端
ORG 00H
LJMP MAIN
ORG 03H ;外部中斷INT0入口地址
LJMP INT_0
ORG 40H
;====================================主程序==================================
MAIN:
CLR FAST
SETB IRIN
LCALL COPY ;讀取24C02中的數據作為遙控開關比較數據
MOV 3AH,#20 ;控制蜂鳴器時間
LCALL FS_SPK ;蜂鳴器響一聲(沒有檢測到24C02,蜂鳴器開機不響)
WU2402:
MOV LCD,#00000001B ;清屏并復位光標
LCALL WR_COMM ;調用寫指令子程序
LCALL INIT_LCD ;調用初始化子程序
MOV SP,#60H
LCALL DISP ;顯示
SETB EA ;打開CPU總中斷請求
MOV TMOD,#00010001B ;模式1定時模式
MOV TH0,#00H
MOV TL0,#00H
SETB IT0 ;設定INT0的觸發方式為脈沖負邊沿觸發
SETB EX0
UUUU:
JNB S1,A2
JB K1,UUUU ;有按鍵就發送遙控碼
CLR EA ;關閉中斷,讓遙控碼發送完成不受干擾
MOV A,2CH
CPL A
MOV 2CH,A
LCALL TTTT
SETB EA
JMP UUUU
;============================按鍵程序====================================
A2: LCALL DELAY_10MS
JB S1,A2_EN
CPL SSR ;開關動作一次
A2_EN:
RET
DELAY_10MS:
MOV R6,#25
XX0: MOV R7,#20
XX1: DJNZ R7,$
DJNZ R6,XX0
RET
;=========================讀出24C02數據==================
copy:
mov r0,#2Ah ;r0作為間接尋址
mov address,#00h;地址清零
; mov 2Ah,#0 ;清零準備裝入上次24C02存儲的數據
; mov 2Bh,#0 ;讀出的數據放在2AH/2BH/2CH中
; mov 2Ch,#0
; mov 2Dh,#0
mov r5,#4
s: mov r2,#10100000b ;寫存儲器1010(為24c系列統一識別碼)001(為芯片地址碼A2/A1/A0)最后一位是讀寫位
mov r4,#10100001b ;讀存儲器
MOV R3,#50
Lcall read ;調用讀存儲器程序
inc address ;地址加1
inc r0
djnz r5,s ;減1后不為0繼續返回S
ret
;----------------------------------
read: lcall start ;啟動總線
mov a,r2
lcall send
lcall ack
jc read ;
mov a,address
lcall send
lcall ack
read_a:
lcall start
mov a,r4
lcall send
lcall ack
jc read_a
rece:
lcall receive
mov @r0,a ;讀到數據存儲到@R0指定地址
lcall ack
lcall stop
ret
部分程序
下面的燒寫文件,晶振選4M,單片機STC89C52RC接線按照主程序上面的引腳定義接線就行,保證成功
為了防止不法人員利用程序偷盜別人遙控器碼,程序我做了修改,只能解碼一次就需要從新啟動
發送數據也是發送一次就不能再發送信號了,需要重啟,
2262解碼測試51記憶2402.zip
(1.29 KB, 下載次數: 108)
2019-5-29 21:39 上傳
點擊文件名下載附件
閱讀權限: 1 下載積分: 黑幣 -5
|