標(biāo)題: 大佬幫忙看一下我這個(gè)單片機(jī)A/D擴(kuò)展的程序 [打印本頁]

作者: 605740889    時(shí)間: 2020-5-22 11:11
標(biāo)題: 大佬幫忙看一下我這個(gè)單片機(jī)A/D擴(kuò)展的程序
   程序目的是開機(jī)后穩(wěn)定顯示準(zhǔn)備符 P - - 3 7 - 0 0,當(dāng)中斷出現(xiàn)后,連續(xù)實(shí)時(shí)采集模擬電壓,將結(jié)果在數(shù)碼管最后二位顯示出來,其它顯示位不變。當(dāng)手動旋轉(zhuǎn)可調(diào)電壓在 0--5 V范圍變化時(shí),顯示應(yīng)該在 00----FF之間變化。   但是我做的這個(gè)點(diǎn)擊中斷脈沖之后,滑動變阻器,后兩位數(shù)字并不會變化,一直是00,這怎么回事兒啊,大佬們幫我看一下,謝謝!原理圖如圖:




程序是:
ORG 0000H
AJMP MAIN
org 0003h
ajmp zd0
ORG 0100H
MAIN:nop
setb ex0
setb ea
setb it0
LOOP0:            
mov 70H, #00H
mov 71H, #00H
mov 72h, #11h
mov 73h, #07h
mov 74h, #03h
mov 75H, #11H
mov 76H, #11H
mov 77H, #10H

LOOP:        ACALL  DIS
                   AJMP  LOOP
zd0:nop
lop001:mov p1,#0f8h  ;選中0809 IN0
clr p3.4         ;給 START 發(fā)正脈沖,啟動轉(zhuǎn)換
nop
nop
setb p3.4
nop
nop
clr p3.4
nop
nop
acall dis         ;延時(shí),等待轉(zhuǎn)換結(jié)束
mov a,p1          ;讀轉(zhuǎn)換結(jié)果
mov r6,a
anl a,#0fh         ;將轉(zhuǎn)換結(jié)果分別送對應(yīng)顯示緩沖單元
mov 71h,a
mov a,r6
swap a
anl a,#0fh
mov 70h,a
acall dis
ajmp lop001
reti
DIS:    MOV R0, #77H  ;動態(tài)顯示子程序
        MOV R2, #7fH
        MOV A, R2
LP0: MOV P2,A
           MOV DPTR, #TABLE
           MOV A, @R0
           MOVC  A, @A+DPTR
           MOV P0, A
           ACALL  D2MS
           DEC  R0
           MOV A, R2
               JNB  Acc.0,LP1
               RR  A
               MOV R2, A
               AJMP  LP0
LP1:RET
TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H
       DB 82H,0F8H,80H,90H,88H,83H
       DB 0C6H,0A1H,86H,8EH,8CH,0BFH,0FFH
D2MS:   MOV R7,#02H
DL:      MOV R6,#0FFH
DL1: DJNZ R6,DL1
              DJNZ R7,DL
              RET
        end




作者: carpcarey    時(shí)間: 2020-5-22 18:14
軟件問題:
p3.3的ADC CLOCK沒給。
沒判斷p3.6轉(zhuǎn)換是否結(jié)束
鎖存輸出OE p3.5也沒給
所以IO讀入始終為0




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