版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1第2章AT89S51單片機(jī)
硬件結(jié)構(gòu)
2.3AT89S51的CPUCPU由運算器和控制器構(gòu)成。2.3.1運算器對操作數(shù)進(jìn)行算術(shù)、邏輯和位操作運算。主要包括算術(shù)邏輯運算單元ALU、累加器A、位處理器、程序狀態(tài)字寄存器PSW及兩個暫存器等。1.算術(shù)邏輯運算單元ALU可對8位變量邏輯運算(與、或、異或、循環(huán)、求補(bǔ)和清零),還可算術(shù)運算(加、減、乘、除)2ALU還有位操作功能,對位變量進(jìn)行位處理,如置“1”、清“0”、求補(bǔ)、測試轉(zhuǎn)移及邏輯“與”、“或”等。2.累加器A使用最頻繁的寄存器,可寫為Acc?!癆”與“Acc”書寫上的差別,將在第3章介紹。作用如下:(1)ALU單元的輸入數(shù)據(jù)源之一,又是ALU運算結(jié)果存放單元。(2)數(shù)據(jù)傳送大多都通過累加器A,相當(dāng)于數(shù)據(jù)的中轉(zhuǎn)站。為解決“瓶頸堵塞”問題,AT89S51增加了一部分可以不經(jīng)過累加器的傳送指令。3A的進(jìn)位標(biāo)志Cy是特殊的,因為它同時又是位處理機(jī)的位累加器3.程序狀態(tài)字寄存器PSWPSW(ProgramStatusWord)位于片內(nèi)特殊功能寄存器區(qū),字節(jié)地址為D0H。包含了程序運行狀態(tài)的信息,其中4位保存當(dāng)前指令執(zhí)行后的狀態(tài),供程序查詢和判斷。格式如圖2-3所示。
圖2-3PSW的格式4PSW中各個位的功能:(1)Cy(PSW.7)進(jìn)位標(biāo)志位
可寫為C。在算術(shù)和邏輯運算時,若有進(jìn)位/借位,Cy=1;否則,Cy=0。在位處理器中,它是位累加器。(2)Ac(PSW.6)輔助進(jìn)位標(biāo)志位
在BCD碼運算時,用作十進(jìn)位調(diào)整。即當(dāng)D3位向D4位產(chǎn)生進(jìn)位或借位時,Ac=1;否則,Ac=0。(3)F0(PSW.5)用戶設(shè)定標(biāo)志位
由用戶使用的一個狀態(tài)標(biāo)志位,可用指令來使它置1或清0,控制程序的流向。用戶應(yīng)充分利用。5(4)RS1、RS0(PSW.4、PSW.3)4組工作寄存器區(qū)選擇選擇片內(nèi)RAM區(qū)中的4組工作寄存器區(qū)中的某一組為當(dāng)前工作寄存區(qū)見表2-2。(5)OV(PSW.2)溢出標(biāo)志位當(dāng)執(zhí)行算術(shù)指令時,用來指示運算結(jié)果是否產(chǎn)生溢出。如果結(jié)果產(chǎn)生溢出,OV=1;否則,OV=0。(6)PSW.1位
保留位(7)P(PSW.0)奇偶標(biāo)志位指令執(zhí)行完,累加器A中“1”的個數(shù)是奇數(shù)還是偶數(shù)。6P=1,表示A中“1”的個數(shù)為奇數(shù)。
P=0,表示A中“1”的個數(shù)為偶數(shù)。
此標(biāo)志位對串行通信有重要的意義,常用奇偶檢驗的方法來檢驗數(shù)據(jù)串行傳輸?shù)目煽啃浴?/p>
782.3.2控制器
任務(wù)識別指令,并根據(jù)指令的性質(zhì)控制單片機(jī)各功能部件,從而保證單片機(jī)各部分能自動協(xié)調(diào)地工作。
控制器包括:程序計數(shù)器、指令寄存器、指令譯碼器、定時及控制邏輯電路等。功能是控制指令的讀入、譯碼和執(zhí)行,從而對各功能部件進(jìn)行定時和邏輯控制。
程序計數(shù)器PC是一個獨立的16位計數(shù)器,不可訪問。單片機(jī)復(fù)位時,PC中內(nèi)容為0000H,從程序存儲器0000H單元取指令,開始執(zhí)行程序。PC工作過程是:CPU讀指令時,PC的內(nèi)容作為所取指令的地址,程序存儲器按此地址輸出指令字節(jié),同時PC自動加1。PC中內(nèi)容變化軌跡決定程序流程。當(dāng)順序執(zhí)行程序時自動加1;執(zhí)行轉(zhuǎn)移程序或子程序、中斷子程序調(diào)用時,自動將其內(nèi)容更改成所要轉(zhuǎn)移的目的地址。PC的計數(shù)寬度決定了程序存儲器的地址范圍。PC為16位,故可對64KB(=216B)尋址。2.4AT89S51存儲器的結(jié)構(gòu)存儲器的結(jié)構(gòu)特點之一是將程序存儲器和數(shù)據(jù)存儲器分開(哈佛結(jié)構(gòu)),并有各自的訪問指令。存儲器空間可分為4類。91.程序存儲器空間片內(nèi)和片外兩部分。片內(nèi)4KB
Flash
,編程和擦除完全是電氣實現(xiàn)。可用通用編程器對其編程,也可在線編程。當(dāng)片內(nèi)4KBFlash存儲器不夠用時,可片外擴(kuò)展,最多可擴(kuò)展至64KB程序存儲器。2.數(shù)據(jù)存儲器空間片內(nèi)與片外兩部分。片內(nèi)有128BRAM(52子系列為256B)。片內(nèi)RAM不夠用時,在片外可擴(kuò)展至64KBRAM
。103.特殊功能寄存器SFR(SpecialFunctionRegister)片內(nèi)各功能部件的控制寄存器及狀態(tài)寄存器。SFR綜合反映了整個單片機(jī)基本系統(tǒng)內(nèi)部實際的工作狀態(tài)及工作方式。4.位地址空間共有211個可尋址位,構(gòu)成了位地址空間。它們位于內(nèi)部RAM(共128位)和特殊功能寄存器區(qū)(共83位)中。2.4.1程序存儲器空間存放程序和表格之類的固定常數(shù)。片內(nèi)為4KB的
Flash,地址為0000H~0FFFH。16位地址線,可外擴(kuò)的程序存儲器空間最大為64KB,地址為0000H~FFFFH。使用時應(yīng)注意以下問題:11(1)分為片內(nèi)和片外兩部分,訪問片內(nèi)的還是片外的程序存儲器,由
引腳電平確定。
=1時,CPU從片內(nèi)0000H開始取指令,當(dāng)PC值沒有超出0FFFH時,只訪問片內(nèi)Flash存儲器,當(dāng)PC值超出0FFFH自動轉(zhuǎn)向讀片外程序存儲器空間1000H~FFFFH內(nèi)的程序。=0時,只能執(zhí)行片外程序存儲器(0000H~FFFFH)中的程序。不理會片內(nèi)4KBFlash存儲器。(2)程序存儲器某些固定單元用于各中斷源中斷服務(wù)程序入口。121364KB程序存儲器空間中有5個特殊單元分別對應(yīng)于5個中斷源的中斷入口地址,見表2-3。通常這5個中斷入口地址處都放一條跳轉(zhuǎn)指令跳向?qū)?yīng)的中斷服務(wù)子程序,而不是直接存放中斷服務(wù)子程序。2.4.2數(shù)據(jù)存儲器空間可分片內(nèi)與片外兩部分。1.片內(nèi)數(shù)據(jù)存儲器
片內(nèi)數(shù)據(jù)存儲器(RAM)共128個單元,字節(jié)地址為00H~7FH。圖2-4為片內(nèi)數(shù)據(jù)存儲器的結(jié)構(gòu)。14圖2-4AT89S51片內(nèi)RAM結(jié)構(gòu)00H~1FH
的32個單元是4組通用工作寄存器區(qū),每區(qū)包含8B,為R7~R0??赏ㄟ^指令改變RS1、RS0兩位來選擇。20H~2FH的16個單元的128位可位尋址,也可字節(jié)尋址。30H~7FH的單元只能字節(jié)尋址,用作存數(shù)據(jù)以及作為堆棧區(qū)。2.片外數(shù)據(jù)存儲器當(dāng)片內(nèi)128B的RAM不夠用時,需外擴(kuò),最多可外擴(kuò)64KB的RAM。注意,片內(nèi)RAM與片外RAM兩個空間是相互獨立的,片內(nèi)RAM與片外RAM的低128B的地址是相同的,但由于使用的是不同的訪問指令,所以不會發(fā)生沖突。152.4.3特殊功能寄存器(SFR)采用特殊功能寄存器集中控制各功能部件。特殊功能寄存器映射在片內(nèi)RAM的
80H~FFH區(qū)域中,共26個。表2-4SFR的名稱及其分布。有些還可位尋址,位地址見表2-4。與AT89C51相比,新增5個SFR:DP1L、DP1H、AUXR、AUXR1和WDTRST,已在表2-4中標(biāo)出。凡是可位尋址的SFR,字節(jié)地址末位只能是0H或8H。另外,若讀/寫未定義單元,將得到一個不確定的隨機(jī)數(shù)。下面介紹某些SFR,余下的SFR將在后面介紹。1617181.堆棧指針SP指示堆棧頂部在內(nèi)部RAM塊中的位置。堆棧結(jié)構(gòu)—向上生長型。單片機(jī)復(fù)位后,SP為07H,使得堆棧實際上從08H單元開始,由于08H~1FH單元分別是屬于1~3組的工作寄存器區(qū),最好在復(fù)位后把SP值改置為60H或更大的值,避免堆棧與工作寄存器沖突。堆棧是為子程序調(diào)用和中斷操作而設(shè),主要用來保護(hù)斷點和現(xiàn)場。(1)保護(hù)斷點。無論是子程序調(diào)用操作還是中斷服務(wù)子程序調(diào)用,最終都要返回主程序。應(yīng)預(yù)先把主程序的斷點在堆棧中保護(hù)起來,為程序正確返回做準(zhǔn)備。19(2)現(xiàn)場保護(hù)。執(zhí)行子程序或中斷服務(wù)子程序時,要用到一些寄存器單元,會破壞原有內(nèi)容。要把有關(guān)寄存器單元的內(nèi)容保存起來,送入堆棧,這就是所謂的“現(xiàn)場保護(hù)”。兩種操作:數(shù)據(jù)壓入(PUSH)堆棧,數(shù)據(jù)彈出(POP)堆棧。數(shù)據(jù)壓入堆棧,SP自動加1;數(shù)據(jù)彈出堆棧,SP自動減1。2.寄存器B為執(zhí)行乘法和除法而設(shè)。在不執(zhí)行乘、除法操作的情況下,可把它當(dāng)作一個普通寄存器來使用。2021乘法,兩乘數(shù)分別在A、B中,執(zhí)行乘法指令后,乘積在BA中除法,被除數(shù)取自A,除數(shù)取自B,商存放在A中,余數(shù)存B中。3.AUXR寄存器AUXR是輔助寄存器,其格式如圖2-5所示:圖2-5
AUXR寄存器的格式22其中:DISALE:ALE的禁止/允許位。0:ALE有效,發(fā)出脈沖;1:ALE僅在執(zhí)行MOVC和MOVX類指令時有效,不訪問外部存儲器時,ALE不輸出脈沖信號。DISRTO:禁止/允許WDT溢出時的復(fù)位輸出。0:WDT溢出時,在RST引腳輸出一個高電平脈沖;1:RST引腳僅為輸入腳。WDIDLE:WDT在空閑模式下的禁止/允許位。0:
WDT在空閑模式下繼續(xù)計數(shù);1:
WDT在空閑模式下暫停計數(shù)。234.數(shù)據(jù)指針DPTR0和DPTR1雙數(shù)據(jù)指針寄存器,便于訪問數(shù)據(jù)存儲器。DPTR0:AT89C51單片機(jī)原有的數(shù)據(jù)指針;DPTR1:新增加的數(shù)據(jù)指針。AUXR1的DPS位用于選擇兩個數(shù)據(jù)指針。當(dāng)DPS=0時,選用DPTR0;當(dāng)DPS=1時,選用DPTR1。數(shù)據(jù)指針可作為一個16位寄存器來用,也可作為兩個獨立的8位寄存器DP0H(或DP1H)和DP0L(或DP1L)來用。245.AUXR1寄存器AUXR1是輔助寄存器,格式如圖2-6所示:DPS:數(shù)據(jù)指針寄存器選擇位。0:選擇數(shù)據(jù)指針寄存器DPTR0;1:選擇數(shù)據(jù)指針寄存器DPTR1。圖2-6
AUXR1寄存器的格式6.看門狗定時器WDTWDT包含一個14位計數(shù)器和看門狗定時器復(fù)位寄存器——WDTRST)。當(dāng)CPU由于干擾,程序陷入死循環(huán)或跑飛狀態(tài)時,WDT提供了一種使程序恢復(fù)正常運行的有效手段。有關(guān)WDT在抗干擾設(shè)計中的應(yīng)用以及低功耗模式下運行的狀態(tài),將在相應(yīng)的章節(jié)中具體介紹。上面介紹的特殊功能寄存器,除了前兩個SP和B以外,其余的均為AT89S51在AT89C51基礎(chǔ)上新增加的SFR。252.4.4位地址空間211個尋址位的位地址,位地址范圍為00H~FFH,其中00H~7FH
這128位處于片內(nèi)RAM字節(jié)地址20H~2FH
單元中,如表2-5所示。其余的83個可尋址位分布在特殊功能寄存器SFR中,見表2-6??杀晃粚ぶ返奶厥饧拇嫫饔?1個,共有位地址88個,5個位未用,其余83個位的位地址離散地分布于片內(nèi)數(shù)據(jù)存儲器區(qū)字節(jié)地址為80H~FFH的范圍內(nèi),其最低的位地址等于其字節(jié)地址,且其字節(jié)地址的末位都為0H或8H。2627片內(nèi)字節(jié)地址為2AH單元最低位的位地址是
;答:50H2AH-20H=0AH位地址A*8=80=50H
內(nèi)部RAM中,位地址為40H的位,該位所在的字節(jié)地址為
。答:28Hx(B_addr)=y(b_adrr)/8+20Hx=64/8+20H
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年甲乙雙方關(guān)于環(huán)保設(shè)備用塑料管材供應(yīng)合同
- 稅務(wù)代理服務(wù)合同范例
- 安全帽購買合同范例
- 陜西中醫(yī)藥大學(xué)《大氣污染控制工程課程設(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024至2030年草蝦項目投資價值分析報告
- 2024至2030年精小型氣動球閥項目投資價值分析報告
- 2024至2030年有機(jī)玻璃名片盒項目投資價值分析報告
- 2024至2030年加厚加深調(diào)料缸項目投資價值分析報告
- 2024至2030年光亮棒項目投資價值分析報告
- 2024至2030年乙酸鎂項目投資價值分析報告
- GB/T 13247-1991鐵合金產(chǎn)品粒度的取樣和檢測方法
- 《網(wǎng)絡(luò)傳播概論》考試復(fù)習(xí)題庫(附答案)
- 熱力環(huán)流(公開課)課件
- 高壓電氣設(shè)備的工頻耐壓試驗電壓重點標(biāo)準(zhǔn)
- 蘇教版小學(xué)四年級上冊數(shù)學(xué)期末知識點綜合復(fù)習(xí)假期練習(xí)題單
- 《國家憲法日》班會教學(xué)課件
- TOC-DBR培訓(xùn)課程完整版ppt課件
- 承插型盤扣式盤扣高支模施工方案(專家論證通過)
- 機(jī)械設(shè)計課程設(shè)計---榫槽成形半自動切削機(jī)
- 自動化立體庫貨架驗收報告
- 數(shù)學(xué)模型實驗報告5
評論
0/150
提交評論