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