導航:首頁 > 編程語言 > 單片機編程存儲器

單片機編程存儲器

發布時間:2023-12-30 03:22:18

1. 8051單片機內部程序存儲器和內部數據存儲器的定址范圍是多少

呵呵 樓上答案是錯誤的阿 還是俺來替你解答吧
1 8051單片機內部程序存儲器:
為4K掩膜程序存儲器 定址范圍為:0000H~0FFFH
51單片機的片內片加上片外的總的定址才是:0000H~FFFFH
2 8051單片機內部數據存儲器只有128個單元:
定址范圍為:00H~7FH
80H~FFH 為特殊寄存器區

呵呵 滿意就給加分嘍

2. MCS-51單片機片內256B的數據存儲器可分為幾個區分別起什麼作用

MCS-51 單片機片內數據存儲器可分為二個區: 00H~7FH 單元組成的低128B 的片內RAM區、80H ~FFH單元組成的高128B 的專用寄存器區。其中低128B的RAM區又分為: 00H~1FH 單元為工作寄存器區、20H~2FH 單元為位定址區、30H~7FH單元為用戶RAM區。

工作寄存器區可作通用寄存器用,用戶RAM區可作堆棧和數據緩沖用。專用寄存器區又稱特殊功能寄存器,使用80H~FFH單元。

(2)單片機編程存儲器擴展閱讀

存儲器空間在物理結構上可劃分為:MCS-51存儲器是採用將程序存儲器和數據存儲器分開定址的結構,其存儲器空間在物理結構上可劃分為如下四個空間:片內程序存儲器、片外程序存儲器、片內數據存儲器、片外數據存儲器。

MCS-51單片機的P0~P3四個I/O埠在結構上的異同以及使用時應注意的事項:MCS-51單片機的四個埠在結構上相同之處: P0~P3 都是准雙向I/O 口,作輸入時,必須先向相應埠的鎖存器寫入「1」。

不同之處;P0口的輸出級與P1~P3口不相同,它無內部上拉電阻,不能提供拉電流輸出,而P1~P3 則帶內部上拉電阻,可以提供拉電流輸出。

當P0口作通用I/O口輸出使用時,需外接上拉電阻才可輸出高電平;但作地址/數據匯流排時,不需要外接上拉電阻。P1~P3口IO輸出時,均無需外接上拉電阻。

3. 單片機存儲器主要由哪幾個部分組成,如何使用

存儲器由存儲體、地址解碼器和控制電路組成。

1)存儲體是存儲數據信息的載體。由一系列存儲單元組成,每個存儲單元都有確定的地址。存儲單元通常按位元組編址,一個存儲單元為一個位元組,每個位元組能存放一個8位二進制數。就像一個大倉庫,分成許多房間,大倉庫相當於存儲體,房間相當於位元組,房間都有編號,編號就是地址。

2)地址解碼器將CPU發出的地址信號轉換為對存儲體中某一存儲單元的選通信號。相當於CPU給出地址,地址解碼器找出相應地址房間的鑰匙。通常地址是8位或1 6位,輸入到地址解碼器,產生相應的選通線,8位地址能產生28=256根選通線,即能選通256位元組。16位地址能產生216=65536=64K根選通線,即能選通64K位元組。當然要產生65536根選通線是很難想像的,實際上它是分成256根行線和256根列線,256 X 256=65536,合起來能選通65536個存儲單元。
3)存儲器控制電路包括片選控制、讀/寫控制和帶三態門的輸入/輸出緩沖電路。

①片選控制確定存儲器晶元是否工作。
②讀/寫控制確定數據傳輸方向;若是讀指令,則將已被選通的存儲單元中的內容傳送到數據匯流排上;若是寫指令,則將數據匯流排上的數據傳送到已被選通的存儲單元中。
③帶三態門的輸入/輸出緩沖電路用於數據緩沖和防止匯流排上數據競爭。數據匯流排相當於一條車流頻繁的大馬路,必須在綠燈條件下,車輛才能進入這條大馬路,否則要撞車發生交通事故。同理,存儲器的輸出端是連接在數據匯流排上的,存儲器中的數據是不能隨意傳送到數據匯流排上的。例如,若數據匯流排上的數據是「1」(高電平5V),存儲器中的數據是「0」(低電平OV),兩種數據若碰到一起就會發生短路而損壞單片機。因此,存儲器輸出埠不僅能呈現「1」和「O」兩種狀態,還應具有第三種狀態「高阻"態。呈「高阻"態時,它們的輸出埠相當於斷開,對數據匯流排不起作用,此時數據匯流排可被其他器件佔用。當其他器件呈「高阻"態時,存儲器在片選允許和輸出允許的條件下,才能將自己的數據輸出到數據匯流排上。

4. 分析at89s52單片機的存儲器結構

1.程序存儲器

設計人員編寫的程序存放在微處理器的程序存儲器中。

at89s52具有64kb程序存儲器定址空間,它是用於存放用戶程序、數據和表格等信息,程序存儲器的結構如圖1所示。

圖1 at89s52程序存儲器的結構

at89s52片內片外的程序存儲器在統一邏輯空間中,地址從0000h~ffffh,共有64k位元組范圍。引腳接高電平時,程序從片內程序存儲器0000h開始執行,即訪問片內存儲器。當pc值超出片內rom容量時,會自動轉向片外程序存儲器空間執行。引腳接低電平時,迫使系統全部執行片外程序存儲器0000h開始存放的程序。

2.數據存儲器

at89s52 有256 位元組片內數據存儲器。地址為00h~ffh。這256個單元共分為兩部分。其一是地址從00h~7fh單元(共128個位元組)為用戶數據ram。從80h~ffh地址單元(也是128個位元組)為特殊寄存器(sfr)單元。高128 位元組與特殊功能寄存器重疊,也就是說高128位元組與特殊功能寄存器有相同的地址,而物理上是分開的。

在00h~1fh共32個單元中被均勻地分為四塊,每塊包含八個8位寄存器,均以r0~r7來命名,稱這些寄存器為通用寄存器。這四塊中的寄存器都稱為r0~r7,利用psw的第3和第4位(rs0和rs1),即可選中這四組通用寄存器。

內部數據存儲器的20h—2fh單元為位定址區,可作為一般單元用位元組定址,也可對它們的位進行定址,位定址區地址如表1所示

表1 ram位定址區地址表

3. 中斷服務程序的入口地址

在程序存儲區中,為中斷服務程序保存了一段中斷服務程序的入口地址:其中一組特殊單元是0003h—0032h,各個單元各有用途,它們被分為六段,每個段8個位元組,專門留給中斷服務程序使用,被稱為中斷矢量區。at89s52共有8個中斷源,6個中斷矢量,它們的定義如下表2所,

表2 中斷服務程序的入口地址

4.特殊功能寄存器sfr(special? function register)

特殊功能寄存器是指有特殊用途的寄存器集合,也稱為專用寄存器,本質上是一些具有特殊功能的片內ram單元,反映單片機的運行狀態,很多功能也通過特殊功能寄存器來定義和控製程序的執行。

at89s52單片機內部高128(80~ffh)地址分配給特殊功能寄存器。這個地址空間和晶元內數據存儲器的高128位元組地址完全重疊,但兩者在物理硬體上是完全獨立的,用定址方式來區分這個完全重疊的地址空間。使用直接定址方式訪問這個地址空間時,訪問的是特殊功能寄存器;使用間接定址方式訪問這個地址空間時,訪問的是數據存儲器。

at89s52有32個特殊功能寄存器,它們被離散地分布在內部ram的80h~ffh地址中,這些寄存的功能已作了專門的規定,用戶不能修改其結構。

5.幾個注意問題

(1)地址的重疊性

單片機中的所有存儲器都必須分配地址,可以定址的地址范圍為64kb,數據存儲器與程序存儲器都佔用相同的地址。

程序存儲器中片內片外0000h~0ffffh低4kb地址完全重疊,但是我們使用引腳進行區分:=0時,選擇片外,=1時,選擇片內,這樣就完全區分開來了。

數據存儲器中片內外0000h~00ffh的256個單元地址完全重疊,片內外數據的訪問採用不同指令來區分:mov指令訪問片內數據存儲器,movx指令訪問片外數據存儲器。

(2)程序存儲器(rom)與數據存儲器(ram)的區分

程序存儲器(rom)與數據存儲器(ram)的區分在使用上是嚴格區分的,程序存儲器只能放置程序指令及常數表格,對程序存儲器中數據的訪問只可以使用movc指令。而數據存儲器則存放數據,片內外的操作指令分別用mov,movx進行操作。

(3)位地址空間的區域劃分

片內ram中的20h~2fh的128位,以及sfr中的位地址,這些位定址單元與位指令集構成了位處理器系統

閱讀全文

與單片機編程存儲器相關的資料

熱點內容
電腦電銷加密電話號碼破解 瀏覽:503
世界史綱pdf 瀏覽:133
湖北社保年審app叫什麼名字 瀏覽:852
邁達克雲伺服器 瀏覽:597
mfc深入淺出從mfc設計到mfc編程 瀏覽:81
螢石雲伺服器連接設置 瀏覽:325
中國名著pdf 瀏覽:592
華為伺服器設備序列號怎麼看 瀏覽:319
跑永輝生活配送用什麼app 瀏覽:149
ug識別符號命令在哪裡 瀏覽:719
pdf文件改文字 瀏覽:732
查詢qq號劍靈伺服器地址 瀏覽:552
國家反詐中心app為什麼要刷臉 瀏覽:303
iphone怎麼修改dns伺服器地址 瀏覽:85
bandizip解壓位置 瀏覽:168
伺服器的防火牆如何訪問 瀏覽:306
javagoto關鍵字 瀏覽:847
廣州少兒編程加盟排名榜 瀏覽:122
51單片機th0 瀏覽:294
冠軍交易pdf 瀏覽:208