全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1507
推到 Plurk!
推到 Facebook!

[修改問題]8051 兩個中斷服務用同一個Register bank

尚未結案
iloveopop
一般會員


發表:12
回覆:9
積分:4
註冊:2011-10-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2012-02-17 10:24:17 IP:221.127.xxx.xxx 訂閱
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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2012-03-26 23:59:18 IP:114.37.xxx.xxx 訂閱
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專題製作/專題客製
系統時間:2024-04-16 17:35:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!