freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[計算機硬件及網(wǎng)絡(luò)]第3章80c51單片機的存儲器結(jié)構(gòu)(參考版)

2024-10-22 03:58本頁面
  

【正文】 ★ 由于 ROM只能讀不能寫(軟件),那程序和數(shù)表的 存入,需要專用的設(shè)備,即編程器,編程器就是將編 譯軟件編譯成的目標程序和數(shù)表存放到指定的程序 存儲器的位置中。 80C51單片機中,僅有兩條指令,即 MOVC A , A+PC和 MOVC A , A+DPTR,這兩條指令比較麻煩,我們在后面給大家介紹。 目標程序的存放是通過編譯軟件中的偽指令來實現(xiàn)的,編譯軟件的作用是檢查語法錯誤和生成目標程序(二進制語言程序),偽指令用于編譯的過程(匯編)中,其中偽指令ORG就是給出程序存放在程序存儲器中的起始地址。 由于 CPU只認存儲器的地址不認程序,哪怎樣保證程序的正確執(zhí)行呢?只能由用戶,根據(jù) CPU訪問程序存儲器的特點,將目標程序(二進制語言程序)按上述特點來存放,也就是將先要執(zhí)行的指令,放在低字節(jié)單元,后執(zhí)行的指令放在高字節(jié)單元。 注: ★ 低 4K共用地址,這樣出現(xiàn)一個地址兩個單元,地址不能 唯一,這在計算機中是不允許的; ★ 解決方法,通過單片機的外引腳 來實現(xiàn): a、當 EA=0時, CPU直接訪問 ROM(0000H→FFFFH) , 內(nèi)部不用; b、 當 EA=1時, CPU先訪問內(nèi)部 ROM( 0000H→0FFFH ) 結(jié)束后,再去訪問外部 ROM ( 1000H→FFFFH ),外部低 4K不用,也 就是說外部低 4K無需擴展,這種情況下, 外部最多可擴展 60K。 ● 其中低 4K( 0000H~0FFFH) 的地址區(qū)可以為片內(nèi) ROM 和片外 ROM共用,但不能同時使用 (由外引腳 決定 )。如圖 318所示。 程序存儲器 程序存儲器的作用是用來存放程序和數(shù)表(固定不變的常數(shù))。 ★ 可位尋址的單元,可以用位地址、位編號或位定 義,在尋址中都稱之為位尋址( bit)。 SP ( 81 H ) 07 H07 H08 H09 H0 AH00 H7 FHR 7R 0R 1R 2R 0注:★ 51子系列中,共有 18個 SFR(特殊功能寄存器), 占用 21個單元,我們先學 5個 SFR(共 6個單元), 其余 SFR在后面的學習中,會逐步的給大家介紹。若實際進棧的數(shù)據(jù)超出了 16個單元,則堆棧溢出,溢出的單元在 50H以上,這些單元沒有數(shù)據(jù),則沒有影響,否則影響原有數(shù)據(jù)。堆棧的深度是由數(shù)據(jù)連續(xù)進棧的次數(shù)來決定的。 該程序,是將 40H和 41H的數(shù)據(jù)交換,進棧兩次,出棧兩次,所以堆棧指針 SP的值,仍為初始值 2FH,堆棧指針的初始值指向的單元,是不能用于存放堆棧數(shù)據(jù)的,第一個入棧的數(shù)據(jù),是該單元的地址加 1單元。當數(shù)據(jù)取出后,堆棧指針又回到初始狀態(tài),如圖 315所示。 執(zhí)行第三條指令 POP 40H,首先是取堆棧指針指向單元的數(shù)據(jù)給 40H,則 40H的數(shù)據(jù)為 33H,然后將 (SP) ←(SP) 1=31H1=30H,執(zhí)行完后,示意圖如圖 316( c)所示。 執(zhí)行第二條指令 PUSH 41H,進棧過程同第一條指令。 SP ( 81 H ) 2 FH 2 FH30 H31 H32 H40 H41 H42 H7 FHXXXXXXXX22 H33 HXXXXXX 執(zhí)行第一條指令 PUSH 40H,首先 (SP) ←(SP)+1 =2FH+1=30H,然后將 40H中的數(shù)據(jù) 22H,送入堆棧指針 SP指向的單元 30H中,如圖 316( a)所示。 例 2:已知 (SP)=2FH, (40H)=22H, (41H)=33H執(zhí)行下列程序。不管是硬件操作還是軟件操作,進棧時,首先堆棧指針加 1,然后數(shù)據(jù)進棧;出棧時,先取堆棧的數(shù)據(jù),然后堆棧指針減1。 數(shù)據(jù)的進棧和出棧,又有兩種操作形式,一是硬件操作,計算機執(zhí)行某個操作時,硬件自動進棧(中斷、調(diào)用)和出棧(返回指令),用于保護斷點。 SP2 FH00 H2 FH30 H31 H32 H33 H34 H35 H80 H81 HFFH7 FH1 FH20 H特殊功能寄存器區(qū)用戶區(qū)位尋址區(qū)工作寄存器區(qū)SP ( 81 H ) 2 FH 2 FH30 H31 H32 H33 H34 H35 H7 FH用戶區(qū) 堆棧數(shù)據(jù)的存取又稱之為進棧和出棧。它開辟在特殊功能寄存器 81H中,沒有位地址,即不可位尋址,如圖 312所示 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0SP 81 H 堆棧指針 SP是用來存放堆棧數(shù)據(jù)區(qū)的地址,如圖 313所示。為了實現(xiàn)上述數(shù)據(jù)保護的需要,數(shù)據(jù)的存取,要遵循先進后出,后進先出的原則。在 80C51中,由內(nèi)部數(shù)據(jù)存儲器中若干存儲單元組成,可由用戶自定義單元地址,一般開辟在內(nèi)部數(shù)據(jù)存儲器 30H~ 7FH這個空間。作為兩個獨立的 8位寄存器( DPH、 DPL)使用時,只能使用其地址,在指令系統(tǒng)中會詳解。 4.數(shù)據(jù)指針 DPTR( 83H、 82H) 數(shù)據(jù)指針 DPTR是一個 16位的特殊功能寄存器,不可位尋址,由兩個8位寄存器 DPH( 83H) 和 DPL( 82H) 組成, DPH 是 DPTR的高8位, DPL是 DPTR的低8位,DPTR既可合并作為一個 16位寄存器,又可分開按8位寄存器單獨操作,見圖 311所示。 例 1: X=- 13, Y=- 6,求 X+Y的補碼運算。 ★ P 在任何一條指令中,只要有累加器 A出現(xiàn)并且 A中的 值發(fā)生變化,就會影響 P。 P:奇偶標志位,累加器 A中 1的個數(shù)為奇數(shù)時( P) =1,否 則( P) =0,只要 A中的數(shù)值發(fā)生變化,就影響 P(實時
點擊復(fù)制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1