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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > NEC單片機的FIP應用

          NEC單片機的FIP應用

          作者: 時間:2012-11-26 來源:網(wǎng)絡 收藏

          3.2 程序初始化

          進行顯示方式設置、I/O端口設置、中斷系統(tǒng)設置始化的具體程序段如下:

          DI(); /*關中斷*/

          DSPM0=0x00; /*9段顯示,段顯示方式,系統(tǒng)時鐘4.9152MHz*/

          DSPM1=0xB3; /*23位顯示,亮度為2/16,顯示周期為416.7μs*/

          PM12=0x0F; /*P12端口的低四位用于鍵盤回讀,設為輸出模式*/

          KSIF=0; /*清除中斷請求標志*/

          KSMK=0; /*清除中斷屏蔽標志,允許INTKS中斷*/

          Khead=9; /*初始化鍵盤緩沖區(qū)*/

          Krear=0; /*消抖動計數(shù)器置初值*/

          Scandata=0x01; /*鍵盤掃描數(shù)據(jù)置初值*/

          ScanFinish=0; /*一遍掃描結束標志置初值*/

          KeyChanged=0; /*按鍵改變標志置初值*/

          EI(); /*開中斷*/

          3.3 顯示程序

          下面的程序可實現(xiàn)在指定位置顯示一個數(shù)字的功能。其中能數(shù)digit為要顯示的數(shù)字,范圍是0~9;position為顯示位置,從右向左與0~11相對應。

          void DisplayDigit(char digit,char position)

          {if((digit10)(digit>=0)(position>=0)(position12)

          /*在顯示范圍之內*/

          {pokeb(0xFA60+position,DisplayCode[digit][1]);

          /*編碼的低字節(jié)*/

          {pokeb(0xFA70+position,DisplayCode[digit][0])};

          /*編碼的高字節(jié)*/

          }

          中斷處理程序流程如圖3所示。

          4 小結

          在其他系統(tǒng)中,通常由軟件定時中斷來逐位刷新顯示和掃描鍵盤,這樣將增加軟件的復雜性,并且會占用較多的CPU資源。而μPD780208所具有的顯示控制/驅動器可實現(xiàn)硬件的自動顯示刷新功能,在初始位置完成后,軟件的工作只是將顯示數(shù)據(jù)按要求的格式放入顯示RAM區(qū)而無需額外編程,由于定時刷新顯示的作由硬件完成,因此在很大程序上降低了CPU的資源占用率。同時,由于顯示時序中提供有鍵盤掃描時序,從而進一步簡化了軟件編程,并且減少了定時中斷占用。這樣,在的資源并不豐富的資源條件下,F(xiàn)IP顯示控制/驅動器的優(yōu)越性得到了充分體現(xiàn)。

          蜂鳴器相關文章:蜂鳴器原理

          上一頁 1 2 下一頁

          關鍵詞: 應用 FIP 單片機 NEC

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();