73K222AL單片式調(diào)制解調(diào)器與單片機(jī)的接口電路
4 控制軟件程序
4.1 初始化
初始化的目的是設(shè)置波特率和中斷管理程序。具體程序如下:
MA2:MOV DPTR,#0E000H
MOV TMOD,#21H ;BAUD=1200
MOV TH1,#0E8H ;MODEM方式
MOV TL1,#0E8H
;
MA0:MOV SCON,#01010000B
MOV PCON,#00H
MOV TH0,4CH ;50mS 19456
MOV TL0,#00H
SETB TR1 ;START T1
SETB TR0 ;START T0
CLR ES ;不允許串行中斷
SETB EX0;允許INT0中斷,用于專線上信號(hào)的檢測(cè)
SETB EX1 ;允許T0中斷
SETB IT1
CLR IT0
SETB PT0
SETB EA
4.2 撥號(hào)子程序
如使用電話系統(tǒng),主叫方只有通過(guò)撥號(hào)才能與被叫進(jìn)行聯(lián)接。這個(gè)過(guò)程手工藝流程刺:吸合繼電器
DIAOUT:mov dptr,#0E000h
mov a,#00011001b
movx @dptr,a
inc dptr
mov a,#00110000b
movx @dptr,a
;
mov rl,#0
t-d0:mov a,r1
mov dptr,#hao1
movc a,@a+dptr
;
mov dptr,#0E003h
movx @dptr,a
;
mov dptr,#0E000h
mov a,#00011011b
movx @dptr,a
;
lcall edlay
;
mov dptr,#0E000h
mov a,#00011001b
movx @dptr,a
;
lcall edlay
inc rl
cjne r1,#4,t-d0
ret
hao1:DB 92h,9ah,91h,9ah
這里,被叫方的電話號(hào)碼2010,通過(guò)修改數(shù)據(jù)區(qū)hao1,就可容易地實(shí)現(xiàn)其它號(hào)碼的呼叫。
4.3 回應(yīng)答音
被叫方在接到鈴流信號(hào)后,由單片機(jī)產(chǎn)生中斷以吸合繼電器,發(fā)送應(yīng)答音給主叫方,程序如下:
INT_0:PUSH DPH ;用于吸合繼電器,回應(yīng)答音
PUSH DPL ;再看對(duì)方是否有數(shù)據(jù)來(lái)。
CLR P1.6
CLR ES
MOV 2FH,A
lcall edlay
lcall edlay
;
mov dptr,#0E001h
mov a,#00110000b
movx @dptr,a
;不允許RXD
mov a ,#10100001b
mov dptr,#0E003h
movx @dptr,a
;
mov dptr,#0E000h
mov a;#00011010b
movx @dptr,a
;允許TXA
LCALL EDLAY
LCALL EDLAY
在這里,被叫方是將發(fā)送的2100Hz信號(hào)作為應(yīng)答音。
DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY
評(píng)論