




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1會計學(xué)單片機(jī)基礎(chǔ)知識資料單片機(jī)基礎(chǔ)知識資料22. 單片機(jī)的發(fā)展過程及產(chǎn)品近況單片機(jī)的發(fā)展過程及產(chǎn)品近況 3. 單片機(jī)的特點單片機(jī)的特點4. 單片機(jī)應(yīng)用系統(tǒng)開發(fā)簡介單片機(jī)應(yīng)用系統(tǒng)開發(fā)簡介第第1 1、3 3章章 單片機(jī)應(yīng)用概述與開發(fā)步驟單片機(jī)應(yīng)用概述與開發(fā)步驟單片機(jī)簡介單片機(jī)簡介3第第1 1、3 3章章 單片機(jī)應(yīng)用概述與開發(fā)步驟單片機(jī)應(yīng)用概述與開發(fā)步驟4第第1 1、3 3章章 單片機(jī)應(yīng)用概述與開發(fā)步驟單片機(jī)應(yīng)用概述與開發(fā)步驟5第第1 1、3 3章章 單片機(jī)應(yīng)用概述與開發(fā)步驟單片機(jī)應(yīng)用概述與開發(fā)步驟6單片機(jī)應(yīng)用系統(tǒng)的研制步驟和方法單片機(jī)應(yīng)用系統(tǒng)開發(fā)的軟硬件環(huán)境Keil C51高級語言集成開發(fā)環(huán)境基
2、于Proteus的單片機(jī)系統(tǒng)仿真Proteus開發(fā)環(huán)境第第1 1、3 3章章 單片機(jī)應(yīng)用概述與開發(fā)步驟單片機(jī)應(yīng)用概述與開發(fā)步驟7單片機(jī)應(yīng)用系統(tǒng)單片機(jī)應(yīng)用系統(tǒng)的研制流程如圖的研制流程如圖所示所示:第第1 1、3 3章章 單片機(jī)應(yīng)用概述與開發(fā)步驟單片機(jī)應(yīng)用概述與開發(fā)步驟8硬件系統(tǒng)硬件系統(tǒng) 根據(jù)總體設(shè)計中確立的功能特性要求,確定單片機(jī)的型號、所需外圍擴(kuò)展芯片、存儲器、I/O電路、驅(qū)動電路,可能還有A/D和D/A轉(zhuǎn)換電路以及其它模擬電路,設(shè)計出應(yīng)用系統(tǒng)的電路原理圖設(shè)計出應(yīng)用系統(tǒng)的電路原理圖。第第1 1、3 3章章 單片機(jī)應(yīng)用概述與開發(fā)步驟單片機(jī)應(yīng)用概述與開發(fā)步驟9第第1 1、3 3章章 單片機(jī)應(yīng)用概述
3、與開發(fā)步驟單片機(jī)應(yīng)用概述與開發(fā)步驟10軟件系統(tǒng)軟件系統(tǒng) 系統(tǒng)資源分配系統(tǒng)資源分配 程序結(jié)構(gòu)程序結(jié)構(gòu) 數(shù)學(xué)模型數(shù)學(xué)模型 程序流程程序流程 編制程序編制程序第第1 1、3 3章章 單片機(jī)應(yīng)用概述與開發(fā)步驟單片機(jī)應(yīng)用概述與開發(fā)步驟11第第1 1、3 3章章 單片機(jī)應(yīng)用概述與開發(fā)步驟單片機(jī)應(yīng)用概述與開發(fā)步驟12單片機(jī)應(yīng)用系統(tǒng)的研制步驟和方法簡介。第第1 1、3 3章章 單片機(jī)應(yīng)用概述與開發(fā)步驟單片機(jī)應(yīng)用概述與開發(fā)步驟13一個典型的單片機(jī)系統(tǒng)開發(fā)環(huán)境組成如圖所示。一個典型的單片機(jī)系統(tǒng)開發(fā)環(huán)境組成如圖所示。單片機(jī)系統(tǒng)開發(fā)環(huán)境組成第第1 1、3 3章章 單片機(jī)應(yīng)用概述與開發(fā)步驟單片機(jī)應(yīng)用概述與開發(fā)步驟144
4、.1 MCS-514.1 MCS-51系列及系列及80C5180C51系列單片機(jī)簡介系列單片機(jī)簡介4.2 80C514.2 80C51系列單片機(jī)外引腳功能系列單片機(jī)外引腳功能4.3 80C514.3 80C51單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)4.4 4.4 低功耗運行方式低功耗運行方式4.5 80C514.5 80C51單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)重點重點重點154.1MCS-51系列及系列及80C51系列單片機(jī)簡介系列單片機(jī)簡介MCS-51系列和系列和80C51系列單片機(jī)系列單片機(jī)Intel公司推出的系列單片機(jī)有:MCS-48、MCS-51、MCS-96系列。Intel公司單片機(jī)系列的符號包括5
5、1和52兩個子系列。第第4 4章章 80C5180C51單片機(jī)硬件基礎(chǔ)知識單片機(jī)硬件基礎(chǔ)知識16基于基于HMOSHMOS工藝,工藝,它們的指令系統(tǒng)它們的指令系統(tǒng)與芯片引腳完全與芯片引腳完全兼容,只是片內(nèi)兼容,只是片內(nèi)程序存儲器程序存儲器(ROMROM)有所不同。有所不同。51系列單片機(jī)系列單片機(jī)80318051875l80C3180C5187C5l第第4 4章章 80C5180C51單片機(jī)硬件基礎(chǔ)知識單片機(jī)硬件基礎(chǔ)知識17MCS-51系列單片機(jī)內(nèi)部組成系列單片機(jī)內(nèi)部組成8位位CPU。片內(nèi)帶振蕩器及時鐘電路。片內(nèi)帶振蕩器及時鐘電路。128B片內(nèi)數(shù)據(jù)片內(nèi)數(shù)據(jù)存儲器存儲器。4KB片內(nèi)程序片內(nèi)程序存儲
6、器存儲器(8031/80C31無)。無)。程序程序存儲器存儲器的尋址范圍為的尋址范圍為64KB。片外數(shù)據(jù)片外數(shù)據(jù)存儲器存儲器的尋址范圍為的尋址范圍為64KB。21B特殊功能寄存器。特殊功能寄存器。48根根I/O線。線。1個全雙工串行個全雙工串行I/O接口,可多機(jī)通信。接口,可多機(jī)通信。2個個16位定時器位定時器/計數(shù)器。計數(shù)器。中斷系統(tǒng)有中斷系統(tǒng)有5個中斷源,可編程為兩個優(yōu)先級。個中斷源,可編程為兩個優(yōu)先級。111條指令,含乘法指令和除法指令。條指令,含乘法指令和除法指令。布爾處理器。布爾處理器。使用單使用單5V電源。電源。51子系列子系列的主要功的主要功能為:能為:第第4 4章章 80C51
7、80C51單片機(jī)硬件基礎(chǔ)知識單片機(jī)硬件基礎(chǔ)知識18與與5151子系列的不同之處在于:片內(nèi)數(shù)據(jù)存儲器增至子系列的不同之處在于:片內(nèi)數(shù)據(jù)存儲器增至256B256B,片內(nèi),片內(nèi)程序存儲器增至程序存儲器增至8KB8KB(8032/80C328032/80C32無),有無),有26B26B的特殊功能寄存的特殊功能寄存器,有器,有3 3個個1616位定時器位定時器/ /計數(shù)器,有計數(shù)器,有6 6個中斷源。其他性能均與個中斷源。其他性能均與5l5l子系列相同。子系列相同。52系列單片機(jī)系列單片機(jī)80328052875280C3280C5287C52第第4 4章章 80C5180C51單片機(jī)硬件基礎(chǔ)知識單片機(jī)
8、硬件基礎(chǔ)知識19Intel 80C51系列單片機(jī)產(chǎn)品命名規(guī)則 第第4 4章章 80C5180C51單片機(jī)硬件基礎(chǔ)知識單片機(jī)硬件基礎(chǔ)知識204.280C51系列單片機(jī)外引腳功能系列單片機(jī)外引腳功能常用兩種封裝為雙列直插式常用兩種封裝為雙列直插式DIP40和方形封裝式和方形封裝式LCC44P1P1口口P3P3口口P0P0口口P2P2口口 時鐘端時鐘端 復(fù)位端復(fù)位端控制信號控制信號 接接VCCVCC(+5V+5V) 接地端接地端214.280C51系列單片機(jī)外引腳功能系列單片機(jī)外引腳功能第第4 4章章 80C5180C51單片機(jī)硬件基礎(chǔ)知識單片機(jī)硬件基礎(chǔ)知識22地址、數(shù)據(jù)和控制:三總線結(jié)構(gòu)地址、數(shù)據(jù)
9、和控制:三總線結(jié)構(gòu)80C51三總線具有以下特點:三總線具有以下特點:(1)P0口的地址口的地址/數(shù)據(jù)復(fù)用。數(shù)據(jù)復(fù)用。(2)兩個獨立的并行擴(kuò)展空間。)兩個獨立的并行擴(kuò)展空間。(3)外圍數(shù)據(jù)存儲器擴(kuò)展的統(tǒng)一編址。)外圍數(shù)據(jù)存儲器擴(kuò)展的統(tǒng)一編址。 鎖存器鎖存器第第4 4章章 80C5180C51單片機(jī)硬件基礎(chǔ)知識單片機(jī)硬件基礎(chǔ)知識2380C51單片機(jī)內(nèi)部結(jié)構(gòu)框圖24中央處理器中央處理器CPU 單片機(jī)最核心的部分是單片機(jī)最核心的部分是CPU,可以說,可以說CPU是單片是單片機(jī)的大腦和心臟。機(jī)的大腦和心臟。第第4 4章章 80C5180C51單片機(jī)硬件基礎(chǔ)知識單片機(jī)硬件基礎(chǔ)知識25存儲器組織存儲器組織(
10、哈佛結(jié)構(gòu)哈佛結(jié)構(gòu))26在程序存儲器中,在程序存儲器中,以下單元具有特殊功能以下單元具有特殊功能0000H:80C51復(fù)位后,復(fù)位后,PC=0000H,即程序從,即程序從0000H開始執(zhí)行指令。開始執(zhí)行指令。0003H:外部中斷:外部中斷0入口。入口。000BH:定時器:定時器0溢出中斷入口。溢出中斷入口。0013H:外部中斷:外部中斷1入口。入口。001BH:定時器:定時器1溢出中斷入口。溢出中斷入口。0023H:串行口中斷入口。:串行口中斷入口。002BH:定時器:定時器2入口(僅入口(僅52子系列有)。子系列有)。 程序存儲器(程序存儲器(51子序列)子序列)程序存儲器用于存放編好的程序或
11、表格常數(shù)程序存儲器用于存放編好的程序或表格常數(shù)27數(shù)據(jù)存儲器數(shù)據(jù)存儲器 數(shù)據(jù)存儲器用于存放數(shù)據(jù)存儲器用于存放中間運算結(jié)果、數(shù)據(jù)暫存和中間運算結(jié)果、數(shù)據(jù)暫存和緩沖、標(biāo)志位等緩沖、標(biāo)志位等。 80C51系列單片機(jī)數(shù)據(jù)存儲器有系列單片機(jī)數(shù)據(jù)存儲器有片內(nèi)和片外片內(nèi)和片外之分之分。片內(nèi)又有。片內(nèi)又有RAM和和SFR之分,之分,這幾個部分的訪問指令這幾個部分的訪問指令不同的不同的,從這一點看,數(shù)據(jù)存儲器的使用比程序存儲,從這一點看,數(shù)據(jù)存儲器的使用比程序存儲器略微復(fù)雜點。采用器略微復(fù)雜點。采用C51語言編程則要簡單許多。語言編程則要簡單許多。第第4 4章章 80C5180C51單片機(jī)硬件基礎(chǔ)知識單片機(jī)硬件
12、基礎(chǔ)知識28 這樣可把數(shù)據(jù)存儲器分為片外數(shù)據(jù)存儲器、片內(nèi)片外數(shù)據(jù)存儲器、片內(nèi)數(shù)據(jù)存儲器、特殊功能存儲器數(shù)據(jù)存儲器、特殊功能存儲器,以下分別加以介紹。1)片內(nèi)數(shù)據(jù)存儲器)片內(nèi)數(shù)據(jù)存儲器 片內(nèi)數(shù)據(jù)存儲器分為片內(nèi)數(shù)據(jù)存儲器分為工作寄存器區(qū)、位尋址區(qū)、數(shù)據(jù)工作寄存器區(qū)、位尋址區(qū)、數(shù)據(jù)緩沖器區(qū)緩沖器區(qū)等三個區(qū)域。等三個區(qū)域。第第4 4章章 80C5180C51單片機(jī)硬件基礎(chǔ)知識單片機(jī)硬件基礎(chǔ)知識29工作寄存器區(qū)工作寄存器區(qū)00H1FH單元為工作寄存器區(qū)。工作寄存器也稱通用寄存器,供用戶編程時使用,臨時寄存8位信息。 80c51單片機(jī)片內(nèi)單片機(jī)片內(nèi)RAM配置配置1)片內(nèi)數(shù)據(jù)存儲器)片內(nèi)數(shù)據(jù)存儲器 30位尋
13、址區(qū) 20H2FH單元是位尋址區(qū),該區(qū)的每一位都賦予了一個位地址。 數(shù)據(jù)緩沖區(qū) 30H7FH是數(shù)據(jù)緩沖區(qū),即用戶RAM區(qū),共80個單元。堆棧與堆棧指針堆棧與堆棧指針片內(nèi)片內(nèi)RAM的部分的部分單元還可以用作堆單元還可以用作堆棧。棧。1)片內(nèi)數(shù)據(jù)存儲器)片內(nèi)數(shù)據(jù)存儲器 312)特殊功能寄存器)特殊功能寄存器 所有單片機(jī)片內(nèi)外設(shè)是依靠對內(nèi)部特殊功能寄存所有單片機(jī)片內(nèi)外設(shè)是依靠對內(nèi)部特殊功能寄存器的操作實現(xiàn)其功能的,器的操作實現(xiàn)其功能的,80C51也不例外,特殊功能寄存器(SFR, Special Function Register)也稱專用寄存器,專用于控制、管理單片機(jī)內(nèi)部算術(shù)邏輯部件、并行I/O口
14、、串行I/O口、定時器/計數(shù)器、中斷系統(tǒng)等功能模塊的工作,用戶在編程時可以置數(shù)設(shè)定,不用戶在編程時可以置數(shù)設(shè)定,不能移作他用。能移作他用。 通過特殊功能寄存器可實現(xiàn)對單片機(jī)內(nèi)部資源的通過特殊功能寄存器可實現(xiàn)對單片機(jī)內(nèi)部資源的操作和管理。操作和管理。第第4 4章章 80C5180C51單片機(jī)硬件基礎(chǔ)知識單片機(jī)硬件基礎(chǔ)知識32常用特殊功能寄存器常用特殊功能寄存器33常用特殊功能寄存器常用特殊功能寄存器第第4 4章章 80C5180C51單片機(jī)硬件基礎(chǔ)知識單片機(jī)硬件基礎(chǔ)知識34端口端口P0P3特殊功能寄存器P0P3分別是I/O端口P0P3的鎖存器。80C51單片機(jī)是把I/O當(dāng)作一般的特殊功能寄存器使
15、用,不專設(shè)端口操作指令,使用方便。 常用特殊功能寄存器常用特殊功能寄存器第第4 4章章 80C5180C51單片機(jī)硬件基礎(chǔ)知識單片機(jī)硬件基礎(chǔ)知識354.5 80C51單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)就是能使單片機(jī)工作的最少的器件構(gòu)成的系統(tǒng),是大多數(shù)控制系統(tǒng)所必不可少的關(guān)鍵部分。 36圖為80C32單片機(jī)的外部擴(kuò)展總線。擴(kuò)展外部接口電路擴(kuò)展外部接口電路第第4 4章章 80C5180C51單片機(jī)硬件基礎(chǔ)知識單片機(jī)硬件基礎(chǔ)知識37將80C32單片機(jī)的外部擴(kuò)展總線接到外部程序存儲器的地址總線、數(shù)據(jù)總線和控制總線,即構(gòu)成80C32單片機(jī)最小系統(tǒng)。 擴(kuò)展外部接口電路擴(kuò)展外部接口電路第第4 4章章
16、 80C5180C51單片機(jī)硬件基礎(chǔ)知識單片機(jī)硬件基礎(chǔ)知識385.1計算機(jī)語言概述計算機(jī)語言概述5.280C51單片機(jī)尋址方式單片機(jī)尋址方式5.380C51單片機(jī)指令系統(tǒng)單片機(jī)指令系統(tǒng)5.480C51匯編語言程序設(shè)計匯編語言程序設(shè)計5.580C51單片機(jī)單片機(jī)C51程序設(shè)計語言程序設(shè)計語言5.6C51的運算符和表達(dá)式的運算符和表達(dá)式5.7C51的庫函數(shù)的庫函數(shù)5.8C51的應(yīng)用技巧的應(yīng)用技巧暫時不講39單片機(jī)應(yīng)用系統(tǒng)單片機(jī)應(yīng)用系統(tǒng)硬件軟件程序設(shè)計程序設(shè)計的最終結(jié)果是軟件。 第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識40機(jī)器語言機(jī)器語言是計算機(jī)唯一能識別的語言,用匯
17、編語言和高級語言編寫的程序(稱為源程序)最終都必須翻譯成機(jī)器語言的程序(稱為目標(biāo)程序),計算機(jī)才能識別。 計算機(jī)語言計算機(jī)語言e100 33 f6 bf 0 20 b5 10 f3 a5 8c c8 5 0 2 50 68 13 1 cb e 1f be a1 1 bf 0 1e11b 6 57 b8 11 1 bb 21 13 89 7 4b 4b 48 79 f9 ad 86 e0 8b c8 bd ff ff e8 20e134 0 3d 0 1 74 1a 7f 3 aa eb f3 2d ff 0 50 e8 f 0 5a f7 d8 8b d8 26 8a 1 aae14f 4a
18、75 f9 eb de cb 57 bb 21 13 8b c1 40 f7 27 f7 f5 8b fb ba 11 1 4f 4f 4ae168 39 5 7f f9 52 8b c5 f7 25 f7 37 2b c8 95 f7 65 2 f7 37 95 2b e8 fe e fee181 10 79 6 c6 6 fe 10 7 46 d0 14 d1 d1 d1 e5 79 ec 5a b8 11 1 ff 7 4b 4b 48e19b 3b d0 75 f7 5f c3 83 f7 83 a6 5d 59 82 cd b2 8 42 46 9 57 a9 c5 ca aa 1b
19、e1b4 4f 52 b4 92 3f ab 6e 9e a8 1d c6 3 fc e 6a e7 ae bb 5f 7b 10 b8 b4 f7 8e1cd e2 bf 36 4e 39 9d 79 29 3f a f9 36 52 16 fb 5 e8 e5 a6 c2 e9 b0 43 d3 a3e1e6 cf d3 fd fd cb d1 4c 5e e0 63 58 86 bb 3e 9 c1 20 bc cc 91 a3 47 81 70 b3e1ff d6 1a 9e c2 c9 12 e7 4e ad f4 5f e3 30 e9 9 39 d7 e8 f9 f4 d2 44
20、 e8 d7 22e218 be e2 ce 88 25 cf 30 4a a8 29 ae 3f 47 c6 2d 85 e9 73 54 13 b e6 e0 34 65第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識41匯編語言匯編語言是能夠利用單片機(jī)所有特性直接控制硬件的唯一語言,對于一些需要直接控制硬件的場合,匯編語言是必不可少的。 但但匯編語言不是一種結(jié)構(gòu)化的程序設(shè)計語言,對于較復(fù)雜的單片機(jī)應(yīng)用系統(tǒng),它的編寫效率很低。 第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識42許多型號的單片機(jī)內(nèi)部許多型號的單片機(jī)內(nèi)部ROM已經(jīng)達(dá)到已經(jīng)達(dá)到6
21、4KB甚至更大,甚至更大,且具備在系統(tǒng)編程(且具備在系統(tǒng)編程(ISP,InSystemProgrammable)功能,進(jìn)一步推動了功能,進(jìn)一步推動了C語言語言在單片機(jī)應(yīng)用系統(tǒng)開發(fā)中的在單片機(jī)應(yīng)用系統(tǒng)開發(fā)中的應(yīng)用。應(yīng)用。 開發(fā)人員首先必須對首先必須對C語言有較透徹的掌握語言有較透徹的掌握,其次還應(yīng)該對實際單片機(jī)硬件系統(tǒng)有深入的理解。高級語言高級語言第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識43C51的特點和功能主要是80C51單片機(jī)自身特點引起的。 頭文件頭文件:為了實現(xiàn)這些功能,只需將相應(yīng)的功能寄存:為了實現(xiàn)這些功能,只需將相應(yīng)的功能寄存器的頭文件加載在程序中,就
22、可實現(xiàn)指定的功能。因器的頭文件加載在程序中,就可實現(xiàn)指定的功能。因此,此,C51C51系列頭文件集中體現(xiàn)了各系列芯片的不同功能系列頭文件集中體現(xiàn)了各系列芯片的不同功能。 數(shù)據(jù)類型:由于80C51系列器件包含了位操作空間和豐富的位操作指令,因此 C51比ANSI C多一種位類型。 C51特點:第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識44數(shù)據(jù)存儲類型:80C51系列單片機(jī)有程序存儲器和數(shù)據(jù)存儲器。數(shù)據(jù)存儲器又分片內(nèi)和片外數(shù)據(jù)存儲器。片內(nèi)數(shù)據(jù)存儲器還分直接尋址區(qū)和間接尋址區(qū),分別對應(yīng)code、data、idata、xdata以及根據(jù)80C51系列特點而設(shè)定的pdata
23、類型。 第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識C51特點:45數(shù)據(jù)運算操作和程序控制數(shù)據(jù)運算操作和程序控制:從數(shù)據(jù)運算操作和程序控制語句以及函數(shù)的使用上來講,它們幾乎沒有什么明顯的區(qū)別。只是在函數(shù)的使用上,由于單片機(jī)系統(tǒng)的資源有限,它的編譯系統(tǒng)不允許太多的程序嵌套。 C51與標(biāo)準(zhǔn)ANSI C庫函數(shù):部分庫函數(shù)不適合單片機(jī)處理系統(tǒng),因此被排除在外,如字符屏幕和圖形函數(shù)。 第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識46C51的標(biāo)識符和關(guān)鍵字的標(biāo)識符和關(guān)鍵字標(biāo)識符用來標(biāo)識源程序中某個對象的名字,這些對象標(biāo)識符用來標(biāo)識源程序中某個對象的名
24、字,這些對象可以是語句、數(shù)據(jù)類型、函數(shù)、變量、數(shù)組等??梢允钦Z句、數(shù)據(jù)類型、函數(shù)、變量、數(shù)組等。標(biāo)識符區(qū)分大小寫,第一個字符必須是字母或下劃線標(biāo)識符區(qū)分大小寫,第一個字符必須是字母或下劃線。C51中有些庫函數(shù)的標(biāo)識符是以下劃線開頭的,所以中有些庫函數(shù)的標(biāo)識符是以下劃線開頭的,所以一般不要以下劃線開頭命名標(biāo)識符。一般不要以下劃線開頭命名標(biāo)識符。第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識47表表5.2C51編譯器的擴(kuò)展關(guān)鍵字編譯器的擴(kuò)展關(guān)鍵字bdatacharIB0_at_0X2C; bitb2; unsignedintcodeunid2=0 x1234,0 x752
25、b; intfunc(inti,intj)compact; 第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識48表表5.2C51編譯器的擴(kuò)展關(guān)鍵字編譯器的擴(kuò)展關(guān)鍵字(續(xù))(續(xù))voidtimer0(void)interrupt1; sbitp1_1=p11; sfrp1=0 x90; 第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識495.5.2C51編譯器能識別的數(shù)據(jù)類型編譯器能識別的數(shù)據(jù)類型數(shù)數(shù) 據(jù)據(jù) 類類 型型長長 度度大大 小小unsigned char1B0255char1B- -128+127unsigned int2B065535i
26、nt2B- -32768+32767unsigned long4B04294967295long4B- -2147483648+2147483647float4B 1.175494E-38 3.402823E+38*1B3B對象的地址對象的地址bit位位0或或1sfr1B0255sfr162B065535sbit位位0或或1第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識50sfr特殊功能寄存器特殊功能寄存器作用作用:利用它可以訪問:利用它可以訪問51單片機(jī)內(nèi)部所有特殊功單片機(jī)內(nèi)部所有特殊功能寄存器。能寄存器。說明:說明:定義的變量占用一個內(nèi)存單元,值域為定義的變量占用
27、一個內(nèi)存單元,值域為0-255。例如:例如:sfrp1=0 x90;定義定義P1為為P1端口在片內(nèi)的寄存器。端口在片內(nèi)的寄存器。P1=255;對對P1端口的所有引腳置高電平。從而端口的所有引腳置高電平。從而來操作特殊功能寄存器。來操作特殊功能寄存器。第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識51第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識52sfr特殊功能寄存器特殊功能寄存器80C52特殊功能寄存器表特殊功能寄存器表第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識53注:注:帶帶*號的號的特殊功特殊功能寄存能寄存
28、器都是器都是可位尋可位尋址的寄址的寄存器。存器。80C52特殊功能寄存器表特殊功能寄存器表(續(xù))(續(xù))第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識54sbit定義可位尋址位的特殊功能寄存器的位尋定義可位尋址位的特殊功能寄存器的位尋址對象有三種方法:址對象有三種方法:(1)sbit位變量名位變量名=位地址位地址將位的絕對地址賦給位變量,位地址必須位于將位的絕對地址賦給位變量,位地址必須位于0 x80H-0 xFF之間。之間。如:如:sbitCY=0 xD7;第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識55Sbit定義可位尋址位的特殊功能寄存
29、器的位尋址對象有三種方法:定義可位尋址位的特殊功能寄存器的位尋址對象有三種方法:(2)sbit位變量名位變量名=特殊功能寄存器名特殊功能寄存器名位位置位位置當(dāng)可尋址位位于特殊功能寄存器中時,可采用這種方法。當(dāng)可尋址位位于特殊功能寄存器中時,可采用這種方法。0-7之間的常數(shù)。之間的常數(shù)。例如:例如:sfrSCON=0X98;sbitRI=SCON0;sbitTI=SCON1;sbitRB8=SCON2;sbitTB8=SCON3;sbitREN=SCON4;sbitSM2=SCON5;sbitSM1=SCON6;sbitSM0=SCON7;/*定義SCON*/*定義SCON的各位*/第第5 5章
30、章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識56(3)sbit位變量名位變量名=字節(jié)地址字節(jié)地址位位置位位置字節(jié)地址必須在字節(jié)地址必須在0 x80H-0 xFF之間。之間。Sbit定義可位尋址位的特殊功能寄存器的位尋址對象有三種方法:定義可位尋址位的特殊功能寄存器的位尋址對象有三種方法:例如:例如:sbitCY=0XD07;第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識575.5.3變量的存儲種類和存儲器類型變量的存儲種類和存儲器類型變量是一種在程序執(zhí)行過程中,其數(shù)值不斷變化的變量是一種在程序執(zhí)行過程中,其數(shù)值不斷變化的量。同量。同ANSIC一樣,一樣
31、,C51規(guī)定變量必須先定義后使規(guī)定變量必須先定義后使用。用。C51對變量的進(jìn)行定義的格式如下:對變量的進(jìn)行定義的格式如下:存儲種類存儲種類數(shù)據(jù)類型數(shù)據(jù)類型存儲器類型存儲器類型變量名表變量名表可選項。第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識58存儲器類型存儲器類型 定義變量時,除了說明存儲種類外,還允許說明變量的存儲器類型。存儲器類型和存儲種類是完全不同的概念,存儲器類型指明該變量所處的單片機(jī)的內(nèi)存空存儲器類型指明該變量所處的單片機(jī)的內(nèi)存空間。間。C51編譯器可識別以下存儲器類型,如下表所示。 第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知
32、識59存儲器類型存儲器類型描描 述述data直接尋址的片內(nèi)數(shù)據(jù)存儲器低直接尋址的片內(nèi)數(shù)據(jù)存儲器低128B,訪問速度最快,訪問速度最快bdata可位尋址的片內(nèi)數(shù)據(jù)存儲器(地址可位尋址的片內(nèi)數(shù)據(jù)存儲器(地址20H2FH共共16B)允許位和)允許位和字節(jié)混合訪問字節(jié)混合訪問idata間接尋址片內(nèi)數(shù)據(jù)存儲器間接尋址片內(nèi)數(shù)據(jù)存儲器256B。允許訪問片內(nèi)全部地址。允許訪問片內(nèi)全部地址pdata分頁尋址片外數(shù)據(jù)存儲器分頁尋址片外數(shù)據(jù)存儲器256B,使用指令,使用指令MOVX Rn訪問,需訪問,需要要2個指令周期個指令周期xdata尋址片外數(shù)據(jù)存儲器尋址片外數(shù)據(jù)存儲器64KB,使用指令,使用指令MOVX DP
33、TR訪問訪問code尋址程序存儲器區(qū)尋址程序存儲器區(qū)64KB,使用指令,使用指令MOVC A+DPTR訪問訪問第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識60存儲模式存儲模式C51編譯器允許采用三種存儲模式:編譯器允許采用三種存儲模式:小編譯模式小編譯模式SMALL、緊湊編譯模式、緊湊編譯模式COMPACT、大編譯模式、大編譯模式LARGE。第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識615.5.4絕對地址的訪問絕對地址的訪問1.使用指針使用指針采用指針的方法,可實現(xiàn)在C51程序中對任意指定的存儲器地址進(jìn)行操作。 ucharidataiv
34、ar1;ucharxdata*xdp;/*定義一個指向定義一個指向xdata存儲器空間的指針存儲器空間的指針*/chardata*dp;/*定義一個指向定義一個指向DATA存儲器空間的指針存儲器空間的指針*/ucharidata*idp;/*定義一個指向定義一個指向idata存儲器空間的指針存儲器空間的指針*/xdp=0 x1000;/*xdata指針賦值,指向指針賦值,指向xdata存儲器地址存儲器地址1000H處處*/*xdp=0 x5A;/*將數(shù)據(jù)將數(shù)據(jù)5AH送到送到xdata的的1000H單元單元*/dp=0 x61;/*DATA指針賦值,指向指針賦值,指向DATA存儲器地址存儲器地址
35、61H處處*/*dp=0 x23;/*將數(shù)據(jù)將數(shù)據(jù)23H送到送到DATA的的61H單元單元*/idp=&ivar1;/*idp指向指向idata區(qū)變量區(qū)變量ivar1*/*idp=0 x16; /*等價于等價于ivar1=0 x16*/第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識622.使用使用C51運行庫中預(yù)定義宏運行庫中預(yù)定義宏#define CBYTE(unsigned char volatile *)0 x50000L)#define DBYTE(unsigned char volatile *)0 x40000L)#define PBYTE(uns
36、igned char volatile *)0 x30000L)#define XBYTE(unsigned char volatile *)0 x20000L)#define CWORD(unsigned int volatile *)0 x50000L)#define DWORD(unsigned int volatile *)0 x40000L)#define PWORD(unsigned int volatile *)0 x30000L)#define XWORD(unsigned int volatile *)0 x20000L)第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識
37、單片機(jī)軟件基礎(chǔ)知識633.使用使用C51擴(kuò)展關(guān)鍵字?jǐn)U展關(guān)鍵字_at_使用使用_at_對指定的存儲器空間的絕對地址進(jìn)行定對指定的存儲器空間的絕對地址進(jìn)行定位,一般格式如下:位,一般格式如下:存儲器類型存儲器類型數(shù)據(jù)類型數(shù)據(jù)類型標(biāo)識符標(biāo)識符_at_常數(shù)常數(shù)uchar xdata xram0 x8000 _at_ 0 x0000;/*在外部RAM空間0000H處定義了一個一維數(shù)組 例如 使用使用_at_定義的變量只能為全局變量。定義的變量只能為全局變量。第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識645.5.5中斷服務(wù)程序中斷服務(wù)程序80C51的中斷系統(tǒng)十分重要,的中斷系
38、統(tǒng)十分重要,C51編譯器允許在編譯器允許在C語言語言源程序中聲明中斷和編寫中斷服務(wù)程序,從而減輕了源程序中聲明中斷和編寫中斷服務(wù)程序,從而減輕了采用匯編程序編寫中斷服務(wù)程序的繁瑣程度。采用匯編程序編寫中斷服務(wù)程序的繁瑣程度。第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識65通過使用interrupt關(guān)鍵字來實現(xiàn)。定義中斷服務(wù)程序的一般格式如下:void 函數(shù)名( ) interrupt n using musingm指明該中斷服務(wù)程序所對應(yīng)的工作寄存器組指明該中斷服務(wù)程序所對應(yīng)的工作寄存器組,取值范圍:,取值范圍:03。指定工作寄存器組的缺點是所有指定工作寄存器組的缺
39、點是所有被中斷調(diào)用的過程都必須使用同一個寄存器組,否則被中斷調(diào)用的過程都必須使用同一個寄存器組,否則參數(shù)傳遞會發(fā)生錯誤。通常不設(shè)定參數(shù)傳遞會發(fā)生錯誤。通常不設(shè)定usingm。 第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識66關(guān)鍵字關(guān)鍵字interrupt后面的后面的n是中斷號,是中斷號,n的取值范圍:的取值范圍:031。編譯程序從編譯程序從8n+3處產(chǎn)生中斷向量,即在程序存處產(chǎn)生中斷向量,即在程序存儲器儲器8n+3地址處形成一條長跳轉(zhuǎn)指令,轉(zhuǎn)向中斷號地址處形成一條長跳轉(zhuǎn)指令,轉(zhuǎn)向中斷號n的中斷服務(wù)程序。的中斷服務(wù)程序。中中 斷斷 號號 n中中 斷斷 源源中中 斷斷
40、向向 量量0外部中斷外部中斷00003H1定時器定時器0000BH2外部中斷外部中斷10013H3定時器定時器1001BH4串行口串行口0023H第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識675.6C51的運算符和表達(dá)式的運算符和表達(dá)式運算符就是完成某種特定運算的符號。運算符按其運算符就是完成某種特定運算的符號。運算符按其表達(dá)式中與運算符的關(guān)系可分為表達(dá)式中與運算符的關(guān)系可分為單目運算符、雙目單目運算符、雙目運算符和三目運算符。運算符和三目運算符。第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識685.6.1賦值運算符賦值運算符使用“=”的
41、賦值語句格式如下:變量 = 表達(dá)式; 需要注意需要注意“=”與與“=”兩個符號的區(qū)別,有時編譯報兩個符號的區(qū)別,有時編譯報錯,往往就是錯在錯,往往就是錯在if(b=0 xff)之類的語句中,錯將)之類的語句中,錯將“=”用為用為“=”?!?”符號是用來進(jìn)行相等關(guān)系的符號是用來進(jìn)行相等關(guān)系的運算。運算。第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識695.6.2算術(shù)運算符算術(shù)運算符+加或取正值運算符加或取正值運算符-減或取負(fù)值運算符減或取負(fù)值運算符*乘運算符乘運算符/除運算符除運算符%模(取余)運算符,如模(取余)運算符,如8%5=3,即,即8除以除以5的的余數(shù)是余數(shù)是
42、3第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識705.6.3關(guān)系運算符關(guān)系運算符C51中有6種關(guān)系運算符: 大于= 大于等于= 小于等于= 測試等于!= 測試不等于第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識715.6.4邏輯運算符邏輯運算符邏輯邏輯與與:條件式:條件式1&條件式條件式2。邏輯邏輯或或:條件式:條件式1|條件式條件式2。邏輯邏輯非非:!條件式。:!條件式。第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識725.6.5位運算符位運算符C51中共有中共有6種位運算符:種位運算符:&按位與
43、按位與|按位或按位或按位異或按位異或按位取反按位取反右移右移第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識735.6.6復(fù)合運算符復(fù)合運算符復(fù)合運算符就是在賦值運算符復(fù)合運算符就是在賦值運算符“=”的前面加上其的前面加上其他運算符。以下是他運算符。以下是C51語言中的復(fù)合賦值運算符:語言中的復(fù)合賦值運算符:+=加法賦值加法賦值=右移位賦值右移位賦值-=減法賦值減法賦值&=邏輯與賦值邏輯與賦值*=乘法賦值乘法賦值|=邏輯或賦值邏輯或賦值/=除法賦值除法賦值=邏輯異或賦值邏輯異或賦值%=取模賦值取模賦值=邏輯非賦值邏輯非賦值=左移位賦值左移位賦值第第5 5章章 8
44、0C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識745.6.7指針和地址運算符指針和地址運算符指針是指針是C語言中十分重要的概念,也是學(xué)習(xí)語言中十分重要的概念,也是學(xué)習(xí)C51語言中語言中的一個難點。的一個難點。C51語言中提供的兩個專門用于指針和語言中提供的兩個專門用于指針和地址的運算符:地址的運算符:*取內(nèi)容取內(nèi)容&取地址取地址取內(nèi)容和取地址運算的一般形式分別為:取內(nèi)容和取地址運算的一般形式分別為:變量變量=*指針變量指針變量指針變量指針變量=&目標(biāo)變量目標(biāo)變量第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識755.7C51的庫函數(shù)的庫函數(shù)C51
45、的強(qiáng)大功能及其高效率的重要體現(xiàn)之一在于,其的強(qiáng)大功能及其高效率的重要體現(xiàn)之一在于,其提供了豐富的可直接調(diào)用的庫函數(shù)。提供了豐富的可直接調(diào)用的庫函數(shù)。使用庫函數(shù)使程使用庫函數(shù)使程序代碼簡單、結(jié)構(gòu)清晰、易于調(diào)試和維護(hù),下面介紹序代碼簡單、結(jié)構(gòu)清晰、易于調(diào)試和維護(hù),下面介紹C51的庫函數(shù)系統(tǒng)。的庫函數(shù)系統(tǒng)。第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識765.7.2幾類重要的庫函數(shù)幾類重要的庫函數(shù)C51提供了豐富的庫函數(shù)資源,包括大量的關(guān)于提供了豐富的庫函數(shù)資源,包括大量的關(guān)于I/O操操作、內(nèi)存分配、字符串操作、數(shù)據(jù)類型轉(zhuǎn)換、數(shù)學(xué)計算作、內(nèi)存分配、字符串操作、數(shù)據(jù)類型轉(zhuǎn)換、
46、數(shù)學(xué)計算等函數(shù)庫。它們是以執(zhí)行代碼的形式出現(xiàn),供用戶在連等函數(shù)庫。它們是以執(zhí)行代碼的形式出現(xiàn),供用戶在連接定位時用。接定位時用。在用預(yù)處理器命令在用預(yù)處理器命令include包含相應(yīng)的包含相應(yīng)的頭文件后,就可以在程序中使用這些函數(shù)。頭文件后,就可以在程序中使用這些函數(shù)。第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識771.內(nèi)部函數(shù)內(nèi)部函數(shù)intrins.h這個庫中提供的是一些用匯編語言編寫的函數(shù)。用匯這個庫中提供的是一些用匯編語言編寫的函數(shù)。用匯編語言編寫非常直接簡單且目代碼很短,而用編語言編寫非常直接簡單且目代碼很短,而用C51編寫編寫則代碼很長。這些函數(shù)主要有:則
47、代碼很長。這些函數(shù)主要有:_crol_/_cror_無符號字符型變量左無符號字符型變量左/右移位函數(shù)右移位函數(shù)_irol_/_iror_無符號整型變量左無符號整型變量左/右移位函數(shù)右移位函數(shù)_lrol_/_lror_無符號長整型變量左無符號長整型變量左/右移位函數(shù)右移位函數(shù)_nop_空操作函數(shù)空操作函數(shù)_testbit_位測試函數(shù)位測試函數(shù)第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識782.絕對地址訪問函數(shù)絕對地址訪問函數(shù)absacc.h用預(yù)處理器偽指令用預(yù)處理器偽指令define為各空間的絕對地址定義宏數(shù)組名如下:為各空間的絕對地址定義宏數(shù)組名如下:defineC
48、BYTE(unsignedchar*)0 x500000L)/*code空間空間*/defineDBYTE(unsignedchar*)0 x400000L)/*data空間空間*/definePBYTE(unsignedchar*)0 x300000L)/*pdata空間空間*/defineXBYTE(unsignedchar*)0 x200000L)/*xdata空間空間*/以上存取對象是以上存取對象是char類型字節(jié)。類型字節(jié)。第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識793.緩沖區(qū)處理函數(shù)緩沖區(qū)處理函數(shù)string.h如:計算字符串如:計算字符串s的長度的
49、長度strlen 原型:extern int strlen(char *s);說明:返回s的長度,不包括結(jié)束符NULL。舉例:#include main() char *s=Golden Global View; printf(%s has %d chars,s,strlen(s); getchar(); return 0; 第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識806.1中斷系統(tǒng)和外中斷中斷系統(tǒng)和外中斷6.2定時器定時器/計數(shù)器計數(shù)器6.3串行通信串行通信81單片機(jī)內(nèi)部又集成了許多功能單元,如單片機(jī)內(nèi)部又集成了許多功能單元,如中斷、中斷、定時器定時器/計數(shù)器
50、、串行通信、模擬計數(shù)器、串行通信、模擬/數(shù)字轉(zhuǎn)換(數(shù)字轉(zhuǎn)換(ADC)、脈沖寬度調(diào)制()、脈沖寬度調(diào)制(PWM)等單元)等單元。我們把這些單片機(jī)內(nèi)部的功能單元統(tǒng)稱為我們把這些單片機(jī)內(nèi)部的功能單元統(tǒng)稱為單片單片機(jī)內(nèi)部資源。機(jī)內(nèi)部資源。80C51單片機(jī)片內(nèi)單片機(jī)片內(nèi)RAM的的80HFFH空間有空間有21個特殊功能個特殊功能寄存器寄存器SFR,通過這些特殊功能寄存器可實現(xiàn)對全部內(nèi)部資,通過這些特殊功能寄存器可實現(xiàn)對全部內(nèi)部資源的運行操作。源的運行操作。第第6 6章章 80C5180C51單片機(jī)內(nèi)部資源及應(yīng)用單片機(jī)內(nèi)部資源及應(yīng)用82第第5 5章章 80C5180C51單片機(jī)軟件基礎(chǔ)知識單片機(jī)軟件基礎(chǔ)知識
51、注:注:帶帶*號的號的特殊功特殊功能寄存能寄存器都是器都是可位尋可位尋址的寄址的寄存器。存器。83TCON中的中斷標(biāo)志位中的中斷標(biāo)志位位位 地地 址址8F8E8D8C8B8A8988位位 符符 號號TF1TR1TF0TR0IE1IT1IE0IT0這個寄存器既有定時器這個寄存器既有定時器/計數(shù)器的控制功能又有中斷控計數(shù)器的控制功能又有中斷控制功能,制功能,其中與中斷有關(guān)的控制位共其中與中斷有關(guān)的控制位共6位:位:IE0和和IE1、IT0和和IT1以及以及TF0和和TF1。84定時控制寄存器TCON各位的功能位位 地地 址址位位 符符 號號功功 能能8FHTF1定時器定時器/計數(shù)器計數(shù)器T1溢出標(biāo)
52、志位溢出標(biāo)志位8EHTR1定時器定時器/計數(shù)器計數(shù)器T1運行控制位運行控制位8DHTF0定時器定時器/計數(shù)器計數(shù)器T0溢出標(biāo)志位溢出標(biāo)志位8CHTR0定時器定時器/計數(shù)器計數(shù)器T0運行控制位運行控制位8BHIE1外部中斷外部中斷1請求標(biāo)志位請求標(biāo)志位8AHIT1外部中斷外部中斷1觸發(fā)類型選擇位觸發(fā)類型選擇位89HIE0外部中斷外部中斷0請求標(biāo)志位請求標(biāo)志位88HIT0外部中斷外部中斷0觸發(fā)類型選擇位觸發(fā)類型選擇位85SCON中的串行中斷標(biāo)志位中的串行中斷標(biāo)志位SCON寄存器地址寄存器地址98H,位地址,位地址9FH98H,其中的低,其中的低2位位RI和和TI鎖存串行口的接收中斷和發(fā)送中斷的申請
53、鎖存串行口的接收中斷和發(fā)送中斷的申請標(biāo)志位標(biāo)志位,如表所示。,如表所示。位地址位地址9FH9EH9DH9CH9BH9AH99H98H位符號位符號TIRI86位地址位地址9FH9EH9DH9CH9BH9AH99H98H位符號位符號TIRITI:串行口串行口發(fā)送發(fā)送中斷請求標(biāo)志位。串行口每發(fā)送完一中斷請求標(biāo)志位。串行口每發(fā)送完一幀串行數(shù)據(jù)后,由內(nèi)部硬件置幀串行數(shù)據(jù)后,由內(nèi)部硬件置1,表示串行口發(fā)送器,表示串行口發(fā)送器向向CPU申請中斷。申請中斷。注意注意:CPU響應(yīng)該中斷,轉(zhuǎn)入串行口中斷入口時,對響應(yīng)該中斷,轉(zhuǎn)入串行口中斷入口時,對TI位不位不清清0,TI必須由用戶在程序中清必須由用戶在程序中清0
54、。80C51單片機(jī)復(fù)單片機(jī)復(fù)位后,位后,TCON和和SCON各位均被清各位均被清0。RI:串行口串行口接收接收中斷請求標(biāo)志位。串中斷請求標(biāo)志位。串行口每接收完一幀串行數(shù)據(jù)后,行口每接收完一幀串行數(shù)據(jù)后,RI由由硬件置硬件置1。871 1:允許:允許0 0:禁止:禁止中斷控制中斷控制位地址位地址AFHAEHADHACHABHAAHA9HA8H位符號位符號EAESET1EX1ET0EX0中斷控制主要通過中斷允許寄存器中斷控制主要通過中斷允許寄存器IE和中斷優(yōu)先級寄存器和中斷優(yōu)先級寄存器IP實現(xiàn)。實現(xiàn)。中斷允許控制寄存器88中斷優(yōu)先級控制中斷優(yōu)先級控制80C51有兩個中斷優(yōu)先級,每個中斷源均可通過軟
55、件設(shè)置為高優(yōu)先級或低優(yōu)先級中斷,實現(xiàn)2級中斷嵌套。 中斷優(yōu)先級控制寄存器位地址位地址BFHBEHBDHBCHBBHBAHB9HB8H位符號位符號PSPT1PX1PT0PX01 1:優(yōu)先:優(yōu)先0 0:滯后:滯后8990M0M1C/TGATEM0M1C/TGATED0D1D2D3D4D5D6D7定時器定時器T1定時器定時器T0工作方式寄存器(工作方式寄存器(TMOD)91M1 M0工工 作作 方方 式式功功 能能 說說 明明0 0方式方式013位計數(shù)器位計數(shù)器0 1方式方式116位計數(shù)器位計數(shù)器1 0方式方式2自動重裝自動重裝8位計數(shù)器位計數(shù)器1 1方式方式3定時器定時器0:分成兩個:分成兩個8位
56、位定時器定時器1:停止計數(shù):停止計數(shù)M0M1C/TGATEM0M1C/TGATED0D1D2D3D4D5D6D7定時器定時器T1定時器定時器T092T2CON的格式如表所示。控制寄存器控制寄存器T2CON控制控制溢溢出出中中斷斷標(biāo)標(biāo)識識位位外外部部中中斷斷標(biāo)標(biāo)識識位位串串行行口口接接收收時時鐘鐘標(biāo)標(biāo)識識位位串串行行口口發(fā)發(fā)送送時時鐘鐘標(biāo)標(biāo)識識位位外外部部允允許許標(biāo)標(biāo)識識位位運運行行控控制制位位功功能能選選擇擇位位捕捕捉捉/重重裝裝載載標(biāo)標(biāo)識識位位93串行控制寄存器SCON位地址位地址9FH9EH9DH9CH9BH9AH99H98H位符號位符號SM0SM1SM2RENTB8RB8TIRI串串行行
57、口口工工作作方方式式選選擇擇位位多多機(jī)機(jī)通通信信控控制制位位允允許許接接收收位位發(fā)發(fā)送送數(shù)數(shù)據(jù)據(jù)位位8接接收收數(shù)數(shù)據(jù)據(jù)位位8發(fā)發(fā)送送中中斷斷標(biāo)標(biāo)志志接接收收中中斷斷標(biāo)標(biāo)志志94(2)電源控制寄存器)電源控制寄存器PCON PCON主要是為CHMOS型單片機(jī)的電源控制而設(shè)置的專用寄存器。單元地址為87H。其內(nèi)容如表所示。位位 序序D7D6D5D4D3D2D1D0位符號位符號SMODGF1GF0PDIDL串行口波特率的倍增位,當(dāng)串行口波特率的倍增位,當(dāng)SMOD=1時串行口波特率加倍。系時串行口波特率加倍。系統(tǒng)復(fù)位時,統(tǒng)復(fù)位時,SMOD=0。95中斷允許控制寄存器中斷允許控制寄存器IE中斷允許控制寄
58、存器IE在前面的中斷系統(tǒng)中已詳細(xì)介紹過,IE的地址是A8H,其內(nèi)容如表所示。其中與串行口允許中斷的控制位為ES,當(dāng)ES = 1,允許串行口中斷;當(dāng)ES = 0,禁止串行中斷。位位 地地 址址AFHAEHADHACHABHAAHA9HA8H位符號位符號EAESET1EX1ET0EX0961.中斷中斷由于中斷源的請求,CPU暫停當(dāng)前程序而執(zhí)行中斷處理程序,完畢后返回原程序繼續(xù)執(zhí)行的過程稱為中斷。中斷過程分為中斷請求、響應(yīng)、處理、返回中斷請求、響應(yīng)、處理、返回四個階段。第第6 6章章 80C5180C51單片機(jī)內(nèi)部資源及應(yīng)用單片機(jī)內(nèi)部資源及應(yīng)用97中斷允許控制寄存器中斷允許控制寄存器IE中斷允許控制
59、寄存器IE在前面的中斷系統(tǒng)中已詳細(xì)介紹過,IE的地址是A8H,其內(nèi)容如表所示。其中與串行口允許中斷的控制位為ES,當(dāng)ES = 1,允許串行口中斷;當(dāng)ES = 0,禁止串行中斷。位位 地地 址址AFHAEHADHACHABHAAHA9HA8H位符號位符號EAESET1EX1ET0EX098TCON中的中斷標(biāo)志位中的中斷標(biāo)志位位位 地地 址址8F8E8D8C8B8A8988位位 符符 號號TF1TR1TF0TR0IE1IT1IE0IT0這個寄存器既有定時器這個寄存器既有定時器/計數(shù)器的控制功能又有中斷控計數(shù)器的控制功能又有中斷控制功能,制功能,其中與中斷有關(guān)的控制位共其中與中斷有關(guān)的控制位共6位:
60、位:IE0和和IE1、IT0和和IT1以及以及TF0和和TF1。第第6 6章章 80C5180C51單片機(jī)內(nèi)部資源及應(yīng)用單片機(jī)內(nèi)部資源及應(yīng)用99SCON中的串行中斷標(biāo)志位中的串行中斷標(biāo)志位SCON寄存器地址寄存器地址98H,位地址,位地址9FH98H,其中的低,其中的低2位位RI和和TI鎖存串行口的接收中斷和發(fā)送中斷的申請鎖存串行口的接收中斷和發(fā)送中斷的申請標(biāo)志位標(biāo)志位,如表所示。,如表所示。位地址位地址9FH9EH9DH9CH9BH9AH99H98H位符號位符號TIRI第第6 6章章 80C5180C51單片機(jī)內(nèi)部資源及應(yīng)用單片機(jī)內(nèi)部資源及應(yīng)用1001 1:允許:允許0 0:禁止:禁止中斷控制中斷控制位地址位地址AFHAEHADHAC
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國高壓高強(qiáng)免燒壓磚機(jī)市場分析及競爭策略研究報告
- 2025至2030年中國錦綸高速紡絲油劑市場分析及競爭策略研究報告
- 2025至2030年中國避雷器漏電流及動作記錄器市場分析及競爭策略研究報告
- 2025至2030年中國補(bǔ)給水裝置市場分析及競爭策略研究報告
- 2025至2030年中國聚酯纖維紙復(fù)合材料市場分析及競爭策略研究報告
- 2025至2030年中國立式瓷殼線繞電阻器市場分析及競爭策略研究報告
- 2025至2030年中國電腦天線市場分析及競爭策略研究報告
- 2025至2030年中國煤氣管材市場分析及競爭策略研究報告
- 2025至2030年中國潔具掛件市場分析及競爭策略研究報告
- 2025至2030年中國梨形瓶市場分析及競爭策略研究報告
- 休閑車零部件回收再利用創(chuàng)新創(chuàng)業(yè)項目商業(yè)計劃書
- 滴灌帶生產(chǎn)項目可行性研究報告-D
- 消防系統(tǒng)維護(hù)保養(yǎng)方案
- 骨科護(hù)理實習(xí)生小講課
- 四川省南充市2023-2024學(xué)年七年級下學(xué)期期末考試道德與法治試卷(含答案)
- 2025至2030中國汽車散熱器行業(yè)市場發(fā)展分析及商業(yè)模式與投融資發(fā)展報告
- 統(tǒng)編版語文二下園地三+單元復(fù)習(xí)課 課件
- 2025年輕人情緒消費趨勢報告-抖音商城xsocialbeta-202506
- 培訓(xùn)中心項目管理制度
- 承包企業(yè)食堂管理制度
- 智能合約的自適應(yīng)優(yōu)化與動態(tài)執(zhí)行研究-洞察闡釋
評論
0/150
提交評論