第三章計(jì)算機(jī)系統(tǒng)的組成與工作原理PPT課件_第1頁
第三章計(jì)算機(jī)系統(tǒng)的組成與工作原理PPT課件_第2頁
第三章計(jì)算機(jī)系統(tǒng)的組成與工作原理PPT課件_第3頁
第三章計(jì)算機(jī)系統(tǒng)的組成與工作原理PPT課件_第4頁
第三章計(jì)算機(jī)系統(tǒng)的組成與工作原理PPT課件_第5頁
已閱讀5頁,還剩67頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、微機(jī)原理及單片機(jī)接口技術(shù)微機(jī)原理及單片機(jī)接口技術(shù)第三章第三章 計(jì)算機(jī)系統(tǒng)計(jì)算機(jī)系統(tǒng)的組成與工作原理的組成與工作原理任課教師: http:/ keil vision軟件下載及指導(dǎo)手冊(Helpvision Help) http:/ 計(jì)算機(jī)系統(tǒng)的組成與工作原理計(jì)算機(jī)系統(tǒng)的組成與工作原理本章學(xué)習(xí)目標(biāo)本章學(xué)習(xí)目標(biāo)3.1 理解模型機(jī)的結(jié)構(gòu)及工作過程理解模型機(jī)的結(jié)構(gòu)及工作過程 3.2 掌握單片機(jī)的掌握單片機(jī)的結(jié)構(gòu)結(jié)構(gòu)3.2.1 單片機(jī)單片機(jī)的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)3.2.2 單片機(jī)的引腳及功能單片機(jī)的引腳及功能3.3 掌握單片機(jī)掌握單片機(jī)I/O口的使用口的使用3.4 掌握單片機(jī)應(yīng)用系統(tǒng)的典型構(gòu)成掌握單片機(jī)應(yīng)用

2、系統(tǒng)的典型構(gòu)成4:1033.1模型機(jī)的結(jié)構(gòu)及工作過程.1模型機(jī)的結(jié)構(gòu)簡介模型機(jī)的結(jié)構(gòu)簡介微型計(jì)算機(jī)的結(jié)構(gòu)模型(簡稱模型機(jī))。微型計(jì)算機(jī)的結(jié)構(gòu)模型(簡稱模型機(jī))。模型機(jī)的主要構(gòu)成:模型機(jī)的主要構(gòu)成:三總線三總線( (地址總線、數(shù)據(jù)總線和控制總線地址總線、數(shù)據(jù)總線和控制總線) )中央處理器(中央處理器(CPUCPU)存儲器存儲器I/OI/O接口接口4:10.1模型機(jī)的結(jié)構(gòu)簡介模型機(jī)的結(jié)構(gòu)簡介圖圖3-1 模型機(jī)的結(jié)構(gòu)模型機(jī)的結(jié)構(gòu)4:105I/OI/O接口接口運(yùn)算器運(yùn)算器 控制器控制器.1模型機(jī)的結(jié)構(gòu)簡介模型機(jī)的結(jié)構(gòu)簡介1 1、中央處理器的組成、中央處

3、理器的組成中央處理器(中央處理器(CPUCPU)由)由運(yùn)算器運(yùn)算器和和控制器控制器組成。組成。(1 1)運(yùn)算器)運(yùn)算器定義定義: : 運(yùn)算器運(yùn)算器是計(jì)算機(jī)中加工和處理是計(jì)算機(jī)中加工和處理數(shù)據(jù)數(shù)據(jù)的功能的功能 部件部件。功能功能: : 對對數(shù)據(jù)進(jìn)行加工數(shù)據(jù)進(jìn)行加工處理處理, ,主要主要包括包括算術(shù)算術(shù)和和邏輯邏輯 運(yùn)算,如加、減、乘、與、或、非運(yùn)算等。運(yùn)算,如加、減、乘、與、或、非運(yùn)算等。 還暫時存放還暫時存放參與運(yùn)算的數(shù)據(jù)和中間結(jié)果。參與運(yùn)算的數(shù)據(jù)和中間結(jié)果。4:1061 1、中央處理器的組成、中央處理器的組成運(yùn)算器組成部分運(yùn)算器組成部分算數(shù)邏輯單元算數(shù)邏輯單元ALU(Arithmetic L

4、ogical Unit):主主要完成算術(shù)、邏輯運(yùn)算。要完成算術(shù)、邏輯運(yùn)算。累加寄存器(簡稱累加器)累加寄存器(簡稱累加器)A(Accumulator):用用于存放操作數(shù)或運(yùn)算結(jié)果。于存放操作數(shù)或運(yùn)算結(jié)果。寄存器組:寄存器組:由其它寄存器組成,主要用于存放操由其它寄存器組成,主要用于存放操作數(shù)或運(yùn)算結(jié)果。作數(shù)或運(yùn)算結(jié)果。標(biāo)志寄存器標(biāo)志寄存器F(Flag):存放運(yùn)算結(jié)果的標(biāo)志(零、存放運(yùn)算結(jié)果的標(biāo)志(零、正負(fù)、進(jìn)位、溢出等)。正負(fù)、進(jìn)位、溢出等)。4:1071 1、中央處理器的組成、中央處理器的組成(2 2)控制器)控制器功能功能:控制器用于控制和指揮計(jì)算機(jī)內(nèi)各功能部件控制器用于控制和指揮計(jì)算機(jī)內(nèi)

5、各功能部件協(xié)調(diào)動作,完成計(jì)算機(jī)程序功能。協(xié)調(diào)動作,完成計(jì)算機(jī)程序功能。控制器組成控制器組成程序計(jì)數(shù)器程序計(jì)數(shù)器PC(Program Counter):用于存放將要用于存放將要取出的指令地址取出的指令地址, 指令取出后指令取出后, 其內(nèi)容自動加其內(nèi)容自動加1。指令寄存器指令寄存器IR(Instruction Register):用于存放指令用于存放指令的操作碼。的操作碼。指令譯碼器指令譯碼器ID(Instruction Decode):用于將指令的用于將指令的操作碼翻譯成機(jī)器能識別的命令信號。操作碼翻譯成機(jī)器能識別的命令信號。4:108(2 2)控制器)控制器控制器控制器組成組成(續(xù)續(xù))微操作信

6、號發(fā)生器微操作信號發(fā)生器MOSG(Microoperation Signal Generator): 用于產(chǎn)生一系列微操作控制信號。用于產(chǎn)生一系列微操作控制信號。地址寄存器地址寄存器AR(Address Register):用于存放操作數(shù)用于存放操作數(shù)或結(jié)果單元的地址。或結(jié)果單元的地址。數(shù)據(jù)寄存器數(shù)據(jù)寄存器DR(Data Register):用于存放操作數(shù)。用于存放操作數(shù)。控制器種類:控制器種類:根據(jù)根據(jù)產(chǎn)生微操作控制信號的方式產(chǎn)生微操作控制信號的方式不同不同組合邏輯控制型組合邏輯控制型存儲邏輯型存儲邏輯型組合邏輯組合邏輯- -存儲邏輯結(jié)合型存儲邏輯結(jié)合型根本區(qū)別在于微操作信號發(fā)生器的實(shí)現(xiàn)方法

7、根本區(qū)別在于微操作信號發(fā)生器的實(shí)現(xiàn)方法不同。不同。4:109微操作信號發(fā)生器的基本結(jié)構(gòu)微操作信號發(fā)生器的基本結(jié)構(gòu)圖3-2 微操作信號發(fā)生器的基本結(jié)構(gòu)示意圖4:1010控制器種類控制器種類組合邏輯型控制器組合邏輯型控制器優(yōu)點(diǎn):優(yōu)點(diǎn):其微操作信號發(fā)生器是由其微操作信號發(fā)生器是由門電路組成的復(fù)門電路組成的復(fù)雜樹狀網(wǎng)絡(luò)構(gòu)成雜樹狀網(wǎng)絡(luò)構(gòu)成的。最大優(yōu)點(diǎn)是的。最大優(yōu)點(diǎn)是速度快速度快。缺點(diǎn):缺點(diǎn):微操作信號發(fā)生器結(jié)構(gòu)不規(guī)整,設(shè)計(jì)、調(diào)微操作信號發(fā)生器結(jié)構(gòu)不規(guī)整,設(shè)計(jì)、調(diào)試、維修較困難,難以實(shí)現(xiàn)設(shè)計(jì)自動化。一旦控試、維修較困難,難以實(shí)現(xiàn)設(shè)計(jì)自動化。一旦控制部件構(gòu)成后,難以增加新的控制功能。制部件構(gòu)成后,難以增加新

8、的控制功能。目前僅有一些巨型機(jī)和目前僅有一些巨型機(jī)和RISCRISC機(jī)為追求高速度仍采機(jī)為追求高速度仍采用組合邏輯控制器。用組合邏輯控制器。4:1011控制器種類控制器種類存儲邏輯型控制器存儲邏輯型控制器原理:原理:采用采用存儲邏輯存儲邏輯來實(shí)現(xiàn),即把微操作信號來實(shí)現(xiàn),即把微操作信號代代碼化碼化,使每條機(jī)器指令轉(zhuǎn)化成為一段,使每條機(jī)器指令轉(zhuǎn)化成為一段微程序微程序,存存入控制存儲器中入控制存儲器中,微操作控制信號由微指令產(chǎn)生微操作控制信號由微指令產(chǎn)生。優(yōu)點(diǎn)優(yōu)點(diǎn):它它具有設(shè)計(jì)規(guī)整,調(diào)試、維修、更改、擴(kuò)具有設(shè)計(jì)規(guī)整,調(diào)試、維修、更改、擴(kuò)充指令都方便的優(yōu)點(diǎn),易于實(shí)現(xiàn)自動化設(shè)計(jì),充指令都方便的優(yōu)點(diǎn),易于

9、實(shí)現(xiàn)自動化設(shè)計(jì),已已成為當(dāng)前控制器的主流。成為當(dāng)前控制器的主流。缺點(diǎn):缺點(diǎn):由于它增加了一級控制存儲器,所以指令由于它增加了一級控制存儲器,所以指令的執(zhí)行速度比組合邏輯控制器慢。的執(zhí)行速度比組合邏輯控制器慢。4:1012控制器種類控制器種類PLA(Programmable Logic Array)控制器控制器組合邏輯與存儲邏輯結(jié)合型的控制器組合邏輯與存儲邏輯結(jié)合型的控制器稱為稱為PLA控制控制器,它是吸收前兩種控制器的設(shè)計(jì)思想來實(shí)現(xiàn)的。器,它是吸收前兩種控制器的設(shè)計(jì)思想來實(shí)現(xiàn)的。PLA控制器實(shí)際上也是一種控制器實(shí)際上也是一種組合邏輯控制器組合邏輯控制器,但它,但它又與常規(guī)的組合邏輯控制器的硬連

10、結(jié)構(gòu)不同,它是又與常規(guī)的組合邏輯控制器的硬連結(jié)構(gòu)不同,它是程序可編的,某一程序可編的,某一微操作控制信號由微操作控制信號由PLA的某一輸?shù)哪骋惠敵龊瘮?shù)產(chǎn)生出函數(shù)產(chǎn)生。PLA控制器是組合邏輯技術(shù)和存儲邏輯技術(shù)結(jié)合的控制器是組合邏輯技術(shù)和存儲邏輯技術(shù)結(jié)合的產(chǎn)物,產(chǎn)物,它克服了兩者的缺點(diǎn)它克服了兩者的缺點(diǎn),是種較有前途的方法。,是種較有前途的方法。4:10.1模型機(jī)的結(jié)構(gòu)簡介模型機(jī)的結(jié)構(gòu)簡介2 2、存儲器的結(jié)構(gòu)、存儲器的結(jié)構(gòu)功能:功能:主要用于保存程序和數(shù)據(jù)。主要用于保存程序和數(shù)據(jù)。組成部分:組成部分:包含地址譯碼器、存儲單元和控制邏輯。包含地址譯碼器、存儲單元和控制邏輯。存儲器

11、訪問過程存儲器訪問過程(1 1)讀操作)讀操作 CPUCPU首先將首先將地址寄存器地址寄存器ARAR的內(nèi)容放到的內(nèi)容放到地址總線地址總線ABAB上,上,地址總線上的內(nèi)容進(jìn)入地址總線上的內(nèi)容進(jìn)入地址譯碼器地址譯碼器,由地址譯碼器進(jìn),由地址譯碼器進(jìn)行譯碼,行譯碼,選通相應(yīng)的存儲單元選通相應(yīng)的存儲單元。 被選通的存儲單元的被選通的存儲單元的內(nèi)容就出現(xiàn)數(shù)據(jù)總線上內(nèi)容就出現(xiàn)數(shù)據(jù)總線上,在控,在控制信號的作用下,制信號的作用下,CPUCPU從數(shù)據(jù)總線上從數(shù)據(jù)總線上讀取數(shù)據(jù)到數(shù)據(jù)寄讀取數(shù)據(jù)到數(shù)據(jù)寄存器存器DRDR,從而完成存儲器的讀操作。,從而完成存儲器的讀操作。4:1014存儲器訪問過程存儲器訪問過程(2

12、 2)寫操作)寫操作 CPU將將地址寄存器地址寄存器AR的內(nèi)容送到的內(nèi)容送到地址總線地址總線AB上,地上,地址總線上的內(nèi)容進(jìn)入址總線上的內(nèi)容進(jìn)入地址譯碼器地址譯碼器,由地址譯碼器進(jìn)行,由地址譯碼器進(jìn)行譯碼譯碼,以,以選通相應(yīng)的存儲單元選通相應(yīng)的存儲單元。 在控制信號的作用下,在控制信號的作用下,CPU將要將要寫入的數(shù)據(jù)通過數(shù)據(jù)寫入的數(shù)據(jù)通過數(shù)據(jù)總線總線寫入到被選通的存儲單元寫入到被選通的存儲單元,完成存儲器的寫操作。,完成存儲器的寫操作。4:1015執(zhí)行過程執(zhí)行過程:讀取讀取指令指令分析指令分析指令執(zhí)行指令執(zhí)行指令保存結(jié)果保存結(jié)果在在讓計(jì)算機(jī)讓計(jì)算機(jī)進(jìn)進(jìn)行計(jì)算之前,應(yīng)做如下工作:行計(jì)算之前,應(yīng)

13、做如下工作:用用助記符號助記符號指令指令( (匯編語言匯編語言) )編寫編寫源程序);源程序);用匯編軟件(匯編程序)將源程序匯編成計(jì)算機(jī)能用匯編軟件(匯編程序)將源程序匯編成計(jì)算機(jī)能識別的機(jī)器語言程序;識別的機(jī)器語言程序;將數(shù)據(jù)和程序通過輸入設(shè)備送入存儲器中存放。將數(shù)據(jù)和程序通過輸入設(shè)備送入存儲器中存放。匯編語言語句匯編語言語句注釋注釋MOV A, #07H ;07送入累加器送入累加器AADD A, #0AH;10與與A中中內(nèi)容相加內(nèi)容相加, 結(jié)果結(jié)果在在A中中HLT;暫停;暫停機(jī)器碼機(jī)器碼B0H 07H04H 0AHF4H例如,計(jì)算例如,計(jì)算7+10=?7+10=?,結(jié)果在,結(jié)果在A A中

14、。中。4:10:通過執(zhí)行指令完成計(jì)算控制功能通過執(zhí)行指令完成計(jì)算控制功能3.1.2模型機(jī)的工作過程模型機(jī)的工作過程16微機(jī)微機(jī)8086匯編語言匯編語言例如,計(jì)算例如,計(jì)算7+10=?,結(jié)果在,結(jié)果在A中。中。假設(shè)程序在存儲器中的假設(shè)程序在存儲器中的存儲存儲格式格式(設(shè)程序從設(shè)程序從00H開始存放開始存放)如圖所示。如圖所示。地址地址 存儲內(nèi)容存儲內(nèi)容00HB0H01H07H02H04H03H0AH04HF4H機(jī)器碼機(jī)器碼B0H 07H04H 0AHF4H讀取指令階段讀取指令階段的執(zhí)行過程如下:的執(zhí)行過程如下:CPUCPU將程序計(jì)數(shù)器將程序計(jì)數(shù)器PCPC的內(nèi)容的內(nèi)容00H00H送送地址寄存器地址

15、寄存器ARAR。程序計(jì)數(shù)器程序計(jì)數(shù)器PCPC的內(nèi)容自動加的內(nèi)容自動加1 1變?yōu)樽優(yōu)?1H01H,為取下一條指,為取下一條指令作好準(zhǔn)備。令作好準(zhǔn)備。地址寄存器地址寄存器ARAR將將00H00H通過地址總線通過地址總線ABAB送至存儲器送至存儲器地址地址譯碼器譯碼譯碼器譯碼,選中選中00H00H單元單元。CPUCPU發(fā)出發(fā)出“讀讀”命令命令。所選中所選中0000單元的單元的內(nèi)容內(nèi)容B0HB0H由存儲器送至數(shù)據(jù)總線由存儲器送至數(shù)據(jù)總線DBDB上。上。4:1017工作過程工作過程:讀取指令讀取指令分析指令分析指令執(zhí)行指令執(zhí)行指令保存結(jié)果保存結(jié)果經(jīng)經(jīng)數(shù)據(jù)總線數(shù)據(jù)總線DB, CPU將將讀出內(nèi)容讀出內(nèi)容B0

16、H送送數(shù)據(jù)寄存器數(shù)據(jù)寄存器DR。數(shù)據(jù)寄存器數(shù)據(jù)寄存器DR將其內(nèi)容送將其內(nèi)容送指令寄存器指令寄存器IR中中, 經(jīng)過經(jīng)過譯碼譯碼, CPU“識別識別”出此操作碼為出此操作碼為兩字節(jié)指令的第一個字節(jié)兩字節(jié)指令的第一個字節(jié),再再取出下一個字節(jié)取出下一個字節(jié)(機(jī)器碼機(jī)器碼)后得知是后得知是“MOV A, #07H”指指令令, 于是控制器發(fā)出于是控制器發(fā)出執(zhí)行這條指令執(zhí)行這條指令的控制命令。的控制命令。圖圖3-4 讀取第一讀取第一條指令第一個條指令第一個字節(jié)的示意圖字節(jié)的示意圖4:1018加加1地址地址譯碼譯碼需重復(fù)上述取需重復(fù)上述取指譯碼過程指譯碼過程譯碼譯碼產(chǎn)生產(chǎn)生微控微控制命制命令令讀立即數(shù)讀立即數(shù)

17、(下下個機(jī)器碼個機(jī)器碼)到到A讀讀第一條指令第一條指令第二個字節(jié)第二個字節(jié)(即執(zhí)行該指令即執(zhí)行該指令)的示意圖的示意圖再取出下一個字節(jié)再取出下一個字節(jié)圖圖3-5 執(zhí)行執(zhí)行第一條指令示意圖第一條指令示意圖“MOV A, #07H” (機(jī)器碼:B0H 07H),4:1019加加1地址地址譯碼譯碼即取機(jī)即取機(jī)器器碼碼07H的過程的過程:執(zhí)行指令階段執(zhí)行指令階段的執(zhí)行過程如下:的執(zhí)行過程如下:CPUCPU將程序計(jì)數(shù)器將程序計(jì)數(shù)器PCPC的的內(nèi)容內(nèi)容(01H)(01H)送送地址寄存器地址寄存器ARAR。程序計(jì)數(shù)器程序計(jì)數(shù)器PCPC的內(nèi)容自動加的內(nèi)容自動加1 1變?yōu)樽優(yōu)?2H02H,為取下一條指,為取下一

18、條指令作好準(zhǔn)備。令作好準(zhǔn)備。地址寄存器地址寄存器ARAR將將01H01H通過地址總線送至存儲器地址通過地址總線送至存儲器地址譯譯碼器譯碼碼器譯碼,選中選中01H01H單元單元。CPUCPU發(fā)出發(fā)出“讀讀”命令。命令。所選中的所選中的01H01H單元的內(nèi)容單元的內(nèi)容07H07H讀至數(shù)據(jù)總線讀至數(shù)據(jù)總線DBDB上。上。經(jīng)數(shù)據(jù)總線經(jīng)數(shù)據(jù)總線DBDB,讀出的內(nèi)容,讀出的內(nèi)容07H07H送送至數(shù)據(jù)寄存器至數(shù)據(jù)寄存器DRDR。計(jì)算機(jī)計(jì)算機(jī)由由操作碼確定操作碼確定讀出的是立即數(shù)讀出的是立即數(shù),并要求將它送,并要求將它送入累加器入累加器A A中,所以數(shù)據(jù)寄存器中,所以數(shù)據(jù)寄存器DRDR通過內(nèi)部總線將通過內(nèi)部總

19、線將07H07H送入累加器送入累加器A A中中。4:1020執(zhí)行執(zhí)行第二條指令第二條指令 “ADD A, 0AH”(機(jī)器碼機(jī)器碼: 04H 0AH)執(zhí)行第二條指令的取指過程與第一執(zhí)行第二條指令的取指過程與第一條條相同相同, 只是只是指令碼指令碼地址不同。地址不同。經(jīng)過對第二條經(jīng)過對第二條指令指令操作碼操作碼(第第1字節(jié)字節(jié)04H)的分析的分析(譯碼譯碼)得得知該指知該指令為加法令為加法指指令令,執(zhí)行執(zhí)行第第2字節(jié)字節(jié)過過程如下:程如下:程序計(jì)數(shù)器程序計(jì)數(shù)器PCPC的內(nèi)容的內(nèi)容(03H)(03H)送送ARAR。程序計(jì)數(shù)器程序計(jì)數(shù)器PCPC的內(nèi)容自動加的內(nèi)容自動加1 1并回送并回送PCPC。地址寄

20、存器地址寄存器ARAR的內(nèi)容經(jīng)地址總線的內(nèi)容經(jīng)地址總線ABAB送到存儲器地址譯送到存儲器地址譯碼器碼器。CPUCPU發(fā)出發(fā)出“讀讀”命令。命令。所選中的所選中的03H03H單元的內(nèi)容單元的內(nèi)容0AH0AH送到數(shù)據(jù)總線送到數(shù)據(jù)總線DBDB。數(shù)據(jù)總線數(shù)據(jù)總線DBDB上的內(nèi)容送數(shù)據(jù)寄存器上的內(nèi)容送數(shù)據(jù)寄存器DRDR。4:102100HB0H01H07H02H04H03H0AH04HF4H執(zhí)行第二條指令執(zhí)行第二條指令 “ADD A, 0AH”(機(jī)器碼機(jī)器碼: 04H 0AH)圖圖3-6 執(zhí)行第二條執(zhí)行第二條指令操作示意圖指令操作示意圖數(shù)據(jù)數(shù)據(jù)寄存器寄存器DRDR內(nèi)容送內(nèi)容送B B寄寄存存器器, ,再送

21、再送算術(shù)邏輯單元算術(shù)邏輯單元ALUALU的一端。的一端。累加器累加器A A的內(nèi)容送的內(nèi)容送ALUALU的另的另一一端端, , 完成加法運(yùn)算。完成加法運(yùn)算。ALUALU相加的結(jié)果輸出到相加的結(jié)果輸出到A A。4:10223.2.1單片機(jī)的內(nèi)部結(jié)構(gòu)單片機(jī)的內(nèi)部結(jié)構(gòu)單片微型計(jì)算機(jī)單片微型計(jì)算機(jī)(簡稱單片機(jī)簡稱單片機(jī))在一片芯片上集在一片芯片上集成了前述微型計(jì)算機(jī)的功能結(jié)構(gòu),成了前述微型計(jì)算機(jī)的功能結(jié)構(gòu),有些單片機(jī)不僅集成了有些單片機(jī)不僅集成了CPU、存儲程序和數(shù)存儲程序和數(shù)據(jù)的存儲器據(jù)的存儲器、I/O接口接口、定時定時/計(jì)數(shù)器計(jì)數(shù)器等常規(guī)資等常規(guī)資源,而且還集成了工業(yè)測控系統(tǒng)中常用的源,而且還集成了

22、工業(yè)測控系統(tǒng)中常用的模模擬量采集模塊擬量采集模塊。 3.2單片機(jī)的結(jié)構(gòu)單片機(jī)的結(jié)構(gòu)4:10233.2.1單片機(jī)的內(nèi)部單片機(jī)的內(nèi)部結(jié)構(gòu)結(jié)構(gòu)8051內(nèi)核內(nèi)核是是Intel 8051系列單片機(jī)的基本標(biāo)準(zhǔn),許多參系列單片機(jī)的基本標(biāo)準(zhǔn),許多參考書上將這種單片機(jī)稱為考書上將這種單片機(jī)稱為MCS-51系列單片機(jī)系列單片機(jī)。MCS-51系列單片機(jī)典型產(chǎn)品為系列單片機(jī)典型產(chǎn)品為8051,它有它有4K8ROM, 128字節(jié)字節(jié)RAM, 2個個16位定時位定時/計(jì)數(shù)器計(jì)數(shù)器, 4個個8位位I/O口口,一,一個串行口。個串行口。上世紀(jì)上世紀(jì)80年代年代,Intel將將8051內(nèi)核出售給內(nèi)核出售給幾家著名的幾家著名的I

23、C廠廠商,如商,如Philips,Atmel等。這樣,等。這樣,8051單片機(jī)就成為眾單片機(jī)就成為眾多廠家支持,發(fā)展成為上百個產(chǎn)品的大家族。多廠家支持,發(fā)展成為上百個產(chǎn)品的大家族。最常用有最常用有宏晶宏晶STC系列單片機(jī)系列單片機(jī),Atmel公司公司AT89系列系列等等51系列。只要是系列。只要是8051內(nèi)核單片機(jī),它們基本結(jié)構(gòu)是內(nèi)核單片機(jī),它們基本結(jié)構(gòu)是相同的,并且,指令系統(tǒng)完全兼容標(biāo)準(zhǔn)相同的,并且,指令系統(tǒng)完全兼容標(biāo)準(zhǔn)8051單片機(jī)。單片機(jī)。4:1024單片機(jī)產(chǎn)品單片機(jī)產(chǎn)品8051內(nèi)核單片機(jī)內(nèi)核單片機(jī)STC15F2K60S24:10 以目前常見以目前常見8051內(nèi)核單片機(jī)內(nèi)核單片機(jī)STC1

24、5F2K60S2為例為例, 說明說明單片機(jī)內(nèi)部結(jié)構(gòu)。單片機(jī)內(nèi)部結(jié)構(gòu)。 STC15F2K60S2主要集成資源:主要集成資源:增強(qiáng)型增強(qiáng)型8051內(nèi)核內(nèi)核, 單時鐘機(jī)器周期單時鐘機(jī)器周期(1T), 速度比傳統(tǒng)速度比傳統(tǒng)8051內(nèi)核單片機(jī)快內(nèi)核單片機(jī)快812倍倍60KB Flash程序存儲器程序存儲器;1KB數(shù)據(jù)數(shù)據(jù)Flash(EEPROM); 2048字節(jié)的字節(jié)的SRAM3個個16位可自動重裝載的定時位可自動重裝載的定時/計(jì)數(shù)器(計(jì)數(shù)器(T0、T1、T2)可編程時鐘輸出功能可編程時鐘輸出功能258051內(nèi)核單片機(jī)內(nèi)核單片機(jī)STC15F2K60S24:10至多至多42根根I/O口線口線 2個全雙工異

25、步串行口(個全雙工異步串行口(UART)1個高速同步通信端口(個高速同步通信端口(SPI) 8通道通道10位位ADC3通道通道PWM/可編程計(jì)數(shù)器陣列可編程計(jì)數(shù)器陣列/捕獲捕獲/比較單元比較單元內(nèi)部高可靠上電復(fù)位電路和硬件看門狗內(nèi)部高可靠上電復(fù)位電路和硬件看門狗 內(nèi)部集成高精度內(nèi)部集成高精度R/C時鐘時鐘,常溫時常溫時,可省去外部晶振電路??墒∪ネ獠烤д耠娐?。26STC15F2K60S2單片機(jī)內(nèi)部結(jié)構(gòu)框圖單片機(jī)內(nèi)部結(jié)構(gòu)框圖4:10圖圖3- 7 STC15F2K60S2單片機(jī)的內(nèi)部結(jié)構(gòu)圖單片機(jī)的內(nèi)部結(jié)構(gòu)圖27STC15F2K60S2單片機(jī)的內(nèi)部資源單片機(jī)的內(nèi)部資源中央處理器中央處理器(CPUCP

26、U) 程序存儲器程序存儲器(FlashFlash)數(shù)據(jù)存儲器數(shù)據(jù)存儲器(RAMRAM)數(shù)據(jù)數(shù)據(jù)FlashFlash存儲器存儲器 (EEPROM)I/OI/O接口接口 (3.3)(3.3)中斷系統(tǒng)中斷系統(tǒng) ( (第第6 6章章) ) 定時定時/ /計(jì)數(shù)器計(jì)數(shù)器 ( (第第7 7章章) ) 4:10PWM(PWM(或或PCA/PCA/捕捕獲獲/ /比較單元比較單元) )SPISPI接口接口( (第第8 8章章) )通用通用異步串行通信接口異步串行通信接口( (UARTUART) )高速高速A/DA/D轉(zhuǎn)換模塊轉(zhuǎn)換模塊( (第第9 9章章) )看門狗電路看門狗電路電源監(jiān)控電源監(jiān)控片內(nèi)片內(nèi)RCRC振蕩

27、器等模塊振蕩器等模塊28Goto(第第11章章)(第第7章章7.3)幾乎包含了數(shù)據(jù)采集和控制中所需的所有單元模塊幾乎包含了數(shù)據(jù)采集和控制中所需的所有單元模塊, ,可可稱得上一個稱得上一個片上系統(tǒng)片上系統(tǒng)(SOC:System On Chip)(SOC:System On Chip)SPI: Serial Peripheral Interface串行外設(shè)接口串行外設(shè)接口UART: Universal Asynchronous Receiver/Transmitter通用異步收發(fā)傳輸通用異步收發(fā)傳輸器器1、CPU結(jié)構(gòu)結(jié)構(gòu)單片機(jī)的中央處理器(單片機(jī)的中央處理器(CPU)由運(yùn)算器和控制器組成。)由運(yùn)算

28、器和控制器組成。(1)運(yùn)算器)運(yùn)算器4:10以以8 8位算術(shù)位算術(shù)/ /邏輯運(yùn)算部件邏輯運(yùn)算部件ALUALU為核心為核心,加上通過內(nèi)部總,加上通過內(nèi)部總線而掛在其周圍的線而掛在其周圍的暫存器暫存器TMP1TMP1、TMP2TMP2、累加器累加器ACCACC、寄寄存器存器B B、程序、程序狀態(tài)標(biāo)志寄存器狀態(tài)標(biāo)志寄存器PSWPSW以及以及布爾處理機(jī)布爾處理機(jī)組成了整組成了整個運(yùn)算器的邏輯電路。個運(yùn)算器的邏輯電路。29(1)運(yùn)算器)運(yùn)算器算術(shù)邏輯單元算術(shù)邏輯單元ALUALU:用來完成二進(jìn)制數(shù)的用來完成二進(jìn)制數(shù)的四則運(yùn)算四則運(yùn)算和和布爾代數(shù)的布爾代數(shù)的邏輯運(yùn)算邏輯運(yùn)算。累加器累加器ACCACC又記作又

29、記作A A:是一個具有特殊用途的:是一個具有特殊用途的8 8位寄存位寄存器,在器,在CPUCPU中工作最頻繁,用來中工作最頻繁,用來存放操作數(shù)和運(yùn)算結(jié)存放操作數(shù)和運(yùn)算結(jié)果果。寄存器寄存器B B:是專門是專門為乘、除法設(shè)置的寄存器為乘、除法設(shè)置的寄存器,也是一,也是一個個8 8位寄存器,用來存放乘法和除法中的操作數(shù)及運(yùn)位寄存器,用來存放乘法和除法中的操作數(shù)及運(yùn)算結(jié)果,對于其他指令,它只作暫存器用。算結(jié)果,對于其他指令,它只作暫存器用。程序狀態(tài)字程序狀態(tài)字(PSWPSW):又稱為標(biāo)志寄存器,一個):又稱為標(biāo)志寄存器,一個8 8位位寄存器,用來寄存器,用來存放執(zhí)行指令后的有關(guān)狀態(tài)信息存放執(zhí)行指令后的

30、有關(guān)狀態(tài)信息,供,供程序查詢和判別之用。程序查詢和判別之用。 4:1030程序程序狀態(tài)標(biāo)志寄存器狀態(tài)標(biāo)志寄存器PSW (8位位)PSW中有些位的狀態(tài)是在指令執(zhí)行過程中中有些位的狀態(tài)是在指令執(zhí)行過程中自動形成自動形成的,有些位可以由的,有些位可以由用戶采用指令加以改變用戶采用指令加以改變。PSW的各位定義的各位定義如下所示:如下所示:4:10位號位號D7D6D5D4D3D2D1D0符號符號 CYACF0RS1 RS0OVF1PCYCY(PSW.7PSW.7):進(jìn)位標(biāo)志位進(jìn)位標(biāo)志位當(dāng)執(zhí)行加當(dāng)執(zhí)行加/ /減法指令時,如果操作結(jié)果的最高位減法指令時,如果操作結(jié)果的最高位D7D7出現(xiàn)進(jìn)出現(xiàn)進(jìn)/ /借位,

31、則借位,則CYCY置置“1”1”,否則清否則清“0”0”。執(zhí)行執(zhí)行乘除運(yùn)算后,乘除運(yùn)算后,CYCY清零。清零。此外,此外,CPUCPU在進(jìn)行在進(jìn)行移位移位操作操作時也會影響這個標(biāo)志位。時也會影響這個標(biāo)志位。CY31程序程序狀態(tài)標(biāo)志寄存器狀態(tài)標(biāo)志寄存器PSW (8位位)AC(PSW.6):):輔助進(jìn)位標(biāo)志輔助進(jìn)位標(biāo)志位位(Auxiliary Carry) 當(dāng)執(zhí)行加當(dāng)執(zhí)行加/減法指令時,如果減法指令時,如果低四位數(shù)向高四位數(shù)產(chǎn)生低四位數(shù)向高四位數(shù)產(chǎn)生進(jìn)進(jìn)/借位借位,則,則AC置置“1”,否則清零。,否則清零。4:10位號位號D7D6D5D4D3D2D1D0符號符號 CYACF0RS1 RS0OVF

32、1PACF0(PSW.5):):用戶用戶標(biāo)志標(biāo)志位位(F0F0)。是是由用戶定義的一個狀態(tài)標(biāo)志由用戶定義的一個狀態(tài)標(biāo)志??捎密浖硎顾???捎密浖硎顾谩?” 或清或清“0” ,也可以由軟件測試,也可以由軟件測試F0控制程序的流向??刂瞥绦虻牧飨?。F1(PSW.1):):用戶標(biāo)志用戶標(biāo)志1 (F1F1) 。 是由用戶定義的一個狀態(tài)標(biāo)志。可用軟件來使它置是由用戶定義的一個狀態(tài)標(biāo)志。可用軟件來使它置“1” 或清或清“0” ,也可以由軟件測試,也可以由軟件測試F1控制程序的流向??刂瞥绦虻牧飨?。F0F132程序程序狀態(tài)標(biāo)志寄存器狀態(tài)標(biāo)志寄存器PSW (8位位)RS1,RS0(PSW.4PSW.3)

33、:):工作寄存器組選擇控工作寄存器組選擇控制位制位,其詳細(xì)介紹,其詳細(xì)介紹見后續(xù)內(nèi)容見后續(xù)內(nèi)容。OV(PSW.2):):溢出標(biāo)志位溢出標(biāo)志位。指示運(yùn)算過程中是否。指示運(yùn)算過程中是否發(fā)生了溢出,在執(zhí)行指令過程中自動形成。發(fā)生了溢出,在執(zhí)行指令過程中自動形成。4:10位號位號D7D6D5D4D3D2D1D0符號符號 CYACF0RS1 RS0OVF1PRS1 RS0OVP(PSW.0):):奇偶標(biāo)志位奇偶標(biāo)志位累加器累加器ACCACC中中1 1的個數(shù)為偶數(shù)的個數(shù)為偶數(shù),P=0P=0;否則;否則P=1P=1。每個指。每個指令周期都由硬件來置令周期都由硬件來置“1”1”或清或清“0”0”。在有奇偶校驗(yàn)

34、的串行通信中在有奇偶校驗(yàn)的串行通信中, ,可根據(jù)可根據(jù)P P設(shè)置奇偶校驗(yàn)位。設(shè)置奇偶校驗(yàn)位。P33布爾處理機(jī)布爾處理機(jī)是是單片機(jī)單片機(jī)CPUCPU中運(yùn)算器的一個重要組成部分。中運(yùn)算器的一個重要組成部分。功能功能: : 為為用戶提供豐富的用戶提供豐富的位位操作操作功能功能, , 有有相應(yīng)指令系相應(yīng)指令系統(tǒng)統(tǒng), , 硬件硬件有有自己自己的的“累加器累加器” (進(jìn)位進(jìn)位標(biāo)志標(biāo)志位位C C, ,即即CYCY),),有有自己自己的的位尋址位尋址RAMRAM和和I/OI/O空間空間, , 是是一個獨(dú)立的一個獨(dú)立的位位處理機(jī)處理機(jī)。大部分位操作均圍繞著其累加器大部分位操作均圍繞著其累加器進(jìn)位位進(jìn)位位C C完

35、成。完成。對任何可直接尋址的位,布爾處理機(jī)可執(zhí)行對任何可直接尋址的位,布爾處理機(jī)可執(zhí)行置位置位、取取反反、等于等于1(1(0 0) )轉(zhuǎn)移轉(zhuǎn)移、位的讀寫等操作位的讀寫等操作。( (見附錄見附錄E-5E-5) )在在任何可尋址的任何可尋址的位位( (或或該位內(nèi)容取該位內(nèi)容取反反) )和和進(jìn)位標(biāo)志進(jìn)位標(biāo)志C C之之間間, ,可可執(zhí)行執(zhí)行邏輯與邏輯與、或或操作操作, , 其其結(jié)果送回到進(jìn)位標(biāo)志結(jié)果送回到進(jìn)位標(biāo)志C C。4:1034SETB C; CPL bit; J(N)C rel; J(N)B bit, rel; MOV bit, C(2)控制器)控制器控制器是控制器是CPU的大腦中樞,包括的大腦

36、中樞,包括定時控制邏輯定時控制邏輯、指令指令寄存器寄存器、譯碼器譯碼器、地址指針地址指針DPTR及及程序計(jì)數(shù)器程序計(jì)數(shù)器PC、堆棧指針堆棧指針SP、RAM地址寄存器、地址寄存器、16位地址緩沖器位地址緩沖器等。等。4:10程序計(jì)數(shù)器程序計(jì)數(shù)器PCPC是一個是一個1616位的程序地址寄存器位的程序地址寄存器,專門用來,專門用來存放下一條存放下一條需要執(zhí)行的指令的內(nèi)存地址需要執(zhí)行的指令的內(nèi)存地址,能自動加,能自動加1 1。CPUCPU執(zhí)行指令時執(zhí)行指令時, ,根據(jù)程序計(jì)數(shù)器根據(jù)程序計(jì)數(shù)器PCPC中地址從存儲器中中地址從存儲器中取出當(dāng)前需執(zhí)行的指令碼取出當(dāng)前需執(zhí)行的指令碼, ,并把它送給控制器分析執(zhí)

37、行并把它送給控制器分析執(zhí)行, ,隨后程序計(jì)數(shù)器中的地址隨后程序計(jì)數(shù)器中的地址自動加自動加1 1, ,為為CPUCPU取下一個需要取下一個需要執(zhí)行的指令碼做準(zhǔn)備。執(zhí)行的指令碼做準(zhǔn)備。當(dāng)下一個指令碼取出執(zhí)行后,當(dāng)下一個指令碼取出執(zhí)行后,PCPC又自動加又自動加1 1。這樣,程。這樣,程序計(jì)數(shù)器序計(jì)數(shù)器PCPC一次次加一次次加1 1,指令就被一條條執(zhí)行。,指令就被一條條執(zhí)行。35(2)控制器)控制器堆棧堆棧主要主要用于用于保存臨時數(shù)據(jù)保存臨時數(shù)據(jù)、局部變量局部變量、中斷或子程序的、中斷或子程序的返回地址返回地址。STC15F2K60S2STC15F2K60S2單片機(jī)的堆棧設(shè)單片機(jī)的堆棧設(shè)在內(nèi)部在內(nèi)部

38、RAMRAM中中, ,是是一個按一個按照照“先進(jìn)后出先進(jìn)后出”規(guī)律存放數(shù)據(jù)的區(qū)域規(guī)律存放數(shù)據(jù)的區(qū)域。堆棧堆棧指針指針SPSP是一個是一個8 8位寄存器位寄存器,能,能自動加自動加1 1或減或減1 1。SPSP指向堆棧棧指向堆棧棧頂頂: :當(dāng)當(dāng)數(shù)據(jù)壓數(shù)據(jù)壓入堆棧入堆棧時時, ,SPSP先自先自動加動加1,1,數(shù)數(shù)據(jù)再入棧據(jù)再入棧; ;出棧時出棧時, ,數(shù)數(shù)據(jù)先從堆棧中彈據(jù)先從堆棧中彈出出,SP,SP再自再自動減動減1 1。復(fù)位復(fù)位后后, 寄寄存存器器SP默默認(rèn)值為認(rèn)值為07H, 這樣堆這樣堆棧區(qū)棧區(qū)在在08H開開始的區(qū)域始的區(qū)域。 用用戶通戶通常可用??捎弥噶顚⒍褩^(qū)指令將堆棧區(qū)域設(shè)域設(shè)置在置在

39、內(nèi)部內(nèi)部RAM的的8 30H F 7FH之間之間(單片機(jī)手冊上寫錯了單片機(jī)手冊上寫錯了)。4:1036(2)控制器)控制器數(shù)據(jù)指針數(shù)據(jù)指針DPTR(也稱地址指針也稱地址指針)是是16位專用寄存器位專用寄存器,由由DPL (低低8位位)和和DPH (高高8位位)組成。組成。DPTR可直接進(jìn)行可直接進(jìn)行16位操作位操作, 也可分別對也可分別對DPL和和DPH按字節(jié)進(jìn)行操作按字節(jié)進(jìn)行操作。STC15F2K60S2單片機(jī)有兩個單片機(jī)有兩個16位數(shù)據(jù)指針位數(shù)據(jù)指針DPTR0和和DPTR1, 這兩個數(shù)據(jù)指針共用同一個地址這兩個數(shù)據(jù)指針共用同一個地址(82H, 83H)??赏ㄟ^設(shè)置輔助寄存器可通過設(shè)置輔助寄

40、存器AUXR1中的中的DPS(AUXR1.0)位位來選擇來選擇具體使用哪一個數(shù)據(jù)指針具體使用哪一個數(shù)據(jù)指針(DPS=0, 選擇選擇DPTR0; DPS=1,選擇選擇DPTR1)。 4:1037位號位號D7D6D5D4D3D2D1 D0位名稱位名稱 S1_S1 S1_S0 CCP_S1 CCP_S0 SPI_S1 SPI_S00 DPS輔助寄存器輔助寄存器AUXR1見見47頁表頁表3-22 2、存儲器的結(jié)構(gòu)、存儲器的結(jié)構(gòu)STC15F2K60S2 結(jié)構(gòu)特點(diǎn)結(jié)構(gòu)特點(diǎn): 程序存儲器和數(shù)據(jù)存儲器的尋址空間分開。程序存儲器和數(shù)據(jù)存儲器的尋址空間分開。結(jié)構(gòu)劃分結(jié)構(gòu)劃分:片內(nèi)集成片內(nèi)集成4個個物理上相互獨(dú)立的

41、存儲器物理上相互獨(dú)立的存儲器空間空間: 程序程序Flash存儲器存儲器、數(shù)據(jù)數(shù)據(jù)Flash存儲器存儲器(EEPROM)、內(nèi)部內(nèi)部數(shù)據(jù)存儲器數(shù)據(jù)存儲器(SRAM)和和內(nèi)部擴(kuò)展數(shù)據(jù)存儲器內(nèi)部擴(kuò)展數(shù)據(jù)存儲器(SRAM)。4:10圖3-8 STC15F2K60S2單片機(jī)存儲器配置示意圖38EFFFH用MOV指令訪問物理上內(nèi)部,邏輯上屬于外部, 用MOVX訪問(1)程序)程序Flash存儲器存儲器功能:功能:存放用戶程序、數(shù)據(jù)和表格等信息。存放用戶程序、數(shù)據(jù)和表格等信息??臻g大小空間大小: STC15F2K60S2片內(nèi)集成了片內(nèi)集成了60KB程序程序Flash存儲器存儲器, 地址為地址為0000HEFF

42、FH。單片機(jī)復(fù)位后單片機(jī)復(fù)位后, PC內(nèi)容為內(nèi)容為0000H,從從0000H單元開始執(zhí)行單元開始執(zhí)行程序。程序。 4:10特殊單元特殊單元: : 在程序在程序FlashFlash存儲器中有些特殊的單元,存儲器中有些特殊的單元,這些單元是這些單元是中斷服務(wù)程序的入口地址中斷服務(wù)程序的入口地址:0003H 0003H 外部中斷外部中斷0 0中斷服務(wù)程序的入口地址中斷服務(wù)程序的入口地址000BH 000BH 定時定時/ /計(jì)數(shù)器計(jì)數(shù)器0 0中斷服務(wù)程序的入口地址中斷服務(wù)程序的入口地址0013H 0013H 外部中斷外部中斷1 1中斷服務(wù)程序的入口地址中斷服務(wù)程序的入口地址001BH 001BH 定時

43、定時/ /計(jì)數(shù)器計(jì)數(shù)器1 1中斷服務(wù)程序的入口地址中斷服務(wù)程序的入口地址39STC15F2K60S2不能訪問外部程序存儲器。不能訪問外部程序存儲器。ORG0000HLJMP MAIN(1)程序)程序Flash存儲器存儲器特殊特殊單元單元中斷服務(wù)程序中斷服務(wù)程序的入口地址的入口地址:0023H 0023H 串行通信口串行通信口1 1中斷服務(wù)程序的入口地址中斷服務(wù)程序的入口地址002BH ADC002BH ADC中斷服務(wù)程序的入口地址中斷服務(wù)程序的入口地址0033H 0033H 低電壓檢測中斷服務(wù)程序的入口地址低電壓檢測中斷服務(wù)程序的入口地址003BH PCA003BH PCA中斷服務(wù)程序的入口地

44、址中斷服務(wù)程序的入口地址0043H 0043H 串行通信口串行通信口2 2中斷服務(wù)程序的入口地址中斷服務(wù)程序的入口地址004BH SPI004BH SPI中斷服務(wù)程序的入口中斷服務(wù)程序的入口地址地址0053H 0053H 外部中斷外部中斷2 2中斷服務(wù)程序的入口地址中斷服務(wù)程序的入口地址005BH 005BH 外部中斷外部中斷3 3中斷服務(wù)程序的入口地址中斷服務(wù)程序的入口地址0063H 0063H 定時定時/ /計(jì)數(shù)器計(jì)數(shù)器2 2中斷服務(wù)程序的入口地址中斷服務(wù)程序的入口地址0083H 0083H 外部中斷外部中斷4 4中斷服務(wù)程序的入口中斷服務(wù)程序的入口地址地址4:104032B8B8B8B.

45、(1) 程序程序Flash存儲器存儲器中斷服務(wù)程序中斷服務(wù)程序的入口的入口地址地址響應(yīng)中斷時,單片機(jī)自動轉(zhuǎn)到相應(yīng)的中斷入口地址響應(yīng)中斷時,單片機(jī)自動轉(zhuǎn)到相應(yīng)的中斷入口地址去執(zhí)行程序。去執(zhí)行程序。因相鄰中斷入口地址間只有因相鄰中斷入口地址間只有8 8個地址單元個地址單元, ,無法保存無法保存完整中斷服務(wù)程序完整中斷服務(wù)程序, ,一般在中斷入口地址區(qū)存放一條一般在中斷入口地址區(qū)存放一條無條件轉(zhuǎn)移無條件轉(zhuǎn)移指令指令, ,指向真正存放中斷服務(wù)程序空間。指向真正存放中斷服務(wù)程序空間。中斷響應(yīng)后,中斷響應(yīng)后,CPUCPU執(zhí)行這條轉(zhuǎn)移指令,轉(zhuǎn)去執(zhí)行中斷執(zhí)行這條轉(zhuǎn)移指令,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序。服務(wù)程序。4:1

46、0使用指令:使用指令:讀取程序存儲器中保存的表格常數(shù)等內(nèi)容讀取程序存儲器中保存的表格常數(shù)等內(nèi)容時,使用時,使用MOVCMOVC指令。指令。程序程序FlashFlash存儲器的擦寫次數(shù)為存儲器的擦寫次數(shù)為1010萬次以上,大大提萬次以上,大大提高了芯片利用率,降低了開發(fā)成本高了芯片利用率,降低了開發(fā)成本。41(2)數(shù)據(jù)存儲器)數(shù)據(jù)存儲器STC15F2K60S2 數(shù)據(jù)數(shù)據(jù)存儲器也稱為存儲器也稱為隨機(jī)存取數(shù)據(jù)隨機(jī)存取數(shù)據(jù)存儲器存儲器(RAM)??臻g空間劃分劃分在物理上和邏輯上都分為兩個地址空間:在物理上和邏輯上都分為兩個地址空間:內(nèi)部內(nèi)部數(shù)據(jù)存數(shù)據(jù)存儲區(qū)和儲區(qū)和擴(kuò)展擴(kuò)展數(shù)據(jù)存儲區(qū)數(shù)據(jù)存儲區(qū) 。1 1

47、)內(nèi)部數(shù)據(jù)存儲區(qū)(又稱為內(nèi)部)內(nèi)部數(shù)據(jù)存儲區(qū)(又稱為內(nèi)部RAMRAM)256256字節(jié)內(nèi)部字節(jié)內(nèi)部RAMRAM, ,存放存放中間結(jié)果和過程數(shù)據(jù)。內(nèi)部中間結(jié)果和過程數(shù)據(jù)。內(nèi)部RAMRAM地址地址范圍是范圍是00H00HFFH,FFH,共共256256個個單元單元, ,分分三部分:三部分:低低128128字節(jié)字節(jié)RAMRAM(0(00H0H7FH)7FH)4:1042高高128128字節(jié)字節(jié)RAMRAM(80H80HFFHFFH)特殊功能寄存器特殊功能寄存器(SFR)(SFR)區(qū)區(qū): : 地址地址范圍為范圍為80H80HFFHFFH(2)數(shù)據(jù)存儲器)數(shù)據(jù)存儲器STC15F2K60S2 1)內(nèi)部數(shù)據(jù)

48、存儲區(qū)(又稱為內(nèi)部)內(nèi)部數(shù)據(jù)存儲區(qū)(又稱為內(nèi)部RAM)分三部分:)分三部分:低低128字節(jié)字節(jié)RAM(00H7FH):也稱為:也稱為基本基本RAM區(qū)區(qū)?;净綬AM區(qū)又分為區(qū)又分為工作寄存器區(qū)工作寄存器區(qū)、位尋址區(qū)位尋址區(qū)、用戶用戶RAM和和堆棧區(qū)堆棧區(qū)。u可直接尋址可直接尋址, 也可寄存器間接尋址。用也可寄存器間接尋址。用“MOV direct”和和“MOV Ri” 形式的指令訪問。形式的指令訪問。高高128字節(jié)字節(jié)RAM(80HFFH):只能間接尋址。):只能間接尋址。用用“MOV Ri”形式的指令訪問。形式的指令訪問。特殊特殊功能功能寄存器寄存器(SFR)區(qū):地址范圍為區(qū):地址范圍為8

49、0HFFH,只可直接尋址只可直接尋址,用,用“MOV direct”形式的指令訪問。形式的指令訪問。4:1043復(fù)習(xí)復(fù)習(xí)-STC15F2K60S2單片機(jī)的內(nèi)部資源單片機(jī)的內(nèi)部資源中央處理器中央處理器(CPUCPU) 程序存儲器程序存儲器(FlashFlash)數(shù)據(jù)存儲器數(shù)據(jù)存儲器(RAMRAM)數(shù)據(jù)數(shù)據(jù)FlashFlash存儲器存儲器 (EEPROM)I/OI/O接口接口 (3.3)(3.3)中斷系統(tǒng)中斷系統(tǒng) ( (第第6 6章章) ) 定時定時/ /計(jì)數(shù)器計(jì)數(shù)器 ( (第第7 7章章) ) 4:10PWM(PWM(或或PCA/PCA/捕捕獲獲/ /比較單元比較單元) )SPISPI接口接口(

50、 (第第8 8章章) )通用通用異步串行通信接口異步串行通信接口(UART)(UART)高速高速A/DA/D轉(zhuǎn)換模塊轉(zhuǎn)換模塊( (第第9 9章章) )看門狗電路看門狗電路電源監(jiān)控電源監(jiān)控片內(nèi)片內(nèi)RCRC振蕩器等模塊振蕩器等模塊CPU:運(yùn)算器運(yùn)算器(ALU,ACC,B,PSW,布爾處理機(jī)布爾處理機(jī)), 控制器控制器:PC,堆棧堆棧指針指針SP, 16位數(shù)據(jù)指針位數(shù)據(jù)指針DPTR(DPH,DPL), 寄存器寄存器AUXR1的的DPS位選擇位選擇DPTR0, DPTR1 44Goto復(fù)習(xí)復(fù)習(xí)(第第11章章)(第第7章章7.3)內(nèi)部數(shù)據(jù)存儲器地址空間分配內(nèi)部數(shù)據(jù)存儲器地址空間分配80HFFH只能間接尋

51、址訪問只能間接尋址訪問4:10圖圖3-9內(nèi)部數(shù)據(jù)存儲器地址空間內(nèi)部數(shù)據(jù)存儲器地址空間工作寄存器區(qū)工作寄存器區(qū)位尋址區(qū)位尋址區(qū)用戶用戶RAM和堆棧區(qū)和堆棧區(qū)高高128字節(jié)字節(jié)RAM特殊特殊功能寄存器區(qū)功能寄存器區(qū)FFH80H7FH30H2FH20H18H1FH10H17H08H0FH00H07H4個工作個工作寄存器寄存器區(qū)也區(qū)也可做可做RAM單元使用單元使用特殊功能寄存器特殊功能寄存器區(qū)區(qū)(80HFFH)只能直接尋址只能直接尋址訪問訪問3區(qū)區(qū)(R7R0)2區(qū)區(qū)(R7R0)1區(qū)區(qū)(R7R0)0區(qū)區(qū)(R7R0)位尋址區(qū)位尋址區(qū)(16(16字節(jié)字節(jié), ,共共128128位位) )也可字節(jié)尋址也可字節(jié)尋

52、址通用用戶通用用戶RAMRAM和堆棧區(qū)和堆棧區(qū)可直接尋址或間接尋址可直接尋址或間接尋址45工作寄存器區(qū)工作寄存器區(qū)地址地址分配分配:00H00H1FH1FH共共3232個單元個單元。分為。分為四四組組( (每每一組稱一組稱為一個寄存器為一個寄存器組組), ), 每每一組包括一組包括8 8個個8 8位的工作位的工作寄存器寄存器, ,分別分別是是R0R0R7R7。功能功能:通過使用工作:通過使用工作寄存器寄存器, ,可提高可提高運(yùn)算運(yùn)算速度速度, ,也可用也可用其中其中R0R0或或R1R1存放八位地址存放八位地址值值, ,訪問訪問一個一個256256字節(jié)字節(jié)( (可在邏可在邏輯上的外部輯上的外部)

53、RAM)RAM塊塊中單元中單元。另外另外, ,R0R0R7R7也也可用作計(jì)數(shù)器可用作計(jì)數(shù)器, ,在在指令作用下加指令作用下加1 1或減或減1 1。4:1018H1FH10H17H08H0FH00H07H3區(qū)區(qū)(R7R0)2區(qū)區(qū)(R7R0)1區(qū)區(qū)(R7R0)0區(qū)區(qū)(R7R0)46間接尋址間接尋址 方式方式 “ MOV(X) Ri ”轉(zhuǎn)移指令轉(zhuǎn)移指令“ DJNZ Rn, rel”工作寄存器組的選擇工作寄存器組的選擇:PSWPSW寄存器寄存器中的中的RS1RS1和和RS0RS0兩位組合決定當(dāng)前使用的工作兩位組合決定當(dāng)前使用的工作寄存器組??赏ㄟ^位操作指令寄存器組??赏ㄟ^位操作指令修改修改RS1RS1

54、和和RS0RS0的內(nèi)容的內(nèi)容,選擇不同的工作寄存器組。選擇不同的工作寄存器組。4:10RS1(PSW.4)RS0(PSW.3)工作寄工作寄存器組存器組工作寄存器地址工作寄存器地址000R7R0對應(yīng)的地址為對應(yīng)的地址為07H00H011R7R0對應(yīng)的地址為對應(yīng)的地址為0FH08H102R7R0對應(yīng)的地址為對應(yīng)的地址為17H10H113R7R0對應(yīng)的地址為對應(yīng)的地址為1FH18H表表3-1 工作寄存器組選擇工作寄存器組選擇18H1FH10H17H08H0FH00H07H3區(qū)區(qū)(R7R0)2區(qū)區(qū)(R7R0)1區(qū)區(qū)(R7R0)0區(qū)區(qū)(R7R0)47默認(rèn)默認(rèn)SP指針指針09H08H07H數(shù)據(jù)壓棧前數(shù)據(jù)壓

55、棧前SP+1例例 “ MOV A, R0 ”R0 4:10圖圖3-10 內(nèi)部內(nèi)部RAM中中的的位地址位地址20H2FH之間單之間單元既元既可按字節(jié)存取可按字節(jié)存取, 也可按位存取也可按位存取,共共128位位, 位地址范圍位地址范圍: 00H7FH。位尋址位尋址區(qū)區(qū)48位尋址位尋址 : MOV C, 20H直接尋址直接尋址 : MOV A, 20H字節(jié)地址字節(jié)地址: 20H位尋址區(qū)位尋址區(qū)-圖圖3-11特殊功能寄存器特殊功能寄存器SFR中中位地址位地址:4:10特殊功能特殊功能寄存器寄存器SFRSFR中中位位地址地址范圍范圍: 80H0FFH。圖圖3-11 可位尋址可位尋址的的特殊功能寄存器特殊

56、功能寄存器中中的位地址的位地址49字節(jié)地字節(jié)地址能被址能被8 8整整除的除的特殊功能寄特殊功能寄存器存器SFRSFR, ,其各其各位位都可按位尋址都可按位尋址。用戶用戶RAM和堆棧和堆棧區(qū)區(qū)內(nèi)部內(nèi)部RAM中的中的30H7FH單元是用戶單元是用戶RAM和堆棧區(qū)。和堆棧區(qū)。有有一一個個8位的堆棧指針位的堆棧指針SP,并且,并且堆棧區(qū)堆棧區(qū)只能設(shè)置在只能設(shè)置在內(nèi)內(nèi)部數(shù)據(jù)存儲區(qū)部數(shù)據(jù)存儲區(qū)。當(dāng)有子程序調(diào)用和中斷請求時,。當(dāng)有子程序調(diào)用和中斷請求時,返回返回地址等信息被地址等信息被自動保存在堆棧內(nèi)。自動保存在堆棧內(nèi)。STC15F2K60S2單片機(jī)單片機(jī)復(fù)位后,復(fù)位后,SP為為07H,使堆棧事,使堆棧事實(shí)

57、上實(shí)上由由08H單元開始單元開始(數(shù)據(jù)進(jìn)棧前數(shù)據(jù)進(jìn)棧前SP先加先加1,再進(jìn)棧再進(jìn)棧),考慮考慮08H1FH單元分別屬于單元分別屬于工作寄存器組工作寄存器組13, 若在若在程序中用到這些工作寄存器程序中用到這些工作寄存器, 則在用戶初始化程序中,則在用戶初始化程序中,最好把最好把SP的值改變?yōu)榈闹蹈淖優(yōu)?0H或更大或更大 30H7FH中的值中的值。STC15F2K60S2單片機(jī)的堆棧是朝地址增大的方向生單片機(jī)的堆棧是朝地址增大的方向生成成, 即即數(shù)據(jù)壓棧數(shù)據(jù)壓棧操作操作后后, SP的值增大的值增大(先先SP+1, 再入棧再入棧)。 4:1050高高128字節(jié)字節(jié)RAM和特殊功能和特殊功能寄存器寄

58、存器對于對于STC15F2K60S2STC15F2K60S2單片機(jī),單片機(jī),80H80HFFHFFH既為既為高高128128字節(jié)字節(jié)RAMRAM區(qū)區(qū)的地址范圍,的地址范圍,又為特殊功能寄存器區(qū)又為特殊功能寄存器區(qū)(SFR)(SFR)的地的地址范圍,地址空間重疊,但物理上是獨(dú)立的。址范圍,地址空間重疊,但物理上是獨(dú)立的。使用時,通過不同的尋址方式加以區(qū)分:高使用時,通過不同的尋址方式加以區(qū)分:高128128字節(jié)字節(jié)的的RAMRAM區(qū)使用間接尋址區(qū)使用間接尋址訪問,訪問,特殊功能寄存器使用直特殊功能寄存器使用直接尋址接尋址訪問訪問。因因堆棧堆棧操作也是操作也是間間直接直接尋址方式尋址方式, ,所以

59、所以, ,高高128128位數(shù)據(jù)位數(shù)據(jù)RAMRAM亦可亦可作為堆棧區(qū)作為堆棧區(qū)使用使用特殊功能特殊功能寄存器可進(jìn)出堆棧寄存器可進(jìn)出堆棧。除了程序計(jì)數(shù)器除了程序計(jì)數(shù)器PCPC和和4 4個個工作寄存器組工作寄存器組外,外,其余的寄其余的寄存器都在存器都在SFRSFR區(qū)中區(qū)中。( (見表見表3-23-2) )4:1051特殊功能寄存器特殊功能寄存器特殊特殊功能寄存器大體功能寄存器大體分為兩類分為兩類 一類一類與芯片的引腳有關(guān)。如與芯片的引腳有關(guān)。如P0P0P5P5,它們,它們實(shí)際上實(shí)際上是是6 6個鎖存器個鎖存器,每個鎖存器附加上相應(yīng)的,每個鎖存器附加上相應(yīng)的輸出輸出驅(qū)動驅(qū)動器和輸入緩沖器就構(gòu)成了一

60、個并行口器和輸入緩沖器就構(gòu)成了一個并行口。( (見表見表3-23-2) ) 另一類為另一類為芯片內(nèi)部功能的控制或者內(nèi)部芯片內(nèi)部功能的控制或者內(nèi)部寄存器寄存器。如與中如與中斷屏蔽及優(yōu)先級控制、定時器、斷屏蔽及優(yōu)先級控制、定時器、串行口串行口、SPISPI接口接口等相關(guān)的寄存器。等相關(guān)的寄存器。( (見表見表3-2)3-2)STC15F2K60S2STC15F2K60S2單片機(jī)的特殊功能寄存器及其復(fù)位值單片機(jī)的特殊功能寄存器及其復(fù)位值如如表表3-23-2所列。所列。4:10522) 擴(kuò)展數(shù)據(jù)存儲區(qū)擴(kuò)展數(shù)據(jù)存儲區(qū)on-chip expanded RAM(XRAM)片內(nèi)邏輯片內(nèi)邏輯上屬于外上屬于外部部

溫馨提示

  • 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

提交評論