




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1第2章AT89S51單片機(jī)
硬件結(jié)構(gòu)
2.3AT89S51的CPUCPU由運(yùn)算器和控制器構(gòu)成。2.3.1運(yùn)算器對(duì)操作數(shù)進(jìn)行算術(shù)、邏輯和位操作運(yùn)算。主要包括算術(shù)邏輯運(yùn)算單元ALU、累加器A、位處理器、程序狀態(tài)字寄存器PSW及兩個(gè)暫存器等。1.算術(shù)邏輯運(yùn)算單元ALU可對(duì)8位變量邏輯運(yùn)算(與、或、異或、循環(huán)、求補(bǔ)和清零),還可算術(shù)運(yùn)算(加、減、乘、除)2ALU還有位操作功能,對(duì)位變量進(jìn)行位處理,如置“1”、清“0”、求補(bǔ)、測(cè)試轉(zhuǎn)移及邏輯“與”、“或”等。2.累加器A使用最頻繁的寄存器,可寫(xiě)為Acc?!癆”與“Acc”書(shū)寫(xiě)上的差別,將在第3章介紹。作用如下:(1)ALU單元的輸入數(shù)據(jù)源之一,又是ALU運(yùn)算結(jié)果存放單元。(2)數(shù)據(jù)傳送大多都通過(guò)累加器A,相當(dāng)于數(shù)據(jù)的中轉(zhuǎn)站。為解決“瓶頸堵塞”問(wèn)題,AT89S51增加了一部分可以不經(jīng)過(guò)累加器的傳送指令。3A的進(jìn)位標(biāo)志Cy是特殊的,因?yàn)樗瑫r(shí)又是位處理機(jī)的位累加器3.程序狀態(tài)字寄存器PSWPSW(ProgramStatusWord)位于片內(nèi)特殊功能寄存器區(qū),字節(jié)地址為D0H。包含了程序運(yùn)行狀態(tài)的信息,其中4位保存當(dāng)前指令執(zhí)行后的狀態(tài),供程序查詢(xún)和判斷。格式如圖2-3所示。
圖2-3PSW的格式4PSW中各個(gè)位的功能:(1)Cy(PSW.7)進(jìn)位標(biāo)志位
可寫(xiě)為C。在算術(shù)和邏輯運(yùn)算時(shí),若有進(jìn)位/借位,Cy=1;否則,Cy=0。在位處理器中,它是位累加器。(2)Ac(PSW.6)輔助進(jìn)位標(biāo)志位
在BCD碼運(yùn)算時(shí),用作十進(jìn)位調(diào)整。即當(dāng)D3位向D4位產(chǎn)生進(jìn)位或借位時(shí),Ac=1;否則,Ac=0。(3)F0(PSW.5)用戶(hù)設(shè)定標(biāo)志位
由用戶(hù)使用的一個(gè)狀態(tài)標(biāo)志位,可用指令來(lái)使它置1或清0,控制程序的流向。用戶(hù)應(yīng)充分利用。5(4)RS1、RS0(PSW.4、PSW.3)4組工作寄存器區(qū)選擇選擇片內(nèi)RAM區(qū)中的4組工作寄存器區(qū)中的某一組為當(dāng)前工作寄存區(qū)見(jiàn)表2-2。(5)OV(PSW.2)溢出標(biāo)志位當(dāng)執(zhí)行算術(shù)指令時(shí),用來(lái)指示運(yùn)算結(jié)果是否產(chǎn)生溢出。如果結(jié)果產(chǎn)生溢出,OV=1;否則,OV=0。(6)PSW.1位
保留位(7)P(PSW.0)奇偶標(biāo)志位指令執(zhí)行完,累加器A中“1”的個(gè)數(shù)是奇數(shù)還是偶數(shù)。6P=1,表示A中“1”的個(gè)數(shù)為奇數(shù)。
P=0,表示A中“1”的個(gè)數(shù)為偶數(shù)。
此標(biāo)志位對(duì)串行通信有重要的意義,常用奇偶檢驗(yàn)的方法來(lái)檢驗(yàn)數(shù)據(jù)串行傳輸?shù)目煽啃浴?/p>
782.3.2控制器
任務(wù)識(shí)別指令,并根據(jù)指令的性質(zhì)控制單片機(jī)各功能部件,從而保證單片機(jī)各部分能自動(dòng)協(xié)調(diào)地工作。
控制器包括:程序計(jì)數(shù)器、指令寄存器、指令譯碼器、定時(shí)及控制邏輯電路等。功能是控制指令的讀入、譯碼和執(zhí)行,從而對(duì)各功能部件進(jìn)行定時(shí)和邏輯控制。
程序計(jì)數(shù)器PC是一個(gè)獨(dú)立的16位計(jì)數(shù)器,不可訪(fǎng)問(wèn)。單片機(jī)復(fù)位時(shí),PC中內(nèi)容為0000H,從程序存儲(chǔ)器0000H單元取指令,開(kāi)始執(zhí)行程序。PC工作過(guò)程是:CPU讀指令時(shí),PC的內(nèi)容作為所取指令的地址,程序存儲(chǔ)器按此地址輸出指令字節(jié),同時(shí)PC自動(dòng)加1。PC中內(nèi)容變化軌跡決定程序流程。當(dāng)順序執(zhí)行程序時(shí)自動(dòng)加1;執(zhí)行轉(zhuǎn)移程序或子程序、中斷子程序調(diào)用時(shí),自動(dòng)將其內(nèi)容更改成所要轉(zhuǎn)移的目的地址。PC的計(jì)數(shù)寬度決定了程序存儲(chǔ)器的地址范圍。PC為16位,故可對(duì)64KB(=216B)尋址。2.4AT89S51存儲(chǔ)器的結(jié)構(gòu)存儲(chǔ)器的結(jié)構(gòu)特點(diǎn)之一是將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)(哈佛結(jié)構(gòu)),并有各自的訪(fǎng)問(wèn)指令。存儲(chǔ)器空間可分為4類(lèi)。91.程序存儲(chǔ)器空間片內(nèi)和片外兩部分。片內(nèi)4KB
Flash
,編程和擦除完全是電氣實(shí)現(xiàn)??捎猛ㄓ镁幊唐鲗?duì)其編程,也可在線(xiàn)編程。當(dāng)片內(nèi)4KBFlash存儲(chǔ)器不夠用時(shí),可片外擴(kuò)展,最多可擴(kuò)展至64KB程序存儲(chǔ)器。2.數(shù)據(jù)存儲(chǔ)器空間片內(nèi)與片外兩部分。片內(nèi)有128BRAM(52子系列為256B)。片內(nèi)RAM不夠用時(shí),在片外可擴(kuò)展至64KBRAM
。103.特殊功能寄存器SFR(SpecialFunctionRegister)片內(nèi)各功能部件的控制寄存器及狀態(tài)寄存器。SFR綜合反映了整個(gè)單片機(jī)基本系統(tǒng)內(nèi)部實(shí)際的工作狀態(tài)及工作方式。4.位地址空間共有211個(gè)可尋址位,構(gòu)成了位地址空間。它們位于內(nèi)部RAM(共128位)和特殊功能寄存器區(qū)(共83位)中。2.4.1程序存儲(chǔ)器空間存放程序和表格之類(lèi)的固定常數(shù)。片內(nèi)為4KB的
Flash,地址為0000H~0FFFH。16位地址線(xiàn),可外擴(kuò)的程序存儲(chǔ)器空間最大為64KB,地址為0000H~FFFFH。使用時(shí)應(yīng)注意以下問(wèn)題:11(1)分為片內(nèi)和片外兩部分,訪(fǎng)問(wèn)片內(nèi)的還是片外的程序存儲(chǔ)器,由
引腳電平確定。
=1時(shí),CPU從片內(nèi)0000H開(kāi)始取指令,當(dāng)PC值沒(méi)有超出0FFFH時(shí),只訪(fǎng)問(wèn)片內(nèi)Flash存儲(chǔ)器,當(dāng)PC值超出0FFFH自動(dòng)轉(zhuǎn)向讀片外程序存儲(chǔ)器空間1000H~FFFFH內(nèi)的程序。=0時(shí),只能執(zhí)行片外程序存儲(chǔ)器(0000H~FFFFH)中的程序。不理會(huì)片內(nèi)4KBFlash存儲(chǔ)器。(2)程序存儲(chǔ)器某些固定單元用于各中斷源中斷服務(wù)程序入口。121364KB程序存儲(chǔ)器空間中有5個(gè)特殊單元分別對(duì)應(yīng)于5個(gè)中斷源的中斷入口地址,見(jiàn)表2-3。通常這5個(gè)中斷入口地址處都放一條跳轉(zhuǎn)指令跳向?qū)?yīng)的中斷服務(wù)子程序,而不是直接存放中斷服務(wù)子程序。2.4.2數(shù)據(jù)存儲(chǔ)器空間可分片內(nèi)與片外兩部分。1.片內(nèi)數(shù)據(jù)存儲(chǔ)器
片內(nèi)數(shù)據(jù)存儲(chǔ)器(RAM)共128個(gè)單元,字節(jié)地址為00H~7FH。圖2-4為片內(nèi)數(shù)據(jù)存儲(chǔ)器的結(jié)構(gòu)。14圖2-4AT89S51片內(nèi)RAM結(jié)構(gòu)00H~1FH
的32個(gè)單元是4組通用工作寄存器區(qū),每區(qū)包含8B,為R7~R0??赏ㄟ^(guò)指令改變RS1、RS0兩位來(lái)選擇。20H~2FH的16個(gè)單元的128位可位尋址,也可字節(jié)尋址。30H~7FH的單元只能字節(jié)尋址,用作存數(shù)據(jù)以及作為堆棧區(qū)。2.片外數(shù)據(jù)存儲(chǔ)器當(dāng)片內(nèi)128B的RAM不夠用時(shí),需外擴(kuò),最多可外擴(kuò)64KB的RAM。注意,片內(nèi)RAM與片外RAM兩個(gè)空間是相互獨(dú)立的,片內(nèi)RAM與片外RAM的低128B的地址是相同的,但由于使用的是不同的訪(fǎng)問(wèn)指令,所以不會(huì)發(fā)生沖突。152.4.3特殊功能寄存器(SFR)采用特殊功能寄存器集中控制各功能部件。特殊功能寄存器映射在片內(nèi)RAM的
80H~FFH區(qū)域中,共26個(gè)。表2-4SFR的名稱(chēng)及其分布。有些還可位尋址,位地址見(jiàn)表2-4。與AT89C51相比,新增5個(gè)SFR:DP1L、DP1H、AUXR、AUXR1和WDTRST,已在表2-4中標(biāo)出。凡是可位尋址的SFR,字節(jié)地址末位只能是0H或8H。另外,若讀/寫(xiě)未定義單元,將得到一個(gè)不確定的隨機(jī)數(shù)。下面介紹某些SFR,余下的SFR將在后面介紹。1617181.堆棧指針SP指示堆棧頂部在內(nèi)部RAM塊中的位置。堆棧結(jié)構(gòu)—向上生長(zhǎng)型。單片機(jī)復(fù)位后,SP為07H,使得堆棧實(shí)際上從08H單元開(kāi)始,由于08H~1FH單元分別是屬于1~3組的工作寄存器區(qū),最好在復(fù)位后把SP值改置為60H或更大的值,避免堆棧與工作寄存器沖突。堆棧是為子程序調(diào)用和中斷操作而設(shè),主要用來(lái)保護(hù)斷點(diǎn)和現(xiàn)場(chǎng)。(1)保護(hù)斷點(diǎn)。無(wú)論是子程序調(diào)用操作還是中斷服務(wù)子程序調(diào)用,最終都要返回主程序。應(yīng)預(yù)先把主程序的斷點(diǎn)在堆棧中保護(hù)起來(lái),為程序正確返回做準(zhǔn)備。19(2)現(xiàn)場(chǎng)保護(hù)。執(zhí)行子程序或中斷服務(wù)子程序時(shí),要用到一些寄存器單元,會(huì)破壞原有內(nèi)容。要把有關(guān)寄存器單元的內(nèi)容保存起來(lái),送入堆棧,這就是所謂的“現(xiàn)場(chǎng)保護(hù)”。兩種操作:數(shù)據(jù)壓入(PUSH)堆棧,數(shù)據(jù)彈出(POP)堆棧。數(shù)據(jù)壓入堆棧,SP自動(dòng)加1;數(shù)據(jù)彈出堆棧,SP自動(dòng)減1。2.寄存器B為執(zhí)行乘法和除法而設(shè)。在不執(zhí)行乘、除法操作的情況下,可把它當(dāng)作一個(gè)普通寄存器來(lái)使用。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類(lèi)指令時(shí)有效,不訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),ALE不輸出脈沖信號(hào)。DISRTO:禁止/允許WDT溢出時(shí)的復(fù)位輸出。0:WDT溢出時(shí),在RST引腳輸出一個(gè)高電平脈沖;1:RST引腳僅為輸入腳。WDIDLE:WDT在空閑模式下的禁止/允許位。0:
WDT在空閑模式下繼續(xù)計(jì)數(shù);1:
WDT在空閑模式下暫停計(jì)數(shù)。234.數(shù)據(jù)指針DPTR0和DPTR1雙數(shù)據(jù)指針寄存器,便于訪(fǎng)問(wèn)數(shù)據(jù)存儲(chǔ)器。DPTR0:AT89C51單片機(jī)原有的數(shù)據(jù)指針;DPTR1:新增加的數(shù)據(jù)指針。AUXR1的DPS位用于選擇兩個(gè)數(shù)據(jù)指針。當(dāng)DPS=0時(shí),選用DPTR0;當(dāng)DPS=1時(shí),選用DPTR1。數(shù)據(jù)指針可作為一個(gè)16位寄存器來(lái)用,也可作為兩個(gè)獨(dú)立的8位寄存器DP0H(或DP1H)和DP0L(或DP1L)來(lái)用。245.AUXR1寄存器AUXR1是輔助寄存器,格式如圖2-6所示:DPS:數(shù)據(jù)指針寄存器選擇位。0:選擇數(shù)據(jù)指針寄存器DPTR0;1:選擇數(shù)據(jù)指針寄存器DPTR1。圖2-6
AUXR1寄存器的格式6.看門(mén)狗定時(shí)器WDTWDT包含一個(gè)14位計(jì)數(shù)器和看門(mén)狗定時(shí)器復(fù)位寄存器——WDTRST)。當(dāng)CPU由于干擾,程序陷入死循環(huán)或跑飛狀態(tài)時(shí),WDT提供了一種使程序恢復(fù)正常運(yùn)行的有效手段。有關(guān)WDT在抗干擾設(shè)計(jì)中的應(yīng)用以及低功耗模式下運(yùn)行的狀態(tài),將在相應(yīng)的章節(jié)中具體介紹。上面介紹的特殊功能寄存器,除了前兩個(gè)SP和B以外,其余的均為AT89S51在AT89C51基礎(chǔ)上新增加的SFR。252.4.4位地址空間211個(gè)尋址位的位地址,位地址范圍為00H~FFH,其中00H~7FH
這128位處于片內(nèi)RAM字節(jié)地址20H~2FH
單元中,如表2-5所示。其余的83個(gè)可尋址位分布在特殊功能寄存器SFR中,見(jiàn)表2-6。可被位尋址的特殊寄存器有11個(gè),共有位地址88個(gè),5個(gè)位未用,其余83個(gè)位的位地址離散地分布于片內(nèi)數(shù)據(jù)存儲(chǔ)器區(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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 項(xiàng)目進(jìn)度會(huì)議紀(jì)要與行動(dòng)指南
- 三農(nóng)村創(chuàng)業(yè)指南養(yǎng)鴨子業(yè)務(wù)流程
- 2025年巴彥淖爾如何考貨運(yùn)從業(yè)資格證
- 2025年湘西運(yùn)輸從業(yè)資格證考試技巧
- 機(jī)械工程故障診斷與維護(hù)技巧題
- 跨部門(mén)往來(lái)文書(shū)撰寫(xiě)規(guī)范與技巧
- 企業(yè)形象設(shè)計(jì)與品牌宣傳方案
- 物流公司車(chē)輛管理手冊(cè)
- 2025年防城港貨運(yùn)資格證考試題庫(kù)
- 2025年沈陽(yáng)貨運(yùn)從業(yè)資格證考試題目和答案大全
- 2019年四川省綿陽(yáng)市中考化學(xué)試卷
- 中國(guó)風(fēng)青花瓷陶瓷文化宣傳PPT模板
- 美麗鄉(xiāng)村規(guī)劃設(shè)計(jì)技術(shù)導(dǎo)則
- 課題成果要報(bào)格式和要求
- 經(jīng)銷(xiāo)商準(zhǔn)入及評(píng)定表格vr
- SF-36量表(簡(jiǎn)明健康狀況調(diào)查表)
- 主要河流南、北方河流的不同特征主要湖泊
- 上崗證WORD模板
- 2019第五版新版PFMEA 注塑實(shí)例
- 職業(yè)技能鑒定質(zhì)量督導(dǎo)報(bào)告
- 鈑金k因子和折彎扣除參照表
評(píng)論
0/150
提交評(píng)論