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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ADC0832數(shù)字電壓表數(shù)碼管顯示(示例程序)

          ADC0832數(shù)字電壓表數(shù)碼管顯示(示例程序)

          作者: 時間:2016-11-10 來源:網(wǎng)絡(luò) 收藏
          ;********************************************************************************

          描述:

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

          ADC0832數(shù)字電壓表數(shù)碼管顯示

          調(diào)節(jié)ADC0832旁邊的電位器,數(shù)碼管顯示ADC0832轉(zhuǎn)換值的大小
          ;*******************************************************************************

          **********************************************************************************
          AD_CLKEQUP1.0
          AD_DATEQUP1.1
          AD_CSEQUP3.4
          DISSTARTEQU30H;顯示單元首地址
          LED_DATAEQUP0;數(shù)碼管數(shù)據(jù)定義
          ORG0000H
          JMPSTART

          ;--------------------------------------------------------
          START:MOVSP,#60H
          MOVA,#00H
          MOV20H,A
          MOVP0,#0FFH
          MOVP2,#0FFH

          START1:CALLAD_CONV
          CALLAD_CHULI
          CALLQUSHU
          CALLADPLAY
          JMPSTART1
          ;---------------------------------------------------------
          AD_CONV:;ADC0832初始化
          SETBAD_CS;一個轉(zhuǎn)換周期開始
          CLRAD_CLK
          CLRAD_CS;CS置0,片選有效
          SETBAD_DAT;DI置1,起始位
          SETBAD_CLK;第一個脈沖
          CLRAD_DAT;在負(fù)跳變之前加一個DI反轉(zhuǎn)操作
          CLRAD_CLK
          SETBAD_DAT;DI置1,設(shè)為單通道
          SETBAD_CLK;第二個脈沖
          CLRAD_DAT;***
          CLRAD_CLK;
          CLRAD_DAT;DI置0,選擇通道0
          SETBAD_CLK;第三個脈沖
          SETBAD_DAT;***
          CLRAD_CLK
          NOP
          SETBAD_CLK;第四個脈沖
          MOVR1,#08H;計數(shù)器初值,讀取8位數(shù)據(jù),
          AD_READ:CLRAD_CLK;下降沿
          MOVC,AD_DAT;讀取DO端數(shù)據(jù)
          RLCA;C移入A,高位在前
          SETBAD_CLK;下一個脈沖
          DJNZR1,AD_READ;沒讀完繼續(xù)
          SETBAD_CS
          MOV20H,A;轉(zhuǎn)換結(jié)果發(fā)給20H
          RET
          ;------------------------------------------------------
          AD_CHULI:
          CLRC
          MOVR5,#00H;十進(jìn)制轉(zhuǎn)換的低位寄存器
          MOVR4,#00H;十進(jìn)制轉(zhuǎn)換的高位寄存器
          MOVR3,#08H;十進(jìn)制調(diào)整的次數(shù)
          MOVA,20H
          AD_CHULI1:
          RLCA
          MOVR2,A
          MOVA,R5
          ADDCA,R5
          DAA
          MOVR5,A
          MOVA,R4
          ADDCA,R4
          MOVR4,A
          MOVA,R2
          DJNZR3,AD_CHULI1
          MOVA,R5
          ADDA,R5
          DAA
          MOVR5,A
          MOVA,R4
          ADDCA,R4
          DAA
          MOVR4,A
          RET
          ;-------------------------------------------------
          QUSHU:MOVA,R5
          ANLA,#0FH
          MOVDISSTART,A
          MOVA,R5
          ANLA,#0F0H
          SWAPA
          MOVDISSTART+1,A
          MOVA,R4
          ANLA,#0FH
          MOVDISSTART+2,A
          MOVA,R4
          ANLA,#0F0H
          MOVDISSTART+3,A
          RET
          ;---------------------------------------------------
          ADPLAY:PUSHPSW
          CLRPSW.3
          SETBPSW.4

          MOVR0,#DISSTART;開始填充顯示單元
          MOVR2,#03H;共計填充3位
          DISP1:MOVA,@R0;獲得當(dāng)前位地址
          MOVDPTR,#TAB_NU;獲得表頭
          MOVCA,@A+DPTR;獲得編碼數(shù)據(jù)
          MOV@R0,A;保存編碼數(shù)據(jù)
          INCR0;指向下一個帶轉(zhuǎn)換數(shù)據(jù)
          DJNZR2,DISP1;繼續(xù)轉(zhuǎn)換,直到完成

          MOVR0,#DISSTART;獲得顯示單元首地址
          MOVR1,#07FH;從第一個數(shù)碼管開始
          MOVR2,#03H;共顯示3位數(shù)碼管
          DISP2:MOVLED_DATA,@R0;讀取顯示單元數(shù)據(jù)
          MOVP2,R1;開始顯示當(dāng)前位
          MOVA,R1;準(zhǔn)備顯示下一位
          RRA;
          MOVR1,A;下一位
          INCR0;取下一個單元地址
          JNBACC.5,DISP3;第三位數(shù)碼管加小數(shù)點(diǎn)
          JMPDISP4
          DISP3:MOVA,@R0
          ANLA,#7FH
          MOV@R0,A
          DISP4:LCALLDELAY5MS;延時2MS
          DJNZR2,DISP2;重復(fù)顯示下一個
          POPPSW
          RET;顯示完成,返回
          ;---------------------------------------------------
          DELAY5MS:
          MOVR6,#10
          DEL1:MOVR7,#100
          DJNZR7,$
          DJNZR6,DEL1
          RET
          ;-------------------------------------------------
          TAB_NU:
          DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H
          DB80H,90H,88H,83H,0C6H,0A1H,86H,8EH



          評論


          技術(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); })();