新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機匯編程序設計之時間片

        單片機匯編程序設計之時間片

        作者: 時間:2013-05-08 來源:網絡 收藏

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

        ; timer0中斷服務程序

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

        ;出口 r_sys_slice

        ;

        ; 用于系統計時,每50us,r_sys_slice+=1

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

        timer0_isev:

        push

        bclr interrupt_flag ;清中斷標志

        mov a,#256-50 ;定時初值初值

        mov time,a

        inc r_sys_slice

        pop

        reti

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

        ; 系統

        ;入口 r_sys_slice

        ;出口 r_led_cyc_cnt、r_sw_cyc_cnt

        ;

        ; 確定時間基準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

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

        ; 循環點亮led

        ;入口 r_led_cyc_cnt

        ;出口 ...

        ;

        ; 每個led亮500ms

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

        flash_led:

        if(r_led_cyc_cnt>=50){

        r_led_cyc_cnt=0;

        ;light next led

        }

        ret

        end

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

        這樣寫完后,除滿足點亮led的同時有效檢測按鍵,還便于擴展其它功能。且可以認為每個模塊都是實時運行的。

        如果,編譯環境允許,將每個模塊放在一個單獨的文件中,大大提高程序的可讀性。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 繁峙县| 石台县| 高要市| 福贡县| 宜宾市| 中西区| 富顺县| 西华县| 乌什县| 通榆县| 全州县| 二手房| 额尔古纳市| 金阳县| 涿州市| 亳州市| 沙洋县| 邓州市| 星子县| 辽宁省| 榆社县| 安达市| 乳源| 彭州市| 枝江市| 安国市| 青川县| 秦皇岛市| 江口县| 承德市| 西丰县| 许昌市| 松潘县| 临猗县| 井冈山市| 合江县| 乐至县| 康定县| 崇信县| 灵寿县| 奉化市|