PTP2000及其在不停車收費(fèi)系統(tǒng)中的應(yīng)用
PTR2000與PC機(jī)相連接時(shí)必須經(jīng)過電平轉(zhuǎn)換,將TTL電平轉(zhuǎn)換成RS-232C電平。用一片MAX232芯片即可達(dá)到電平轉(zhuǎn)換的目的。PTR2000與計(jì)算機(jī)串口連接的典型電路如圖4所示。
5 軟件編程
5.1 單 牒同發(fā)射部分編程
本例中單片機(jī)采用89C51,通過匯編語言對(duì)其進(jìn)行編程。
PTR2000的Pin6(PWR)與單片機(jī)的P1.0相連,PTR2000的Pin7(TXEN)與單片機(jī)的P1.1相連,CS直接接地,利用工作頻道1,即433.92MHz。
單片機(jī)程序清單介紹如下:
ORG 0000H
AJMP START
ORG 0200H
START:SETB P1.0 ;PTR2000的Pin6置1
SETB P1.1 ;PTR2000的Pin6置1
MOV SP, #80H ;設(shè)置數(shù)據(jù)指針的位置
MOV SCON, 40H ;串口工作方式1
MOV TMOD, #20H ;定時(shí)器工作方式1
MOV TL1, #0FDH ;設(shè)定波特率9600bits/s
MOV TH1, #0FDH
MOV PCON, #00H
SETB TR1 ;開啟定時(shí)器1
MOV DPH, #50H ;指針指向數(shù)據(jù)塊
MOV DPL, 00H
VIN: MOV R1, #LEN1 ;發(fā)送VIN碼
ACALL TXSUB
CARNO:MOV R1, #LEN2 ; 發(fā)送車牌號(hào)
ACALL TXSUB
COUNT:MOV RA, #LEN3 ;發(fā)送車主賬號(hào)
ACALL TXSUB
CLR P1.0 ;將PTR2000置接收狀態(tài)
CLR P1.1 ;將PTR2000置待機(jī)狀態(tài)
ORG 0400H
TXSUB:PUSH ACC ;保護(hù)ACC
PUSH PSW ;保護(hù)PSW
CLR TI ;清TI
TXDD:CLR A
MOVC A,@A+DPTR ;從數(shù)據(jù)塊中取數(shù)
MOVSUBF, A ;從串口發(fā)送
JNB TI,$ ;等待發(fā)送完
CLR TI
INC DPTR ;取下一個(gè)數(shù)
DJNZ R1,TXDD ;數(shù)據(jù)為發(fā)送完,繼續(xù)
POP PSW ;彈出PSW
POP ACC ;彈出ACC
RET
ORG 0500H ;數(shù)據(jù)塊
DVIN:DB '1234567890'
LEN1 DATA 10
DCARNO:DB 'ABCDEFG'
LEN2 DATA 7
DCOUNT DB '874033654200'
LEN3 DATA 12
評(píng)論