標題: 請各位大神看看智能輸液監(jiān)控系統(tǒng)的程序哪錯了 [打印本頁]

作者: 莫西干沒喜感    時間: 2017-4-5 16:59
標題: 請各位大神看看智能輸液監(jiān)控系統(tǒng)的程序哪錯了
各位大神看看我做的智能輸液監(jiān)控系統(tǒng)的程序哪錯了?現(xiàn)在還沒加控制電機模塊,只用顯示出檢測到的液滴滴速就行。但是在proteus仿真顯示器沒反應(yīng)怎么回事
;滴速定時5s得出的T1計數(shù)值再乘以12就是1分鐘的滴數(shù),可是為什么不顯示呢?
DS:
MOV  TMOD , #51H;定時器T0定時方式一,T1計數(shù)方式一(01010001)
MOV  TL0 , #0B0H
MOV  TH0 , #3CH;置50ms初值
MOV  20H , #100;設(shè)置循環(huán)次數(shù)100,100*50ms=5s
MOV  TH1 , #00H
MOV  TL0 , #000H
MOV  21H , #0
MOV  22H , #0;存放采集到的數(shù)據(jù)
SETB  TR1;啟動T1
SETB  TR0;啟動T0
WAIT:  AJMP WAIT;等待中斷
RET
T0INT:          ;定時5s產(chǎn)生中斷
DJNZ  20H , NEXT1
CLR  TR1;關(guān)閉T1
CLR  TR0;關(guān)閉T0
MOV  21H , TL1
MOV  22H , TH1
ACALL  DISPLAY
AJMP  EXIT
NEXT1: MOV  TL0 , #0B0H
       MOV  TH0 , #3CH;繼續(xù)定時
EXIT:  RETI;顯示
DISPLAY:
MOV  A , 21H;取5s計數(shù)值
MOV  B , #10;16進制轉(zhuǎn)換為10進制
DIV  AB;A/B的商存入A,余數(shù)存入B
MOV  R1 , A;R1存放十位數(shù)
MOV  R2 , B;R2存放個位數(shù)
ADD  B , R2;相當(dāng)于B*2
MOV  R2 , B
ADD  B , R2;相當(dāng)于B*4
MOV  R2 , B
ADD  B , R2;相當(dāng)于B*8
ADD  B , R2;相當(dāng)于B*12
ADDC  A , R1;相當(dāng)于A*2
MOV  R1 , A
ADDC  A , R1;相當(dāng)于A*4
MOV  R1 , A
ADDC  A , R1;相當(dāng)于A*8
ADDC  A , R1;相當(dāng)于A*12
MOV  R1 , A;此時R1存放以分為單位的十位數(shù)
MOV  R2 , B;此時R2存放以分為單位的個位數(shù)
MOV  R3 , #50;設(shè)導(dǎo)通頻率為50
LOOP1:MOV  A , R2;取個位數(shù)
ACALL  CHANG;調(diào)用顯示
CLR  P2.1;開個位顯示
ACALL  DLY10ms;調(diào)用延時10ms程序
SETB  P2.1;開關(guān)個位顯示
MOV  A , R1;取十位數(shù)
ACALL  CHANG;調(diào)用顯示
CLR  P2.0;開十位顯示
ACALL  DLY10ms;調(diào)用延時10ms程序
SETB  P2.0;開關(guān)十位顯示
RET
CHANG:MOVC  A , @A+DPTR;取表子程序
MOV  P0 , A
RET
DLY10ms:
MOV  R6 , #20
D1:
MOV  R7 , #248
DJNZ  R7 , $
DJNZ  R6 , D1
RET;延時返回
TABLE:DB  0C0H,0F9H,0A4H,0B0H
DB  99H,92H,82H,0F8H
DB  80H,90H,88H,83H
DB  0C6H,0A1H,86H,8EH
RET;液位






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1