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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC單片機(jī)的數(shù)制轉(zhuǎn)換

          PIC單片機(jī)的數(shù)制轉(zhuǎn)換

          作者: 時(shí)間:2016-11-11 來(lái)源:網(wǎng)絡(luò) 收藏
          如果使用PICC編譯器對(duì)PIC單片機(jī)的數(shù)制進(jìn)行轉(zhuǎn)換,我認(rèn)為嵌套匯編是最好的辦法,這樣可以節(jié)省更多的空間,相對(duì)PIC一般的小容量芯片來(lái)說(shuō)是最好的,下面是我做的從BCD轉(zhuǎn)到BIN和從BIN轉(zhuǎn)到BCD的程序。本程序使用時(shí)還有個(gè)限制,那就是BINTOBCD的二進(jìn)制數(shù)要小于0x64,這樣轉(zhuǎn)換出來(lái)的數(shù)據(jù)才能到99以?xún)?nèi),另外一個(gè)就BCDTOBIN最好有個(gè)數(shù)據(jù)判斷功能??赡軐?xiě)的不是很標(biāo)準(zhǔn),請(qǐng)高手指正。

          另外一個(gè)是數(shù)據(jù)的反轉(zhuǎn),比如高位在前反轉(zhuǎn)到低位在前,我也認(rèn)為這樣的程序最好使用匯編,當(dāng)然我沒(méi)有看編譯器編譯出來(lái)的效率,估計(jì)會(huì)占用更多的FLASH。

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

          下面是數(shù)制轉(zhuǎn)換的程序:

          //在使用前要定義幾個(gè)全局變量

          volatile unchar FDATA,ZDATA,COUNT; //call ASM use.

          unchar BinToBcd(unchar data)
          {
          unchar fdata;
          ZDATA=data;
          #asm
          CLRF _FDATA;
          GTENTH
          MOVLW 0AH
          SUBWF _ZDATA,W
          BTFSS _STATUS,0
          GOTO OVER
          MOVWF _ZDATA
          INCF _FDATA
          GOTO GTENTH
          OVER
          SWAPF _FDATA,W
          IORWF _ZDATA
          #endasm
          fdata=ZDATA;
          return (fdata);
          }
          unchar BcdToBin(unchar data)
          {
          unchar fdata;
          ZDATA=data;
          #asm
          CLRF _FDATA
          MOVLW 0FH
          ANDWF _ZDATA,W
          MOVWF _FDATA
          SWAPF _ZDATA
          MOVLW 0FH
          ANDWF _ZDATA
          BCF _STATUS,0
          RLF _ZDATA
          MOVF _ZDATA,W
          MOVWF _COUNT
          BCF _STATUS,0
          RLF _ZDATA
          BCF _STATUS,0
          RLF _ZDATA
          MOVF _COUNT,W
          ADDWF _ZDATA,W
          ADDWF _FDATA
          #endasm
          fdata=FDATA;
          return (fdata);
          }



          評(píng)論


          技術(shù)專(zhuān)區(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); })();