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

          新聞中心

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

          單片機程序設(shè)計中運用事件驅(qū)動機制

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

          LED顯示的實現(xiàn)

          顯示模塊結(jié)構(gòu)見圖2。以定時器T0作為LED的動態(tài)掃描的定時基準(zhǔn),T0的定時時間最大值 Tseg=20ms/(8×N)(其中N為LED位數(shù)),改變 Tseg的值可改變顯示的亮度。T0每隔Tseg時間向MCU申請中斷,在T0的中斷服務(wù)程序中置位相應(yīng)的標(biāo)志位(Message_Flag中的D0 位)。主程序檢測到此標(biāo)志位被置位后,啟動顯示模塊實現(xiàn)位段的顯示輸出。

          鍵盤輸入的實現(xiàn)

          鍵盤模塊結(jié)構(gòu)見圖3。在LED動態(tài)掃描期間,只有被點亮的LED相應(yīng)的位選線維持大約3ms的低電平,而在系統(tǒng)工作的絕大部分時間內(nèi)LED的位選線(即鍵盤的列線)維持高電平。當(dāng)有鍵被按下時,將把鍵盤的行線中某一根拉成高電平,經(jīng)或非門后,向MCU 申請INT1中斷,在INT1的中斷服務(wù)程序中啟動定時時間為20ms的定時器T1。T1的定時時間到后向MCU申請T1中斷,在T1的中斷服務(wù)器程序中置位相應(yīng)的中斷申請標(biāo)志(Message_Flag中的 D1位)。主程序檢測到此標(biāo)志位被置位后,啟動鍵盤掃描模塊實現(xiàn)鍵盤輸入。鍵盤輸入完成(用戶按“確認(rèn)”鍵),置位鍵盤輸入確認(rèn)標(biāo)志(Message_Flag中的D7位)。

          IC卡的讀寫

          IC 卡的SDA、SCL經(jīng)卡座分別通過P1.0、P1.1與MCU相連。當(dāng)IC卡插入卡座時,座上的微動開關(guān)使INT0變?yōu)榈碗娖?,向MCU申請INT0中斷。在INT0中斷服務(wù)程序中置位相應(yīng)的中斷申請標(biāo)志(Message_Flag中的D2位),主程序檢測到此標(biāo)志位被置位后,啟動IC卡的讀模塊,以軟件模塊I2C協(xié)議來實現(xiàn)讀卡操作。在數(shù)據(jù)處理完成后,同樣通過軟件模塊I2C協(xié)議來完成寫卡的操作。

          串口通訊

          實際應(yīng)用中可把UART轉(zhuǎn)換成RS232C與PC相連或轉(zhuǎn)換成RS485等其它協(xié)議組成網(wǎng)。 MCU與外部的通訊采用中斷方式,在串口的中斷服務(wù)程序中置位相應(yīng)的中斷申請標(biāo)志(Message_Flag中的D4位)。主程序檢測到此標(biāo)志位被置位后,啟動串口通訊模塊,實現(xiàn)與外部的數(shù)據(jù)通訊。

          主程序的設(shè)計

          綜上所述,主程序首先完成系統(tǒng)的初始化,然后循環(huán)檢測各中斷的中斷申請標(biāo)志,如有某標(biāo)志被置位,則啟動相應(yīng)的處理模塊完成相應(yīng)的任務(wù)。程序結(jié)構(gòu)如下(用C51編寫):

          vnsigned bdata message_flag;

          sbit t0_int=message_flag^0;

          sbit t1_int=message_flag^1;

          sbit int0_int=message_flag^2;

          sbit uart_int=message_flag^4;

          sbit kb_enter=message_flag^7;

          unsigned char kb_buf[8];

          unsigned char led_buf[8];

          unsigned char ic_buf[8];



          評論


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