新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機程序設計中運用事件驅動機制

        單片機程序設計中運用事件驅動機制

        作者: 時間:2012-03-08 來源:網絡 收藏

        unsigned char num_buf[8];

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

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

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

        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); /*設置定時器*/

        void t0_int_sever(void); /*定時器T0中斷服務*/

        void t1_int_sever(void); /*定時器T1中斷服務*/

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

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

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

        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);

        }

        }

        }

        是通過在中斷服務程序中置位相位標志,把耗時的中斷服務中的處理部分分離出來,中斷返回后,再由主程序根據標志啟動相應的處理模塊。在任務處理完成后,清除相應的標志。由于中斷服務程序短小,所以一般能實時地響應各種中斷;而處理程序之間不會被相互調用,所以不會產生代碼重入;各模塊界限分明,給程序中各模塊的統調帶來很大的方便。

        實踐證明,運用機制來紡織程序,即使對于要求定時準,耗時多的多中斷、多模塊系統,也可輕松地完成。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 通海县| 黄龙县| 富民县| 凤冈县| 阿城市| 宜宾县| 江门市| 甘德县| 盖州市| 铁力市| 保德县| 建平县| 柘荣县| 安图县| 于田县| 什邡市| 安丘市| 明光市| 河东区| 乃东县| 顺昌县| 洪洞县| 聂拉木县| 镇康县| 连江县| 本溪| 湘阴县| 安国市| 惠来县| 喀喇沁旗| 弥渡县| 德令哈市| 休宁县| 建始县| 桑日县| 临猗县| 乌拉特中旗| 顺义区| 承德市| 永清县| 龙井市|