標題: 關于板子附帶光盤中“流水燈_鍵控_asm”例子的一個問題 [打印本頁]
作者: xiaoyusi1982 時間: 2012-7-27 17:16
標題: 關于板子附帶光盤中“流水燈_鍵控_asm”例子的一個問題
51hei板子的光盤程序中有以下這個子程序:其中第四句:"SETB 00H " 為什么是20H.0位置1,明明語句中是“00H”,求教,謝謝!
CLEAR: clr P2.7
clr P1.4 ;打開led總開關
MOV 20H,#00H ;20H單元內存清0(閃爍標志清0)
SETB 00H ;20H.0位置1(上電時自動執行閃爍功能1)
RET ;子程序返回
作者: admin 時間: 2012-7-28 02:27
setb 后面的 00h 應該是在位尋址區的. 而位尋址區是從20H-2FH,共16字節,是位尋址區,共有128個“位”,位地址:00~7FH。所以才有上面的注釋
SETB 00H ; 這里的01H就是位地址
MOV 00H, #00H ; 這里的01H就是字節地址
作者: admin 時間: 2012-7-28 02:29
MCS-51 單片機的存儲器地址空間,講起來,要用幾頁。
簡單介紹如下:
MCS-51的存儲器有片內RAM、片外RAM 和 ROM 三個空間。
片內RAM:
地址范圍是00H到7FH (52系列延伸到FFH)。
其中00H到1FH,共32字節,分成四個工作寄存器區,每區有寄存器 R0~R7。
對此區域,可以使用 R0~R7 來操作,但是,當前只有一個區是可以這樣讀寫的。
對此區域,也可以使用字節地址,來讀寫。
20H-2FH,共16字節,是位尋址區,共有128個“位”,位地址:00~7FH。
此區域,也可按照字節尋址,來讀寫。
30H-7FH,沒有什么特色,只進行字節尋址。
80H-FFH,共有128個地址號碼,其中離散的分布著21個特殊功能寄存器,必須直接尋址才能讀寫。
(52系列,在此范圍,還有128字節的 RAM,必須間接尋址才能讀寫)。
對上述空間讀寫,需用MOV指令。
----
片外RAM:
片外RAM的地址范圍是0000H到FFFFH,容量即為64KB。
對片外RAM讀寫,需用MOVX指令。
----
ROM:
ROM的地址范圍是0000H到FFFFH,容量即為64KB。
其中0000~0FFFH,即4K,在片內,其它在片外。
(對于8031,這64K的ROM,都在片外。)
對ROM讀出,需用MOVC指令。
作者: xiaoyusi1982 時間: 2012-7-28 09:53
管理員,等待的就是你,你這么一說,我大致清楚了。非常感謝您的耐心指導~!
作者: xiaoyusi1982 時間: 2012-7-28 10:05
無意中發現管理員回帖的時間是夜間兩點多,可想:
1。管理員白天要忙自己的事,只能晚上擠出時間打理我們這些菜鳥們重復、繁瑣的問題和求助。這是很不容易的。當今在論壇上游蕩的菜鳥居多,一旦煉就一身本領,也會遠離初學者論壇,畢竟總是回答初學者的問題是很煩的;
2。管理員回復了我2次,可見對于求助,是很有耐心的,也很認真;晚上2點多了,也沒有馬虎。
所以,非常感謝!
作者: admin 時間: 2012-7-29 01:01
呵呵 不用謝 應該的 習慣了晚上做事而已 好像搞技術的都喜歡這樣
歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |