請(qǐng)高手看看我做的實(shí)驗(yàn)臺(tái)的數(shù)據(jù)采集系統(tǒng),看看下面的程序哪里有問題??????? 圖一,為硬件電路圖, 圖二,為計(jì)算機(jī)方面的軟件界面(用VB做的)
;======================
; 設(shè)置波特率
;======================
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP ADZD
MAIN:
MOV TMOD,#20H ;令定時(shí)器1工作于模式2
MOV TH1,#0FDH
MOV TL1,#0FDH ;設(shè)定計(jì)數(shù)值,令波特率為9600
SETB TR1 ;啟動(dòng)定時(shí)器1
SETB IT0 ;為邊沿觸發(fā)方式
SETB EA ;開中斷
SETB EX0 ;允許中斷
;======================
; 接收數(shù)據(jù)
;======================
MOV SCON,#70H ;設(shè)定串行端口為模式1
LOOP: CLR RI ;清除接收中斷標(biāo)志位(開始接收數(shù)據(jù))
JNB RI,$ ;等待數(shù)據(jù)接收完畢
;======================
; 判斷哪個(gè)按鈕被按下
;======================
MOV A,SBUF ;接收到的數(shù)據(jù)(即代碼)存入A內(nèi)
NEXT1: CJNE A,#'1',NEXT0 ;若代碼為1(即“開始”按鈕被按下)
AJMP ADZH ;則調(diào)用AD轉(zhuǎn)換模塊
NEXT0: CJNE A,#'0',DONT ;若代碼為0(即“復(fù)位”按鈕被按下)
AJMP ALLOFF ;則跳去執(zhí)行ALLOFF
DONT: AJMP LOOP ;重復(fù)執(zhí)行程序
;====================================================
; 執(zhí)行相應(yīng)的程序
;====================================================
;AD轉(zhuǎn)換模塊
ADZH:
MOV R0,#30H ;存數(shù)據(jù)首地址
SETB P3.7 ;經(jīng)與非門后使R/C=0
CLR P3.6 ;經(jīng)與非門后使CE=1
MOV DPTR,#3FFFH ;使AO=0,CS=0,啟動(dòng)12位轉(zhuǎn)換
MOVX @DPTR,A ;啟動(dòng)AD轉(zhuǎn)換
HERE: AJMP HERE ;等待中斷
ADZD:
PUSH PSW
PUSH DPH
PUSH DPL
PUSH ACC ;保護(hù)現(xiàn)場(chǎng)
CLR P3.7 ;經(jīng)與非門后使R/C=1
MOV DPTR,#3FFFH ;允許高8位并行輸出(CS=0,R/C=1,AO=0)
MOVX A,@DPTR ;讀高8位
MOV @R0,A ;高8位存入RAM單元
MOV DPTR,#7FFFH ;允許低4位加上4個(gè)0輸出(CS=0,R/C=1,AO=1)
MOVX A,@DPTR ;讀低4位
ANL A,#0FH ;屏蔽高4位隨機(jī)數(shù)據(jù)
INC R0 ;數(shù)據(jù)地址加1
MOV @R0,A ;存低4位
POP ACC ;恢復(fù)現(xiàn)場(chǎng)
POP DPL
POP DPH
POP PSW
RETI
AJMP SENDON
;復(fù)位按鈕的相應(yīng)程序
ALLOFF: MOV P0,#00H ;數(shù)據(jù)清零
AJMP SENDALL ;發(fā)送代碼1
;====================================================
; 發(fā)送數(shù)據(jù)
;====================================================
;發(fā)送代碼0
SENDALL:
CLR TI ;清除發(fā)送中斷標(biāo)志位(準(zhǔn)備發(fā)送數(shù)據(jù))
MOV SBUF,#'0' ;發(fā)送代碼2
JNB TI,$ ;等待數(shù)據(jù)發(fā)送完畢
AJMP LOOP ;重復(fù)執(zhí)行程序
;發(fā)送代碼1
SENDON:
CLR TI
MOV SBUF,#'1'
JNB TI,$
AJMP LOOP
END
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |