;100BPS 一個起始位,八個數(shù)據(jù)位,一個停止位
main equ 30h
IRQ0 EQU 3
time0 equ 0bh
time1 equ 1bh
sioo equ 23h
stk equ 5fh
cseg
org 0
jmp main
ORG IRQ0
ORG TIME0
JMP EXT0
org time1
JMP EXT1
ORG SIOO
JMP ES00
;主程序
org main
mov sp,#stk ;初始化,設置定時器,中斷
mov a,#0ffh
mov tmod,#12H ;定時器0為方式2
MOV TH0,#0H
mov tl0,#0
SETB TR0
SETB EA
SETB ET0
setb r100
;定時器中斷程序(每256*1.08uS中斷一次)
EXT0: PUSH PSW
PUSH ACC
PUSH DPH
PUSH DPL
SETB RS0
CLR RS1
excn: *** rxd,eti01 ;100BPS接收抗干擾濾波
inc bufl
inc bull
*** csbz,eti02 ;可以正式接收到起始位轉eti02
eti1c: mov a,bufl
cjne a,#3,eti03
eti03: jc etitr
setb csbz
mov bufh,#0
jmp etior
eti01: inc bufh
mov bull,#0
*** csbz,eti02
mov bufh,#0
mov bufl,#0
jmp etior
eti02: *** csbb,eti04 ;可以正式接收數(shù)據(jù)轉eti04
jmp eti10
eti04: mov a,bufl ;接收數(shù)據(jù)
add a,bufh
cjne a,#36,eti21
eti21: jc etior
mov a,bufl
cjne a,bufh,eti22
eti22: mov a,rbuf
rrc a
mov rbuf,a
mov bufh,#0
mov bufl,#0
mov bull,#0
dec rbcn
mov a,rbcn
jnz etior
setb rri
mov rsbf,rbuf
clr csbb
clr csbz
jmp etior
eti10: mov a,bufl ;判斷起始位
add a,bufh
cjne a,#36,eti11
eti11: jc eti12
mov a,bufl
cjne a,#19,eti18
eti18: jnc eti19
mov bufl,bull
clr csbz
mov bufh,#0
jmp eti1c
eti19: mov bufh,#0
mov bufl,#0
mov bull,#0
setb csbb ;接收數(shù)據(jù)標志置位
mov rbcn,#8
jmp etior
eti12: mov a,bufl
cjne a,#7,eti14
eti14: jnc etior
cjne a,bufh,eti13
eti13: jnc etior
mov bufl,bull
mov bufh,#0
clr csbz
jmp eti1c
etior: mov a,bftm
jz etirr
jmp et025 ;100BPS接收抗干擾濾波
etirr: MOV A,RCON
JNZ EXTT3
MOV RTIM,#0
SETB RLED
ET025: POP DPL
POP DPH
POP ACC
POP PSW
RET
發(fā)送與接收分別使用不同耦合變壓器(推挽驅(qū)動)
此方式接收靈敏度高,抗干擾能力高,發(fā)送功率大.KQ-2與模塊IRX端連線應盡可能粗而短.
注意:圖中L1為KQ-4A.未標明的高頻變壓器為KQ-5.
調(diào)試方法:
1.發(fā)送調(diào)試:在KQ-300模塊R/T端送低電平,TX端送600HZ方波電平.用3Ω電阻作負載連結到發(fā)送的AC兩端,用示波器檢測電阻兩端幅度,應觀察有兩個正弦波頻率信號.調(diào)整KQ-4使示波器觀察到的兩個不同頻率波形的幅度相等,并且最大.
2.接收調(diào)試:將上述已調(diào)好發(fā)送的電路板的AC兩端接至另一待調(diào)電路板的兩個AC端.在待調(diào)電路板上:KQ-300模塊R/T端接高電平,調(diào)節(jié)KQ-1初級線圈電感量至1.5mH左右.用示波器檢測KQ-300模塊IRX和AGND兩端的幅度,調(diào)節(jié)KQ-2在示波器上觀察到的兩個不同頻率波形的幅度相等,并且最大.觀察RX端應有600HZ方波輸出.
電子發(fā)燒友App

























評論