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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)程序設(shè)計(jì)中運(yùn)用事件驅(qū)動(dòng)機(jī)制

          單片機(jī)程序設(shè)計(jì)中運(yùn)用事件驅(qū)動(dòng)機(jī)制

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

          unsigned char num_buf[8];

          void uum_proc(void); /*數(shù)據(jù)處理模塊*/

          void ledbuf_write(unsigned,unsigned int); /*數(shù)據(jù)處理*/

          void system_init(void); /*系統(tǒng)初始化*/

          void uart_commune(void); /*串口通訊模塊*/

          void led_display(void); /*LED顯示*/

          void kb_scan(void); /*鍵盤掃描*/

          void ic_reader(void); /*讀IC卡*/

          void ic_writer(void); /*寫IC卡*/

          void set_timer(unsigned int time_len,unsigned char type,unsigned char id); /*設(shè)置定時(shí)器*/

          void t0_int_sever(void); /*定時(shí)器T0中斷服務(wù)*/

          void t1_int_sever(void); /*定時(shí)器T1中斷服務(wù)*/

          void int0_int_sever(void); /*INT0中斷服務(wù)*/

          void int1_int_sever(void); /*INT1中斷服務(wù)*/

          void uart_int_sever(void); /*串口中斷服務(wù)*/

          void main(void)

          {

          system_init();

          while(1) {

          if (t0_int) led_display();

          if (int0_int) ic_reader();

          if (t1_int) kb_scan();

          if (uart_int) uart_commune();

          if (kb_enter){

          num_proc();

          ic_writer();

          ledbuf_write(num_buf,8);

          }

          }

          }

          是通過(guò)在中斷服務(wù)程序中置位相位標(biāo)志,把耗時(shí)的中斷服務(wù)中的處理部分分離出來(lái),中斷返回后,再由主程序根據(jù)標(biāo)志啟動(dòng)相應(yīng)的處理模塊。在任務(wù)處理完成后,清除相應(yīng)的標(biāo)志。由于中斷服務(wù)程序短小,所以一般能實(shí)時(shí)地響應(yīng)各種中斷;而處理程序之間不會(huì)被相互調(diào)用,所以不會(huì)產(chǎn)生代碼重入;各模塊界限分明,給程序中各模塊的統(tǒng)調(diào)帶來(lái)很大的方便。

          實(shí)踐證明,運(yùn)用機(jī)制來(lái)紡織程序,即使對(duì)于要求定時(shí)準(zhǔn),耗時(shí)多的多中斷、多模塊系統(tǒng),也可輕松地完成。


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(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); })();