版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第3章 MCS-51單片機(jī)的組成原理3.1 3.1 概概 述述 3.6 3.6 定時(shí)器定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器3.2 3.2 中央處理器中央處理器 3.7 3.7 串行串行I/OI/O接口接口3.3 3.3 存儲(chǔ)器存儲(chǔ)器 3.83.8中斷控制系統(tǒng)中斷控制系統(tǒng)3.4 3.4 布爾處理機(jī)布爾處理機(jī) 3.9 MCS-513.9 MCS-51單片機(jī)外部特性單片機(jī)外部特性3.5 3.5 并行并行I/OI/O接口接口 3.10 EPROM3.10 EPROM的編程、檢查與擦除的編程、檢查與擦除 3.11 89C513.11 89C51單片機(jī)的組成與特點(diǎn)單片機(jī)的組成與特點(diǎn)3.1 3.1 概概 述述 MCS-
2、51 MCS-51系列單片機(jī)是把構(gòu)成計(jì)算機(jī)的系列單片機(jī)是把構(gòu)成計(jì)算機(jī)的CPUCPU、存儲(chǔ)器、寄存器組、存儲(chǔ)器、寄存器組、I/OI/O接口制作在一塊集成電路芯片中。另外,還集成有定時(shí)器接口制作在一塊集成電路芯片中。另外,還集成有定時(shí)器/ /計(jì)數(shù)器、串計(jì)數(shù)器、串行通信接口等部件,因此可方便地用于定時(shí)控制和遠(yuǎn)程數(shù)據(jù)傳送。在行通信接口等部件,因此可方便地用于定時(shí)控制和遠(yuǎn)程數(shù)據(jù)傳送。在MCS-51MCS-51系列單片機(jī)中,主要有系列單片機(jī)中,主要有80318031、80518051、87518751及及80C5180C51等型號(hào)。等型號(hào)。 隨著超大規(guī)模集成電路的發(fā)展,單片機(jī)的內(nèi)部結(jié)構(gòu)仍在不斷地?cái)U(kuò)大隨著超
3、大規(guī)模集成電路的發(fā)展,單片機(jī)的內(nèi)部結(jié)構(gòu)仍在不斷地?cái)U(kuò)大,功能在不斷提高,其型號(hào)與類型也在不斷地變換。例如,功能在不斷提高,其型號(hào)與類型也在不斷地變換。例如8052AH8052AH、8032Ah8032Ah、8752BH8752BH采用采用HMOSHMOS工藝制成,內(nèi)部工藝制成,內(nèi)部ROM/RAMROM/RAM的容量增大了一倍。的容量增大了一倍。80C51BH80C51BH系列采用系列采用CHMOSCHMOS工藝制成,功耗低,其中工藝制成,功耗低,其中87C5187C51具有兩級(jí)存儲(chǔ)器具有兩級(jí)存儲(chǔ)器保密系統(tǒng),可防止非法拷貝。保密系統(tǒng),可防止非法拷貝。8052AH-BASIC8052AH-BASIC
4、芯片內(nèi)部固化有芯片內(nèi)部固化有MCS BASIC MCS BASIC 5252解釋程序,可使解釋程序,可使BASIC 52BASIC 52語(yǔ)言與匯編語(yǔ)言混合使用。語(yǔ)言與匯編語(yǔ)言混合使用。 又如可編程計(jì)數(shù)陣列型單片機(jī)又如可編程計(jì)數(shù)陣列型單片機(jī)80C51FA80C51FA具有具有5 5個(gè)比較個(gè)比較/ /捕捉模塊,捕捉模塊,每個(gè)模塊可執(zhí)行每個(gè)模塊可執(zhí)行1616位的正跳變捕捉、負(fù)跳變捕捉和正負(fù)跳變捕捉,位的正跳變捕捉、負(fù)跳變捕捉和正負(fù)跳變捕捉,可執(zhí)行可執(zhí)行1616位軟件定時(shí)、位軟件定時(shí)、1616位高速輸出及位脈沖寬度調(diào)制輸出等,另位高速輸出及位脈沖寬度調(diào)制輸出等,另外還有一個(gè)增強(qiáng)的多機(jī)串行通信接口。外還
5、有一個(gè)增強(qiáng)的多機(jī)串行通信接口。 A/DA/D型單片機(jī)型單片機(jī)80C51GA80C51GA具有具有8 8路路8 8位位A/DA/D轉(zhuǎn)換器、半雙工同步串行通轉(zhuǎn)換器、半雙工同步串行通信接口、信接口、1616位程序監(jiān)視跟蹤定時(shí)器,擴(kuò)展了位程序監(jiān)視跟蹤定時(shí)器,擴(kuò)展了A/DA/D中斷和串行口中斷,中斷和串行口中斷,使中斷源達(dá)使中斷源達(dá)7 7個(gè)之多。個(gè)之多。 多并行接口型單片機(jī)多并行接口型單片機(jī)80C45180C451增加了兩個(gè)增加了兩個(gè)8 8位并行位并行I/OI/O接口接口P4P4口和口和P5P5口,從而提高了數(shù)據(jù)的吞吐能力??冢瑥亩岣吡藬?shù)據(jù)的吞吐能力。 DMADMA(直接存儲(chǔ)器存取方式)型單片機(jī)(直接
6、存儲(chǔ)器存取方式)型單片機(jī)80C52JA80C52JA具有用于具有用于DMADMA傳送傳送的目的地址寄存器、源地址寄存器和字節(jié)計(jì)數(shù)器,支持的目的地址寄存器、源地址寄存器和字節(jié)計(jì)數(shù)器,支持DMADMA傳送,且傳送,且在在80C45280C452中設(shè)有中設(shè)有128128字節(jié)的雙向先進(jìn)先出(字節(jié)的雙向先進(jìn)先出(FIFOFIFO)RAMRAM陣列,支持從陣列,支持從一個(gè)一個(gè)RAMRAM到另一個(gè)到另一個(gè)RAMRAM的高速數(shù)據(jù)傳送。的高速數(shù)據(jù)傳送。 目 前 , 使 用 較 多 的 還 有目 前 , 使 用 較 多 的 還 有 8 9 C 5 18 9 C 5 1 型 單 片 機(jī) , 其 內(nèi) 部 有型 單 片
7、 機(jī) , 其 內(nèi) 部 有4KB/8KB/16KB/32KB/64KB4KB/8KB/16KB/32KB/64KB的的FlashFlash程序存儲(chǔ)器、程序存儲(chǔ)器、128/256/512/1024128/256/512/1024字節(jié)的字節(jié)的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器、隨機(jī)存取數(shù)據(jù)存儲(chǔ)器、3 3個(gè)定時(shí)器個(gè)定時(shí)器/ /計(jì)數(shù)器,采用雙計(jì)數(shù)器,采用雙DPTRDPTR結(jié)構(gòu),有結(jié)構(gòu),有6 6個(gè)中斷個(gè)中斷源,分源,分4 4個(gè)優(yōu)先級(jí)控制,可低電壓運(yùn)行,且有較強(qiáng)的抗電磁干擾能力。個(gè)優(yōu)先級(jí)控制,可低電壓運(yùn)行,且有較強(qiáng)的抗電磁干擾能力。 本章仍以本章仍以80518051為例,講述單片機(jī)的基本組成與工作原理,然后介紹為例,講述單
8、片機(jī)的基本組成與工作原理,然后介紹89C5189C51單片機(jī)的組成與特點(diǎn)。單片機(jī)的組成與特點(diǎn)。 80518051單片機(jī)的內(nèi)部結(jié)構(gòu)單片機(jī)的內(nèi)部結(jié)構(gòu)如圖如圖3.13.1所示,包含所示,包含1 1個(gè)個(gè)8 8位中央處理器位中央處理器CPUCPU、4KB4KB程序存儲(chǔ)器程序存儲(chǔ)器EPROMEPROM、128B128B隨機(jī)存取存儲(chǔ)器隨機(jī)存取存儲(chǔ)器RAMRAM、4 4個(gè)個(gè)8 8位并行位并行I/OI/O接口、接口、1 1個(gè)全雙工串行通信接口、個(gè)全雙工串行通信接口、2 2個(gè)個(gè)1616位定時(shí)器位定時(shí)器/ /計(jì)數(shù)器及計(jì)數(shù)器及2121個(gè)特殊功能寄存器個(gè)特殊功能寄存器。外部具有。外部具有64KB64KB程序存儲(chǔ)器尋址能
9、力和程序存儲(chǔ)器尋址能力和64KB64KB數(shù)據(jù)存儲(chǔ)器尋址能力。指令數(shù)據(jù)存儲(chǔ)器尋址能力。指令系統(tǒng)中增加了乘除法指令,提高了運(yùn)算及數(shù)據(jù)處理能力,且具有位操作系統(tǒng)中增加了乘除法指令,提高了運(yùn)算及數(shù)據(jù)處理能力,且具有位操作能力。能力。 圖3.1 8051單片機(jī)內(nèi)部組成P1P1口鎖存器P1口驅(qū)動(dòng)器8 PCON SCON TMOD TCONSBUF(TX) SBUF(RX) IE IP TH0 TL0 TH1 TL1中斷、串行口和定時(shí)器部件P3P3口鎖存器P3口驅(qū)動(dòng)器8PSEN EARSTALE指令寄存器IR定時(shí)控制邏輯寄存器BSPRAM1288+5VVCC地址寄存器RAMP0口鎖存器P0P0口驅(qū)動(dòng)器8RO
10、M4K8P2口鎖存器P2P2口驅(qū)動(dòng)器8PSW暫存寄存器1暫存寄存器2累加器A算術(shù)邏輯部件ALU程序地址寄存器 緩沖寄存器 PC增量 PC DPTR圖3.1(2)3.2 中央處理器 中央處理器是進(jìn)行算術(shù)中央處理器是進(jìn)行算術(shù)/ /邏輯運(yùn)算,控制程序執(zhí)行的部件。它包括運(yùn)邏輯運(yùn)算,控制程序執(zhí)行的部件。它包括運(yùn)算器和控制器,主要組成已經(jīng)反映在算器和控制器,主要組成已經(jīng)反映在圖圖3.1(2)3.1(2)中。中。3.2.1 3.2.1 運(yùn)算器運(yùn)算器3.2.2 3.2.2 控制器控制器3.2.3 3.2.3 時(shí)鐘與定時(shí)時(shí)鐘與定時(shí)3.2.1 3.2.1 運(yùn)算器運(yùn)算器 運(yùn)算器主要包括算術(shù)運(yùn)算器主要包括算術(shù)/ /邏
11、輯部件邏輯部件ALUALU、累加器、暫存寄存器、累加器、暫存寄存器TMP1TMP1和和TMP2TMP2、程序狀態(tài)標(biāo)志寄存器、程序狀態(tài)標(biāo)志寄存器PSWPSW、BCDBCD碼修正電路等。為碼修正電路等。為了提高數(shù)據(jù)處理和位操作能力,片內(nèi)設(shè)有一個(gè)通用寄存器了提高數(shù)據(jù)處理和位操作能力,片內(nèi)設(shè)有一個(gè)通用寄存器B B和和一些專用寄存器。一些專用寄存器。 運(yùn)算器的功能主要是對(duì)數(shù)據(jù)進(jìn)行加、減、乘、除等算術(shù)運(yùn)運(yùn)算器的功能主要是對(duì)數(shù)據(jù)進(jìn)行加、減、乘、除等算術(shù)運(yùn)算及算及“與與”、“或或”、“非非”、“異或異或”等邏輯運(yùn)算。對(duì)于位等邏輯運(yùn)算。對(duì)于位操作數(shù),可進(jìn)行置位、清零、求反、移位、條件判斷及按位操作數(shù),可進(jìn)行置位
12、、清零、求反、移位、條件判斷及按位“與與”、按位、按位“或或”等操作。等操作。3.2.2 控制器 控制器包括程序計(jì)數(shù)器控制器包括程序計(jì)數(shù)器PCPC、指令寄存器、指令譯碼器、定、指令寄存器、指令譯碼器、定時(shí)控制與條件轉(zhuǎn)移邏輯電路等。由于可以外接時(shí)控制與條件轉(zhuǎn)移邏輯電路等。由于可以外接64K64K字節(jié)的數(shù)據(jù)字節(jié)的數(shù)據(jù)存儲(chǔ)器和存儲(chǔ)器和I/OI/O接口電路,因此在控制器中設(shè)有一個(gè)接口電路,因此在控制器中設(shè)有一個(gè)1616位的地址位的地址指示器指示器DPTRDPTR,用來(lái)對(duì)外部數(shù)據(jù)存儲(chǔ)器和,用來(lái)對(duì)外部數(shù)據(jù)存儲(chǔ)器和I/OI/O接口尋址。為了便接口尋址。為了便于數(shù)據(jù)保護(hù),設(shè)有于數(shù)據(jù)保護(hù),設(shè)有8 8位堆棧指示器
13、位堆棧指示器SPSP。 PSWPSW寄存器共有寄存器共有8 8位,全部用作程序運(yùn)行時(shí)的狀態(tài)標(biāo)志,其位,全部用作程序運(yùn)行時(shí)的狀態(tài)標(biāo)志,其格式如下:格式如下: 字節(jié)地址D0H PSW 位地址 D7H D6H D5H D4H D3H D2H D1H D0H CY AC F0 RS1 RS0 OV PP P:奇偶標(biāo)志位。當(dāng)累加器中:奇偶標(biāo)志位。當(dāng)累加器中1 1的個(gè)數(shù)為偶數(shù)時(shí),的個(gè)數(shù)為偶數(shù)時(shí),P P置置1 1,否則清,否則清0 0。OVOV:溢出標(biāo)志位。當(dāng)執(zhí)行算術(shù)運(yùn)算時(shí),最高位和次高位的進(jìn)位(或:溢出標(biāo)志位。當(dāng)執(zhí)行算術(shù)運(yùn)算時(shí),最高位和次高位的進(jìn)位(或借位)相同時(shí),有溢出,借位)相同時(shí),有溢出,OVOV置
14、置1 1;否則,沒(méi)有溢出,;否則,沒(méi)有溢出,OVOV清清0 0。RS0 RS1RS0 RS1:寄存器工作區(qū)選擇。:寄存器工作區(qū)選擇。F0F0:用戶標(biāo)志位。:用戶標(biāo)志位。ACAC:輔助進(jìn)位標(biāo)志位。算術(shù)運(yùn)算時(shí),若低半字節(jié)向高半字節(jié)有進(jìn)位:輔助進(jìn)位標(biāo)志位。算術(shù)運(yùn)算時(shí),若低半字節(jié)向高半字節(jié)有進(jìn)位(或借位)時(shí),(或借位)時(shí),ACAC置置1 1,否則清,否則清0 0。C Cy y:最高進(jìn)位標(biāo)志位。算術(shù)運(yùn)算時(shí),若最高位有進(jìn)位:最高進(jìn)位標(biāo)志位。算術(shù)運(yùn)算時(shí),若最高位有進(jìn)位(或借位)時(shí),(或借位)時(shí),C Cy y置置1 1,否則清,否則清0 0。D D1 1:保留。:保留。3.2.3 時(shí)鐘與定時(shí) MCS-51 M
15、CS-51單片機(jī)的定時(shí)時(shí)序如圖單片機(jī)的定時(shí)時(shí)序如圖3.23.2所示。一個(gè)機(jī)器周期為所示。一個(gè)機(jī)器周期為6 6個(gè)時(shí)鐘周期,個(gè)時(shí)鐘周期,表示為表示為S1S6。在一個(gè)機(jī)器周期中,包含有兩個(gè)機(jī)器周期信號(hào)在一個(gè)機(jī)器周期中,包含有兩個(gè)機(jī)器周期信號(hào)ALEALE。時(shí)鐘信。時(shí)鐘信號(hào)號(hào)S S為振蕩器頻率的為振蕩器頻率的2 2分頻,一般情況下,算術(shù)分頻,一般情況下,算術(shù)/ /邏輯運(yùn)算在邏輯運(yùn)算在S S的前半周期的前半周期P1P1進(jìn)進(jìn)行,內(nèi)部寄存器傳送在行,內(nèi)部寄存器傳送在S S的后半周期的后半周期P2P2進(jìn)行。進(jìn)行。MCS-51MCS-51單片機(jī)的大部分指令執(zhí)行單片機(jī)的大部分指令執(zhí)行時(shí)間為一個(gè)機(jī)器周期,少數(shù)為時(shí)間為
16、一個(gè)機(jī)器周期,少數(shù)為2 2個(gè)機(jī)器周期,乘法和除法指令需要個(gè)機(jī)器周期,乘法和除法指令需要4 4個(gè)機(jī)器周個(gè)機(jī)器周期。期。 P1 P2P1 P2P1 P2P1 P2P1 P2P1 P2S6S5S4S3S2 S1圖3.2 MCS-51時(shí)序圖讀操作碼讀操作數(shù)一個(gè)機(jī)器周期 3.3 存儲(chǔ)器 在在MCS-51MCS-51系列單片機(jī)中,程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)系列單片機(jī)中,程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器互相獨(dú)立,物理結(jié)構(gòu)也不相同。程序存儲(chǔ)器為只讀器互相獨(dú)立,物理結(jié)構(gòu)也不相同。程序存儲(chǔ)器為只讀存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器為隨機(jī)存取存儲(chǔ)器。從物理地址存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器為隨機(jī)存取存儲(chǔ)器。從物理地址空間看,共有空間看,共有4 4個(gè)存儲(chǔ)地址空
17、間,即片內(nèi)程序存儲(chǔ)器、個(gè)存儲(chǔ)地址空間,即片內(nèi)程序存儲(chǔ)器、片外程序存儲(chǔ)器、片內(nèi)數(shù)據(jù)存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器,片外程序存儲(chǔ)器、片內(nèi)數(shù)據(jù)存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器,I/OI/O接口與外部數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址,其示意接口與外部數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址,其示意如圖如圖3.33.3所示。所示。 圖3.3 MCS-51 存儲(chǔ)器空間(b) 數(shù)據(jù)存儲(chǔ)器00HFFH內(nèi)部外部FFFFH0000H(a) 程序存儲(chǔ)器0FFFH0000HFFFFH0000H外部EA=0內(nèi)部EA=13.3.1程序存儲(chǔ)器 程序存儲(chǔ)器包括內(nèi)部程序存儲(chǔ)器和外部程序存儲(chǔ)器。程序存儲(chǔ)器包括內(nèi)部程序存儲(chǔ)器和外部程序存儲(chǔ)器。80518051內(nèi)設(shè)內(nèi)設(shè)4KB 4KB R
18、OMROM,87518751內(nèi)設(shè)內(nèi)設(shè)4KB EPROM4KB EPROM,地址范圍為,地址范圍為0000H0FFFH,外部可擴(kuò)展外部可擴(kuò)展64KB64KB,地址范圍為,地址范圍為0000HFFFFH。 在其引腳中設(shè)有一個(gè)控制端。若該端接高電平,程序執(zhí)行時(shí)先執(zhí)行在其引腳中設(shè)有一個(gè)控制端。若該端接高電平,程序執(zhí)行時(shí)先執(zhí)行內(nèi)部程序存儲(chǔ)器中的程序,當(dāng)?shù)刂反笥诘扔趦?nèi)部程序存儲(chǔ)器中的程序,當(dāng)?shù)刂反笥诘扔?000H1000H后,執(zhí)行外部程序存后,執(zhí)行外部程序存儲(chǔ)器中的程序。若該端接低電平,則全部執(zhí)行外部程序存儲(chǔ)器中的程儲(chǔ)器中的程序。若該端接低電平,則全部執(zhí)行外部程序存儲(chǔ)器中的程序。程序存儲(chǔ)器中存放的數(shù)據(jù)只能
19、用查表指令訪問(wèn),其格式如下:序。程序存儲(chǔ)器中存放的數(shù)據(jù)只能用查表指令訪問(wèn),其格式如下: MOVC A, MOVC A, A+PCA+PC MOVC A, MOVC A, A+DPTR A+DPTR 3.3.2數(shù)據(jù)存儲(chǔ)器 數(shù)據(jù)存儲(chǔ)器包括內(nèi)部數(shù)據(jù)存儲(chǔ)器和外部數(shù)據(jù)存儲(chǔ)器。內(nèi)部數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)器包括內(nèi)部數(shù)據(jù)存儲(chǔ)器和外部數(shù)據(jù)存儲(chǔ)器。內(nèi)部數(shù)據(jù)存儲(chǔ)器分為器分為128128字節(jié)的字節(jié)的RAMRAM區(qū)和區(qū)和128128字節(jié)的特殊功能寄存器區(qū),總的地址范圍字節(jié)的特殊功能寄存器區(qū),總的地址范圍為為00H00HFFHFFH。在特殊功能寄存器地址空間中離散地分布著。在特殊功能寄存器地址空間中離散地分布著2121個(gè)特殊功
20、個(gè)特殊功能寄存器。如累加器能寄存器。如累加器A A、寄存器、寄存器B B、程序狀態(tài)標(biāo)志寄存器、程序狀態(tài)標(biāo)志寄存器PSWPSW等。外部可等。外部可擴(kuò)充擴(kuò)充64KB64KB的數(shù)據(jù)存儲(chǔ)器,地址范圍為的數(shù)據(jù)存儲(chǔ)器,地址范圍為0000H0000HFFFFHFFFFH。 內(nèi)部數(shù)據(jù)存儲(chǔ)器和外部數(shù)據(jù)存儲(chǔ)器在內(nèi)部數(shù)據(jù)存儲(chǔ)器和外部數(shù)據(jù)存儲(chǔ)器在00H00HFFHFFH地址區(qū)重疊。對(duì)于內(nèi)地址區(qū)重疊。對(duì)于內(nèi)部數(shù)據(jù)存儲(chǔ)器可以直接尋址,也可以間接尋址,間接尋址時(shí),間接地部數(shù)據(jù)存儲(chǔ)器可以直接尋址,也可以間接尋址,間接尋址時(shí),間接地址寄存器為址寄存器為R0R0和和R1R1,指令格式如下:,指令格式如下: MOV A, R0MO
21、V A, R1 MOV R0, AMOV R1, A外部數(shù)據(jù)存儲(chǔ)器只能間接尋址,間接地址寄存器為外部數(shù)據(jù)存儲(chǔ)器只能間接尋址,間接地址寄存器為R0R0、R1R1和和DPTRDPTR。用。用R0R0和和R1R1只能訪問(wèn)低只能訪問(wèn)低256256個(gè)字節(jié)單元,用個(gè)字節(jié)單元,用DPTRDPTR可可訪問(wèn)訪問(wèn)64KB64KB單元。指令格式如下:?jiǎn)卧?。指令格式如下:MOVX A, R0MOVX A, R1MOVX A, DPTRMOVX R0, AMOVX R1, AMOVX DPTR, A1. 1. 內(nèi)部?jī)?nèi)部RAMRAM 內(nèi)內(nèi) 部部 RAMRAM共共128128個(gè)字節(jié)單元,其分布如圖個(gè)字節(jié)單元,其分布如圖3.
22、43.4所示。所示。00H00H1FH1FH單元為單元為4 4個(gè)寄存器工作區(qū),每區(qū)個(gè)寄存器工作區(qū),每區(qū)8 8個(gè)寄存器,表示為個(gè)寄存器,表示為R0R0R7R7。寄存器。寄存器工作區(qū)的選擇是通過(guò)程序狀態(tài)標(biāo)志寄存器工作區(qū)的選擇是通過(guò)程序狀態(tài)標(biāo)志寄存器PSWPSW的第的第3 34 4位進(jìn)行,如位進(jìn)行,如表表3.13.1所示。設(shè)置所示。設(shè)置4 4個(gè)寄存器工作區(qū)可以提高現(xiàn)場(chǎng)保護(hù)能力和個(gè)寄存器工作區(qū)可以提高現(xiàn)場(chǎng)保護(hù)能力和CPUCPU實(shí)實(shí)時(shí)響應(yīng)的速度。時(shí)響應(yīng)的速度。 圖3.4 內(nèi)部RAM結(jié)構(gòu)數(shù)據(jù)緩沖區(qū) 2FH30H1FH20H00H7FH只能字節(jié)尋址字節(jié)、位尋址4個(gè)寄存器區(qū)(R0R7)1區(qū)2區(qū)3區(qū)0區(qū)表3.1
23、 寄存器工作區(qū)選擇與地址分配 PSW.4(RS1) PSW.3(RS0) 寄存器區(qū) R0R7占用地址 000區(qū) 00H07H 011區(qū) 08H0FH 102區(qū) 10H17H 113區(qū) 18H1FH 20H 20H2FH 2FH 的的1616個(gè)單元既可按字節(jié)尋址,作為一般個(gè)單元既可按字節(jié)尋址,作為一般的工作單元,又可以按位由的工作單元,又可以按位由CPUCPU直接尋址,進(jìn)行位操作。直接尋址,進(jìn)行位操作。30H30H7FH7FH區(qū)只能按字節(jié)尋址,一般用作數(shù)據(jù)緩沖區(qū)或堆區(qū)只能按字節(jié)尋址,一般用作數(shù)據(jù)緩沖區(qū)或堆棧區(qū)。棧區(qū)。 2. 2. 特殊功能寄存器特殊功能寄存器 特殊功能寄存器有特殊功能寄存器有21
24、21個(gè),離散地分布在個(gè),離散地分布在80H80HFFHFFH地地址區(qū)域中,其名稱、地址分配和復(fù)位后的初始狀態(tài)址區(qū)域中,其名稱、地址分配和復(fù)位后的初始狀態(tài)如表如表3.23.2所示,這些寄存器的功能將在以后各章中介紹。所示,這些寄存器的功能將在以后各章中介紹。 特殊功能寄存器名 稱地 址復(fù)位后狀態(tài)B通用寄存器F0H00HA累加器E0H00HPSW程序狀態(tài)字D0H00HIP中斷優(yōu)先級(jí)寄存器B8H00000BP3P3口B0HFFHIE中斷允許寄存器A8H000000BP2P2口A0HFFHSBUF串行口發(fā)送/接收緩沖器99H不定SCON串行口控制寄存器98H00HP1P1口90HFFHTH1定時(shí)器/計(jì)
25、數(shù)器1高8位8DH00HTH0定時(shí)器/計(jì)數(shù)器0高8位8CH00HTL1定時(shí)器/計(jì)數(shù)器1低8位8BH00HTL0定時(shí)器/計(jì)數(shù)器0低8位8AH00HTMOD定時(shí)器/計(jì)數(shù)器方式字89H00HTCON定時(shí)器控制寄存器88H00HPCON波特率選擇寄存器87H00HDPH地址寄存器高8位83H00HDPL地址寄存器低8位82H00HSP堆棧指針81H07HP0P0口80HFFH表表3.2 3.2 特殊功能寄存器特殊功能寄存器表表3.2 (2) 3. 3. 堆棧工作區(qū)堆棧工作區(qū) 在在MCS-51MCS-51單片機(jī)中堆棧是向上生成,空棧底,實(shí)棧頂,由堆棧指示器單片機(jī)中堆棧是向上生成,空棧底,實(shí)棧頂,由堆棧指
26、示器SPSP指示。指示。SPSP是一個(gè)是一個(gè)8 8位寄存器,屬特殊功能寄存器,字節(jié)地址為位寄存器,屬特殊功能寄存器,字節(jié)地址為81H81H。堆棧。堆棧工作區(qū)可設(shè)在內(nèi)部工作區(qū)可設(shè)在內(nèi)部RAMRAM的任意區(qū)域中,但在使用時(shí)注意不要與所選寄存器的任意區(qū)域中,但在使用時(shí)注意不要與所選寄存器工作區(qū)、位地址區(qū)重疊。系統(tǒng)復(fù)位后,堆棧指針工作區(qū)、位地址區(qū)重疊。系統(tǒng)復(fù)位后,堆棧指針SPSP的初值為的初值為07H07H,指向寄,指向寄存器工作區(qū)存器工作區(qū)0 0。因此,用戶在初始化程序中應(yīng)對(duì)。因此,用戶在初始化程序中應(yīng)對(duì)SPSP設(shè)置初值,一般設(shè)在設(shè)置初值,一般設(shè)在30H30H7FH7FH為宜。為宜。 4. 4. 外
27、部數(shù)據(jù)存儲(chǔ)器外部數(shù)據(jù)存儲(chǔ)器 在在MCS-51MCS-51系列單片機(jī)的外部可擴(kuò)展系列單片機(jī)的外部可擴(kuò)展64KB64KB的數(shù)據(jù)存儲(chǔ)器,用來(lái)存放隨機(jī)的數(shù)據(jù)存儲(chǔ)器,用來(lái)存放隨機(jī)數(shù)據(jù),因此一般由數(shù)據(jù),因此一般由RAMRAM構(gòu)成。程序運(yùn)行時(shí),只能通過(guò)地址寄存器構(gòu)成。程序運(yùn)行時(shí),只能通過(guò)地址寄存器DPTRDPTR和通和通用寄存器用寄存器R0R0、R1R1間接尋址。間接尋址。3.4 布爾處理機(jī) 1 1布爾處理機(jī)布爾處理機(jī) 布爾處理機(jī)實(shí)際上是一位字長(zhǎng)的計(jì)算機(jī),它有中央處理器、位累布爾處理機(jī)實(shí)際上是一位字長(zhǎng)的計(jì)算機(jī),它有中央處理器、位累加器、位地址空間和位操作指令。通過(guò)編程可實(shí)現(xiàn)位處理或位控制功加器、位地址空間和
28、位操作指令。通過(guò)編程可實(shí)現(xiàn)位處理或位控制功能。由于在能。由于在MCS-51MCS-51單片機(jī)中內(nèi)含有一個(gè)布爾處理機(jī),因此具有很強(qiáng)的單片機(jī)中內(nèi)含有一個(gè)布爾處理機(jī),因此具有很強(qiáng)的位處理功能。位處理功能。2. MCS-512. MCS-51單片機(jī)中布爾處理機(jī)的組成單片機(jī)中布爾處理機(jī)的組成 在在MCS-51MCS-51單片機(jī)的內(nèi)部單片機(jī)的內(nèi)部RAMRAM中,中,20H20H2FH 2FH 即可以按字節(jié)尋址,即可以按字節(jié)尋址,也可以按位尋址。這也可以按位尋址。這1616個(gè)單元共有個(gè)單元共有128128位,每位有一個(gè)位地址,尋址位,每位有一個(gè)位地址,尋址范圍為范圍為00H00H7FH7FH,如,如表表3.
29、33.3所示。另外,有所示。另外,有1111個(gè)特殊功能寄存器,如個(gè)特殊功能寄存器,如累加器累加器A A、寄存器、寄存器B B、程序狀態(tài)字、程序狀態(tài)字PSWPSW等,既有字節(jié)地址,也有位地址等,既有字節(jié)地址,也有位地址,其詳細(xì)地址如表,其詳細(xì)地址如表3.43.4所示。表中給出了能按位尋址的寄存器的位地所示。表中給出了能按位尋址的寄存器的位地址。在程序狀態(tài)標(biāo)志寄存器址。在程序狀態(tài)標(biāo)志寄存器PSWPSW中,進(jìn)位標(biāo)志位中,進(jìn)位標(biāo)志位C C作為位累加器使用。作為位累加器使用。 字節(jié)地址位 地 址D7D6D5D4D3D2D1D02FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H
30、22H21H20H7F776F675F574F473F372F271F170F077E766E665E564E463E362E261E160E067D756D655D554D453D352D251D150D057C746C645C544C443C342C241C140C047B736B635B534B433B332B231B130B037A726A625A524A423A322A221A120A027971696159514941393129211911090178706860585048403830282018100800表3.3 RAM尋址區(qū)位地址分配特殊功能寄存器字節(jié)地址位 地 址D7
31、D0BF0H F7F6F5F4F3F2F1F0AE0H E7E6E5E4E3E2E1E0PSWD0HCYACF0RS1RS0OV PD7D6D5D4D3D2D1D0IPB8H PSPT1PX1PT0PX0-BCBBBAB9B8P3B0HP3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0B7B6B5B4B3B2B1B0IEA8HEA ESET1EX1ET0EX0AF-ACABAAA9A8P2A0HP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0A7A6A5A4A3A2A1A0SBUF99H SCON98HSM0SM1SM2RENTB8RB8TIRI9F9E9D9C9
32、B9A9998P190HP1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.09796959493929190TH18DH TH08CHTL18BHTL08AHTMOD89HTCON88HTF1TR1TF0TR0IE1IT1IE0IT08F8E8D8C8B8A8988PCON87H DPH83HDPL82HSP81HP080HP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.08786858483828180 在指令系統(tǒng)中設(shè)有位操作指令,與位累加器在指令系統(tǒng)中設(shè)有位操作指令,與位累加器C C和位和位地址空間結(jié)合起來(lái),構(gòu)成一個(gè)完整的布爾處理機(jī)。位操地址空間結(jié)合起來(lái),構(gòu)成一個(gè)
33、完整的布爾處理機(jī)。位操作指令有位傳送、位清作指令有位傳送、位清0 0、位置、位置1 1、位取、位取“反反”、按位、按位“與與”、按位、按位“或或”及位測(cè)試轉(zhuǎn)移等。及位測(cè)試轉(zhuǎn)移等。MCS-51MCS-51單片機(jī)的單片機(jī)的4 4個(gè)個(gè)8 8位并行位并行I/OI/O接口均具有位地址,即實(shí)現(xiàn)位輸入輸出接口均具有位地址,即實(shí)現(xiàn)位輸入輸出及位控制功能。及位控制功能。 3.5 3.5 并行并行I/OI/O接口接口 MCS-51 MCS-51單片機(jī)內(nèi)部設(shè)置有單片機(jī)內(nèi)部設(shè)置有4 4個(gè)個(gè)8 8位并行位并行I/OI/O接口,其中接口,其中P0P0口為雙向三口為雙向三態(tài)輸入輸入接口,態(tài)輸入輸入接口,P1P1、P2P2、
34、P3P3口為準(zhǔn)雙向輸入輸出接口??跒闇?zhǔn)雙向輸入輸出接口。 3.5.1 P03.5.1 P0口與口與P2P2口口3.5.2 P13.5.2 P1口與口與P3P3口口3.5.1 P03.5.1 P0口與口與P2P2口口 P0 P0口是一個(gè)口是一個(gè)8 8位雙向三態(tài)輸入輸出接口,位雙向三態(tài)輸入輸出接口,P2P2口是一個(gè)準(zhǔn)雙口是一個(gè)準(zhǔn)雙向輸入輸出接口,而且每一位都有自已的位地址。中央處理向輸入輸出接口,而且每一位都有自已的位地址。中央處理器可接字節(jié)進(jìn)行數(shù)據(jù)傳送,也可按位進(jìn)行位操作。在聯(lián)接外器可接字節(jié)進(jìn)行數(shù)據(jù)傳送,也可按位進(jìn)行位操作。在聯(lián)接外部存儲(chǔ)器時(shí),部存儲(chǔ)器時(shí),P0P0口作為口作為8 8位數(shù)據(jù)輸入輸出
35、口和外部存儲(chǔ)器低位數(shù)據(jù)輸入輸出口和外部存儲(chǔ)器低8 8位地址口,地址位地址口,地址/ /數(shù)據(jù)分時(shí)傳送。數(shù)據(jù)分時(shí)傳送。P2P2口輸出外部存儲(chǔ)器的高口輸出外部存儲(chǔ)器的高8 8位地址,其連接位地址,其連接如圖如圖3.53.5所示。所示。數(shù)據(jù)總線(D7D0)地址鎖存器ROM 程序存儲(chǔ)器 64K OERAM 或I/O口 64K WR RD P2口8051 ALEEAP0口WRPSENRD地址總線(A15A0)圖3.5 外部存儲(chǔ)器連接3.5.2 P13.5.2 P1口與口與P3P3口口 P1 P1口與口與P3P3口是口是8 8位準(zhǔn)雙向輸入輸出接口,每一位也有自己的位地址。位準(zhǔn)雙向輸入輸出接口,每一位也有自己
36、的位地址。中央處理器可按字節(jié)進(jìn)行數(shù)據(jù)傳送,也可按位進(jìn)行位操作。中央處理器可按字節(jié)進(jìn)行數(shù)據(jù)傳送,也可按位進(jìn)行位操作。 另外,另外,P3P3口具有第二功能,如表口具有第二功能,如表3.53.5所示,所示,0INT1INTWRRD表3.5 P3口功能控制信號(hào)線引 腳符 號(hào)功 能P3.0RXD串行口輸入P3.1TXD串行口輸出P3.2外部中斷0輸入P3.3外部中斷1輸入P3.4T0定時(shí)器0外部輸入P3.5T1定時(shí)器1外部輸入P3.6外部數(shù)據(jù)存儲(chǔ)器寫信號(hào)P3.7外部數(shù)據(jù)存儲(chǔ)器讀信號(hào)3.6 3.6 定時(shí)器定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器 3.6.1 3.6.1 定時(shí)器定時(shí)器/ /計(jì)數(shù)器的組成計(jì)數(shù)器的組成3.6.2
37、 3.6.2 定時(shí)器定時(shí)器/ /計(jì)數(shù)器的工作方式計(jì)數(shù)器的工作方式3.6.3 3.6.3 定時(shí)器定時(shí)器/ /計(jì)數(shù)器的使用計(jì)數(shù)器的使用3.6.13.6.1定時(shí)器定時(shí)器/ /計(jì)數(shù)器的組成計(jì)數(shù)器的組成 MCS-51 MCS-51單片機(jī)中設(shè)置有單片機(jī)中設(shè)置有2 2個(gè)個(gè)1616位位的可編程定時(shí)器的可編程定時(shí)器/ /計(jì)數(shù)器,具有計(jì)數(shù)器,具有4 4種工種工作方式,其邏輯結(jié)構(gòu)如圖作方式,其邏輯結(jié)構(gòu)如圖3.63.6所示。所示。定時(shí)器定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器T0T0由計(jì)數(shù)器由計(jì)數(shù)器TH0TH0和和TL0TL0組成,定時(shí)器組成,定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器T1T1由計(jì)數(shù)器由計(jì)數(shù)器TH1TH1和和TL1TL1組成。組成。T
38、HTH、TLTL分別為兩個(gè)分別為兩個(gè)8 8位計(jì)位計(jì)數(shù)器,連接起來(lái)可組成數(shù)器,連接起來(lái)可組成1616位計(jì)數(shù)器。位計(jì)數(shù)器。定時(shí)器定時(shí)器/ /計(jì)數(shù)器的工作方式由方式控計(jì)數(shù)器的工作方式由方式控制字制字TMODTMOD選擇,定時(shí)器選擇,定時(shí)器/ /計(jì)數(shù)器的啟計(jì)數(shù)器的啟停由控制寄存器停由控制寄存器TCONTCON控制,這兩個(gè)寄控制,這兩個(gè)寄存器均屬特殊功能寄存器。存器均屬特殊功能寄存器。 T0 T1圖3.6 定時(shí)器/計(jì)數(shù)器邏輯結(jié)構(gòu) CPUTCONTMODTL1TH1TH0TL0內(nèi)部總線定時(shí)器定時(shí)器/ /計(jì)數(shù)器工作方式控制字計(jì)數(shù)器工作方式控制字TMODTMOD:字節(jié)地址89HTMODD7 D6 D5 D4
39、D3 D2 D1 D0GATE C/ M1 M0 GATE C/ M1 M0其中其中M1M1、M0M0為方式選擇,為方式選擇,C/TC/T為定時(shí)為定時(shí)/ /計(jì)數(shù)選擇,計(jì)數(shù)選擇,GATEGATE為定為定時(shí)器時(shí)器/ /計(jì)數(shù)器工作方式選擇。計(jì)數(shù)器工作方式選擇。定時(shí)器定時(shí)器/ /計(jì)數(shù)器啟??刂萍拇嫫饔?jì)數(shù)器啟??刂萍拇嫫鱐CONTCON: 用于中斷控制 字節(jié)地址88HTCON D7 D6 D5 D4 D3 D2 D1 D0TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 其中低其中低4 4位用于中斷控制,高位用于中斷控制,高4 4位用于定時(shí)器位用于定時(shí)器/ /計(jì)數(shù)器的啟計(jì)數(shù)器的啟/ /???/p>
40、制,??刂疲琓FTF為溢出標(biāo)志,為溢出標(biāo)志,TRTR為啟為啟/ /??刂茦?biāo)志。??刂茦?biāo)志。 3.6.2 定時(shí)器/計(jì)數(shù)器的工作方式 1. 1. 工作方式工作方式0 0 當(dāng)當(dāng)M1M0=00M1M0=00時(shí)選擇工作方式時(shí)選擇工作方式0 0,其邏輯圖,其邏輯圖如圖如圖3.73.7所示。在工作方式所示。在工作方式0 0狀態(tài)下,狀態(tài)下,TLTL低低5 5位與位與THTH并成并成1313位計(jì)數(shù)器。計(jì)數(shù)工作時(shí),位計(jì)數(shù)器。計(jì)數(shù)工作時(shí),TLTL低低5 5位計(jì)滿后向位計(jì)滿后向THTH計(jì)數(shù)器進(jìn)位。當(dāng)計(jì)數(shù)器進(jìn)位。當(dāng)C/ =0C/ =0時(shí)為定時(shí)工作狀態(tài),振蕩器輸出脈沖(時(shí)為定時(shí)工作狀態(tài),振蕩器輸出脈沖(12MHz12MH
41、z)經(jīng)經(jīng)1212分頻,產(chǎn)生定時(shí)脈腫(分頻,產(chǎn)生定時(shí)脈腫(1MHz1MHz)送計(jì)數(shù)器計(jì)器。當(dāng))送計(jì)數(shù)器計(jì)器。當(dāng)C/ =1C/ =1時(shí),為計(jì)數(shù)時(shí),為計(jì)數(shù)工作狀態(tài),由工作狀態(tài),由T0T0引腳輸入計(jì)數(shù)脈沖,對(duì)計(jì)數(shù)器進(jìn)行計(jì)數(shù)。計(jì)數(shù)器溢出時(shí)引腳輸入計(jì)數(shù)脈沖,對(duì)計(jì)數(shù)器進(jìn)行計(jì)數(shù)。計(jì)數(shù)器溢出時(shí)將將TFTF置置1 1,表示定時(shí)時(shí)間到,向,表示定時(shí)時(shí)間到,向CPUCPU發(fā)中斷請(qǐng)求。當(dāng)發(fā)中斷請(qǐng)求。當(dāng)GATE=0GATE=0時(shí),時(shí),A A點(diǎn)為高點(diǎn)為高電平,定時(shí)器電平,定時(shí)器/ /計(jì)數(shù)器的啟計(jì)數(shù)器的啟/ /停由啟停由啟/ /停標(biāo)志位停標(biāo)志位TR0TR0決定。決定。TR0=1TR0=1時(shí),定時(shí)時(shí),定時(shí)器器/ /計(jì)數(shù)器啟動(dòng);
42、計(jì)數(shù)器啟動(dòng);TR0=0TR0=0時(shí),定時(shí)器時(shí),定時(shí)器/ /計(jì)數(shù)器停止工作。當(dāng)計(jì)數(shù)器停止工作。當(dāng)GATE=1GATE=1時(shí)時(shí)A A點(diǎn)位點(diǎn)位由由 決定,這樣決定,這樣B B點(diǎn)的電位就由點(diǎn)的電位就由TR0TR0和和 聯(lián)合決定,即定時(shí)器聯(lián)合決定,即定時(shí)器/ /計(jì)數(shù)計(jì)數(shù)器的運(yùn)行由器的運(yùn)行由TR0TR0和和 兩個(gè)條件控制。兩個(gè)條件控制。 TT0INT0INT0INTTL0 TH05(8)位 8位TF0中斷請(qǐng)求&1C/T=1C/T=0TR0振蕩器12T0GATE0INT圖3.7 定時(shí)器/計(jì)數(shù)器工作方式0與工作方式1 T1 T1的工作情況與的工作情況與T0T0相同。相同。TRTR可由程序置可由程序置1
43、 1或者清或者清0 0,當(dāng)計(jì)數(shù)溢出時(shí),當(dāng)計(jì)數(shù)溢出時(shí)TFTF置置1 1;CPUCPU中斷響應(yīng)后,中斷響應(yīng)后,TFTF清清0 0。CPUCPU也可讀出也可讀出TCONTCON、THTH及及TLTL中的內(nèi)容來(lái)了中的內(nèi)容來(lái)了解解T0T0或或T1T1的工作狀態(tài)。的工作狀態(tài)。2. 2. 工作方式工作方式1 1 當(dāng)當(dāng)M1M0=01M1M0=01時(shí),定時(shí)器時(shí),定時(shí)器/ /計(jì)數(shù)器選擇工作方式計(jì)數(shù)器選擇工作方式1 1,這時(shí),這時(shí)THTH與與TLTL并成并成1616位計(jì)數(shù)器,按照位計(jì)數(shù)器,按照1616位計(jì)數(shù)器方式工作。其它過(guò)程與工作方式位計(jì)數(shù)器方式工作。其它過(guò)程與工作方式0 0相同。相同。3. 3. 工作方式工作方
44、式2 2 當(dāng)當(dāng)M1M0=10M1M0=10時(shí),定時(shí)器時(shí),定時(shí)器/ /計(jì)數(shù)器選擇工作方式計(jì)數(shù)器選擇工作方式2 2。在工作方式。在工作方式2 2狀態(tài)下?tīng)顟B(tài)下TLTL為為8 8位計(jì)數(shù)器,位計(jì)數(shù)器,THTH作為預(yù)置常數(shù)寄存器,其邏輯圖作為預(yù)置常數(shù)寄存器,其邏輯圖如圖如圖3.83.8所示。當(dāng)所示。當(dāng)TLTL計(jì)數(shù)溢出后,一方面將計(jì)數(shù)溢出后,一方面將TFTF置置1 1,發(fā)中斷請(qǐng)求,另一方面再把預(yù)置常數(shù)寄,發(fā)中斷請(qǐng)求,另一方面再把預(yù)置常數(shù)寄存器存器THTH中的數(shù)送入中的數(shù)送入TLTL,使定時(shí)器,使定時(shí)器/ /計(jì)數(shù)器重復(fù)工作。計(jì)數(shù)器重復(fù)工作。 重新裝入TF中斷請(qǐng)求TL(8位)計(jì)數(shù)器TH(8位)預(yù)置常數(shù)寄存器圖3
45、.8 重復(fù)定時(shí)/計(jì)數(shù)控制4. 4. 工作方式工作方式3 3 當(dāng)當(dāng)M1M0=11M1M0=11時(shí),定時(shí)器時(shí),定時(shí)器/ /計(jì)數(shù)器選擇工作方式計(jì)數(shù)器選擇工作方式3 3。工作方式。工作方式3 3是是T0T0分為分為一個(gè)一個(gè)8 8位定時(shí)器位定時(shí)器/ /計(jì)數(shù)器和一個(gè)計(jì)數(shù)器和一個(gè)8 8位定時(shí)器,位定時(shí)器,TH0TH0用于定時(shí)器用于定時(shí)器/ /計(jì)數(shù)器,計(jì)數(shù)器,TL0TL0用于定時(shí)器。這樣用于定時(shí)器。這樣MCS-51MCS-51就具有一個(gè)就具有一個(gè)1616位、一個(gè)位、一個(gè)8 8位定時(shí)器位定時(shí)器/ /計(jì)數(shù)器和一計(jì)數(shù)器和一個(gè)個(gè)8 8位定時(shí)器。定時(shí)器位定時(shí)器。定時(shí)器/ /計(jì)數(shù)器的工作原理與工作方式計(jì)數(shù)器的工作原理與工
46、作方式0 0相同,只是計(jì)數(shù)相同,只是計(jì)數(shù)器僅用器僅用8 8位的位的TH0TH0。定時(shí)器。定時(shí)器如圖如圖3.93.9所示,使用了定時(shí)器所示,使用了定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器T1T1的狀態(tài)的狀態(tài)控制位控制位TR1TR1和和TF1TF1,占用了定時(shí)器,占用了定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器T1T1的中斷源。的中斷源。圖3.9 由TH0組成8位定時(shí)器TR1中斷請(qǐng)求TF1TH08位振蕩器12 一般情況下,當(dāng)一般情況下,當(dāng)T1T1作為串行口的波特率發(fā)生器時(shí),作為串行口的波特率發(fā)生器時(shí),T0T0才選擇為工作才選擇為工作方式方式3 3。當(dāng)。當(dāng)T0T0選擇為工作方式選擇為工作方式3 3時(shí),時(shí),T1T1可選擇為工作方式可選
47、擇為工作方式0 0或工作方式或工作方式1 1或或工作方式工作方式2 2,作為串行口的波特率發(fā)生器或者用于不需要中斷請(qǐng)求的場(chǎng)合。,作為串行口的波特率發(fā)生器或者用于不需要中斷請(qǐng)求的場(chǎng)合。 工作方式工作方式3 3只適合于定時(shí)器只適合于定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器T0T0;當(dāng);當(dāng)T1T1的方式控制字的方式控制字M1M0=11M1M0=11時(shí),停止工作。時(shí),停止工作。 定時(shí)器定時(shí)器/ /計(jì)數(shù)器,其內(nèi)部一樣,都是計(jì)數(shù)。定時(shí)器對(duì)內(nèi)部時(shí)鐘信號(hào)計(jì)計(jì)數(shù)器,其內(nèi)部一樣,都是計(jì)數(shù)。定時(shí)器對(duì)內(nèi)部時(shí)鐘信號(hào)計(jì)數(shù),計(jì)數(shù)器是對(duì)外部信號(hào)計(jì)數(shù)。數(shù),計(jì)數(shù)器是對(duì)外部信號(hào)計(jì)數(shù)。MCS-51MCS-51單片機(jī)的定時(shí)器單片機(jī)的定時(shí)器/ /計(jì)數(shù)器
48、是加計(jì)數(shù)器是加1 1計(jì)數(shù),計(jì)數(shù),因此工作時(shí)涉及到計(jì)數(shù)初值。由計(jì)數(shù)初值開(kāi)始加因此工作時(shí)涉及到計(jì)數(shù)初值。由計(jì)數(shù)初值開(kāi)始加1 1,直到計(jì)滿溢出,向,直到計(jì)滿溢出,向CPUCPU發(fā)中斷請(qǐng)求。因此,要使定時(shí)器發(fā)中斷請(qǐng)求。因此,要使定時(shí)器/ /計(jì)數(shù)器工作,須確定以下幾方面的工作。計(jì)數(shù)器工作,須確定以下幾方面的工作。(1 1)確定定時(shí)器)確定定時(shí)器/ /計(jì)數(shù)器的工作方式,即定時(shí)還是計(jì)數(shù)?計(jì)數(shù)器的工作方式,即定時(shí)還是計(jì)數(shù)?(2 2)確定計(jì)數(shù)初值。)確定計(jì)數(shù)初值。(3 3)確定定時(shí)器)確定定時(shí)器/ /計(jì)數(shù)器是否可以中斷請(qǐng)求?計(jì)數(shù)器是否可以中斷請(qǐng)求?(4 4)如何啟動(dòng)定時(shí)器)如何啟動(dòng)定時(shí)器/ /計(jì)數(shù)器工作?計(jì)數(shù)器
49、工作?(5 5)選擇工作方式)選擇工作方式2 2使定時(shí)器使定時(shí)器/ /計(jì)數(shù)器連續(xù)工作還是由中斷服務(wù)程序使計(jì)數(shù)器連續(xù)工作還是由中斷服務(wù)程序使其連續(xù)工作?其連續(xù)工作? 3.6.3定時(shí)器/計(jì)數(shù)器的使用 工作方式的確度是向工作方式的確度是向TMODTMOD寄存器寫入方式控制字。例如用寄存器寫入方式控制字。例如用T0T0定時(shí),定時(shí),選擇工作方式選擇工作方式1 1,內(nèi)啟動(dòng),傳送指令為:,內(nèi)啟動(dòng),傳送指令為:MOV TMOD,#01H計(jì)數(shù)初值的確定,如下:計(jì)數(shù)初值的確定,如下:設(shè)計(jì)數(shù)值為設(shè)計(jì)數(shù)值為X X,則須裝入的計(jì)數(shù)初值為,則須裝入的計(jì)數(shù)初值為2 2n n-X-X。方式。方式0 0,n=13n=13;方式
50、;方式1 1,n=16n=16;方式;方式2 2和方式和方式3 3,n=8n=8。在定時(shí)方式下,按機(jī)器周期計(jì)數(shù),每個(gè)機(jī)。在定時(shí)方式下,按機(jī)器周期計(jì)數(shù),每個(gè)機(jī)器周期包括器周期包括1212個(gè)振蕩周期。當(dāng)晶振頻率為個(gè)振蕩周期。當(dāng)晶振頻率為6MHz6MHz時(shí),時(shí),1 1個(gè)機(jī)器周期個(gè)機(jī)器周期= = 2S= = 2S,定時(shí)時(shí)間為,定時(shí)時(shí)間為2XS2XS。若要求定。若要求定時(shí)時(shí)1mS1mS,則:,則:X= =500由此得計(jì)數(shù)初值為由此得計(jì)數(shù)初值為:216-500=65036= FE0CH設(shè)置初值的指令為:設(shè)置初值的指令為:MOV TL0,#0CHMOV TH0,#0FEH啟動(dòng)啟動(dòng)T0T0定時(shí)的指令為定時(shí)的指
51、令為:MOV TCON,#10H或 SETB TR0晶振頻率12610612s2ms13.7 串行I/O接口 3.7.1 3.7.1 串行通信基本方式串行通信基本方式3.7.2 3.7.2 串行通信接口的組成與特點(diǎn)串行通信接口的組成與特點(diǎn)3.7.3 3.7.3 串行通信接口的工作方式串行通信接口的工作方式3.7.4 3.7.4 數(shù)據(jù)發(fā)送與接收數(shù)據(jù)發(fā)送與接收3.7.13.7.1串行通信基本方式串行通信基本方式 串行通信是指數(shù)據(jù)一位一位地順序傳送。其特點(diǎn)是通信線路簡(jiǎn)單,串行通信是指數(shù)據(jù)一位一位地順序傳送。其特點(diǎn)是通信線路簡(jiǎn)單,只要一對(duì)傳輸線就可以通信,但速度慢。在實(shí)際應(yīng)用中,串行通信又分只要一對(duì)傳
52、輸線就可以通信,但速度慢。在實(shí)際應(yīng)用中,串行通信又分為同步傳送和異步傳送兩種方式。為同步傳送和異步傳送兩種方式。1. 1. 同步傳送同步傳送 同步傳送是指在一個(gè)數(shù)據(jù)塊的開(kāi)頭使用同步字符。數(shù)據(jù)傳送時(shí)使用同步傳送是指在一個(gè)數(shù)據(jù)塊的開(kāi)頭使用同步字符。數(shù)據(jù)傳送時(shí)使用同一頻率的時(shí)鐘脈沖來(lái)實(shí)現(xiàn)發(fā)送端與接收端的同步。這種時(shí)鐘脈沖稱為同一頻率的時(shí)鐘脈沖來(lái)實(shí)現(xiàn)發(fā)送端與接收端的同步。這種時(shí)鐘脈沖稱為同步脈沖,數(shù)據(jù)同步傳送的格式如圖同步脈沖,數(shù)據(jù)同步傳送的格式如圖3.103.10所示。所示。圖3.10 同步傳送SYN字符1SYN字符2數(shù)據(jù) 數(shù)據(jù)傳送時(shí),數(shù)據(jù)與同步脈沖同時(shí)發(fā)出。在數(shù)據(jù)塊中首先發(fā)同步數(shù)據(jù)傳送時(shí),數(shù)據(jù)與同
53、步脈沖同時(shí)發(fā)出。在數(shù)據(jù)塊中首先發(fā)同步字符,一般為字符,一般為1 12 2個(gè)。接收端首先接收同步字符,確認(rèn)同步后開(kāi)始個(gè)。接收端首先接收同步字符,確認(rèn)同步后開(kāi)始接收數(shù)據(jù)。采用同步方式傳送,硬件設(shè)備較為復(fù)雜,但與異步傳送接收數(shù)據(jù)。采用同步方式傳送,硬件設(shè)備較為復(fù)雜,但與異步傳送相比,同步傳送速率高。相比,同步傳送速率高。 2. 2. 異步傳送異步傳送 異步傳送是以字符或一定位數(shù)的數(shù)據(jù)為單位,有起始位和停止異步傳送是以字符或一定位數(shù)的數(shù)據(jù)為單位,有起始位和停止位,作為字符的開(kāi)頭和結(jié)束標(biāo)志,這樣的單位稱為幀。一幀中,起位,作為字符的開(kāi)頭和結(jié)束標(biāo)志,這樣的單位稱為幀。一幀中,起始標(biāo)志占一位,數(shù)據(jù)占始標(biāo)志占
54、一位,數(shù)據(jù)占5 5、6 6、7 7或者或者8 8位,停止標(biāo)志占位,停止標(biāo)志占1 1、1 1 或者或者2 2位。位。一般規(guī)定,起始位用低電平(一般規(guī)定,起始位用低電平(0 0)表示,停止位用高電平()表示,停止位用高電平(1 1)表示。)表示。數(shù)據(jù)傳送時(shí),一幀一幀地傳送。若傳送數(shù)據(jù)傳送時(shí),一幀一幀地傳送。若傳送ASCIIASCII碼字符,數(shù)據(jù)中的第碼字符,數(shù)據(jù)中的第8 8位可作為奇偶校驗(yàn)位。異步傳送數(shù)據(jù)格式如圖位可作為奇偶校驗(yàn)位。異步傳送數(shù)據(jù)格式如圖3.113.11所示。所示。 21圖3.11 異步傳送一幀信息停止位起始位奇偶校驗(yàn) 7 位 數(shù) 據(jù)停止位 串行通信按照數(shù)據(jù)傳送的方向,可分為三種:?jiǎn)?/p>
55、工、半雙工和全串行通信按照數(shù)據(jù)傳送的方向,可分為三種:?jiǎn)喂?、半雙工和全雙工通信方式。雙工通信方式。 數(shù)據(jù)傳送速率用波特率表示,即每秒鐘傳送二進(jìn)制數(shù)的位數(shù),單數(shù)據(jù)傳送速率用波特率表示,即每秒鐘傳送二進(jìn)制數(shù)的位數(shù),單位為位為“波特波特”。異步傳送常用波特率為。異步傳送常用波特率為50501920019200波特,同步傳送速率波特,同步傳送速率較高,一般在較高,一般在2000020000波特以上。波特以上。 3.7.2 串行通信接口的組成與特點(diǎn) 在在MCS-51MCS-51單片機(jī)中,串行單片機(jī)中,串行I/OI/O接口是一個(gè)全雙工串行通信接口,接口是一個(gè)全雙工串行通信接口,有一個(gè)數(shù)據(jù)接收緩種器和一個(gè)數(shù)
56、據(jù)發(fā)送緩沖器,兩個(gè)緩沖器共用一有一個(gè)數(shù)據(jù)接收緩種器和一個(gè)數(shù)據(jù)發(fā)送緩沖器,兩個(gè)緩沖器共用一個(gè)地址個(gè)地址99H99H,表示為,表示為SBUFSBUF。中央處理器對(duì)接收緩沖器只能讀出不能寫。中央處理器對(duì)接收緩沖器只能讀出不能寫入,對(duì)發(fā)送緩沖器只能寫入不能讀出。系統(tǒng)中有兩個(gè)特殊功能寄存入,對(duì)發(fā)送緩沖器只能寫入不能讀出。系統(tǒng)中有兩個(gè)特殊功能寄存器器SCONSCON和和PCONPCON,控制串行通信工作方式。,控制串行通信工作方式。 1. 1. 串行口控制寄存器串行口控制寄存器SCONSCON 串行口控制寄存器共有串行口控制寄存器共有8 8位,字節(jié)地址為位,字節(jié)地址為98H98H,格式如下:,格式如下:
57、SCON位地址 字節(jié)地址98H 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H SM0 SM1 SM2 REN TB8 RB8 TI RI SM0 SM1 SM0 SM1:工作方式選擇位,可選擇:工作方式選擇位,可選擇4 4種工作方式,種工作方式,如表如表3.63.6所示。所示。 表3.6 SM0 SM1方式選擇SM0 SM1方式功能說(shuō)明波特率0 00移位寄存器方式fosc/120 118位UART可變1 029位UARTFosc/64或Fosc/321 139位UART可變 SM2 SM2:工作方式:工作方式2 2或方式或方式3 3串行多機(jī)通信允許位。在方式串行多機(jī)通信允許位
58、。在方式2 2或方式或方式3 3時(shí),若時(shí),若SM2=1SM2=1,接收到的數(shù)據(jù)第,接收到的數(shù)據(jù)第9 9位(位(RB8RB8)為)為1 1,RIRI置置1 1,向中央處理,向中央處理器器CPUCPU發(fā)中斷請(qǐng)求;接收到的數(shù)據(jù)第發(fā)中斷請(qǐng)求;接收到的數(shù)據(jù)第9 9位(位(RB8RB8)為)為0 0,RIRI不置不置1 1,不向,不向CPUCPU發(fā)中斷請(qǐng)求。若發(fā)中斷請(qǐng)求。若SM2=0SM2=0,接收到的數(shù)據(jù)送,接收到的數(shù)據(jù)送SBUFSBUF,接收到的數(shù)據(jù)第,接收到的數(shù)據(jù)第9 9位送位送RB8RB8,RIRI置置1 1。在工作方式。在工作方式1 1時(shí),若時(shí),若SM2=1SM2=1,只有接收到有效停止位,只有
59、接收到有效停止位時(shí)時(shí)RIRI置置1 1,否則,否則RIRI不置不置1 1。在工作方式。在工作方式0 0時(shí),時(shí),SM2SM2應(yīng)為應(yīng)為0 0。 RENREN:允許串行接收。:允許串行接收。 TB8TB8:在方式:在方式2 2和方式和方式3 3時(shí)是發(fā)送數(shù)據(jù)的第時(shí)是發(fā)送數(shù)據(jù)的第9 9位。位。 RB8RB8:在方式:在方式2 2和方式和方式3 3時(shí)是接收數(shù)據(jù)的第時(shí)是接收數(shù)據(jù)的第9 9位。在方式位。在方式1 1時(shí),若時(shí),若SM2=0SM2=0,RB8RB8為接收到數(shù)據(jù)的停止位。在工作方式為接收到數(shù)據(jù)的停止位。在工作方式0 0時(shí),不使用時(shí),不使用RB8RB8。 TITI:發(fā)送中斷標(biāo)志。由硬件在方式:發(fā)送中斷
60、標(biāo)志。由硬件在方式0 0串行發(fā)送第串行發(fā)送第8 8位結(jié)束或在其它位結(jié)束或在其它方式中發(fā)送停止位的開(kāi)始時(shí)置方式中發(fā)送停止位的開(kāi)始時(shí)置1 1,由軟件清,由軟件清0 0。RIRI:接收中斷標(biāo)志。由硬件在方式:接收中斷標(biāo)志。由硬件在方式0 0串行接收第串行接收第8 8位結(jié)束或在其它位結(jié)束或在其它方式中接收停止位的中間時(shí)置方式中接收停止位的中間時(shí)置1 1(除了與(除了與SM2SM2有關(guān)),由軟件清有關(guān)),由軟件清0 0。以上標(biāo)志設(shè)有位地址,可進(jìn)行位操作,復(fù)位時(shí)全部清以上標(biāo)志設(shè)有位地址,可進(jìn)行位操作,復(fù)位時(shí)全部清0 0。 2. 2. 波特率選擇寄存器波特率選擇寄存器PCON PCON 字節(jié)地址87HPCON D7
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 教師培訓(xùn)課件:解讀人生的新篇章有
- 《教育穩(wěn)定安全》課件
- 《飾面工程施工》課件
- 《酒店消防安全培訓(xùn)》課件
- 《雨季施工施工培訓(xùn)》課件
- 《論述類文本閱讀》課件
- 財(cái)務(wù)鑒定報(bào)告范文大全
- XXXX年公司意識(shí)形態(tài)工作總結(jié)與展望
- 學(xué)校獎(jiǎng)學(xué)金評(píng)選報(bào)告范文
- 《信息技術(shù)信息安全》課件
- 元旦春節(jié)猜謎小游戲150個(gè)(含謎底)
- 擴(kuò)張性心肌病
- GB/T 45047-2024土方機(jī)械純電動(dòng)輪胎式裝載機(jī)技術(shù)要求
- 《報(bào)告文學(xué)研究》自學(xué)考試省考課程習(xí)題集及答案
- 信息技術(shù)必修2信息系統(tǒng)與社會(huì)1.2《信息系統(tǒng)的功能》說(shuō)課稿
- 國(guó)家開(kāi)放大學(xué)2024年12月《中國(guó)近現(xiàn)代史綱要試卷B-版本3》大作業(yè)參考答案
- 基金業(yè)協(xié)會(huì)限售股估值excel實(shí)現(xiàn)方法
- 2025陜西延長(zhǎng)石油(集團(tuán))有限責(zé)任公司招聘1881人筆試備考題庫(kù)及答案解析
- 《中小學(xué)校園食品安全和膳食經(jīng)費(fèi)管理工作指引》專題培訓(xùn)
- 國(guó)家開(kāi)放大學(xué)Python程序設(shè)計(jì)形考任務(wù)實(shí)驗(yàn)六-互聯(lián)網(wǎng)評(píng)論數(shù)據(jù)分析及其展示綜合案例
- 物業(yè)經(jīng)理晉升述職報(bào)告
評(píng)論
0/150
提交評(píng)論