當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]為了保證程序能夠連續(xù)地執(zhí)行下去,CPU必須具有某些手段來確定一條指令的地址。程序計數(shù)器PC正是起到了這種作用,所以通常又稱其為指令地址計數(shù)器。在程序開始執(zhí)行前,必須將其起始地址。即程序的第一條指令所在的內(nèi)存單元地址送入PC。當(dāng)執(zhí)行指令時,CPU將自動修改PC的內(nèi)容,使之總是保存將要執(zhí)行的下一個條指令的地址。由于大多數(shù)都是按順序執(zhí)行的,所以修改的過程只是簡單的加1操作。

為了保證程序能夠連續(xù)地執(zhí)行下去,CPU必須具有某些手段來確定一條指令的地址。程序計數(shù)器PC正是起到了這種作用,所以通常又稱其為指令地址計數(shù)器。在程序開始執(zhí)行前,必須將其起始地址。即程序的第一條指令所在的內(nèi)存單元地址送入PC。當(dāng)執(zhí)行指令時,CPU將自動修改PC的內(nèi)容,使之總是保存將要執(zhí)行的下一個條指令的地址。由于大多數(shù)都是按順序執(zhí)行的,所以修改的過程只是簡單的加1操作。

下面我們看看8051的存儲器系統(tǒng):(此章非常重要,請仔細(xì)理解)8051序列單片機(jī)與一般微機(jī)的存儲器配置方式不相同。一般微機(jī)通常只有一個地址空間,ROM和RAM可以隨意安排在這一地址范圍內(nèi)不同的空間,即ROM和RAM的地址同在一個隊列里分配不同的地址空間。CPU訪問存儲器時,一個地址對應(yīng)唯一的存儲單元,可以是ROM也可以是RAM,并用同類訪問指令。此種存儲器結(jié)構(gòu)稱普林斯頓結(jié)構(gòu)。

8051的存儲器在物理結(jié)構(gòu)上分程序存儲器空間和數(shù)據(jù)存儲器空間。有四個存儲空間:片內(nèi)程序存儲器和片外程序存儲空間以及片內(nèi)數(shù)據(jù)存儲器和片外數(shù)據(jù)存儲器。這種程序存儲器和數(shù)據(jù)存儲器分開的結(jié)構(gòu)形式,稱為哈佛結(jié)構(gòu)。但從用戶使用的角度,8051存儲器地址空間分為三類:

1、片內(nèi),片外統(tǒng)一編址0000H—FFFFH的64K字節(jié)的程序存儲器地址空間,用16位地址;2、64K字節(jié)片外數(shù)據(jù)存儲器地址空間,地址也從0000H—FFFFH,用16位地址;3、256K字節(jié)數(shù)據(jù)存儲器地址空間,用8位地址。

上述三個存儲空間地址是重迭的,任何區(qū)別這三個不同的邏輯空間呢?8051的指令系統(tǒng)設(shè)計了不同的數(shù)據(jù)傳送指令符號:CPU訪問片內(nèi)片外ROM指令用MOVC,訪問片外指令用MOVX,訪問片內(nèi)RAM指令用MOV。

一 、程序存儲器地址空間8051程序存儲器用于存放編好的程序和表格常數(shù)。程序存儲器通過16位程序計數(shù)器PC尋址,尋址能力為64K字節(jié)。8051,8751的64程序存儲器片內(nèi)ROM為4K字節(jié),地址為0000H—0FFFH,片外最多可擴(kuò)至64K字節(jié)ROM,地址1000H—FFFFH,片內(nèi)外是統(tǒng)一編址的。

當(dāng)引腳EA接高電平時,8051程序計數(shù)器PC在0000H—0FFFH范圍內(nèi),即前4K字節(jié)地址執(zhí)行片內(nèi)ROM中的程序;當(dāng)指令地址超過0FFFH后,就自動地轉(zhuǎn)向片外ROM指令。

當(dāng)引腳EA接低電平時,8051片內(nèi)ROM不起作用,CPU只能從片外ROMZ中取指令,地址可以從000H開始編址。這種接法特別適用于采用8031單片機(jī)的場合,由于8031片內(nèi)不帶ROM,所以使用使必須使EA=0.以便能夠從外部擴(kuò)展EPROM中取指令。

8051從片內(nèi)程序存儲器和片外程序存儲器取 值時執(zhí)行速度相同。程序存儲器的某些單元是留給系統(tǒng)使用的。

存儲單元0000H-0002H用作8051上電復(fù)位后引導(dǎo)程序存放單元。因為8051上電復(fù)位后程序計數(shù)器PC的內(nèi)容為0000H,所以CPU總是從0000H開始執(zhí)行程序。如果在這三個單元中存有轉(zhuǎn)移指令,那么程序就被引導(dǎo)到轉(zhuǎn)移指令指定的ROM空間去執(zhí)行。

0003H—0023H單元均勻地分為五段,用作五個中斷服務(wù)程序的入口,因為這五個入口之間的間隔較小,因此,一般說來這五個入口處都是放的一條跳轉(zhuǎn)指令,而把真正的中斷服務(wù)程序視情況安排在后面的存儲器中。這五個入口分別是:

0003h:外部中斷0的入口地址,當(dāng)外部中斷引腳INT0,即P3.2有效時,引起中斷申請,CPU響應(yīng)中斷后自動將地址0003H裝入程序計數(shù)器PC,程序就被轉(zhuǎn)換到0003H去執(zhí)行外部中斷0的中斷服務(wù)程序。

000Bh:定時器0溢出中斷的入口地址,當(dāng)定時器T0產(chǎn)生溢出時,引起中斷申請,CPU響應(yīng)中斷后自動將地址000BH裝入程序計數(shù)器PC, 程序就被轉(zhuǎn)移到000BH去執(zhí)行定時器0的中斷服務(wù)程序。

0013h:外部中斷1的入口地址,當(dāng)外部中斷引腳INT1,即P3.3有效時,引起中斷申請,CPU響應(yīng)中斷后自動將地址0013H裝入程序計數(shù)器PC, 程序就被轉(zhuǎn)移到0013H去執(zhí)行外部中斷1的中斷服務(wù)程序。

001Bh:定時器1溢出中斷的入口地址,當(dāng)定時器T1產(chǎn)生溢出時,引起中斷申請,CPU響應(yīng)中斷后自動將地址001BH裝入程序計數(shù)器PC, 程序就被轉(zhuǎn)3移到0003H去執(zhí)行定時器1的中斷服務(wù)程序。

0023h:串行接口中斷的入口地址,當(dāng)串行接口接收或發(fā)送完一個數(shù)據(jù)后,引起中斷申請,CPU響應(yīng)中斷后自動將地址0023H裝入程序計數(shù)器PC,程序就被轉(zhuǎn)移到0023H去串行接口中斷服務(wù)程序。

二、數(shù)據(jù)存儲器地址空間。

數(shù)據(jù)存儲器RAM用于存放運(yùn)算中的中間結(jié)果,數(shù)據(jù)暫存,緩沖,標(biāo)志位等。數(shù)據(jù)存儲器空間也分為片內(nèi)和片外兩部分,即片內(nèi)RAM和片外RAM。

8051片外數(shù)據(jù)存儲器空間為64K,從0000H—FFFFH;片內(nèi)存儲器空間為256字節(jié),地址從0000H—00FFH。

(一)片外RAM片外數(shù)據(jù)存儲器與片內(nèi)數(shù)據(jù)存儲器空間低地址0000H—00FFH是重迭的,如何區(qū)分片內(nèi),片外RAM空間呢?8051有MOV和MOVX兩種指令,用于區(qū)分片內(nèi)片外RAM空間。片內(nèi)RAM使用MOV指令,片外64KRAM空間專門為MOVX指令使用。

(二)片內(nèi)RAM數(shù)據(jù)存儲器最大可尋址256個單元,它們又分為兩個部分:

低128字節(jié),00H—7KH,是真正的RAM區(qū)。高128字節(jié),80H—FFH,為特殊功能寄存器區(qū)。

低128字節(jié)RAM ,00H—1FH地址安排為四組寄存器區(qū),每組有八個工作寄存器,即R0-R7,,共占32個單元。通過對程序狀態(tài)字PSW中RS1,RS0兩位的設(shè)置,每組寄存器可選作CPU的當(dāng)前工作寄存器組。若程序中并不需要四組,那么其余可用作一般RAN單元。CPU復(fù)位后,選中第0組工作寄存器。

工作寄存器區(qū)后的16字節(jié)單元,即20H—2FH,可以位尋址方式訪問其各位,這128個位的地址為00H—7FH。低128字節(jié)RAM單元地址范圍也是00H—7FH,8051采用不同尋址方式加以區(qū)分,即訪問128個位地址用位尋址方式。訪問低128字節(jié)單元用直接尋址或間接尋址,這樣就可以區(qū)分開00H—7FH是位地址還是字節(jié)地址,尋址方式以后再講。通過執(zhí)行指令可直接對某一位操作,如置1,請0或判1,判0等,可用作軟件標(biāo)志位或用于位處理。

高128字節(jié)RAM,特殊功能寄存器,8051片內(nèi)高128字節(jié)RAM中,除程序計數(shù)器PC外,有21專用寄存器,也稱特殊功能寄存器,它們離散地分布在80H—FFH的RAM空間中。在21個特殊功能寄存器中,有11個特殊功能寄存器具有位尋址能力,它們的字節(jié)地址正好能被8整除,下面介紹部分特殊功能寄存器,其余將在后面講述:[!--empirenews.page--]

(1)累加器ACC累加器ACC是8051最常見,最繁忙的八位特殊功能寄存器,許多指令的操作數(shù)取自于ACC,許多運(yùn)算結(jié)果也存放于ACC中。在指令系統(tǒng)中采用A作為累加器ACC的助記符。

(2)寄存器B在乘、除指令中,用到了8位B寄存器。乘法指令的兩個操作數(shù)分別來自A和B,乘積存放于B,A兩個8位寄存器中。除法指令中,A中存放被除數(shù),B中放除數(shù),商存放于A中,B中存放余數(shù)。在其他指令中,B可作為一般通用寄存器或一個RAM單元使用。

(3)程序狀態(tài)寄存器PSWPSW是一個8位特殊功能寄存器,它的各位包含了程序執(zhí)行后的狀態(tài)信息,供程序查詢或判別之用。各位的含義及其格式如下:

PSW除有確定的字節(jié)地址DOH外,每一位均有位地址。

PY,PSW.7,進(jìn)位標(biāo)志位。在執(zhí)行加法或減法運(yùn)算指令時,如果運(yùn)算結(jié)果最高位即位7,向前有進(jìn)位或借位,CY位由硬件置1,如運(yùn)算結(jié)果最高位無進(jìn)位或借位,則CY清0。CY也是8051在進(jìn)行位操作時的累加器。

AC,PSW.6半標(biāo)記位,也稱輔助進(jìn)位標(biāo)志。當(dāng)執(zhí)行加法或減法操作時,其運(yùn)算結(jié)果產(chǎn)生由低半字節(jié),即位3向高半字節(jié)有半進(jìn)位或借位時AC位將被硬件自動置1,否則AC被自動清0。

PSW.5,用戶標(biāo)志位。用戶可以根據(jù)自己的需要對FO位賦予一定含義,由用戶置位,復(fù)位,系統(tǒng)沒有規(guī)定它的意義。

RSO,和RS1,PSW.4,和PSW.5,工作寄存器組選擇控制位。這兩位的值決定選擇哪一組工作寄存器為當(dāng)前工作寄存器組。由用戶用軟件改變RS1和RS0值的組合,以切換當(dāng)前選用的工作寄存器組。

當(dāng)RS1=0,RS0=0時,工作寄存器組定位在00到07單元,即此時R0就是00,R1就是01,R2就是02,R3就是03,R4就是04,R5就是05,R6就是06,R7就是07。

當(dāng)RS1=0,RS0=1時,工作寄存器組定位在08到0F單元;當(dāng)RS1=1,RS0=0時,工作寄存器組定位在10到17單元;當(dāng)RS1=1,RS0=1時,工作寄存器組定位在18到1F單元;8051上電復(fù)位后, RS1=0,RS0=0,工作寄存器組定位在00到07單元;根據(jù)需要,可利用傳送指令對PSW整字節(jié)操作或用位操作指令改變RS1和RS0的狀態(tài),以切換當(dāng)前工作寄存器組。這樣的設(shè)置對程序中保護(hù)現(xiàn)場提供了方便。

OV,PSW.2,溢出標(biāo)志位。當(dāng)進(jìn)行補(bǔ)碼運(yùn)算時,如有溢出,即當(dāng)運(yùn)算結(jié)果超出-128到+127的范圍時,OV位由硬件自動置1;無溢出時,OV=0。

PSW.1,為保留位,8051未用,8052為F1用戶標(biāo)志位。P, PSW.0,奇偶檢驗標(biāo)志位。每條指令執(zhí)行后,該位始終跟蹤指示累加器A中1的個數(shù)。如結(jié)果A中有奇數(shù)個1,則置P=1,否則P=0.常用于校驗串行通訊中的數(shù)據(jù)傳送是否出錯。

(4)堆棧指針SP堆棧指針SP為8位特殊功能寄存器,SP的內(nèi)容即堆棧指針可指向8051片內(nèi)00H—7FH RAM的任何單元。系統(tǒng)復(fù)位后,SP初始化為07H,即指向07H的RAM單元。下面介紹一下堆棧的概念。

8051同一般微機(jī)處理器一樣,設(shè)有堆棧。在片內(nèi)RAM中專門開辟出一個區(qū)域,數(shù)據(jù)的存取是以“后進(jìn)先出”的結(jié)構(gòu)方式處理的。這種數(shù)

051同一般微機(jī)處理器一樣,設(shè)有堆棧。在片內(nèi)RAM中專門開辟出一個區(qū)域,數(shù)據(jù)的存取是以“后進(jìn)先出”的結(jié)構(gòu)方式處理的。這種數(shù)據(jù)結(jié)構(gòu)方式對于中斷,調(diào)用子程序都非常方便。堆棧的操作有兩種:

一種叫數(shù)據(jù)壓入,即PUSH;另一種叫數(shù)據(jù)彈出,即POP。棧頂由堆棧指針SP自動管理。每次進(jìn)行壓入或彈出操作以后,堆棧指針便自動調(diào)整以保持指示堆棧頂部的位置。在使用堆棧之前,先給SP賦值,以規(guī)定堆棧的起始位置,稱為棧底。

當(dāng)數(shù)據(jù)壓入堆棧后SP自動加1以指出當(dāng)前棧頂位置。8051的堆棧指針SP是一個雙向計數(shù)器。在壓棧時SP內(nèi)容自動增值,出棧時自動減值,存取信號必須按照“后進(jìn)先出”的原則。

(5)數(shù)據(jù)指針DPTRDPTR是一個16位的特殊功能寄存器,其高位字節(jié)寄存器用DPH表示,地址83H,低位字節(jié)寄存器用DPL表示,地址82H。DPTR既可以作為一個16位寄存器來處理,也可以作為一個16寄存器來處理,也可以作為兩個獨立的8位寄存器DPH和DPL使用。

(6)IO端口P0,P1,P2,P3PO,P1,P2,P3.為四個8位特殊功能寄存器,分別是四個并行IO端口的鎖存器。它們都是有字節(jié)地址,每一個鎖存器還有位地址,所以每一個IO線獨立地作輸入或輸出時,數(shù)據(jù)可以鎖存,作輸出時數(shù)據(jù)可以緩沖。8051的中斷源包括:定時計數(shù)器0,定時計數(shù)器1,外中斷0,外中斷1,串口中斷,除上述資源外8051還有40條引腳(關(guān)于這40條引腳,請查看相關(guān)資料)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉