瀏覽單個文章
alex1973
Regular Member
 

加入日期: Sep 2004
文章: 61
1.不管是內部或是外部程式記憶體 (ROM) ;就是存放編譯聯結後的8051控制程式,對不對!?

Ans: 正確.

2.那想請教一下,8052/51只外部程式記憶體支援到 64K byte ,那如果先啟用內部程式記憶體 8K byte 然後再啟用 外部程式記憶體 64K byte 這樣是不是就等於 64K+8K=72K byte

Ans: 有正確的 link 還有程式技巧配合的話, 理論上可以靠這樣做 code banking, 不過要記住正常的 8051 都只有 16 根 address line, 所以同時能存取的 program memory 就只有 2^16=64k 空間.

3.那這樣高的 128 byte(位址 80H~FFH)和特殊功能暫存器 (SFR,位址 80H~FFH)不就重複了!?意思是只有89C52才有特殊功能暫存器囉!?

Ans: 市面上太多太多變種的 8051 了, 這部份請參考你那顆 8051 的手冊, SFR 是所有的 8051 變種都會有的 (到現在還沒看過沒有的), 至於 data, idata, xdata 甚至 edata, hdata 各種記憶體架構, 則是隨著各種變種都會有小小差別.

我覺得你最好還是先去翻翻一些 8051 的書, 因為你之前的問題都是非常基本的 8051 assembly 語法的問題. 數字的 # @ 前置符號以及沒有前置符號的差別這種問題實在是夠基本了. 與其在這邊慢慢問, 不如去找本 8051 的書, 把 timer, interrupt 這些所有 8051 共通的基本架構先有些概念, 然後再去看你那顆 8051 特有加強修改的部份 (以你們的用途, 大概專注在 GPIO/LED 控制吧). 之後再準備一本你用的 assembler 的使用手冊, 搭配現有的 code, 對照語法, 多做實驗, 應該很快就會突飛猛進啦.
舊 2006-07-24, 02:32 PM #34
回應時引用此文章
alex1973離線中