找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1370|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

如何編寫一個A/D模數(shù)轉(zhuǎn)換的匯編語言程序?目前只有c語言

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:982824 發(fā)表于 2021-11-20 14:22 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
由于本論壇禁止直接求程序,禁止伸手黨,所以向大家請教一下大致的實現(xiàn)方法與思路,理清頭緒后我自己來寫程序去實現(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
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:955673 發(fā)表于 2021-11-20 17:01 | 只看該作者
stc 的官方例程兩種都有啊
回復(fù)

使用道具 舉報

板凳
ID:401564 發(fā)表于 2021-11-20 17:24 | 只看該作者
ADC0808是1999年的產(chǎn)品了
不管是在價格還是在性能上,都已經(jīng)沒有優(yōu)勢可言了,一片ADC0808的價格,可以買兩片帶10位ADC的單片機了
并不是說教材上有什么就要學(xué)什么的
如果你要學(xué)匯編,基本上學(xué)到DS1302和24C02,就算是匯編已經(jīng)學(xué)會了,想要學(xué)精,就不是匯編的事了,而是你的其它技術(shù)了
像這個玩意,根本就不是有沒有教程的問題,也不是編程語言的問題,而是你對數(shù)據(jù)手冊理解能力的問題
懂得看數(shù)據(jù)手冊了,如果你會了匯編,有沒有教程都是一樣的寫代碼
回復(fù)

使用道具 舉報

地板
ID:235200 發(fā)表于 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   ;測試IN0
      CLR    ADD1
      CLR    ADD2
      CLR    ADD3
      LCALL  W1
      LCALL  DE
      JNB    L1,LOOP3
      JNB    L1,START   ;測試IN1
      CLR    ADD1
      CLR    ADD2
      SETB   ADD3
      LCALL  W1
      LCALL  DE
      JNB    L1,LOOP3
      JNB    L1,START   ;測試IN2
      CLR    ADD1
      SETB   ADD2
      CLR    ADD3
      LCALL  W1
      LCALL  DE
      JNB    L1,LOOP3
      JNB    L1,START   ;測試IN3
      CLR    ADD1
      SETB   ADD2
      SETB   ADD3
      LCALL  W1
      LCALL  DE
      JNB    L1,LOOP3
      JNB    L1,START   ;測試IN4
      SETB   ADD1
      CLR    ADD2
      CLR    ADD3
      LCALL  W1
      LCALL  DE
      JNB    L1,LOOP3
      JNB    L1,LOOP4   ;測試IN5
      SETB   ADD1
      CLR    ADD2
      SETB   ADD3
      LCALL  W1
      LCALL  DE
      JNB    L1,LOOP3
      JNB    L1,LOOP4  ;測試IN6
      SETB   ADD1
      SETB   ADD2
      CLR    ADD3
      LCALL  W1
      LCALL  DE
      JNB    L1,LOOP5
      JNB    L1,LOOP4  ;測試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       ;啟動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的各個數(shù)據(jù)口連接
      MOV    B,#51
      DIV    AB        ;將二進制數(shù)轉(zhuǎn)化成10進制數(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   ;延時1         
D1:    MOV  R6,#1AH
       DJNZ R6,$
       DJNZ R5,D1
       RET
DE:   MOV R1,#0FFH   ;延時2
D2:   MOV R3,#0FH
      DJNZ R3,$
      DJNZ R1,D2
      RET
DELAY1:        MOV R6,#20                                ;延時10ms子程序
C1:                                MOV R5,#248
                                DJNZ R5,$
                                DJNZ R6,C1
                                RET

END
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表