欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 如何編寫一個A/D模數轉換的匯編語言程序?目前只有c語言 [打印本頁]

作者: 楠木12138    時間: 2021-11-20 14:22
標題: 如何編寫一個A/D模數轉換的匯編語言程序?目前只有c語言
由于本論壇禁止直接求程序,禁止伸手黨,所以向大家請教一下大致的實現方法與思路,理清頭緒后我自己來寫程序去實現,謝謝大家

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

mmexport1637389193928.png

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

mmexport1637389269737.png

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

mmexport1637389273392.png

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

mmexport1637389276580.png

作者: 冰火風輪    時間: 2021-11-20 17:01
stc 的官方例程兩種都有啊
作者: Y_G_G    時間: 2021-11-20 17:24
ADC0808是1999年的產品了
不管是在價格還是在性能上,都已經沒有優勢可言了,一片ADC0808的價格,可以買兩片帶10位ADC的單片機了
并不是說教材上有什么就要學什么的
如果你要學匯編,基本上學到DS1302和24C02,就算是匯編已經學會了,想要學精,就不是匯編的事了,而是你的其它技術了
像這個玩意,根本就不是有沒有教程的問題,也不是編程語言的問題,而是你對數據手冊理解能力的問題
懂得看數據手冊了,如果你會了匯編,有沒有教程都是一樣的寫代碼
作者: csmyldl    時間: 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      ;初始設置
      SETB   ACC2
      SETB   ACC3
W2:   CLR    ACC1      ;顯示第一位
      CLR    ACC2
      MOV    A,P0      ;將p0口和0809的各個數據口連接
      MOV    B,#51
      DIV    AB        ;將二進制數轉化成10進制數
      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




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