<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          ad轉(zhuǎn)換(匯編加c)

          作者: 時(shí)間:2016-11-18 來(lái)源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/201611/315822.htm

          一下是匯編程序

          ;此程序使用匯編調(diào)用c語(yǔ)言(由于ad轉(zhuǎn)換出來(lái)的數(shù)據(jù)用匯編計(jì)算非常麻煩)

          ;在proteus中,數(shù)碼管顯示從0-5的電壓值,保留小數(shù)點(diǎn)后2位

          EXTRN code(cAlu) ;聲明外部函數(shù)

          LED_0 EQU 36H ;存放三個(gè)數(shù)碼管的段碼

          LED_1 EQU 37H

          LED_2 EQU 38H

          ADC EQU 35H ;存放轉(zhuǎn)換后的數(shù)據(jù)

          ST BIT P3.2

          OE BIT P3.0

          EOC BIT P3.1

          ORG 00H

          START: MOV LED_0,#00H

          MOV LED_1,#00H

          MOV LED_2,#00H

          MOV DPTR,#TABLE ;送段碼表首地址

          SETB P3.4

          SETB P3.5

          CLR P3.6 ;選擇ADC0808的通道3

          WAIT: CLR ST

          SETB ST

          CLR ST ;啟動(dòng)轉(zhuǎn)換

          JNB EOC,$ ;等待轉(zhuǎn)換結(jié)束

          SETB OE ;允許輸出

          MOV ADC,P1 ;暫存轉(zhuǎn)換結(jié)果

          CLR OE ;關(guān)閉輸出

          lcall delay

          lcall cAlu ;跳轉(zhuǎn)到c語(yǔ)言中

          lcall DISP ;顯示AD轉(zhuǎn)換結(jié)果

          SJMP WAIT

          DISP: mov dptr,#table

          MOV A,LED_0 ;數(shù)碼顯示子程序

          MOVC A,@A+DPTR

          CLR P2.3

          MOV P0,A

          LCALL DELAY

          SETB P2.3

          mov dptr,#table

          MOV A,LED_1

          MOVC A,@A+DPTR

          CLR P2.2

          MOV P0,A

          LCALL DELAY

          SETB P2.2

          mov dptr,#table ;最高位,顯示的時(shí)候加上小數(shù)點(diǎn)

          MOV A,LED_2

          MOVC A,@A+DPTR

          setb acc.7

          CLR P2.1

          MOV P0,A

          LCALL DELAY

          SETB P2.1

          RET

          delay: mov r4,#5 ;延時(shí)函數(shù)(延時(shí)大概5*255*2=25ms)

          l1: mov r5,#0ffh

          l2: djnz r5,$

          djnz r4,l1

          ret

          TABLE: DB 3FH,06H,5BH,4FH,66H

          DB 6DH,7DH,07H,7FH,6FH

          END

          //下面是c51語(yǔ)言片段,由于不能使用long行,int型還是不夠,因此真實(shí)的只能保留一位(最后兩位相同)

          #pragma code small

          #include

          #include //定義絕對(duì)地址

          #define NCIRCLE DBYTE[0x35]

          #define NCIRCLE1 DBYTE[0x38]

          #define NCIRCLE2 DBYTE[0x37]

          #define NCIRCLE3 DBYTE[0x36]

          void cAlu()

          { //計(jì)算出電壓的0-5v真實(shí)值

          int data temp;

          temp= NCIRCLE*50/256 ;

          NCIRCLE1=temp/10;

          NCIRCLE2=temp%10;

          NCIRCLE3=temp%10;

          }



          關(guān)鍵詞: ad轉(zhuǎn)換匯編加

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();