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

下載本文檔

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

文檔簡介

第二章單片機(jī)的基本結(jié)構(gòu)現(xiàn)在是1頁\一共有108頁\編輯于星期一2/109一、單片機(jī)的內(nèi)部結(jié)構(gòu)單片微型計(jì)算機(jī)(簡稱單片機(jī))在一片芯片上集成了前述微型計(jì)算機(jī)的功能結(jié)構(gòu),有些單片機(jī)不僅集成了CPU、存儲(chǔ)程序和數(shù)據(jù)的存儲(chǔ)器、I/O接口、定時(shí)/計(jì)數(shù)器等常規(guī)資源,而且還集成了工業(yè)測控系統(tǒng)中常用的模擬量模塊。

§2.1STC15F2K60S2單片機(jī)的基本結(jié)構(gòu)現(xiàn)在是2頁\一共有108頁\編輯于星期一3/109單片機(jī)產(chǎn)品8051內(nèi)核是Intel8051系列單片機(jī)的基本標(biāo)準(zhǔn),許多參考書上將這種單片機(jī)稱為MCS-51系列單片機(jī)。MCS-51系列單片機(jī)的典型產(chǎn)品為8051,它有4K×8ROM,128字節(jié)RAM,2個(gè)16位定時(shí)/計(jì)數(shù)器,4個(gè)8位I/O口,一個(gè)串行口。5個(gè)中斷源二十世紀(jì)80年代,Intel將8051內(nèi)核轉(zhuǎn)讓或出售給幾家著名的IC廠商,如Philips,Atmel等。這樣,8051單片機(jī)就變成眾多制造廠家支持的,發(fā)展成為上百個(gè)產(chǎn)品的大家族。最常用的宏晶STC系列單片機(jī),Atmel公司的AT89系列等51系列,等等。只要是8051內(nèi)核的單片機(jī),它們的最基本結(jié)構(gòu)是相同的,并且,指令系統(tǒng)完全兼容標(biāo)準(zhǔn)8051單片機(jī)。現(xiàn)在是3頁\一共有108頁\編輯于星期一4/109

以目前市場上常見的8051內(nèi)核單片機(jī)STC15F2K60S2為例,說明單片機(jī)的內(nèi)部結(jié)構(gòu)。STC12F2K60S2單片機(jī)主要集成了以下資源:增強(qiáng)型8051內(nèi)核,單時(shí)鐘機(jī)器周期,速度比傳統(tǒng)8051內(nèi)核單片機(jī)快8~12倍60KBFlash程序存儲(chǔ)器;1KB數(shù)據(jù)Flash;2048字節(jié)的SRAM3個(gè)16位可自動(dòng)重裝載的定時(shí)/計(jì)數(shù)器(T0、T1、T2)可編程時(shí)鐘輸出功能至多42根I/O口線2個(gè)全雙工異步串行口(UART)1個(gè)高速同步通信端口(SPI)8通道10位ADC3通道PWM/可編程計(jì)數(shù)器陣列/捕獲/比較單元內(nèi)部高可靠上電復(fù)位電路和硬件看門狗內(nèi)部集成高精度R/C時(shí)鐘,常溫工作時(shí),可以省去外部晶振電路?,F(xiàn)在是4頁\一共有108頁\編輯于星期一5/109STC15F2K60S2單片機(jī)的內(nèi)部結(jié)構(gòu)圖STC15F2K60S2單片機(jī)內(nèi)部結(jié)構(gòu)框圖現(xiàn)在是5頁\一共有108頁\編輯于星期一6/109STC15F2K60S2單片機(jī)的內(nèi)部資源中央處理器(CPU)程序存儲(chǔ)器(Flash)數(shù)據(jù)存儲(chǔ)器(RAM)數(shù)據(jù)Flash存儲(chǔ)器定時(shí)/計(jì)數(shù)器I/O接口通用異步串行通信接口(UART)中斷系統(tǒng)SPI接口高速A/D轉(zhuǎn)換模塊PWM(或捕獲/比較單元)看門狗電路電源監(jiān)控片內(nèi)RC振蕩器等模塊幾乎包含了數(shù)據(jù)采集和控制中所需的所有單元模塊,

—————可稱得上一個(gè)片上系統(tǒng)(SOC)現(xiàn)在是6頁\一共有108頁\編輯于星期一7/1091、CPU結(jié)構(gòu)單片機(jī)的中央處理器(CPU)由運(yùn)算器和控制器組成。(1)運(yùn)算器以8位算術(shù)/邏輯運(yùn)算部件ALU為核心,加上通過內(nèi)部總線而掛在其周圍的暫存器TMP1、TMP2、累加器ACC、寄存器B、程序狀態(tài)標(biāo)志寄存器PSW以及布爾處理機(jī)組成了整個(gè)運(yùn)算器的邏輯電路。現(xiàn)在是7頁\一共有108頁\編輯于星期一8/109算術(shù)邏輯單元ALU:用來完成二進(jìn)制數(shù)的四則運(yùn)算和布爾代數(shù)的邏輯運(yùn)算。累加器ACC又記作A:是一個(gè)具有特殊用途的8位寄存器,在CPU中工作最頻繁,用來存放操作數(shù)和運(yùn)算結(jié)果。寄存器B:是專門為乘、除法設(shè)置的寄存器,也是一個(gè)8位寄存器,用來存放乘法和除法中的操作數(shù)及運(yùn)算結(jié)果,對于其他指令,它只作暫存器用。程序狀態(tài)字(PSW):又稱為標(biāo)志寄存器,一個(gè)8位寄存器,用來存放執(zhí)行指令后的有關(guān)狀態(tài)信息,供程序查詢和判別之用。現(xiàn)在是8頁\一共有108頁\編輯于星期一9/109PSW中有些位的狀態(tài)是在指令執(zhí)行過程中自動(dòng)形成的,有些位可以由用戶采用指令加以改變。PSW的各位定義如下所示:位號(hào)D7D6D5D4D3D2D1D0符號(hào)CYACF0RS1RS0OVF1P現(xiàn)在是9頁\一共有108頁\編輯于星期一10/109CY(PSW.7):進(jìn)位標(biāo)志位當(dāng)執(zhí)行加/減法指令時(shí),如果操作結(jié)果的最高位D7出現(xiàn)進(jìn)/借位,則CY置“1”,否則清“0”。執(zhí)行乘除運(yùn)算后,CY清零。此外,CPU在進(jìn)行移位操作時(shí)也會(huì)影響這個(gè)標(biāo)志位。位號(hào)D7D6D5D4D3D2D1D0符號(hào)CYACF0RS1RS0OVF1P現(xiàn)在是10頁\一共有108頁\編輯于星期一11/109AC(PSW.6):輔助進(jìn)位標(biāo)志位當(dāng)執(zhí)行加/減法指令時(shí),如果低四位數(shù)向高四位數(shù)產(chǎn)生進(jìn)/借位,則AC置“1”,否則清零。位號(hào)D7D6D5D4D3D2D1D0符號(hào)CYACF0RS1RS0OVF1P現(xiàn)在是11頁\一共有108頁\編輯于星期一12/109F0(PSW.5):用戶標(biāo)志0。該位是由用戶定義的一個(gè)狀態(tài)標(biāo)志??梢杂密浖硎顾谩?”或清“0”,也可以由軟件測試F0控制程序的流向。F1(PSW.1):用戶標(biāo)志1。該位是由用戶定義的一個(gè)狀態(tài)標(biāo)志。與F0類似,可以用軟件來使它置“1”或清“0”,也可以由軟件測試F1控制程序的流向。位號(hào)D7D6D5D4D3D2D1D0符號(hào)CYACF0RS1RS0OVF1P現(xiàn)在是12頁\一共有108頁\編輯于星期一13/109RS1,RS0(PSW.4~PSW.3):工作寄存器組選擇控制位,其詳細(xì)介紹見后續(xù)內(nèi)容。OV(PSW.2):溢出標(biāo)志位。指示運(yùn)算過程中是否發(fā)生了溢出,在執(zhí)行指令過程中自動(dòng)形成。位號(hào)D7D6D5D4D3D2D1D0符號(hào)CYACF0RS1RS0OVF1P現(xiàn)在是13頁\一共有108頁\編輯于星期一14/109P(PSW.0):奇偶標(biāo)志位累加器ACC中1的個(gè)數(shù)為偶數(shù),P=0;否則P=1。每個(gè)指令周期都由硬件來置“1”或清“0”。在具有奇偶校驗(yàn)的串行數(shù)據(jù)通信中,可以根據(jù)P設(shè)置奇偶校驗(yàn)位。位號(hào)D7D6D5D4D3D2D1D0符號(hào)CYACF0RS1RS0OVF1P現(xiàn)在是14頁\一共有108頁\編輯于星期一15/109布爾處理機(jī)——是單片機(jī)CPU中運(yùn)算器的一個(gè)重要組成部分。功能:為用戶提供豐富的位操作功能,有相應(yīng)的指令系統(tǒng),硬件有自己的“累加器”(進(jìn)位位C,即CY),和自己的位尋址RAM和I/O空間,是一個(gè)獨(dú)立的位處理機(jī)。大部分位操作均圍繞著其累加器——進(jìn)位位C完成。對任何可直接尋址的位,布爾處理機(jī)可執(zhí)行置位、取反、轉(zhuǎn)移、位的讀寫等操作。在任何可尋址的位(或該位內(nèi)容取反)和進(jìn)位標(biāo)志C之間,可執(zhí)行邏輯與、或操作,其結(jié)果送回到進(jìn)位標(biāo)志C?,F(xiàn)在是15頁\一共有108頁\編輯于星期一16/109(2)控制器控制器是CPU的大腦中樞,包括定時(shí)控制邏輯、指令寄存器、譯碼器、地址指針DPTR及程序計(jì)數(shù)器PC、堆棧指針SP、RAM地址寄存器、16位地址緩沖器等?,F(xiàn)在是16頁\一共有108頁\編輯于星期一17/109程序計(jì)數(shù)器PC是一個(gè)16位的程序地址寄存器,專門用來存放下一條需要執(zhí)行的指令的內(nèi)存地址,能自動(dòng)加1。當(dāng)CPU執(zhí)行指令時(shí),根據(jù)程序計(jì)數(shù)器PC中的地址從存儲(chǔ)器中取出當(dāng)前需要執(zhí)行的指令碼,并把它送給控制器分析執(zhí)行,隨后程序計(jì)數(shù)器中的地址自動(dòng)加1,以便為CPU取下一個(gè)需要執(zhí)行的指令碼做準(zhǔn)備。當(dāng)下一個(gè)指令碼取出執(zhí)行后,PC又自動(dòng)加1。這樣,程序計(jì)數(shù)器PC一次次加1,指令就被一條條執(zhí)行?,F(xiàn)在是17頁\一共有108頁\編輯于星期一18/109堆棧主要用于保存臨時(shí)數(shù)據(jù)、局部變量、中斷或子程序的返回地址。STC15F2K60S2單片機(jī)的堆棧設(shè)在內(nèi)部RAM中,是一個(gè)按照“先進(jìn)后出”規(guī)律存放數(shù)據(jù)的區(qū)域。堆棧指針SP是一個(gè)8位寄存器,能自動(dòng)加1或減1。當(dāng)數(shù)據(jù)壓入堆棧時(shí),SP自動(dòng)加1;數(shù)據(jù)從堆棧中彈出后,SP自動(dòng)減1。復(fù)位后,寄存器默認(rèn)值為07H,堆棧區(qū)在08H開始的區(qū)域。用戶通常將堆棧區(qū)域用指令設(shè)置在內(nèi)部RAM的80H~FFH之間?,F(xiàn)在是18頁\一共有108頁\編輯于星期一19/109數(shù)據(jù)指針DPTR一個(gè)16位專用寄存器,由DPL(低8位)和DPH(高8位)組成。DPTR可以直接進(jìn)行16位操作,也可分別對DPL和DPH按字節(jié)進(jìn)行操作。STC15F2K60S2單片機(jī)有兩個(gè)16位的數(shù)據(jù)指針DPRT0和DPTR1,這兩個(gè)數(shù)據(jù)指針共用同一個(gè)地址,可通過設(shè)置輔助寄存器AUXR1中的DPS(AUXR1.0)位來選擇具體使用哪一個(gè)數(shù)據(jù)指針。現(xiàn)在是19頁\一共有108頁\編輯于星期一20/1092、存儲(chǔ)器的結(jié)構(gòu)—STC15F2K60S2結(jié)構(gòu)特點(diǎn):程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的尋址空間是分開的。結(jié)構(gòu)劃分:片內(nèi)集成有4個(gè)物理上相互獨(dú)立的存儲(chǔ)器空間:程序Flash存儲(chǔ)器、數(shù)據(jù)Flash存儲(chǔ)器(EEPROM)、內(nèi)部數(shù)據(jù)存儲(chǔ)器和外部數(shù)據(jù)存儲(chǔ)器?,F(xiàn)在是20頁\一共有108頁\編輯于星期一21/109STC15F2K60S2單片機(jī)存儲(chǔ)器配置示意圖現(xiàn)在是21頁\一共有108頁\編輯于星期一22/109(1)程序Flash存儲(chǔ)器功能:存放用戶程序、數(shù)據(jù)和表格等信息??臻g大?。篠TC15F2K60S2片內(nèi)集成了60KB的程序Flash存儲(chǔ)器,地址為0000H~F000H。單片機(jī)復(fù)位后,程序計(jì)數(shù)器PC的內(nèi)容為0000H,從0000H單元開始執(zhí)行程序。現(xiàn)在是22頁\一共有108頁\編輯于星期一23/109特殊單元在程序Flash存儲(chǔ)器中有些特殊的單元,這些單元是中斷服務(wù)程序的入口地址:0003H外部中斷0中斷服務(wù)程序的入口地址000BH定時(shí)/計(jì)數(shù)器0中斷服務(wù)程序的入口地址0013H外部中斷1中斷服務(wù)程序的入口地址001BH定時(shí)/計(jì)數(shù)器1中斷服務(wù)程序的入口地址0023H串行通信口1中斷服務(wù)程序的入口地址002BHADC中斷服務(wù)程序的入口地址0033H低電壓檢測中斷服務(wù)程序的入口地址003BHPCA中斷服務(wù)程序的入口地址0043H串行通信口2中斷服務(wù)程序的入口地址004BHSPI中斷服務(wù)程序的入口地址現(xiàn)在是23頁\一共有108頁\編輯于星期一24/109中斷服務(wù)程序的入口地址0053H外部中斷2中斷服務(wù)程序的入口地址005BH外部中斷3中斷服務(wù)程序的入口地址0063H定時(shí)/計(jì)數(shù)器2中斷服務(wù)程序的入口地址0083H外部中斷4中斷服務(wù)程序的入口地址響應(yīng)中斷時(shí),單片機(jī)自動(dòng)轉(zhuǎn)到相應(yīng)的中斷入口地址去執(zhí)行程序。由于大部分相鄰中斷入口地址之間只有8個(gè)地址單元,無法保存完整的中斷服務(wù)程序,一般在中斷入口的地址區(qū)存放一條無條件轉(zhuǎn)移指令,指向真正存放中斷服務(wù)程序的空間。中斷響應(yīng)后,CPU執(zhí)行這條轉(zhuǎn)移指令,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序?,F(xiàn)在是24頁\一共有108頁\編輯于星期一25/109使用指令讀取程序存儲(chǔ)器中保存的表格常數(shù)等內(nèi)容時(shí),使用MOVC指令。程序Flash存儲(chǔ)器的擦寫次數(shù)為10萬次以上,大大提高了芯片利用率,降低了開發(fā)成本?,F(xiàn)在是25頁\一共有108頁\編輯于星期一26/109(2)數(shù)據(jù)存儲(chǔ)器—STC15F2K60S2數(shù)據(jù)存儲(chǔ)器也稱為隨機(jī)存取數(shù)據(jù)存儲(chǔ)器。空間劃分在物理上和邏輯上都分為兩個(gè)地址空間:內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū)和擴(kuò)展數(shù)據(jù)存儲(chǔ)區(qū)。現(xiàn)在是26頁\一共有108頁\編輯于星期一27/1091)內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū)(又稱為內(nèi)部RAM)

256字節(jié)內(nèi)部RAM,存放中間結(jié)果和過程數(shù)據(jù)。內(nèi)部RAM的地址范圍是00H~FFH,共256個(gè)單元,分三部分:低128字節(jié)RAM(00H~7FH):也稱為基本RAM區(qū)?;綬AM區(qū)又分為工作寄存器區(qū)、位尋址區(qū)、用戶RAM和堆棧區(qū)??梢灾苯訉ぶ泛烷g接尋址。用“MOV”和“MOV@Ri”形式的指令訪問。高128字節(jié)RAM(80H~FFH):只能間接尋址。用“MOV@Ri”形式的指令訪問。特殊功能寄存器(SFR)區(qū):地址范圍為80H~FFH,只可直接尋址,用“MOV”形式的指令訪問?,F(xiàn)在是27頁\一共有108頁\編輯于星期一28/109內(nèi)部數(shù)據(jù)存儲(chǔ)器地址空間工作寄存器區(qū)位尋址區(qū)通用用戶RAM和堆棧區(qū)特殊功能寄存器區(qū)內(nèi)部數(shù)據(jù)存儲(chǔ)器地址空間分配現(xiàn)在是28頁\一共有108頁\編輯于星期一29/109工作寄存器區(qū)地址分配:00H~1FH共32個(gè)單元。分為四組(每一組稱為一個(gè)寄存器組),每一組包括8個(gè)8位的工作寄存器,分別是R0~R7。功能:通過使用工作寄存器,可以提高運(yùn)算速度,也可以使用其中的R0或R1存放八位地址值,訪問一個(gè)256字節(jié)外部RAM塊中的單元。另外,R0~R7也可以用作計(jì)數(shù)器,在指令作用下加1或減1?,F(xiàn)在是29頁\一共有108頁\編輯于星期一30/109工作寄存器組的選擇:PSW寄存器中的RS1和RS0兩位組合決定當(dāng)前使用的工作寄存器組??梢酝ㄟ^位操作指令直接修改RS1和RS0的內(nèi)容,選擇不同的工作寄存器組。RS1(PSW.4)RS0(PSW.3)工作寄存器組工作寄存器地址000R7~R0對應(yīng)的地址為07H~00H011R7~R0對應(yīng)的地址為0FH~08H102R7~R0對應(yīng)的地址為17H~10H113R7~R0對應(yīng)的地址為1FH~18H工作寄存器組選擇現(xiàn)在是30頁\一共有108頁\編輯于星期一31/109位尋址區(qū)20H~2FH之間的單元既可以按字節(jié)存取,也可以按位存取共128位,地址范圍是00H~7FH。內(nèi)部RAM中的位地址現(xiàn)在是31頁\一共有108頁\編輯于星期一32/109除了20H~2FH之間的單元可以位尋址外,特殊功能寄存器中,直接地址可被8整除的寄存器(除了IP.7、IP.6和IE.6以外)也可以進(jìn)行位尋址。圖3-11特殊功能寄存器中的位地址現(xiàn)在是32頁\一共有108頁\編輯于星期一33/109用戶RAM和堆棧區(qū)內(nèi)部RAM中的30H~7FH單元是用戶RAM和堆棧區(qū)。一個(gè)8位的堆棧指針SP,并且堆棧區(qū)只能設(shè)置在內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū)。當(dāng)有子程序調(diào)用和中斷請求時(shí),返回地址等信息被自動(dòng)保存在堆棧內(nèi)。STC15F2K60S2單片機(jī)復(fù)位后,SP為07H,使堆棧事實(shí)上由08H單元開始,考慮08H~1FH單元分別屬于工作寄存器組1~3,若在程序設(shè)計(jì)中用到這些工作寄存器,則在用戶初始化程序中,最好把SP的值改變?yōu)?0H或更大的值。STC15F2K60S2單片機(jī)的堆棧是朝著地址增大的方向生成的,即將數(shù)據(jù)壓入堆棧后,SP的值增大。現(xiàn)在是33頁\一共有108頁\編輯于星期一34/109高128字節(jié)RAM和特殊功能寄存器對于STC15F2K60S2單片機(jī),80H~FFH既為高128字節(jié)RAM區(qū)的地址范圍,又為特殊功能寄存器區(qū)(SFR)的地址范圍,地址空間重疊,但物理上是獨(dú)立的。使用時(shí),通過不同的尋址方式加以區(qū)分:高128字節(jié)的RAM區(qū)使用間接尋址訪問,特殊功能寄存器使用直接尋址訪問。由于堆棧操作也是間接尋址方式,所以,高128位數(shù)據(jù)RAM亦可作為堆棧區(qū)使用?,F(xiàn)在是34頁\一共有108頁\編輯于星期一35/109除了程序計(jì)數(shù)器PC和4個(gè)工作寄存器組外,其余的寄存器都在SFR區(qū)中。特殊功能寄存器大體分為兩類

①一類與芯片的引腳有關(guān)。如P0~P5,它們實(shí)際上是6個(gè)鎖存器,每個(gè)鎖存器附加上相應(yīng)的輸出驅(qū)動(dòng)器和輸入緩沖器就構(gòu)成了一個(gè)并行口。②另一類為芯片內(nèi)部功能的控制或者內(nèi)部寄存器。如中斷屏蔽及優(yōu)先級(jí)控制、定時(shí)器、串行口、SPI接口等。STC15F2K60S2單片機(jī)的特殊功能寄存器及其復(fù)位值如表3-2所列?,F(xiàn)在是35頁\一共有108頁\編輯于星期一36/1092)擴(kuò)展數(shù)據(jù)存儲(chǔ)區(qū)外部數(shù)據(jù)存儲(chǔ)區(qū)也稱為擴(kuò)展RAM區(qū)(簡稱,XRAM)。片內(nèi)集成了1792字節(jié)的外部RAM,地址范圍為0000H~06FFH,可用于存放數(shù)據(jù)。注意,這里的“內(nèi)部”和“外部”是邏輯上的概念,不是指芯片內(nèi)部和外部。在匯編語言中,XRAM使用“MOVX@DPTR”

或者“MOVX@Ri”指令訪問。在C語言中,可使用xdata聲明存儲(chǔ)類型即可。如:unsignedcharxdatai=0;現(xiàn)在是36頁\一共有108頁\編輯于星期一37/109訪問片內(nèi)集成的外部RAM時(shí),不影響P0口、P2口、P4.2、P4.4和ALE。STC15F2K60S2單片機(jī)還可以訪問片外擴(kuò)展的64KB外部數(shù)據(jù)存儲(chǔ)器。STC15F2K60S2單片機(jī)的外部擴(kuò)展I/O端口與擴(kuò)展數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址,因此外部I/O端口的地址占用擴(kuò)展數(shù)據(jù)存儲(chǔ)器的地址單元,用MOVX指令訪問?,F(xiàn)在是37頁\一共有108頁\編輯于星期一38/109單片機(jī)內(nèi)部擴(kuò)展RAM是否可以訪問受輔助寄存器AUXR(地址為8EH,復(fù)位值為01H)中的EXTRAM位控制。EXTRAM:0:內(nèi)部擴(kuò)展RAM可以存??;地址小于700H時(shí),訪問內(nèi)部擴(kuò)展RAM;地址大于或等于700H時(shí),則訪問單片機(jī)外部擴(kuò)展的RAM或I/O空間。1:禁止訪問內(nèi)部擴(kuò)展RAM。位號(hào)D7D6D5D4D3D2D1D0位名稱T0x12T1x12UART_M0x6T2RT2_C/T2x12EXTRAMS1ST2現(xiàn)在是38頁\一共有108頁\編輯于星期一39/109(3)數(shù)據(jù)Flash存儲(chǔ)器空間大?。杭闪?K字節(jié)的數(shù)據(jù)Flash存儲(chǔ)器,與程序空間是分開的地址范圍:0000H~03FFH。這1K字節(jié)的數(shù)據(jù)Flash存儲(chǔ)器分為2個(gè)扇區(qū),每個(gè)扇區(qū)包含512字節(jié),對應(yīng)的地址范圍分別為:第一扇區(qū):0000H~01FFH第二扇區(qū):0200H~03FFH現(xiàn)在是39頁\一共有108頁\編輯于星期一40/109使用方法:建議同一次修改的數(shù)據(jù)放在同一個(gè)扇區(qū),不是同一次修改的數(shù)據(jù)放在不同的扇區(qū),不一定用滿。數(shù)據(jù)Flash存儲(chǔ)器的擦除操作是按扇區(qū)進(jìn)行的。數(shù)據(jù)Flash存儲(chǔ)器可以作為EEPROM使用,擦寫次數(shù)在10萬次以上,用于保存一些需要在應(yīng)用過程中修改并且掉電不丟失的參數(shù)數(shù)據(jù)。在用戶程中,可以對數(shù)據(jù)Flash區(qū)進(jìn)行字節(jié)讀/字節(jié)編程/扇區(qū)擦除操作。現(xiàn)在是40頁\一共有108頁\編輯于星期一41/109二、單片機(jī)的引腳及功能1、STC15F2K60S2單片機(jī)的引腳封裝LQFP-44封裝STC15F2K60S2單片機(jī)的引腳圖現(xiàn)在是41頁\一共有108頁\編輯于星期一42/109DIP-40封裝STC15F2K60S2單片機(jī)的引腳圖現(xiàn)在是42頁\一共有108頁\編輯于星期一43/109STC15F2K60S2單片機(jī)的邏輯符號(hào)圖STC15F2K60S2單片機(jī)的邏輯符號(hào)圖現(xiàn)在是43頁\一共有108頁\編輯于星期一44/109DIP-40封裝的STC15F2K60S2單片機(jī)和LQFP-44封裝相比,除了沒有P4.0、P4.3、P4.6、P4.7引腳外,其他資源和的單片機(jī)完全相同。由于DIP封裝的單片機(jī)焊接比較容易,因此,對于初學(xué)者,最好選用DIP封裝的單片機(jī)進(jìn)行學(xué)習(xí)。注意:在實(shí)際應(yīng)用中,設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)的原理圖時(shí),一般應(yīng)使用邏輯符號(hào)圖,以便進(jìn)行電路分析,而設(shè)計(jì)應(yīng)用系統(tǒng)的印刷電路板圖時(shí),必須使用單片機(jī)的引腳圖?,F(xiàn)在是44頁\一共有108頁\編輯于星期一45/109引腳電源引腳外接晶體引腳控制和復(fù)位引腳輸入/輸出(I/O)引腳現(xiàn)在是45頁\一共有108頁\編輯于星期一46/109(1)電源引腳Vcc:一般接電源的+5V。具體的電壓幅度應(yīng)參考單片機(jī)的手冊。GND:接電源地。現(xiàn)在是46頁\一共有108頁\編輯于星期一47/109(2)外接晶體引腳XTAL1和XATL2芯片內(nèi)部一個(gè)反相放大器的輸入端和輸出端。通常用于連接晶體振蕩器。常見的連接方法如圖所示。常見的晶振連接方法現(xiàn)在是47頁\一共有108頁\編輯于星期一48/109晶體振蕩器M的頻率可以在4MHz~48MHz之間選擇,典型值是11.0592MHz(因?yàn)樵O(shè)計(jì)單片機(jī)通信應(yīng)用系統(tǒng)時(shí),使用這個(gè)頻率的晶振可以準(zhǔn)確地得到9600bits/s和19200bits/s的波特率)。電容C1、C2對時(shí)鐘頻率有微調(diào)作用,可在5~100pF之間選擇,典型值是47pF?,F(xiàn)在是48頁\一共有108頁\編輯于星期一49/109STC15F2K60S2單片機(jī)內(nèi)部集成高精度R/C時(shí)鐘,工作時(shí)鐘可以使用內(nèi)部振蕩器或者外部晶體振蕩器(簡稱晶振)產(chǎn)生的時(shí)鐘。40引腳和44引腳封裝的STC15F2K60S2單片機(jī)出廠標(biāo)準(zhǔn)配置是使用外部時(shí)鐘。內(nèi)部集成的高精度R/C時(shí)鐘工業(yè)環(huán)境下的溫漂為±1%,常溫下溫飄5‰,頻率范圍為5MHz~35MHz,可以在編程時(shí)設(shè)置。對于時(shí)鐘頻率要求不太敏感的場合,內(nèi)部R/C振蕩器完全能夠滿足要求。使用內(nèi)部R/C振蕩器時(shí)鐘時(shí),XTAL1和XTAL2引腳懸空?,F(xiàn)在是49頁\一共有108頁\編輯于星期一50/109使用外部晶振時(shí),常見的連接方法與圖3-14所示的連接方法相同。利用在系統(tǒng)編程(In-SystemProgramming,ISP)工具對STC12C5A60S2單片機(jī)下載用戶程序時(shí),可以在選項(xiàng)中設(shè)置選擇使用外部晶體振蕩器時(shí)鐘或者使用內(nèi)部R/C振蕩器時(shí)鐘?,F(xiàn)在是50頁\一共有108頁\編輯于星期一51/109(3)控制和復(fù)位引腳ALE(與P4.5復(fù)用)功能:當(dāng)訪問外部存儲(chǔ)器或者外部擴(kuò)展的并行I/O口時(shí),ALE(允許地址鎖存)的輸出用于鎖存地址的低位字節(jié)。標(biāo)準(zhǔn)8051單片機(jī)的ALE腳對系統(tǒng)時(shí)鐘進(jìn)行6分頻輸出,可對外提供時(shí)鐘。現(xiàn)在是51頁\一共有108頁\編輯于星期一52/109當(dāng)8051單片機(jī)時(shí)鐘頻率較高時(shí),ALE腳是一個(gè)干擾源。STC15F2K60S2單片機(jī)直接禁止ALE腳對系統(tǒng)時(shí)鐘進(jìn)行6分頻輸出,徹底清除此干擾源,有利于系統(tǒng)的抗干擾設(shè)計(jì)。如果設(shè)計(jì)中需要單片機(jī)輸出時(shí)鐘,可以利用STC15F2K60S2單片機(jī)的可編程時(shí)鐘輸出腳對外輸出時(shí)鐘。STC15F2K60S2單片機(jī)的ALE引腳在用MOVX指令訪問片外擴(kuò)展器件時(shí)輸出地址鎖存信號(hào)?,F(xiàn)在是52頁\一共有108頁\編輯于星期一53/109RST(與P5.4復(fù)用)當(dāng)振蕩器運(yùn)行時(shí),在此引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)位。如果需要單片機(jī)接上電源就可以復(fù)位,則需要使用上電復(fù)位電路。上電復(fù)位電路圖現(xiàn)在是53頁\一共有108頁\編輯于星期一54/109P5.4/RST/MCLKO腳出廠時(shí)默認(rèn)為I/O口,可以通過STC-ISP編程軟件下載程序時(shí),將其設(shè)置為RST復(fù)位腳。STC15F2K60S2單片機(jī)內(nèi)部集成了MAX810專用復(fù)位電路,時(shí)鐘頻率在12MHZ以下時(shí),復(fù)位腳可接1K電阻再接地,也可以使用圖3-15所示的傳統(tǒng)復(fù)位電路?,F(xiàn)在是54頁\一共有108頁\編輯于星期一55/109(4)輸入/輸出(I/O)引腳STC12C5A60S2單片機(jī)最多可以有44根I/O口線,44根I/O口線分別為:P0口(8根):P0.0~P0.7P1口(8根):P1.0~P1.7P2口(8根):P2.0~P2.7P3口(8根):P3.0~P3.7P4口(8根):P4.0~P4.7P5口(2根):P5.4、P5.5?,F(xiàn)在是55頁\一共有108頁\編輯于星期一56/1091)I/O口的工作模式4種工作模式:準(zhǔn)雙向口/弱上拉,推挽/強(qiáng)上拉,輸入/高阻和開漏模式。復(fù)位后為準(zhǔn)雙向口/弱上拉工作模式。每個(gè)口的工作模式由2個(gè)控制寄存器中的相應(yīng)位控制(PnM0和PnM1,n=0、1、2、3、4、5)?,F(xiàn)在是56頁\一共有108頁\編輯于星期一57/109例如,P0M0和P0M1用于設(shè)定P0口的工作模式,其中P0M0.7和P0M1.7用于設(shè)置P0.7的工作模式,P0M0.6和P0M1.6用于設(shè)置P0.6的工作模式,以此類推。PnM1[7:0]PnM0[7:0]I/O口模式00準(zhǔn)雙向口(傳統(tǒng)8051單片機(jī)I/O口模式),灌電流可達(dá)20mA,拉電流為270μA,由于制造誤差,實(shí)際為270uA~150uA01推挽輸入輸出(強(qiáng)上拉輸出,可達(dá)20mA,要加限流電阻,盡量少用)10僅為輸入(高阻)11開漏(OpenDrain),內(nèi)部上拉電阻斷開,要外加上拉電阻I/O口工作模式設(shè)置現(xiàn)在是57頁\一共有108頁\編輯于星期一58/109例如,若設(shè)置P1.7為開漏模式,P1.6為強(qiáng)推挽輸入輸出模式,P1.5為高阻輸入模式,P1.4、P1.3、P1.2、P1.1和P1.0為弱上拉模式,則可以使用下面的代碼進(jìn)行設(shè)置:

MOVP1M1,#10100000BMOVP1M0,#11000000B現(xiàn)在是58頁\一共有108頁\編輯于星期一59/109STC15F2K60S2單片機(jī)的每個(gè)I/O口在弱上拉時(shí)都能承受20mA的灌電流(最好還是使用限流電阻,如1KΩ)在強(qiáng)推挽輸出時(shí)都能輸出20mA的拉電流(也要加限流電阻)。整個(gè)芯片的工作電流推薦不要超過90mA。即從MCU-Vcc流入的電流不超過90mA,從MCU-GND流出的電流不超過90mA,整體流入/流出電流都不能超過90mA?,F(xiàn)在是59頁\一共有108頁\編輯于星期一60/1092)I/O口的復(fù)用功能P0口用作數(shù)據(jù)總線(D7~D0)或者地址總線低8位(A7~A0)。用作普通I/O。P1口用作普通I/O。復(fù)用為ADC轉(zhuǎn)換輸入、捕獲/比較/脈寬調(diào)制、SPI通信線、第二串口或者第二時(shí)鐘輸出,如表所示。現(xiàn)在是60頁\一共有108頁\編輯于星期一61/109P1口的復(fù)用功能引腳復(fù)用功能P1.0ADC0/CCP1(捕獲/比較/脈寬調(diào)制通道1)/RxD2(串口2輸入)P1.1ADC1/CCP0(捕獲/比較/脈寬調(diào)制通道0)/TxD2(串口2輸出)P1.2ADC2/ECI(可編程計(jì)數(shù)器陣列定時(shí)器的外部時(shí)鐘輸入)/SS(SPI從器件選擇)P1.3ADC3/MOSI(SPI主機(jī)輸出從機(jī)輸入)P1.4ADC4/MISO(SPI主機(jī)輸入從機(jī)輸出)P1.5ADC5/SCLK(SPI時(shí)鐘)P1.6ADC6/XTAL2(外接晶體引腳)/RxD_3(串口1輸入備用切換引腳)P1.7ADC7/XTAL1(外接晶體引腳)/TxD_3(串口1輸出備用切換引腳)現(xiàn)在是61頁\一共有108頁\編輯于星期一62/109P2口用作地址總線的高8位輸出。用作通用I/O口使用。用于SPI和捕獲/比較/脈寬調(diào)制的備用切換端口引腳復(fù)用功能P2.0A8/RSTOUT_LOW(復(fù)位后輸出低電平引腳)P2.1A9/SCLK_2(SPI時(shí)鐘備用切換引腳)P2.2A10/MISO_2(SPI主機(jī)輸入從機(jī)輸出備用切換引腳)P2.3A11/MOSI_2(SPI主機(jī)輸出從機(jī)輸入備用切換引腳)P2.4A12//ECI_3(可編程計(jì)數(shù)器陣列定時(shí)器的外部時(shí)鐘輸入備用切換引腳)/SS_2(SPI從器件選擇備用切換引腳)P2.5A13/CCP0_3(捕獲/比較/脈寬調(diào)制通道0備用切換引腳)P2.6A14/CCP1_3(捕獲/比較/脈寬調(diào)制通道1備用切換引腳)P2.7A15/CCP2_3(捕獲/比較/脈寬調(diào)制通道2備用切換引腳)P2口的復(fù)用功能現(xiàn)在是62頁\一共有108頁\編輯于星期一63/109P3口用作通用I/O口使用。可復(fù)用為外部中斷輸入、計(jì)數(shù)器輸入、時(shí)鐘輸出、第一串口和外部總線的讀/寫控制,如表所示?,F(xiàn)在是63頁\一共有108頁\編輯于星期一64/109P3口的復(fù)用功能端口引腳復(fù)用功能P3.0RXD(串口1輸入)//INT4(外部中斷4,只能下降沿中斷)/T2CLKO(T2的時(shí)鐘輸出)P3.1TXD(串口1輸出)/T2CLKO(T2的外部輸入)P3.2/INT0(外部中斷0輸入,既可上升沿中斷也可下降沿中斷)P3.3/INT1(外部中斷1輸入,既可上升沿中斷也可下降沿中斷)P3.4T0(定時(shí)器0外部輸入)/T1CLKOU(T1時(shí)鐘輸出)/ECI_2(可編程計(jì)數(shù)器陣列定時(shí)器的外部時(shí)鐘輸入備用切換引腳)P3.5T1(定時(shí)器1外部輸入)/T0CLKOU(T0時(shí)鐘輸出)/CCP0_32(捕獲/比較/脈寬調(diào)制通道0備用切換引腳)P3.6/INT2(外部中斷2輸入,只能下降沿中斷)/RxD_2(串口1輸入備用切換引腳)/CCP1_2(捕獲/比較/脈寬調(diào)制通道1備用切換引腳)P3.7/INT3(外部中斷3輸入,只能下降沿中斷)/TxD_2(串口1輸出備用切換引腳)/CCP2(捕獲/比較/脈寬調(diào)制通道2)/CCP2_2(捕獲/比較/脈寬調(diào)制通道2備用切換引腳)現(xiàn)在是64頁\一共有108頁\編輯于星期一65/109P4口作通用I/O口使用。某些口線具有復(fù)用功能,可配置為SPI通信線、捕捉/比較/脈寬調(diào)制、第二串口線等。P4口的復(fù)用功能端口引腳復(fù)用功能P4.0MOSI_3(SPI主輸出從輸入備用切換引腳)P4.1MISO_3(SPI主輸入從輸出備用切換引腳)P4.2

(外部總線寫控制信號(hào))P4.3SCLK_3(SPI時(shí)鐘備用切換引腳)P4.4

(外部總線讀控制信號(hào))P4.5ALE(地址鎖存控制信號(hào),主要用于外部總線擴(kuò)展)P4.6RxD2_2(第二串口輸入備用切換引腳)P4.7TxD2_2(第二串口輸出備用切換引腳)現(xiàn)在是65頁\一共有108頁\編輯于星期一66/109P5口P5.4/RST(復(fù)位腳)/MCLKO(內(nèi)部R/C振蕩時(shí)鐘輸出;輸出的頻率可為MCLK/1或MCLK/2)/SS_3(SPI接口的從機(jī)選擇信號(hào)備用切換引腳)。該引腳默認(rèn)為I/O口,可以通過ISP編程將其設(shè)置為RST(復(fù)位)引腳。P5.5沒有復(fù)用功能?,F(xiàn)在是66頁\一共有108頁\編輯于星期一67/109捕獲/比較/脈寬調(diào)制(CCP)通道的引腳切換、SPI接口的引腳切換以及串口的引腳切換由輔助寄存器AUXR1(也稱為P_SW1,地址為A2H,復(fù)位值為00000000B)和外設(shè)功能切換寄存器P_SW2(地址為BAH,復(fù)位值為xxxxxxx0B)確定。

位號(hào)寄存器名稱D7D6D5D4D3D2D1D0AUXR1S1_S1S1_S0CCP_S1CCP_S0SPI_S1SPI_S00DPSP_SW2S2_S現(xiàn)在是67頁\一共有108頁\編輯于星期一68/109捕獲/比較/脈寬調(diào)制(CCP)通道可以在三個(gè)地方切換,由CCP_S1和CCP_S0兩個(gè)控制位選擇,其選擇方法如表3-10所示。CCP_S1CCP_S0切換引腳00CCP在[P1.2/ECI,P1.1/CCP0,P1.0/CCP1,P3.7/CCP2]01CCP在[P3.4/ECI_2,P3.5/CCP0_2,P3.6/CCP1_2,P3.7/CCP2_2]10CCP在[P2.4/ECI_3,P2.5/CCP0_3,P2.6/CCP1_3,P2.7/CCP2_3]11無效捕獲/比較/脈寬調(diào)制(CCP)通道的切換現(xiàn)在是68頁\一共有108頁\編輯于星期一69/109SPI可以在三個(gè)地方切換,由SPI_S1和SPI_S0兩個(gè)控制位選擇,其選擇方法如表3-11所示。SPI_S1SPI_S0切換引腳00SPI在[P1.2/SS,P1.3/MOSI,P1.4/MISO,P1.5/SCLK]01SPI在[P2.4/SS_2,P2.3/MOSI_2,P2.2/MISO_2,P2.1/SCLK_2]10SPI在[P5.4/SS_3,P4.0/MOSI_3,P4.1/MISO_3,P4.3/SCLK_3]11無效SPI的引腳切換現(xiàn)在是69頁\一共有108頁\編輯于星期一70/109串口1可以在三個(gè)地方切換,由S1_S1和S1_S0兩個(gè)控制位選擇,其選擇方法如下表示。S1_S1S1_S0切換引腳00串口1在[P3.0/RxD,P3.1/TxD]01串口1在[P3.6/RxD_2/XTAL2,P3.7/TxD_2/XTAL1],串口1在P1口時(shí)要使用內(nèi)部時(shí)鐘10串口1在[P1.6/RxD_3,P1.7/TxD_3],串口1在P1口時(shí)要使用內(nèi)部時(shí)鐘11無效串口1的引腳切換現(xiàn)在是70頁\一共有108頁\編輯于星期一71/109串口2可以在兩個(gè)地方切換,由S2_S0控制位選擇:0:串口2在[P1.0/RxD2,P1.1/TxD2]1:串口2在[P4.6/RxD2_2,P4.7/TxD2_2]GF2:通用標(biāo)志位。該位是由用戶定義的一個(gè)狀態(tài)標(biāo)志??梢杂密浖硎顾谩?”或清“0”,也可以由軟件測試GF2控制程序的流向。ADRJ:留作備用。DPS:數(shù)據(jù)指針選擇位。0:使用缺省數(shù)據(jù)指針DPTR0;1:使用另一個(gè)數(shù)據(jù)指針DPTR1。現(xiàn)在是71頁\一共有108頁\編輯于星期一72/1093)STC15F2K60S2單片機(jī)I/O口的結(jié)構(gòu)準(zhǔn)雙向口工作模式的結(jié)構(gòu)準(zhǔn)雙向口工作模式的I/O位結(jié)構(gòu)現(xiàn)在是72頁\一共有108頁\編輯于星期一73/109I/O口可用作輸出和輸入功能而不需重新配置口線輸出狀態(tài)。當(dāng)口線輸出為“1”時(shí)I/O口驅(qū)動(dòng)能力很弱,允許外部裝置將其拉低。當(dāng)引腳輸出為低時(shí),它的驅(qū)動(dòng)能力很強(qiáng),可吸收相當(dāng)大的電流。每個(gè)端口都包含一個(gè)鎖存器,即特殊功能寄存器P0~P5。這種結(jié)構(gòu)在數(shù)據(jù)輸出時(shí),具有鎖存功能,即在重新輸出新的數(shù)據(jù)之前,口線上的數(shù)據(jù)一直保持不變。但對輸入信號(hào)是不鎖存的,所以外設(shè)輸入的數(shù)據(jù)必須保持到取數(shù)指令執(zhí)行為止。現(xiàn)在是73頁\一共有108頁\編輯于星期一74/109為了便于敘述,以后將6個(gè)端口及其鎖存器都表示為P0~P5。準(zhǔn)雙向口有3個(gè)上拉場效應(yīng)管T1、T2、T3,以適應(yīng)不同的需要。其中,T1稱為強(qiáng)上拉,上拉能力可達(dá)20mA;T2稱為極弱上拉,上拉能力一般為30μA;T3稱為弱上拉,一般上拉能力為150μA~250μA,典型值為200μA。輸出低電平時(shí),最大灌電流可達(dá)20mA?,F(xiàn)在是74頁\一共有108頁\編輯于星期一75/109當(dāng)口線寄存器為1且引腳本身也為1時(shí),T3導(dǎo)通。T3提供基本驅(qū)動(dòng)電流使準(zhǔn)雙向口輸出為1。如果一個(gè)引腳輸出為“1”而由外部裝置下拉到低時(shí),T3斷開,而T2維持導(dǎo)通狀態(tài),為了把這個(gè)引腳強(qiáng)拉為低,外部裝置必須有足夠的灌電流能力使引腳上的電壓降到門檻電壓以下。當(dāng)口線鎖存為1時(shí),T2導(dǎo)通。當(dāng)引腳懸空時(shí),這個(gè)極弱的上拉源產(chǎn)生很弱的上拉電流將引腳上拉為高電平。當(dāng)口線鎖存為0時(shí),T1、T2和T3均截止,T4導(dǎo)通,引腳輸出為低電平?,F(xiàn)在是75頁\一共有108頁\編輯于星期一76/109當(dāng)口線鎖存器由0到1跳變時(shí),T1用來加快準(zhǔn)雙向口由邏輯0到邏輯1的轉(zhuǎn)換。發(fā)生這種情況時(shí),T1導(dǎo)通約2個(gè)時(shí)鐘使引腳能迅速地上拉到高電平。準(zhǔn)雙向口帶有一個(gè)施密特觸發(fā)輸入以及一個(gè)干擾抑制電路。當(dāng)從端口引腳上輸入數(shù)據(jù)時(shí),T4應(yīng)一直處于截止?fàn)顟B(tài)。假定在輸入之前曾輸出鎖存過數(shù)據(jù)0,則T4是導(dǎo)通的,這樣引腳上的電位就始終被箝位在0電平,使輸入高電平無法讀入。因此,作為一個(gè)準(zhǔn)雙向口使用時(shí),輸入數(shù)據(jù)時(shí),應(yīng)先向口寫1,使T4截止,然后方可作高阻抗輸入。這是準(zhǔn)雙向口的主要特點(diǎn)?,F(xiàn)在是76頁\一共有108頁\編輯于星期一77/109推挽輸入輸出工作模式的結(jié)構(gòu)圖

推挽輸入輸出工作模式的I/O位結(jié)構(gòu)現(xiàn)在是77頁\一共有108頁\編輯于星期一78/109推挽輸入輸出工作模式的下拉結(jié)構(gòu)與準(zhǔn)雙向口的下拉結(jié)構(gòu)相同,但當(dāng)鎖存器為“1”時(shí)可提供持續(xù)的強(qiáng)上拉。推挽工作模式一般用于需要更大驅(qū)動(dòng)電流的情況。工作于推挽輸入輸出模式時(shí),一個(gè)I/O位也帶有一個(gè)施密特觸發(fā)輸入以及一個(gè)干擾抑制電路。此時(shí),若輸出高電平,拉電流最大可達(dá)20mA;若輸出低電平,灌電流也可達(dá)20mA。現(xiàn)在是78頁\一共有108頁\編輯于星期一79/109僅為輸入(高阻)工作模式的結(jié)構(gòu)輸入口帶有一個(gè)施密特觸發(fā)輸入以及一個(gè)干擾抑制電路。注意,僅為輸入(高阻)工作模式下,I/O口不提供20mA灌電流的能力。圖

僅為輸入(高阻)工作模式的I/O位結(jié)構(gòu)

現(xiàn)在是79頁\一共有108頁\編輯于星期一80/109開漏輸出工作模式的結(jié)構(gòu)圖

開漏輸出工作模式的I/O位結(jié)構(gòu)現(xiàn)在是80頁\一共有108頁\編輯于星期一81/109當(dāng)口線鎖存器為0時(shí),開漏輸出關(guān)斷所有上拉場效應(yīng)管。當(dāng)作為一個(gè)邏輯輸出時(shí),這種配置方式必須有外部上拉電阻,即通過電阻外接到Vcc。這種方式的下拉結(jié)構(gòu)與準(zhǔn)雙向口模式的下拉結(jié)構(gòu)相同。開漏端口帶有一個(gè)施密特觸發(fā)輸入以及一個(gè)干擾抑制電路。這種工作模式下,輸出低電平時(shí),灌電流也可達(dá)20mA。現(xiàn)在是81頁\一共有108頁\編輯于星期一82/1091、P4口和P5口的使用對STC15F2K60S2單片機(jī)P4口和P5口的訪問,如同訪問常規(guī)的P0/P1/P2/P3口一樣,并且均可按位尋址,P4的地址C0H,P5口的地址在C8H?!?.2單片機(jī)的I/O口的使用現(xiàn)在是82頁\一共有108頁\編輯于星期一83/1092、上拉電阻的連接雖然作為準(zhǔn)雙向口使用時(shí),單片機(jī)內(nèi)部已經(jīng)集成了上拉場效應(yīng)管,但在實(shí)際應(yīng)用時(shí),一般情況下,最好還是外接上拉電阻。例如,當(dāng)外接的是SPI/I2C等漏極開漏的電路時(shí)?,F(xiàn)在是83頁\一共有108頁\編輯于星期一84/109以P0.0為例,接上拉電阻的電路連接如圖所示。典型的上拉電阻的阻值為5.1K或者10K。圖

上拉電阻的連接方法現(xiàn)在是84頁\一共有108頁\編輯于星期一85/1093、拉電流方式和灌電流方式STC15F2K60S2單片機(jī)的I/O口線作為輸出可以提供20mA的驅(qū)動(dòng)能力,在使用時(shí),可采用拉電流或灌電流方式。以P0.0控制發(fā)光二極管電路為例說明,電路連接如圖所示。圖

拉電流方式和灌電流方式現(xiàn)在是85頁\一共有108頁\編輯于星期一86/109采用灌電流方式時(shí),應(yīng)將單片機(jī)的I/O口設(shè)置為弱上拉/準(zhǔn)雙向口工作模式;采用拉電流方式時(shí),應(yīng)將單片機(jī)的I/O口設(shè)置為推挽/強(qiáng)上拉工作模式。在實(shí)際使用時(shí),應(yīng)盡量采用灌電流方式,這樣可以提高系統(tǒng)的負(fù)載能力和可靠性。有特別需要時(shí),可以采取拉電流方式,如供電線路要求比較簡單時(shí)。現(xiàn)在是86頁\一共有108頁\編輯于星期一87/109使用時(shí)應(yīng)該特別注意圖中的限流電阻千萬不能省略,否則,會(huì)毀壞I/O口。在按鍵掃描電路中的兩側(cè)需要各加300的限流電阻,或者在編程時(shí)不要出現(xiàn)按鍵兩端的I/O口同時(shí)為低的情況?,F(xiàn)在是87頁\一共有108頁\編輯于星期一88/1094、典型的三極管控制電路單片機(jī)I/O引腳本身的驅(qū)動(dòng)能力有限,如果需要驅(qū)動(dòng)功率較大的器件,如小型繼電器或者固態(tài)繼電器,可以采用單片機(jī)I/O引腳控制三極管進(jìn)行輸出的方法。以P0.0為例。圖

典型的三極管控制電路現(xiàn)在是88頁\一共有108頁\編輯于星期一89/109如果用弱上拉控制,建議加上拉電阻R1(3.3K~10K);如果不加上拉電阻R1,建議R2的值在15K以上,或用強(qiáng)推挽輸出。當(dāng)需要驅(qū)動(dòng)的功率器件較多時(shí),建議采用ULN2008,其內(nèi)部采用達(dá)林頓結(jié)構(gòu),是專門用來驅(qū)動(dòng)繼電器的芯片,甚至在芯片內(nèi)部做了一個(gè)消去線圈反電動(dòng)勢的二極管。ULN2008的輸出端允許通過IC電流200mA,飽和壓降VCE約為1V左右,耐壓BVCEO約為36V。輸出口的外接負(fù)載可根據(jù)以上參數(shù)估算。采用集電極開路輸出,輸出電流大,可以直接驅(qū)動(dòng)繼電器或固體繼電器(SSR)。ULN2008可以驅(qū)動(dòng)8個(gè)繼電器?,F(xiàn)在是89頁\一共有108頁\編輯于星期一90/1095、I/O外部狀態(tài)的輸入存在問題:當(dāng)I/O口工作于準(zhǔn)雙向口時(shí),由于STC15F2K60S2單片機(jī)是1個(gè)時(shí)鐘周期(1T)的8051單片機(jī),速度很快,如果通過指令執(zhí)行由低變高指令后立即讀外部狀態(tài),此時(shí)由于實(shí)際輸出還沒有變高,有時(shí)可能讀入的狀態(tài)不對。解決方法:在軟件設(shè)置由低變高后加1到2個(gè)空操作指令延時(shí),然后再讀I/O口的狀態(tài)。現(xiàn)在是90頁\一共有108頁\編輯于星期一91/1096、P1.7/XTAL1與P1.6/XTAL2的特別說明STC15F2K60S2系列單片機(jī)的所有I/O口上電復(fù)位后均為準(zhǔn)雙向口/弱上拉模式。但是由于P1.7和P1.6口還可以分別作外部晶體或時(shí)鐘電路的引腳XTAL1和XTAL2,所以P1.7/XTAL1和P1.6/XTAL2上電復(fù)位后的模式不一定就是準(zhǔn)雙向口/弱上拉模式。當(dāng)P1.7和P1.6口作為外部晶體或時(shí)鐘電路的引腳XTAL1和XTAL2使用時(shí),P1.7/XTAL1和P1.6/XTAL2上電復(fù)位后的模式是高阻輸入。現(xiàn)在是91頁\一共有108頁\編輯于星期一92/109每次上電復(fù)位時(shí),單片機(jī)對P1.7/XTAL1和P1.6/XTAL2的工作模式按如下步驟進(jìn)行設(shè)置首先,單片機(jī)短時(shí)間(幾十個(gè)時(shí)鐘)會(huì)將P1.7/XTAL1和P1.6/XTAL2設(shè)置成高阻輸入;然后,單片機(jī)會(huì)自動(dòng)判斷上一次用戶是將P1.7/XTAL1和P1.6/XTAL2設(shè)置成普通I/O口還是XTAL1/XTAL2;如果上一次用戶是將P1.7/XTAL1和P1.6/XTAL2設(shè)置成普通I/O口,則單片機(jī)會(huì)將P1.7/XTAL1和P1.6/XTAL2上電復(fù)位后的模式設(shè)置成準(zhǔn)雙向口/弱上拉;如果上一次用戶是將P1.7/XTAL1和P1.6/XTAL2設(shè)置成XTAL1/XTAL2,則單片機(jī)會(huì)將P1.7/XTAL1和P1.6/XTAL2上電復(fù)位后的模式設(shè)置成高阻輸入?,F(xiàn)在是92頁\一共有108頁\編輯于星期一93/1097、管腳P5.4/RST的特別說明P5.4/RST即可作普通I/O使用,也可作復(fù)位管腳。當(dāng)用戶將P5.4/RST設(shè)置成普通I/O口用時(shí),其上電后為準(zhǔn)雙向口/弱上拉模式。每次上電時(shí),單片機(jī)會(huì)自動(dòng)判斷上一次用戶是將P5.4/RST設(shè)置成普通I/O口還是復(fù)位腳。如果上一次用戶是將P5.4/RST設(shè)置成普通I/O口,則單片機(jī)會(huì)將P5.4/RST上電后的模式設(shè)置成準(zhǔn)雙向口/弱上拉。如果上一次用戶是將P5.4/RST設(shè)置成復(fù)位腳,則上電后,P5.4/RST仍為復(fù)位腳?,F(xiàn)在是93頁\一共有108頁\編輯于星期一94/1091、單片機(jī)最小系統(tǒng)構(gòu)成在實(shí)際工程應(yīng)用中,由于應(yīng)用條件及控制要求的不同,單片機(jī)外圍電路的組成各不相同。單片機(jī)的最小系統(tǒng)就是指在盡可能少的外部電路條件下,能使單片機(jī)獨(dú)立工作的系統(tǒng)?!?.3單片機(jī)應(yīng)用系統(tǒng)的典型構(gòu)成現(xiàn)在是94頁\一共有108頁\編輯于星期一95/109STC15F2K60S2集成了60KB程序存儲(chǔ)器、2048字節(jié)RAM、高可靠復(fù)位電路和高精度R/C振蕩器,一般情況下,不需要外部復(fù)位電路和外部晶振只需要接上電源,并在Vcc和GND之間接上濾波電容C1和C2圖單片機(jī)最小系統(tǒng)現(xiàn)在是95頁\一共有108頁\編輯于星期一96/109為了能夠給單片機(jī)下載程序,可以在RXD和TXD引腳上連接RS232和TTL的轉(zhuǎn)換電路,以連接計(jì)算機(jī),通過下載工具將用戶程序下載到單片機(jī)中。RS232和TTL的轉(zhuǎn)換電路如圖所示。圖RS232和TTL的轉(zhuǎn)換電路現(xiàn)在是96頁\一共有108頁\編輯于星期一97/1092、非總線擴(kuò)展方式的單片機(jī)應(yīng)用系統(tǒng)構(gòu)成STC15F2K60S2單片機(jī)內(nèi)部已經(jīng)有60KB程序存儲(chǔ)器和2048字節(jié)RAM,這對于一般應(yīng)用的存儲(chǔ)器需求已經(jīng)足夠。此時(shí),單片機(jī)的P0、P2和P4口不用于總線方式,即P0口和P2口用于普通I/O口功能;P4.2和P4.4不用于寫控制信號(hào)和讀控制信號(hào),也用于普通I/O口功能。現(xiàn)在是97頁\一共有1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論