單片機應(yīng)用技術(shù)(C語言版)2章 內(nèi)存_第1頁
單片機應(yīng)用技術(shù)(C語言版)2章 內(nèi)存_第2頁
單片機應(yīng)用技術(shù)(C語言版)2章 內(nèi)存_第3頁
單片機應(yīng)用技術(shù)(C語言版)2章 內(nèi)存_第4頁
單片機應(yīng)用技術(shù)(C語言版)2章 內(nèi)存_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第2章章80C51單片機內(nèi)部結(jié)構(gòu)和工作原理單片機內(nèi)部結(jié)構(gòu)和工作原理本章要點本章要點o80C51系列單片機內(nèi)部結(jié)構(gòu)(關(guān)注面向用戶的部分)o外部引腳功能(重點是4個控制引腳和4個I/O端口)o存儲空間配置和功能(64KB ROM、64KB外RAM和256B片內(nèi)RAM)o片內(nèi)RAM結(jié)構(gòu)和功能(分成3個物理空間:工作寄存器區(qū)、位尋址區(qū)和數(shù)據(jù)緩沖區(qū))o特殊功能寄存器的用途和功能(21個)o程序計數(shù)器PC的作用和基本工作方式oI/O端口結(jié)構(gòu)、工作原理及功能o時鐘和時序(時鐘頻率和機器周期)o復(fù)位電路、復(fù)位條件和復(fù)位后狀態(tài)o低功耗工作方式的作用和進(jìn)入退出的方法oATMEL89系列單片機性能介紹2.1 內(nèi)部

2、結(jié)構(gòu)和引腳功能內(nèi)部結(jié)構(gòu)和引腳功能o 2.1.1 內(nèi)部結(jié)構(gòu)(見下圖)內(nèi)部結(jié)構(gòu)(見下圖)80C51單片機內(nèi)部包含的功能部件單片機內(nèi)部包含的功能部件o 一個8位CPUo 一個片內(nèi)振蕩器和時鐘電路o 4KB ROMo 128B內(nèi)RAMo 可尋址64KB的外ROM和外RAM控制電路o 兩個16位定時/計數(shù)器o 21個特殊功能寄存器o 4個8位并行I/O口,共32條可編程I/O端線o 一個可編程全雙工串行口o 5個中斷源,可設(shè)置成2個優(yōu)先級2.1.2 引腳功能引腳功能40個引腳大致可分為4類:電源、時鐘、控制和I/O引腳。o 電源電源 1)Vcc:電源(+5V) 2)Vss:接地o 時鐘時鐘 XTAL1、

3、XTAL2:晶體振蕩電路反相輸入端和輸出端??刂凭€控制線o ALE/PROG:地址鎖存允許地址鎖存允許/片內(nèi)片內(nèi)EPROM編編程脈沖程脈沖1)ALE:用來鎖存P0口送出的低8位地址(并行擴展) 有效:P0口傳送低8位地址信號 無效:P0口傳送8位數(shù)據(jù)信號2)PROG:片內(nèi)有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。o PSEN:外:外ROM讀選通信號讀選通信號o RST/VPD:復(fù)位復(fù)位/備用電源備用電源1)RST:該引腳上連續(xù)保持兩個機器周期以上高電平。2)VPD:在Vcc掉電情況下,接備用電源。o EA/VPP:內(nèi)外:內(nèi)外ROM選擇選擇/片內(nèi)片內(nèi)EPROM編程編程電源電源

4、1)EA:EA=“1”,先訪問內(nèi)ROM,當(dāng)超過4KB時,自動轉(zhuǎn)向外ROM。 EA=“0” ,只訪問外ROM。 8031片內(nèi)無ROM,EA必須接地。2)VPP:片內(nèi)有EPROM的芯片,在EPROM編程期間,施加編程電源。I/O引腳(引腳( 4個個8位并行口,共位并行口,共32個引腳)個引腳)o P0口:口:8位雙向位雙向I/O口口 并行擴展時,分時傳送低8位地址和8位數(shù)據(jù)信號。o P1口:口:8位準(zhǔn)雙向位準(zhǔn)雙向I/O口口 準(zhǔn)雙向準(zhǔn)雙向:內(nèi)部有固定的上拉電阻。o P2口:口:8位準(zhǔn)雙向位準(zhǔn)雙向I/O口口 傳送高8位地址o P3口:口:8位準(zhǔn)雙向位準(zhǔn)雙向I/O口口P3口第二功能口第二功能o P3.0

5、(RXD):串行口輸入端o P3.1(TXD):串行口輸出端o P3.2(INT0):外部中斷0請求輸入端o P3.3(INT1):外部中斷1請求輸入端o P3.4(T0):定時/計數(shù)器0外部信號輸入端o P3.5(T1):定時/計數(shù)器1外部信號輸入端o P3.6(WR):外RAM寫選通信號輸出端o P3.7(RD) :外RAM讀選通信號輸出端2.2 存儲空間配置和功能存儲空間配置和功能o 64KB程序存儲器(ROM),包括片內(nèi)和片外。o 64KB外部數(shù)據(jù)存儲器(外RAM)o 256B(包括特殊功能寄存器)內(nèi)部數(shù)據(jù)存儲器(內(nèi)RAM)。存儲空間配置圖存儲空間配置圖o ROMMOVC指令 控制信號

6、是PSEN和EAo 外RAMMOVX指令 控制信號是P3口中的RD和WR。o 內(nèi)RAMMOV指令2.2.1 程序存儲器(程序存儲器(ROM)o 片外60KB:地址范圍1000H-FFFFHo 片內(nèi)4KB:地址范圍0000H-0FFFH無論片內(nèi)還是片外,地址空間是統(tǒng)一的,不重疊。 讀ROM是以程序計數(shù)器PC作為16位地址指針,依次讀相應(yīng)地址ROM中的指令和數(shù)據(jù),每讀一個字節(jié),PC+1PC,這是CPU自動形成的。 但是有些指令有修改PC的功能,例如轉(zhuǎn)移類指令和MOVC指令,CPU將按修改后PC的16位地址讀ROM。讀外讀外ROM的過程的過程 CPU從PC中取出當(dāng)前ROM的16位地址,分別由P0口(

7、低8位)和P2口(高8位)同時輸出,ALE信號有效時由地址鎖存器鎖存低8位地址信號,地址鎖存器輸出的低8位地址信號和P2口輸出的高8位地址信號同時加到外ROM 16位地址輸入端,當(dāng)PSEN信號有效時,外ROM將相應(yīng)地址存儲單元中的數(shù)據(jù)送至數(shù)據(jù)總線(P0口),CPU讀入后存入指定單元。2.2.2 外部數(shù)據(jù)存儲器(外外部數(shù)據(jù)存儲器(外RAM)o 讀外讀外RAM的過程的過程 外RAM 16位地址分別由P0口(低8位)和P2口(高8位)同時輸出,ALE信號有效時由地址鎖存器鎖存低8位地址信號,地址鎖存器輸出的低8位地址信號和P2口輸出的高8位地址信號同時加到外RAM 16位地址輸入端,當(dāng)RD信號有效時

8、,外RAM將相應(yīng)地址存儲單元中的數(shù)據(jù)送至數(shù)據(jù)總線,CPU讀入后存入指定單元。o 寫外寫外RAM的過程的過程 寫外RAM的過程與讀外RAM的過程相同。只是控制信號不同,信號換成WR信號。當(dāng)WR信號有效時,外RAM將數(shù)據(jù)總線(P0口分時傳送)上的數(shù)據(jù)寫入相應(yīng)地址存儲單元中。2.2.3 內(nèi)部數(shù)據(jù)存儲器(內(nèi)內(nèi)部數(shù)據(jù)存儲器(內(nèi)RAM) 從廣義上講,80C51內(nèi)RAM(128B)和特殊功能寄存器(128B)均屬于片內(nèi)RAM空間,讀寫指令均用MOV指令。但為加以區(qū)別,內(nèi)RAM通常指00H7FH的低128B空間。 80C51內(nèi)RAM又可分成3個物理空間:工作寄存器區(qū)、位尋址區(qū)和數(shù)據(jù)緩沖區(qū)。80C51內(nèi)部內(nèi)部R

9、AM結(jié)構(gòu)結(jié)構(gòu)地址區(qū)域地址區(qū)域 功能名稱功能名稱 00H 00H 1FH1FH00H00H07H 07H 工作寄存器工作寄存器0 0區(qū)區(qū) 08H08H0FH 0FH 工作寄存器工作寄存器1 1區(qū)區(qū) 10H10H17H 17H 工作寄存器工作寄存器2 2區(qū)區(qū) 18H18H1FH 1FH 工作寄存器工作寄存器3 3區(qū)區(qū) 20H20H2FH2FH 位尋址區(qū)位尋址區(qū) 30H30H7FH7FH數(shù)據(jù)緩沖區(qū)數(shù)據(jù)緩沖區(qū) o 工作寄存器區(qū)(工作寄存器區(qū)(00H-1FH,32字節(jié))字節(jié)) 作用作用:有專用于工作寄存器操作的指令,讀寫速度比一般內(nèi)RAM要快,指令字節(jié)比一般直接尋址指令要短,還具有間址功能,能給編程和應(yīng)

10、用帶來方便。 工作寄存器區(qū)分為4個區(qū):0區(qū)、1區(qū)、2區(qū)、3區(qū)。每區(qū)有8個寄存器:R0R7,寄存器名稱相同。但是,當(dāng)前工作的寄存器區(qū)只能有一個,由PSW中的D4、D3位決定。 o 位尋址區(qū)(位尋址區(qū)(20H-2FH)| 地址:16B(字節(jié)),共(字節(jié)),共128b(位)。(位)。不僅有字節(jié)地址,每一位有位地址??晌粚ぶ?、位操作。即按位地址對該位進(jìn)行置1、清0、求反或判轉(zhuǎn)。 | 用途:存放各種標(biāo)志位信息和位數(shù)據(jù)。| 注意事項:位地址與字節(jié)地址編址相同,容易混淆。區(qū)分方法:位操作指令中的地址是位地址;字節(jié)操作指令中的地址是字節(jié)地址。位尋址區(qū)的位地址映象表位尋址區(qū)的位地址映象表字節(jié)字節(jié)地址地址位位 地

11、地 址址D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D02FH2FH7FH7FH7EH7EH7DH7DH7CH7CH7BH7BH7AH7AH79H79H78H78H2EH2EH77H77H76H76H75H75H74H74H73H73H72H72H71H71H70H70H2DH2DH6FH6FH6EH6EH6DH6DH6CH6CH6BH6BH6AH6AH69H69H68H68H2CH2CH67H67H66H66H65H65H64H64H63H63H62H62H61H61H60H60H2BH2BH5FH5FH5EH5EH5DH5DH5CH5CH5BH5BH5AH5AH59H59H

12、58H58H2AH2AH57H57H56H56H55H55H54H54H53H53H52H52H51H51H50H50H29H29H4FH4FH4EH4EH4DH4DH4CH4CH4BH4BH4AH4AH49H49H48H48H28H28H47H47H46H46H45H45H44H44H43H43H42H42H41H41H40H40H27H27H3FH3FH3EH3EH3DH3DH3CH3CH3BH3BH3AH3AH39H39H38H38H26H26H37H37H36H36H35H35H34H34H33H33H32H32H31H31H30H30H25H25H2FH2FH2EH2EH2DH2DH

13、2CH2CH2BH2BH2AH2AH29H29H28H28H24H24H27H27H26H26H25H25H24H24H23H23H22H22H21H21H20H20H23H23H1FH1FH1EH1EH1DH1DH1CH1CH1BH1BH1AH1AH19H19H18H18H22H22H17H17H16H16H15H15H14H14H13H13H12H12H11H11H10H10H21H21H0FH0FH0EH0EH0DH0DH0CH0CH0BH0BH0AH0AH09H09H08H08H20H20H07H07H06H06H05H05H04H04H03H03H02H02H01H01H00H00H

14、o 數(shù)據(jù)緩沖區(qū)(數(shù)據(jù)緩沖區(qū)(30H-7FH) 用于存放各種數(shù)據(jù)和中間結(jié)果,起到數(shù)據(jù)緩沖的作用。2.2.4 特殊功能寄存器(特殊功能寄存器(SFR)o 高高128B內(nèi)內(nèi)80H-FFH 其中字節(jié)地址能被8整除(字節(jié)地址末位為0或8)可位尋址位操作。 地址映像表(P36)特殊功能寄存器地址映象表(一)特殊功能寄存器地址映象表(一)特殊功能寄存器地址映象表(二)特殊功能寄存器地址映象表(二)特殊功能寄存器地址映象表(三)特殊功能寄存器地址映象表(三)部分特殊功能寄存器部分特殊功能寄存器o 累加器累加器Acc 最常用的寄存器,助記符“A”。o 寄存器寄存器B 乘除法指令,也可作為一般寄存器用。o 程序狀

15、態(tài)字寄存器(程序狀態(tài)字寄存器(PSW) PSW也稱為標(biāo)志寄存器,存放各有關(guān)標(biāo)志。其結(jié)構(gòu)和定義如下:o Cy:進(jìn)位標(biāo)志:進(jìn)位標(biāo)志| 最高位有進(jìn)位或借位,置“1”。| 位處理時,作為位累加器,軟件置“1”或清“0”。o AC:輔助進(jìn)位標(biāo)志:輔助進(jìn)位標(biāo)志 低四位向高四位有進(jìn)位或借位,置“1”。o OV:溢出標(biāo)志:溢出標(biāo)志| 帶符號數(shù)加/減,運算結(jié)果超出A的范圍(-128+127),置“1”;| 無符號數(shù)乘法,相乘超過255,置“1” ;| 除法中除數(shù)為0時,置“1” 。o P:奇偶標(biāo)志:奇偶標(biāo)志 Acc中“1”的個數(shù)為奇數(shù),置“1”。o RS1、RS0:工作寄存器區(qū)選擇控制位:工作寄存器區(qū)選擇控制位

16、 RS1、RS0=000區(qū)(00H-07H) RS1、RS0=011區(qū)(08H-0FH) RS1、RS0=102區(qū)(10H-17H) RS1、RS0=113區(qū)(18H-1FH)o F0、F1:用戶標(biāo)志:用戶標(biāo)志o 數(shù)據(jù)指針數(shù)據(jù)指針DPTR 16位,由兩個8位寄存器DPH、DPL組成。主要用于存放一個16位地址,作為訪問外部存儲器(外RAM和ROM)的地址指針。o 堆棧指針堆棧指針SP 指向棧頂數(shù)據(jù)的地址2.2.5 程序計數(shù)器程序計數(shù)器PCo PC不屬于特殊功能寄存器,不可訪問,在物理結(jié)構(gòu)上是獨立的。o PC是一個16位的地址寄存器,用于存放將要從ROM中讀出的下一字節(jié)指令碼的地址,因此也稱為地

17、址指針。PC的基本工作方式:的基本工作方式:o 自動加1。CPU從ROM中每讀一個字節(jié),自動執(zhí)行PC+1PC;o 執(zhí)行轉(zhuǎn)移指令時,PC會根據(jù)該指令要求修改下一次讀ROM新的地址;o 執(zhí)行調(diào)用子程序或發(fā)生中斷時,CPU會自動將當(dāng)前 PC值壓入堆棧,將子程序入口地址或中斷入口地址裝入PC;子程序返回或中斷返回時,恢復(fù)原有被壓入堆棧的PC值,繼續(xù)執(zhí)行原順序程序指令。2.3 I/O端口結(jié)構(gòu)及工作原理端口結(jié)構(gòu)及工作原理 o 4個8位并行I/O口,共32條端線:P0、P1、P2和P3口。每一個I/O口都能用作輸入或輸出。o P0口的負(fù)載能力為8個LSTTL門電路;P1P3口的負(fù)載能力為4個LSTTL門電路

18、。 1個LSTTL門電路的驅(qū)動電流,低電平時為0.36mA,高電平時為20uA。2.3.1 P0口口o 用作通用I/O口 CPU令“控制控制”端信號為低電平端信號為低電平,其作用有兩個:一是使多路開關(guān)MUX接通B端,即鎖存器輸出端Q;二是令與門輸出低電平,V1截止,致使輸出級為開漏輸出電路。| 作為輸出口作為輸出口 當(dāng)P0口用作輸出口時,因輸出級處于開漏狀態(tài),必須外接上拉電阻必須外接上拉電阻。當(dāng)“寫鎖存器”信號加在鎖存器的時鐘端CLK上,此時D觸發(fā)器將“內(nèi)部總線”上的信號反相后輸出到Q端,若D端信號為0,Q=1,V2導(dǎo)通,P0.X引腳輸出“0”;若D端信號為1,Q=0,V2截止,雖然V1截止,

19、因P0.X引腳已外接上拉電阻,P0.X引腳輸出“1”。| 作為輸入口作為輸入口 當(dāng)P0口用作輸入口時,必須保證必須保證V2截止。截止。因為若V2導(dǎo)通,則從P0口引腳上輸入的信號被V2短路。為使V2截止,必須先向該端口鎖存器寫入必須先向該端口鎖存器寫入“1”,Q=0,V2截止。 輸入信號從P0.X引腳輸入后,先進(jìn)入輸入緩沖器U2。CPU執(zhí)行端口輸入指令后,“讀引腳”信號使輸入緩沖器U2開通,輸入信號進(jìn)入內(nèi)部數(shù)據(jù)總線。用作地址用作地址/數(shù)據(jù)總線數(shù)據(jù)總線| 地址地址/數(shù)據(jù)總線輸出數(shù)據(jù)總線輸出 作總線輸出時,這時“控制控制”端信號為高電平,端信號為高電平,其作用有兩個:一是使多路開關(guān)MUX接通A端,與

20、鎖存器斷開;二是令與門開通,輸出取決于“地址/數(shù)據(jù)”端。從“地址/數(shù)據(jù)”端輸入的地址或數(shù)據(jù)信號同時作用于與門和反相器,并分別驅(qū)動V1、V2,結(jié)果在引腳上得到地址或數(shù)據(jù)輸出信號。 若“地址/數(shù)據(jù)”端信號為“1”,則與門輸出“1”,V1導(dǎo)通;反相器輸出“0”,V2截止,引腳輸出“1”。若“地址/數(shù)據(jù)”端信號為“0”,則與門輸出“0”,V1截止;反相器輸出“1”,V2導(dǎo)通,引腳輸出“0”。| 數(shù)據(jù)總線輸入數(shù)據(jù)總線輸入 此時與P0口作一般輸入口時情況相同,CPU使V1、V2均截止,從引腳上輸入的外部數(shù)據(jù)經(jīng)緩沖器U2進(jìn)入內(nèi)部數(shù)據(jù)總線。P1口一位結(jié)構(gòu)口一位結(jié)構(gòu)P2口一位結(jié)構(gòu)口一位結(jié)構(gòu)P3口一位結(jié)構(gòu)口一位結(jié)

21、構(gòu)總結(jié):總結(jié):o P0P3口都能用作I/O口,用作輸入時,均須先寫入“1”;用作輸出時,P0口應(yīng)外接上拉電阻。o 在并行擴展外存儲器或I/O口情況下,P0口用于低8位地址總線和數(shù)據(jù)總線(分時傳送);P2口用于高8位地址總線;P3口常用于第二功能,用戶能使用的I/O口只有P1口和未用作第二功能的部分P3口端線。2.4 時鐘和時序時鐘和時序o 時鐘:統(tǒng)一指揮即按一定節(jié)拍操作的時序。2.4.1 時鐘電路時鐘電路o 按圖2-8a連接即可構(gòu)成自激振蕩電路,振蕩頻率取決于石英晶體的振蕩頻率,范圍可取1.212MHz,C1、C2主要起頻率微調(diào)和穩(wěn)定作用,電容值可取1030pF。o 圖2-8b采用外振蕩輸入。

22、2.4.2 時鐘周期和機器周期時鐘周期和機器周期o 時鐘周期時鐘周期 振蕩器產(chǎn)生的時鐘脈沖頻率的倒數(shù),是最基本、最小的定時信號。o 狀態(tài)周期狀態(tài)周期 時鐘脈沖二分頻后的脈沖信號,是時鐘周期的兩倍。o 機器周期機器周期 單片機工作的基本定時單位,簡稱機周。是時鐘周期的12倍。| 當(dāng)時鐘頻率為12MHz時,機器周期為1s;| 當(dāng)時鐘頻率為6MHz時,機器周期為2s。o 指令周期指令周期 CPU執(zhí)行一條指令占用的時間(用機器周期表示)??煞譃槿悾簡螜C周指令、雙機周指令和四機周指令。o 指令字節(jié)指令字節(jié) 指令占用存儲空間的長度??煞譃槿悾簡巫止?jié)、雙字節(jié)、和三字節(jié)。J 兩者區(qū)別:前者表示執(zhí)行一條指令

23、所用的時間,后者表示一條指令在ROM中所占的存儲空間,兩者不能混淆。2.4.3 一般指令取指一般指令取指/執(zhí)行時序執(zhí)行時序 每一條指令的執(zhí)行都可以包括取指和執(zhí)行兩個階段。ALE信號在一個機周內(nèi)兩次有效,第一次在S1P2和S2P1期間,第二次在S4P2和S5P1期間,ALE信號的有效寬度為一個S狀態(tài)。每出現(xiàn)一次ALE信號,CPU就可以進(jìn)行一次取指操作。2.5 復(fù)位和低功耗工作方式復(fù)位和低功耗工作方式2.5.1 復(fù)位方式復(fù)位方式o 復(fù)位條件復(fù)位條件 必須使RST引腳保持兩個機器周期以上的高電平。若時鐘頻率為12MHz,每機周為1us,則只需持續(xù)2us以上時間的高電平。o 復(fù)位電路復(fù)位電路 圖2-12a為上電復(fù)位電路。RC構(gòu)成微分電路,在上電瞬間,產(chǎn)生一個微分脈沖,其寬度大于2個機器周期,實現(xiàn)復(fù)位。RC時間常數(shù)應(yīng)大于兩個機器周期。Fosc=12MHz,C=10uF,R=8.2KFosc=6MHz,C= 22uF ,R= 1K。復(fù)位電路復(fù)位電路o 復(fù)位后復(fù)位后CPU狀態(tài)狀態(tài) PCPC: 0000H0000H TMOD TMOD: 00H00HAccAcc:

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論