標(biāo)題: 如何編寫(xiě)一個(gè)A/D模數(shù)轉(zhuǎn)換的匯編語(yǔ)言程序?目前只有c語(yǔ)言 [打印本頁(yè)]

作者: 楠木12138    時(shí)間: 2021-11-20 14:22
標(biāo)題: 如何編寫(xiě)一個(gè)A/D模數(shù)轉(zhuǎn)換的匯編語(yǔ)言程序?目前只有c語(yǔ)言
由于本論壇禁止直接求程序,禁止伸手黨,所以向大家請(qǐng)教一下大致的實(shí)現(xiàn)方法與思路,理清頭緒后我自己來(lái)寫(xiě)程序去實(shí)現(xiàn),謝謝大家

mmexport1637389193928.png (77.75 KB, 下載次數(shù): 34)

mmexport1637389193928.png

mmexport1637389269737.png (375.87 KB, 下載次數(shù): 23)

mmexport1637389269737.png

mmexport1637389273392.png (353.59 KB, 下載次數(shù): 27)

mmexport1637389273392.png

mmexport1637389276580.png (329.66 KB, 下載次數(shù): 24)

mmexport1637389276580.png

作者: 冰火風(fēng)輪    時(shí)間: 2021-11-20 17:01
stc 的官方例程兩種都有啊
作者: Y_G_G    時(shí)間: 2021-11-20 17:24
ADC0808是1999年的產(chǎn)品了
不管是在價(jià)格還是在性能上,都已經(jīng)沒(méi)有優(yōu)勢(shì)可言了,一片ADC0808的價(jià)格,可以買(mǎi)兩片帶10位ADC的單片機(jī)了
并不是說(shuō)教材上有什么就要學(xué)什么的
如果你要學(xué)匯編,基本上學(xué)到DS1302和24C02,就算是匯編已經(jīng)學(xué)會(huì)了,想要學(xué)精,就不是匯編的事了,而是你的其它技術(shù)了
像這個(gè)玩意,根本就不是有沒(méi)有教程的問(wèn)題,也不是編程語(yǔ)言的問(wèn)題,而是你對(duì)數(shù)據(jù)手冊(cè)理解能力的問(wèn)題
懂得看數(shù)據(jù)手冊(cè)了,如果你會(huì)了匯編,有沒(méi)有教程都是一樣的寫(xiě)代碼
作者: csmyldl    時(shí)間: 2021-11-20 22:07
匯編更容易讀出,
ALE BIT P2.6
ST BIT P2.3
OE   BIT P2.7
EOC  BIT P3.7
ADD1 BIT P2.2
ADD2 BIT P2.1
ADD3 BIT P2.0
ACC1 BIT P3.0
ACC2 BIT P3.1
ACC3 BIT P3.2
L2   BIT P3.5
L1   BIT P3.4
      ORG    0000H
      AJMP   START
START:JNB    L1,LOOP3
      LJMP   LOOP2
LOOP3:LCALL  DELAY1
      JNB    L1,$
      JMP    LOOP1
LOOP1:JNB    L1,START   ;測(cè)試IN0
      CLR    ADD1
      CLR    ADD2
      CLR    ADD3
      LCALL  W1
      LCALL  DE
      JNB    L1,LOOP3
      JNB    L1,START   ;測(cè)試IN1
      CLR    ADD1
      CLR    ADD2
      SETB   ADD3
      LCALL  W1
      LCALL  DE
      JNB    L1,LOOP3
      JNB    L1,START   ;測(cè)試IN2
      CLR    ADD1
      SETB   ADD2
      CLR    ADD3
      LCALL  W1
      LCALL  DE
      JNB    L1,LOOP3
      JNB    L1,START   ;測(cè)試IN3
      CLR    ADD1
      SETB   ADD2
      SETB   ADD3
      LCALL  W1
      LCALL  DE
      JNB    L1,LOOP3
      JNB    L1,START   ;測(cè)試IN4
      SETB   ADD1
      CLR    ADD2
      CLR    ADD3
      LCALL  W1
      LCALL  DE
      JNB    L1,LOOP3
      JNB    L1,LOOP4   ;測(cè)試IN5
      SETB   ADD1
      CLR    ADD2
      SETB   ADD3
      LCALL  W1
      LCALL  DE
      JNB    L1,LOOP3
      JNB    L1,LOOP4  ;測(cè)試IN6
      SETB   ADD1
      SETB   ADD2
      CLR    ADD3
      LCALL  W1
      LCALL  DE
      JNB    L1,LOOP5
      JNB    L1,LOOP4  ;測(cè)試IN7
      SETB   ADD1
      SETB   ADD2
      SETB   ADD3
      LCALL  W1
      LCALL  DE
      LJMP   LOOP1
LOOP4:LJMP   START
LOOP5:LJMP   LOOP3
LOOP2:CLR    ACC1  
      CLR    ACC2
      CLR    ACC3
      LCALL  W1
      LJMP   START
W1:   SETB   ALE       ;啟動(dòng)0809
      CLR    ST
      CLR    OE
      SETB   ST
      CLR    ST
      JNB    EOC,$  
      SETB   OE
LOOP: MOV    R1,#20H
      SETB   ACC1      ;初始設(shè)置
      SETB   ACC2
      SETB   ACC3
W2:   CLR    ACC1      ;顯示第一位
      CLR    ACC2
      MOV    A,P0      ;將p0口和0809的各個(gè)數(shù)據(jù)口連接
      MOV    B,#51
      DIV    AB        ;將二進(jìn)制數(shù)轉(zhuǎn)化成10進(jìn)制數(shù)
      MOV    DPTR,#TAB
      MOVC   A,@A+DPTR
      ANL    A,#07FH
      MOV    P1,A
      LCALL  DELAY
      MOV    A,#0FFH
      MOV    P1,A      
      MOV    A,B        ;顯示第二位
      MOV    B,#100
      DIV    AB
      MOVC   A,@A+DPTR
      SETB   ACC1
      CLR    ACC2
      MOV    P1,A
      LCALL  DELAY
      MOV    A,#0FFH
      MOV    P1,A
      MOV    A,B       ;顯示第三位
      MOV    B,#10
      DIV    AB
      MOVC   A,@A+DPTR
      CLR    ACC1
      SETB   ACC2
      MOV    P1,A
      LCALL  DELAY
      MOV    A,#0FFH
      MOV    P1,A
      MOV    A,B      ;顯示第四位
      MOVC   A,@A+DPTR
      SETB   ACC1
      MOV    P1,A
      LCALL  DELAY
      DJNZ   R1,W2
      RET
TAB:          DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H  
DELAY: MOV  R5,#29H   ;延時(shí)1         
D1:    MOV  R6,#1AH
       DJNZ R6,$
       DJNZ R5,D1
       RET
DE:   MOV R1,#0FFH   ;延時(shí)2
D2:   MOV R3,#0FH
      DJNZ R3,$
      DJNZ R1,D2
      RET
DELAY1:        MOV R6,#20                                ;延時(shí)10ms子程序
C1:                                MOV R5,#248
                                DJNZ R5,$
                                DJNZ R6,C1
                                RET

END




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