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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)匯編程序設(shè)計(jì)之時(shí)間片

          單片機(jī)匯編程序設(shè)計(jì)之時(shí)間片

          作者: 時(shí)間:2013-05-08 來源:網(wǎng)絡(luò) 收藏

          ;========================================================

          ; timer0中斷服務(wù)程序

          ;入口 無(timer0初始化函數(shù)未給出)

          ;出口 r_sys_slice

          ;

          ; 用于系統(tǒng)計(jì)時(shí),每50us,r_sys_slice+=1

          ;========================================================

          timer0_isev:

          push

          bclr interrupt_flag ;清中斷標(biāo)志

          mov a,#256-50 ;定時(shí)初值初值

          mov time,a

          inc r_sys_slice

          pop

          reti

          ;========================================================

          ; 系統(tǒng)

          ;入口 r_sys_slice

          ;出口 r_led_cyc_cnt、r_sw_cyc_cnt

          ;

          ; 確定時(shí)間基準(zhǔn)10ms=50us*200

          ;========================================================

          sys_time:

          if(r_sys_slice>=200){

          r_sys_slice=0;

          r_led_cyc_cnt++;

          r_sw_cyc_cnt++;

          }

          ret

          ;========================================================

          ; 按鍵檢測

          ;入口 r_sw_cyc_cnt

          ;出口 無

          ;

          ; 每50ms檢測一次按鍵

          ;========================================================

          ck_sw:

          if(r_sw_cyc_cnt>=5){

          r_sw_cyc_cnt=0;

          ;check sw

          ;....

          }

          ret

          ;========================================================

          ; 循環(huán)點(diǎn)亮led

          ;入口 r_led_cyc_cnt

          ;出口 ...

          ;

          ; 每個(gè)led亮500ms

          ;========================================================

          flash_led:

          if(r_led_cyc_cnt>=50){

          r_led_cyc_cnt=0;

          ;light next led

          }

          ret

          end

          ;---------------------------------------------------------

          這樣寫完后,除滿足點(diǎn)亮led的同時(shí)有效檢測按鍵,還便于擴(kuò)展其它功能。且可以認(rèn)為每個(gè)模塊都是實(shí)時(shí)運(yùn)行的。

          如果,編譯環(huán)境允許,將每個(gè)模塊放在一個(gè)單獨(dú)的文件中,大大提高程序的可讀性。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

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