[修改問題]8051 兩個中斷服務用同一個Register bank |
尚未結案
|
iloveopop
一般會員 發表:12 回覆:9 積分:4 註冊:2011-10-08 發送簡訊給我 |
A:中斷服務1和 中斷服務2都用register bank 1
B: 中斷服務1用 register bank 1 , 中斷服務2用 register bank 2 A和B分別有啥不同? 例如中斷服務1是數數0~f,中斷服務2是蜂鳴器響1秒. 中斷服務2高優先 如果是B情況,啟動服務1,開始數數,然後啟動服務2,停止數數1秒後繼續 但是A情況,啟動服務1,開始數數,然後啟動服務2,停止數數6~7秒後繼續 為什麼A會時間久點? 編輯記錄
iloveopop 重新編輯於 2012-02-17 06:16:48, 註解 無‧
|
handystudio
高階會員 發表:1 回覆:81 積分:106 註冊:2005-03-26 發送簡訊給我 |
register bank 0 : R0 ~ R7 對應到內部MEMORY ADDRESS 00H ~ 07H
register bank 1 : R0 ~ R7 對應到內部MEMORY ADDRESS 08H ~ 0FH register bank 2 : R0 ~ R7 對應到內部MEMORY ADDRESS 10H ~ 17H register bank 3 : R0 ~ R7 對應到內部MEMORY ADDRESS 18H ~ 20H A : 中斷服務1和 中斷服務2都共用內部MEMORY ADDRESS 08H ~ 0FH B: 中斷服務1和 中斷服務2分別使用內部MEMORY ADDRESS 08H ~ 0FH 與 內部MEMORY ADDRESS 10H ~ 17H 在A情況,就看你程式如何使用R0 ~ R7, 如果有重複使用,就會互相被更動,這是錯誤的程式寫法 ===================引 用 iloveopop 文 章=================== A:中斷服務1和 中斷服務2都用register bank 1 B: 中斷服務1用 register bank 1, 中斷服務2用 register bank2 A和B分別有啥不同? 例如中斷服務1是數數0~f,中斷服務2是蜂鳴器響1秒. 中斷服務2高優先 如果是B情況,啟動服務1,開始數數,然後啟動服務2,停止數數1秒後繼續 但是A情況,啟動服務1,開始數數,然後啟動服務2,停止數數6~7秒後繼續 為什麼A會時間久點?
------
歡迎光臨 輕巧工作室 網站 http://www.handystudio.tw 控制電路板客製設計、製作交貨 8051專題製作/專題客製 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |