第二章 單片機(jī)基本結(jié)構(gòu)_第1頁
第二章 單片機(jī)基本結(jié)構(gòu)_第2頁
第二章 單片機(jī)基本結(jié)構(gòu)_第3頁
第二章 單片機(jī)基本結(jié)構(gòu)_第4頁
第二章 單片機(jī)基本結(jié)構(gòu)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第二章單片機(jī)的基本結(jié)構(gòu)和工作原理2.1.單片機(jī)的基本組成1.中央處理器2.存儲器普林斯頓結(jié)構(gòu):將程序和數(shù)據(jù)合用一個存儲器空間。哈佛結(jié)構(gòu):將程序和數(shù)據(jù)截然分開,分別尋址的結(jié)構(gòu)。程序存儲器(ROM)片內(nèi)只讀存儲器片外只讀存儲器數(shù)據(jù)存儲器(RAM)3.并行I/0口4.串行I/0口5.定時器/計(jì)數(shù)器6.定時電路及元件2.2.單片機(jī)的引腳功能和結(jié)構(gòu)框圖40引腳雙列直插(DIP)封裝圖邏輯圖符號引腳的復(fù)用功能引腳復(fù)用功能P1.0T2(定時/計(jì)數(shù)器2的外部輸入)P1.1T2EX(定時器2的捕捉/重裝觸發(fā)引腳)P3.0RXD(串行口輸入)P3.1TXD(串行口輸出)P3.2INT0(外部中斷0請求)P3.3INT1(外部中斷1請求)P3.4T0(定時/計(jì)數(shù)器0的外部輸入)P3.5T1(定時/計(jì)數(shù)器1的外部輸入)P3.6WR(片外數(shù)據(jù)存儲器寫選通信號輸出)P3.7RD(片外數(shù)據(jù)存儲器讀選通信號輸出)2.380C51的內(nèi)部結(jié)構(gòu)和組成內(nèi)部結(jié)構(gòu)算術(shù)邏輯部件ALU類加器ACC(或A)只讀存儲器ROM隨機(jī)存取存儲器RAM指令寄存器IR程序地址寄存器程序計(jì)數(shù)器PC地址指針DPTR定時器/計(jì)數(shù)器并行I/O口P0–P3串行口程序狀態(tài)標(biāo)志寄存器PSW定時控制邏輯電路專用寄存器SFR累加器A寄存器B程序狀態(tài)字寄存器PSW堆棧指針SP程序計(jì)數(shù)器PC和數(shù)據(jù)指針DPTR端口0~3的鎖存器P0、P1、P2、P3串行口數(shù)據(jù)緩存器SBUF(99H)定時器寄存器捕捉寄存器控制寄存器一.專用寄存器1.累加器A作用:累加器A是ALU單元的輸入之一,因而是處理數(shù)據(jù)源之一。同時它又是ALU運(yùn)算結(jié)果的存放單元。CPU中的數(shù)據(jù)傳送大多都通過累加器,故又相當(dāng)于一個數(shù)據(jù)的中轉(zhuǎn)站。2.B寄存器B寄存器在乘法和除法指令中作為ALU的輸入之一。作用:其他情況下,B寄存器可以作為內(nèi)部RAM中的一個單元來使用。3.程序狀態(tài)字PSW程序狀態(tài)字PSW是一個逐位定義的8位寄存器,其內(nèi)容的主要部分是算術(shù)邏輯運(yùn)算單元(ALU)的輸出。RS1RS0選中通用寄存器組R0–R7的地址00第0組00H–07H01第1組08H–0FH10第2組10H–17H11第3組18H–1FHOV——溢出標(biāo)志位。表示運(yùn)算結(jié)果超出了目的寄存器A所能表示的帶符號數(shù)的范圍(-128-+127)ADD加法:若表示i向位i+1位有進(jìn)位,則當(dāng)位6向位7有進(jìn)位而位7不向CY進(jìn)位時,或當(dāng)位7向C進(jìn)位而位6不向位7進(jìn)位時,OV=1;否則OV=0。SUBB加法:若表示i向位i+1位有借位,則當(dāng)位6向位7有借位而位7無借位時,或當(dāng)位7向CY借位而位6不向位7借位時,OV=1;否則OV=0。MUL乘法:當(dāng)A、B兩個乘數(shù)的積超過255時,OV=1,否則OV=0。因此,若OV=0時,只需從A寄存器中取積;若OV=1時,則需從B、A寄存器對中取積。DIV除法:若除數(shù)為0時,OV=1;否則,OV=0。PC是中央控制器中最基本的寄存器,是一個獨(dú)立的計(jì)數(shù)器,存放著下一條將要從程序存儲器中取出的指令地址。4.地址寄存器PC基本工作過程:讀指令時,程序計(jì)數(shù)器將其中的數(shù)作為所取指令的地址輸出給程序存儲器,然后程序存儲器按此地址輸出指令字節(jié),同時程序計(jì)數(shù)器本身自動加1,指向下一條指令地址。程序計(jì)數(shù)器PC變化的軌跡決定程序的流程程序計(jì)數(shù)器PC的寬度決定了程序存儲器可以直接尋址的范圍。在80C51中,PC是一個16位的計(jì)數(shù)器,所以,可對64KB()程序存儲器進(jìn)行尋址。程序存儲器PC的基本工作方式有:程序計(jì)數(shù)器PC自動加1;執(zhí)行條件或無條件轉(zhuǎn)移指令時,程序計(jì)數(shù)器將被置入新的數(shù)值,程序的流向發(fā)生變化;在執(zhí)行調(diào)用指令或響應(yīng)中斷時:

PC的現(xiàn)行值,即下一條將要執(zhí)行的指令的地址,送入堆棧,加以保護(hù)。

將子程序的入口地址或者中斷矢量地址送入PC,程序流發(fā)生變化,執(zhí)行子程序或中斷服務(wù)程序。子程序或中斷服務(wù)執(zhí)行完畢,遇到返回指令RET或RETI時,將棧頂?shù)膬?nèi)容送到PC中,程序流程又返回到原來的地方,繼續(xù)執(zhí)行。5.數(shù)據(jù)指針DPTRDPTR是一個16位的特殊功能寄存器,主要功能是作為片外數(shù)據(jù)存儲器尋址用的地址寄存器(間接尋址),訪問片外數(shù)據(jù)存儲器的指令為:MOVX A,@DPTR讀MOVX@DPTR,A寫二.算術(shù)邏輯運(yùn)算單元ALU算是邏輯運(yùn)算單元主要是對數(shù)據(jù)進(jìn)行算術(shù)/邏輯運(yùn)算。從結(jié)構(gòu)上,該單元實(shí)質(zhì)是一個全加器。通過暫存器1的輸入;通過暫存器2或累加器ACC的輸入;兩個輸入:兩個輸出:累加器;程序狀態(tài)字PSW;算術(shù)/邏輯運(yùn)算可完成的操作:帶進(jìn)位和不帶進(jìn)位的加法、減法及8位的乘、除法運(yùn)算;邏輯運(yùn)算AND、OR和XOR;增量或減量;位操作有位置位、位復(fù)位和位取反;左移位、右移位;半字節(jié)交換;BCD碼運(yùn)算修正;三.時鐘電路及CPU的工作時序1.時鐘電路振蕩器定時控制元件時鐘發(fā)生器地址所存允許信號ALE振蕩器ALE機(jī)器周期P1P2狀態(tài)時鐘XTAL1XTAL2時鐘發(fā)生器2.時序定時單位節(jié)拍與狀態(tài):一個狀態(tài)包含兩個節(jié)拍,其前半周期對應(yīng)的節(jié)拍叫P1,后半周期對應(yīng)的節(jié)拍叫P2。;機(jī)器周期:80C51規(guī)定一個機(jī)器周期的寬度為6個狀態(tài),并依次表示為

S1–S6,分別記為S1P1,S1P2,S2P1,S2P2,…S6P2;指令周期:執(zhí)行一條指令所需要的時間稱為指令周期。3.80C51指令時序80C51共有111條指令,全部指令按其長度可分為單字節(jié)指令、雙字節(jié)指令和三字節(jié)指令。單字節(jié)單機(jī)器周期指令單字節(jié)雙機(jī)器周期指令雙字節(jié)單機(jī)器周期指令雙字節(jié)雙機(jī)器周期指令三字節(jié)雙機(jī)器周期指令A(yù)LE信號是為地址鎖存而定義的,該信號煤有效一次對應(yīng)單片機(jī)進(jìn)行的一次讀指令操作。ALE信號以振蕩脈沖六分之一的頻率出現(xiàn),因此在一個機(jī)器周期中,ALE信號兩次有效,有效寬度為一個狀態(tài)。單字節(jié)單機(jī)器周期指令由于是單字節(jié)指令,因此只需進(jìn)行一次讀指令操作。當(dāng)?shù)诙€ALE有效時,由于PC沒有加1,所以讀出的還是原指令,屬于一次無效的操作。雙字節(jié)單機(jī)器周期指令這種情況下,對應(yīng)于ALE的兩次讀操作都是有效的,第一次是讀指令操作碼,第二次是讀指令第二字節(jié)。單字節(jié)雙機(jī)器周期指令(例如:INCDPTR)兩個機(jī)器周期共進(jìn)行四次讀指令的操作,但其中后三次的讀操作全是無效的。單字節(jié)雙機(jī)器周期指令(例如:MOVX類指令)先在ROM讀取指令,然后對外部RAM進(jìn)行讀/寫操作。第一機(jī)器周期時,與其它指令一樣,第一次讀指令(操作碼)有效,第二次讀指令操作無效。第二機(jī)器周期時,進(jìn)行外部RAM訪問,此時與ALE信號無關(guān),因此不產(chǎn)生讀指令操作。2.4存儲器結(jié)構(gòu)和地址空間80C51單片機(jī)系列的存儲器采用的是哈拂結(jié)構(gòu),即將程序存儲器和數(shù)據(jù)存儲器截然分開,它們各有自己的尋址方式、尋址空間和控制系統(tǒng)。尋址范圍分別達(dá)到64KB。80HFFH00H7FH0000HFFFFH片內(nèi)數(shù)據(jù)存儲器片外數(shù)據(jù)存儲器數(shù)據(jù)存儲器RAMSFR片內(nèi)RAM(80C52)片內(nèi)RAM0000H0FFFH0000H0FFFH1000HFFFFH片內(nèi)程序存儲器片外程序存儲器程序存儲器ROMEA=1EA=01.程序存儲器80C51單片機(jī)的程序存儲器用于存放經(jīng)調(diào)試正確的應(yīng)用程序和表格之類的固定常數(shù)。尋址空間為64KB。

80C51單片機(jī)程序存儲器的某些單元被保留于特定的程序入口地址。復(fù)位或非屏蔽中斷0000H外部中斷00003H定時器T0溢出000BH外部中斷10013H定時器T1溢出001BH串行口中斷0023H定時器T2/T2EX下降沿002BH00H1FH20H2FH30H7FH80HFFH低128字節(jié)RAM區(qū)高128字節(jié)RAM區(qū)00H08H10H18H1FH工作寄存器區(qū)一組二組三組四組R0R1R2R3R4R5R6R700H07H位尋址區(qū)20H00H07H01H特殊功能寄存器區(qū)內(nèi)部數(shù)據(jù)存儲區(qū)結(jié)構(gòu)外部數(shù)據(jù)存儲區(qū)結(jié)構(gòu)0000HFFFFH2.數(shù)據(jù)存儲器根據(jù)不同的尋址方式,片內(nèi)數(shù)據(jù)RAM區(qū)可分為以下幾個區(qū)域:(1).片內(nèi)數(shù)據(jù)RAM區(qū)工作寄存器區(qū):這是一個用寄存器尋址的區(qū)域,指令的數(shù)量最多,均為單周期指令,執(zhí)行速度最快。位尋址區(qū):片內(nèi)數(shù)據(jù)RAM區(qū)的20H–2FH的16個字節(jié)單元,既可進(jìn)行字節(jié)尋址,又可實(shí)現(xiàn)位尋址。字節(jié)尋址區(qū):片內(nèi)數(shù)據(jù)RAM區(qū)的30H–7FH的80個字節(jié)單元,可采用直接字節(jié)尋址訪問。堆棧區(qū)及堆棧指示器:堆棧是在片內(nèi)數(shù)據(jù)RAM區(qū)中,數(shù)據(jù)先進(jìn)后出或后進(jìn)先出的區(qū)域。堆棧指示器在80C51中存放當(dāng)前的堆棧棧頂所指存儲單元地址的一個8位寄存器。(2).特殊功能寄存器SFR區(qū)特殊功能寄存器是80C51單片機(jī)中各功能部件所對應(yīng)的寄存器,用以存放相應(yīng)功能部件的控制命令、狀態(tài)或數(shù)據(jù)區(qū)域。80C51中共定義了21個特殊功能寄存器,其名稱和字節(jié)地址列于下表中:序號標(biāo)識符名稱字節(jié)地址位地址1ACC累加器E0H0E0H–0E7H2BB寄存器0F0H0F0H–0F7H3PSW程序狀態(tài)字0D0H0D0H–0D7H4SP堆棧指針81H5DPTR數(shù)據(jù)指針(DPH,DPL)83H,82H6P0P0口80H80H–87H7P1P1口90H90H–97H序號標(biāo)識符名稱字節(jié)地址位地址8P2P2口0A0H0A0H–0A7H9P3P3口0B0H0B0H–0B7H10IP中斷優(yōu)先級控制0B8H0B8H–0BFH11IE中斷允許控制0A8H0A8H–0AFH12TOMD定時器/計(jì)數(shù)器方式控制89H13TCON定時器/計(jì)數(shù)器控制88H88H–8FH14T2CON定時器/計(jì)數(shù)器2控制0C8HOC8H–0CFH15TH0,TL0定時器/計(jì)數(shù)器08CH,8AH16TH1,TL1定時器/計(jì)數(shù)器18DH,8BH17TH2,TL2定時器/計(jì)數(shù)器20CDH,0CCH18RLDH定時器/計(jì)數(shù)器2自動重裝載(高字節(jié))0CBH19RLDL定時器/計(jì)數(shù)器2自動重裝載(低字節(jié))0CAH20SCON串行口控制98H98H–9FH21SBUF串行數(shù)據(jù)緩沖器99H22PCON電源控制97H(3).片外數(shù)據(jù)RAM區(qū)片外數(shù)據(jù)存儲器是在外部存放數(shù)據(jù)的區(qū)域,這一區(qū)域用寄存器間接尋址的方法訪問,所用的寄存器為DPTR、R1或R0。

當(dāng)用R1、R0尋址時,由于R1、R0為8位寄存器,因此最大尋址范圍為256B;當(dāng)用DPTR尋址時,由于DPTR是16位寄存器,因此,最大尋址范圍為64KB。數(shù)據(jù)傳送類指令示意圖ACC程序存儲區(qū)TABLEPC01H04H09H01H04H09H0000H0030H30H56HFFFFH外部數(shù)據(jù)存儲區(qū)FFH30H30H56H00H內(nèi)部數(shù)據(jù)存儲區(qū)F0HMOVCMOVXMOV2.580C51單片機(jī)的工作方式80C51單片機(jī)的工作方式復(fù)位程序執(zhí)行低功耗編程校驗(yàn)1.復(fù)位操作復(fù)位操作是單片機(jī)的初始化操作,其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行程序。

復(fù)位操作對單片機(jī)的個別引腳信號有影響。例如在復(fù)位期間,ALE和PSEN信號變?yōu)闊o效狀態(tài),即ALE=1,PSEN=1。一.復(fù)位方式寄存器復(fù)位時內(nèi)容寄存器復(fù)位時內(nèi)容PC0000HTCON00HACC00HTL000HB00HTH000HPSW00HTL100HSP07HTH100HDPTR000

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論