




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第三章計(jì)算機(jī)系統(tǒng)的組成與工作原理本章學(xué)習(xí)目標(biāo)理解模型機(jī)的結(jié)構(gòu)及工作過程掌握單片機(jī)的結(jié)構(gòu)掌握單片機(jī)I/O口的使用掌握單片機(jī)應(yīng)用系統(tǒng)的典型構(gòu)成1§3.1模型機(jī)的結(jié)構(gòu)及工作過程一、模型機(jī)的結(jié)構(gòu)簡(jiǎn)介模型機(jī)的主要構(gòu)成:三總線
(地址總線、數(shù)據(jù)總線和控制總線)中央處理器(CPU)存儲(chǔ)器I/O接口2圖3-1模型機(jī)的結(jié)構(gòu)31、中央處理器的組成中央處理器(CPU)由運(yùn)算器和控制器組成。(1)運(yùn)算器定義:運(yùn)算器是計(jì)算機(jī)中加工和處理數(shù)據(jù)的功能部件。功能:對(duì)數(shù)據(jù)進(jìn)行加工處理,主要包括算術(shù)和邏輯運(yùn)算,如加、減、乘、與、或、非運(yùn)算等。另外,還暫時(shí)存放參與運(yùn)算的數(shù)據(jù)和中間結(jié)果。4運(yùn)算器組成部分算數(shù)邏輯單元ALU(ArithmeticLogicalUnit):主要完成算術(shù)、邏輯運(yùn)算。累加寄存器(簡(jiǎn)稱累加器)A:用于存放操作數(shù)或運(yùn)算結(jié)果。寄存器組:由其它寄存器組成,主要用于存放操作數(shù)或運(yùn)算結(jié)果。標(biāo)志寄存器F:存放運(yùn)算結(jié)果的標(biāo)志(零、正負(fù)、進(jìn)位、溢出等)。5(2)控制器功能:控制器用于控制和指揮計(jì)算機(jī)內(nèi)各功能部件協(xié)調(diào)動(dòng)作,完成計(jì)算機(jī)程序功能。6控制器組成程序計(jì)數(shù)器PC(ProgramCounter):用于存放將要取出的指令地址,指令取出后,其內(nèi)容自動(dòng)加1。指令寄存器IR(InstructionRegister):用于存放指令的操作碼。指令譯碼器ID(InstructionDecode):用于將指令的操作碼翻譯成機(jī)器能識(shí)別的命令信號(hào)。微操作信號(hào)發(fā)生器MOSG(MicrooperationSignalGenerator):用于產(chǎn)生一系列微操作控制信號(hào)。地址寄存器AR(Address
Register):用于存放操作數(shù)或結(jié)果單元的地址。數(shù)據(jù)寄存器DR(Data
Register):用于存放操作數(shù)。7控制器種類根據(jù)產(chǎn)生微操作控制信號(hào)的方式不同組合邏輯控制型存儲(chǔ)邏輯型組合邏輯存儲(chǔ)邏輯結(jié)合型根本區(qū)別在于微操作信號(hào)發(fā)生器的實(shí)現(xiàn)方法不同.8組合邏輯型控制器優(yōu)點(diǎn):其微操作信號(hào)發(fā)生器是由門電路組成的復(fù)雜樹狀網(wǎng)絡(luò)構(gòu)成的。最大優(yōu)點(diǎn)是速度快。缺點(diǎn):微操作信號(hào)發(fā)生器結(jié)構(gòu)不規(guī)整,設(shè)計(jì)、調(diào)試、維修較困難,難以實(shí)現(xiàn)設(shè)計(jì)自動(dòng)化。一旦控制部件構(gòu)成后,難以增加新的控制功能。目前僅有一些巨型機(jī)和RISC機(jī)為追求高速度仍采用組合邏輯控制器。9存儲(chǔ)邏輯型控制器優(yōu)點(diǎn):采用存儲(chǔ)邏輯來實(shí)現(xiàn),即把微操作信號(hào)代碼化,使每條機(jī)器指令轉(zhuǎn)化成為一段微程序,存入控制存儲(chǔ)器中,微操作控制信號(hào)由微指令產(chǎn)生。它具有設(shè)計(jì)規(guī)整,調(diào)試、維修、更改、擴(kuò)充指令都方便的優(yōu)點(diǎn),易于實(shí)現(xiàn)自動(dòng)化設(shè)計(jì),已成為當(dāng)前控制器的主流。缺點(diǎn):由于它增加了一級(jí)控制存儲(chǔ)器,所以指令的執(zhí)行速度比組合邏輯控制器慢。10PLA控制器組合邏輯與存儲(chǔ)邏輯結(jié)合型的控制器稱為PLA控制器,它是吸收前兩種控制器的設(shè)計(jì)思想來實(shí)現(xiàn)的。PLA控制器實(shí)際上也是一種組合邏輯控制器,但它又與常規(guī)的組合邏輯控制器的硬連結(jié)構(gòu)不同,它是程序可編的,某一微操作控制信號(hào)由PLA的某一輸出函數(shù)產(chǎn)生。PLA控制器是組合邏輯技術(shù)和存儲(chǔ)邏輯技術(shù)結(jié)合的產(chǎn)物,它克服了兩者的缺點(diǎn),是一種較有前途的方法。11圖3-2微操作信號(hào)發(fā)生器的基本結(jié)構(gòu)示意圖122、存儲(chǔ)器的結(jié)構(gòu)功能:主要用于保存程序和數(shù)據(jù)。組成部分:包含地址譯碼器、存儲(chǔ)單元和控制邏輯。13存儲(chǔ)器訪問過程(1)讀操作CPU首先將地址寄存器AR的內(nèi)容放到地址總線AB上,地址總線上的內(nèi)容進(jìn)入地址譯碼器,由地址譯碼器進(jìn)行譯碼,選通相應(yīng)的存儲(chǔ)單元。被選通的存儲(chǔ)單元的內(nèi)容就出現(xiàn)數(shù)據(jù)總線上,在控制信號(hào)的作用下,CPU從數(shù)據(jù)總線上讀取數(shù)據(jù)到數(shù)據(jù)寄存器DR,從而完成存儲(chǔ)器的讀操作。14(2)寫操作CPU將地址寄存器AR的內(nèi)容送到地址總線AB上,地址總線上的內(nèi)容進(jìn)入地址譯碼器,由地址譯碼器進(jìn)行譯碼,以選通相應(yīng)的存儲(chǔ)單元。在控制信號(hào)的作用下,CPU將要寫入的數(shù)據(jù)通過數(shù)據(jù)總線寫入到被選通的存儲(chǔ)單元,完成存儲(chǔ)器的寫操作。15二、模型機(jī)的工作過程工作過程讀取指令分析指令執(zhí)行指令保存結(jié)果在進(jìn)行計(jì)算之前,應(yīng)做如下工作:用助記符號(hào)指令(匯編語言)編寫源程序);用匯編軟件(匯編程序)將源程序匯編成計(jì)算機(jī)能識(shí)別的機(jī)器語言程序;將數(shù)據(jù)和程序通過輸入設(shè)備送入存儲(chǔ)器中存放。16下面舉例說明計(jì)算機(jī)程序的具體執(zhí)行過程。例如,計(jì)算7+10=?,結(jié)果在A中。匯編語言語句機(jī)器碼注釋MOVA,07HB0H07H;07送入累加器AADDA,0AH04H0AH;10與A中內(nèi)容相加,結(jié)果在A中HLTF4H;暫停17假設(shè)上述程序在存儲(chǔ)器中的存儲(chǔ)格式(設(shè)程序從00H開始存放)如圖所示。地址存儲(chǔ)內(nèi)容00HB0H01H07H02H04H03H0AH04HF4H圖3-3示例程序機(jī)器碼在存儲(chǔ)器中的存儲(chǔ)格式
18讀取指令階段的執(zhí)行過程如下:CPU將程序計(jì)數(shù)器PC的內(nèi)容00H送地址寄存器AR。程序計(jì)數(shù)器PC的內(nèi)容自動(dòng)加1變?yōu)?1H,為取下一條指令作好準(zhǔn)備。地址寄存器AR將00H通過地址總線AB送至存儲(chǔ)器地址譯碼器譯碼,選中00H單元。CPU發(fā)出“讀”命令。所選中的00單元的內(nèi)容B0H由存儲(chǔ)器送至數(shù)據(jù)總線DB上。19經(jīng)數(shù)據(jù)總線DB,CPU將讀出的內(nèi)容B0H送至數(shù)據(jù)寄存器DR。數(shù)據(jù)寄存器DR將其內(nèi)容送至指令寄存器IR中,經(jīng)過譯碼,CPU“識(shí)別”出此操作碼為兩字節(jié)指令的第一個(gè)字節(jié),再取出下一個(gè)字節(jié)后得知是“MOVA,07H”指令,于是控制器發(fā)出執(zhí)行這條指令的控制命令。20讀取第一條指令第一個(gè)字節(jié)的示意圖如圖所示。圖3-4讀取第一條指令第一個(gè)字節(jié)的示意圖21執(zhí)行指令階段的執(zhí)行過程如下:CPU將程序計(jì)數(shù)器PC的內(nèi)容送地址寄存器AR。程序計(jì)數(shù)器PC的內(nèi)容自動(dòng)加1變?yōu)?2H,為取下一條指令作好準(zhǔn)備。地址寄存器AR將01H通過地址總線送至存儲(chǔ)器地址譯碼器譯碼,選中01H單元。CPU發(fā)出“讀”命令。所選中的01H單元的內(nèi)容07H讀至數(shù)據(jù)總線DB上。經(jīng)數(shù)據(jù)總線DB,讀出的內(nèi)容07H送至數(shù)據(jù)寄存器DR。由控制碼計(jì)算機(jī)確定讀出的是立即數(shù),并要求將它送入累加器A中,所以數(shù)據(jù)寄存器DR通過內(nèi)部總線將07H送入累加器A中。22執(zhí)行第一條指令的示意圖如圖所示。圖3-5執(zhí)行第一條指令示意圖23執(zhí)行第二條指令的取指過程與第一條相同,只是指令碼地址不同。經(jīng)過對(duì)第二條指令操作碼的分析(譯碼)得知第二條指令為加法指令,執(zhí)行過程如下:程序計(jì)數(shù)器PC的內(nèi)容送AR。程序計(jì)數(shù)器PC的內(nèi)容自動(dòng)加1并回送PC。地址寄存器AR的內(nèi)容經(jīng)地址總線AB送到存儲(chǔ)器地址譯碼器。24CPU發(fā)出“讀”命令。所選中的03H單元的內(nèi)容0AH送到數(shù)據(jù)總線DB。數(shù)據(jù)總線DB上的內(nèi)容送數(shù)據(jù)寄存器DR。數(shù)據(jù)寄存器DR的內(nèi)容經(jīng)B寄存器送算術(shù)邏輯單元ALU的一端。累加器A的內(nèi)容送ALU的另一端。ALU相加的結(jié)果輸出到A。25執(zhí)行第二條指令的操作示意圖如圖所示。圖3-6執(zhí)行第二條指令操作示意圖26一、單片機(jī)的內(nèi)部結(jié)構(gòu)單片微型計(jì)算機(jī)(簡(jiǎn)稱單片機(jī))在一片芯片上集成了前述微型計(jì)算機(jī)的功能結(jié)構(gòu),有些單片機(jī)不僅集成了CPU、存儲(chǔ)程序和數(shù)據(jù)的存儲(chǔ)器、I/O接口、定時(shí)/計(jì)數(shù)器等常規(guī)資源,而且還集成了工業(yè)測(cè)控系統(tǒng)中常用的模擬量模塊。
§3.2單片機(jī)的結(jié)構(gòu)27單片機(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è)串行口。二十世紀(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ī)。28以目前市場(chǎng)上常見的8051內(nèi)核單片機(jī)STC15F2K60S2為例,說明單片機(jī)的內(nèi)部結(jié)構(gòu)。STC15F2K60S2單片機(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í),可以省去外部晶振電路。29圖3-7STC15F2K60S2單片機(jī)的內(nèi)部結(jié)構(gòu)圖STC15F2K60S2單片機(jī)內(nèi)部結(jié)構(gòu)框圖30STC15F2K60S2單片機(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)311、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)算器的邏輯電路。32算術(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é)果,對(duì)于其他指令,它只作暫存器用。程序狀態(tài)字(PSW):又稱為標(biāo)志寄存器,一個(gè)8位寄存器,用來存放執(zhí)行指令后的有關(guān)狀態(tài)信息,供程序查詢和判別之用。33PSW中有些位的狀態(tài)是在指令執(zhí)行過程中自動(dòng)形成的,有些位可以由用戶采用指令加以改變。PSW的各位定義如下所示:位號(hào)D7D6D5D4D3D2D1D0符號(hào)CYACF0RS1RS0OVF1P34CY(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)CYACF0RS1RS0OVF1P35AC(PSW.6):輔助進(jìn)位標(biāo)志位當(dāng)執(zhí)行加/減法指令時(shí),如果低四位數(shù)向高四位數(shù)產(chǎn)生進(jìn)/借位,則AC置“1”,否則清零。位號(hào)D7D6D5D4D3D2D1D0符號(hào)CYACF0RS1RS0OVF1P36F0(PSW.5):用戶標(biāo)志0。該位是由用戶定義的一個(gè)狀態(tài)標(biāo)志??梢杂密浖硎顾谩?”或清“0”,也可以由軟件測(cè)試F0控制程序的流向。F1(PSW.1):用戶標(biāo)志1。該位是由用戶定義的一個(gè)狀態(tài)標(biāo)志。與F0類似,可以用軟件來使它置“1”或清“0”,也可以由軟件測(cè)試F1控制程序的流向。位號(hào)D7D6D5D4D3D2D1D0符號(hào)CYACF0RS1RS0OVF1P37RS1,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)CYACF0RS1RS0OVF1P38P(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)CYACF0RS1RS0OVF1P39布爾處理機(jī)——是單片機(jī)CPU中運(yùn)算器的一個(gè)重要組成部分。功能:為用戶提供豐富的位操作功能,有相應(yīng)的指令系統(tǒng),硬件有自己的“累加器”(進(jìn)位位C,即CY),和自己的位尋址RAM和I/O空間,是一個(gè)獨(dú)立的位處理機(jī)。大部分位操作均圍繞著其累加器——進(jìn)位位C完成。對(duì)任何可直接尋址的位,布爾處理機(jī)可執(zhí)行置位、取反、轉(zhuǎn)移、位的讀寫等操作。在任何可尋址的位(或該位內(nèi)容取反)和進(jìn)位標(biāo)志C之間,可執(zhí)行邏輯與、或操作,其結(jié)果送回到進(jìn)位標(biāo)志C。40(2)控制器控制器是CPU的大腦中樞,包括定時(shí)控制邏輯、指令寄存器、譯碼器、地址指針DPTR及程序計(jì)數(shù)器PC、堆棧指針SP、RAM地址寄存器、16位地址緩沖器等。41程序計(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í)行。42堆棧主要用于保存臨時(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之間。43數(shù)據(jù)指針DPTR一個(gè)16位專用寄存器,由DPL(低8位)和DPH(高8位)組成。DPTR可以直接進(jìn)行16位操作,也可分別對(duì)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ù)指針。442、存儲(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ǔ)器。45圖3-8STC15F2K60S2單片機(jī)存儲(chǔ)器配置示意圖46(1)程序Flash存儲(chǔ)器功能:存放用戶程序、數(shù)據(jù)和表格等信息??臻g大小:STC15F2K60S2片內(nèi)集成了60KB的程序Flash存儲(chǔ)器,地址為0000H~F000H。單片機(jī)復(fù)位后,程序計(jì)數(shù)器PC的內(nèi)容為0000H,從0000H單元開始執(zhí)行程序。47特殊單元在程序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低電壓檢測(cè)中斷服務(wù)程序的入口地址003BHPCA中斷服務(wù)程序的入口地址0043H串行通信口2中斷服務(wù)程序的入口地址004BHSPI中斷服務(wù)程序的入口地址48中斷服務(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ù)程序。49使用指令讀取程序存儲(chǔ)器中保存的表格常數(shù)等內(nèi)容時(shí),使用MOVC指令。程序Flash存儲(chǔ)器的擦寫次數(shù)為10萬次以上,大大提高了芯片利用率,降低了開發(fā)成本。50(2)數(shù)據(jù)存儲(chǔ)器—STC15F2K60S2數(shù)據(jù)存儲(chǔ)器也稱為隨機(jī)存取數(shù)據(jù)存儲(chǔ)器。空間劃分在物理上和邏輯上都分為兩個(gè)地址空間:內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū)和擴(kuò)展數(shù)據(jù)存儲(chǔ)區(qū)。511)內(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ū)。基本RAM區(qū)又分為工作寄存器區(qū)、位尋址區(qū)、用戶RAM和堆棧區(qū)。可以直接尋址和間接尋址。用“MOV”和“MOV@Ri”形式的指令訪問。高128字節(jié)RAM(80H~FFH):只能間接尋址。用“MOV@Ri”形式的指令訪問。特殊功能寄存器(SFR)區(qū):地址范圍為80H~FFH,只可直接尋址,用“MOV”形式的指令訪問。52圖3-9內(nèi)部數(shù)據(jù)存儲(chǔ)器地址空間工作寄存器區(qū)位尋址區(qū)通用用戶RAM和堆棧區(qū)特殊功能寄存器區(qū)內(nèi)部數(shù)據(jù)存儲(chǔ)器地址空間分配53工作寄存器區(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。54工作寄存器組的選擇:PSW寄存器中的RS1和RS0兩位組合決定當(dāng)前使用的工作寄存器組??梢酝ㄟ^位操作指令直接修改RS1和RS0的內(nèi)容,選擇不同的工作寄存器組。RS1(PSW.4)RS0(PSW.3)工作寄存器組工作寄存器地址000R7~R0對(duì)應(yīng)的地址為07H~00H011R7~R0對(duì)應(yīng)的地址為0FH~08H102R7~R0對(duì)應(yīng)的地址為17H~10H113R7~R0對(duì)應(yīng)的地址為1FH~18H表3-1工作寄存器組選擇55位尋址區(qū)20H~2FH之間的單元既可以按字節(jié)存取,也可以按位存取共128位,地址范圍是00H~7FH。圖3-10內(nèi)部RAM中的位地址56除了20H~2FH之間的單元可以位尋址外,特殊功能寄存器中,直接地址可被8整除的寄存器(除了IP.7、IP.6和IE.6以外)也可以進(jìn)行位尋址。圖3-11特殊功能寄存器中的位地址57用戶RAM和堆棧區(qū)內(nèi)部RAM中的30H~7FH單元是用戶RAM和堆棧區(qū)。一個(gè)8位的堆棧指針SP,并且堆棧區(qū)只能設(shè)置在內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū)。當(dāng)有子程序調(diào)用和中斷請(qǐng)求時(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的值增大。58高128字節(jié)RAM和特殊功能寄存器對(duì)于STC15F2K60S2單片機(jī),80H~FFH既為高128字節(jié)RAM區(qū)的地址范圍,又為特殊功能寄存器區(qū)(SFR)的地址范圍,地址空間重疊,但物理上是獨(dú)立的。使用時(shí),通過不同的尋址方式加以區(qū)分:高128字節(jié)的RAM區(qū)使用間接尋址訪問,特殊功能寄存器使用直接尋址訪問。由于堆棧操作也是間接尋址方式,所以,高128位數(shù)據(jù)RAM亦可作為堆棧區(qū)使用。59除了程序計(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所列。602)擴(kuò)展數(shù)據(jù)存儲(chǔ)區(qū)外部數(shù)據(jù)存儲(chǔ)區(qū)也稱為擴(kuò)展RAM區(qū)(簡(jiǎn)稱,XRAM)。片內(nèi)集成了1792字節(jié)的外部RAM,地址范圍為0000H~06FFH,可用于存放數(shù)據(jù)。注意,這里的“內(nèi)部”和“外部”是邏輯上的概念,不是指芯片內(nèi)部和外部。在匯編語言中,XRAM使用“MOVX@DPTR”或者“MOVX@Ri”指令訪問。在C語言中,可使用xdata聲明存儲(chǔ)類型即可。如:unsignedcharxdatai=0;61訪問片內(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指令訪問。62單片機(jī)內(nèi)部擴(kuò)展RAM是否可以訪問受輔助寄存器AUXR(地址為8EH,復(fù)位值為01H)中的EXTRAM位控制。EXTRAM:0:內(nèi)部擴(kuò)展RAM可以存?。坏刂沸∮?00H時(shí),訪問內(nèi)部擴(kuò)展RAM;地址大于或等于700H時(shí),則訪問單片機(jī)外部擴(kuò)展的RAM或I/O空間。1:禁止訪問內(nèi)部擴(kuò)展RAM。位號(hào)D7D6D5D4D3D2D1D0位名稱T0x12T1x12UART_M0x6T2RT2_C/T2x12EXTRAMS1ST263(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é),對(duì)應(yīng)的地址范圍分別為:第一扇區(qū):0000H~01FFH第二扇區(qū):0200H~03FFH64使用方法:建議同一次修改的數(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ù)。在用戶程中,可以對(duì)數(shù)據(jù)Flash區(qū)進(jìn)行字節(jié)讀/字節(jié)編程/扇區(qū)擦除操作。651)相關(guān)特殊功能寄存器①ISP/IAP數(shù)據(jù)寄存器IAP_DATAIAP_DATA是ISP/IAP操作時(shí)的數(shù)據(jù)寄存器(地址為C2H,復(fù)位值為FFH)。ISP/IAP從數(shù)據(jù)Flash 讀出的數(shù)據(jù)放在IAP_DATA中,向Flash寫的數(shù)據(jù)也需放在IAP_DATA中。66②ISP/IAP地址寄存器IAP_ADDRH和IAP_ADDRLIAP_ADDRH(地址為C3H,復(fù)位值為00H)ISP/IAP操作時(shí)的地址寄存器高八位。IAP_ADDRL(地址為C4H,復(fù)位值為00H)ISP/IAP操作時(shí)的地址寄存器低八位。67③ISP/IAP命令寄存器IAP_CMDISP/IAP命令寄存器IAP_CMD(地址為C5H,復(fù)位值為xxxxx000B)的各位定義如下:位號(hào)D7D6D5D4D3D2D1D0位名稱------MS1MS068MS1和MS0組合形成不同的命令。MS1MS0命令/操作00待機(jī)模式,無ISP操作01對(duì)“DataFlash/EEPROM區(qū)”進(jìn)行字節(jié)讀10對(duì)“DataFlash/EEPROM區(qū)”進(jìn)行字節(jié)編程11對(duì)“DataFlash/EEPROM區(qū)”進(jìn)行扇區(qū)擦除位號(hào)D7D6D5D4D3D2D1D0位名稱------MS1MS0表3-3ISP/IAP的命令選擇69特別聲明ISP/IAP數(shù)據(jù)寄存器也可以用MOVC指令讀(MOVC訪問的是程序存儲(chǔ)器)但起始地址不再是0000H,而是程序存儲(chǔ)空間結(jié)束地址的下一個(gè)地址,對(duì)于STC15F2K60S2單片機(jī)而言,使用MOVC訪問數(shù)據(jù)Flash存儲(chǔ)器時(shí),其地址范圍為F000H~F3FFH。70④ISP/IAP命令觸發(fā)寄存器IAP_TRIGIAP_TRIG(地址為C6H,復(fù)位值為xxxxxxxxB)為ISP/IAP操作時(shí)的命令觸發(fā)寄存器。在IAPEN(IAP_CONTR.7)=1 時(shí),每次IAP操作都要對(duì)IAP_TRIG先寫入5AH,再寫入A5H,ISP/IAP命令才會(huì)生效。ISP/IAP操作完成后,IAP地址高8位寄存器IAP_ADDRH、IAP地址低8位寄存器IAP_ADDRL和IAP命令寄存器IAP_CMD的內(nèi)容不變。如果接下來要對(duì)下一個(gè)地址的數(shù)據(jù)進(jìn)行ISP/IAP操作,需手動(dòng)將該地址的高8位和低8位分別寫入IAP_ADDRH和IAP_ADDRL寄存器。71⑤ISP/IAP命令寄存器IAP_CONTRISP/IAP命令寄存器IAP_CONTR(地址為C7H,復(fù)位值為0000x000B)各位的定義如下:位號(hào)D7D6D5D4D3D2D1D0位名稱IAPENSWBSSWRSTCMD_FAIL-WT2WT1WT072IAPEN:ISP/IAP功能允許位。0:禁止IAP讀/寫/擦除DataFlash/EEPROM1:允許IAP讀/寫/擦除DataFlash/EEPROMSWBS和SWRST用于設(shè)置單片機(jī)的軟件復(fù)位。位號(hào)D7D6D5D4D3D2D1D0位名稱IAPENSWBSSWRSTCMD_FAIL-WT2WT1WT073CMD_FAIL:如果送了ISP/IAP命令,并對(duì)IAP_TRIG送5AH/A5H觸發(fā)失敗,則為1,需由軟件清零。WT2~WT0用于設(shè)置IAP/ISP時(shí),CPU的等待時(shí)間,CPU讀取數(shù)據(jù)Flash的等待時(shí)間固定為2個(gè)時(shí)鐘。其他等待時(shí)間如表3-4所示。位號(hào)D7D6D5D4D3D2D1D0位名稱IAPENSWBSSWRSTCMD_FAIL-WT2WT1WT074WT2~WT0用于設(shè)置IAP/ISP時(shí),CPU的等待時(shí)間,CPU讀取數(shù)據(jù)Flash的等待時(shí)間固定為2個(gè)時(shí)鐘。其他等待時(shí)間如表3-4所示。WT2WT1WT0CPU等待時(shí)間與等待參數(shù)對(duì)應(yīng)的推薦系統(tǒng)時(shí)鐘編程時(shí)間(55us)扇區(qū)擦出(21ms)11155個(gè)時(shí)鐘21012個(gè)時(shí)鐘≤1MHz110110個(gè)時(shí)鐘42024個(gè)時(shí)鐘≤2MHz101165個(gè)時(shí)鐘63036個(gè)時(shí)鐘≤3MHz100330個(gè)時(shí)鐘126072個(gè)時(shí)鐘≤6MHz011660個(gè)時(shí)鐘252144個(gè)時(shí)鐘≤12MHz0101100個(gè)時(shí)鐘420240個(gè)時(shí)鐘≤20MHz0011320個(gè)時(shí)鐘504288個(gè)時(shí)鐘≤24MHz0001760個(gè)時(shí)鐘672384個(gè)時(shí)鐘≤30MHz表3-4IAP/ISP時(shí)的CPU等待時(shí)間752)數(shù)據(jù)Flash存儲(chǔ)器操作的方法首先定義ISP/IAP命令及等待時(shí)間:ISP_IAP_BYTE_READEQU1;字節(jié)讀ISP_IAP_BYTE_PROGRAMEQU2;字節(jié)編程,前提是該字節(jié)是空,即為0FFHISP_IAP_SECTOR_ERASEEQU3;扇區(qū)擦除,要某字節(jié)為空,要擦一扇區(qū)
WAIT_TIMEEQU0;設(shè)置等待時(shí)間;根據(jù)系統(tǒng)時(shí)鐘頻率,參考表3-4設(shè)置WT2、WT1和WT0值76進(jìn)行字節(jié)讀操作時(shí),需要給出要讀的地址,設(shè)置等待時(shí)間,然后送出讀字節(jié)命令并設(shè)置觸發(fā)器,從IAP_DATA寄存器中讀取數(shù)據(jù)。典型代碼如下:;字節(jié)讀操作演示代碼MOVIAP_ADDRH,#BYTE_ADDRH;送地址高字節(jié)MOVIAP_ADDRL,#BYTE_ADDRL;送地址低字節(jié)MOVIAP_CONTR,#WAIT_TIME;設(shè)置等待時(shí)間ORLIAP_CONTR,#10000000B;允許ISP/IAP操作MOVIAP_CMD,#ISP_IAP_BYTE_READ;送字節(jié)讀命令MOVIAP_TRIG,#5AH;先送5AH,再送A5H到ISP/IAP觸發(fā)寄存器MOVIAP_TRIG,#0A5H;送完A5H后,ISP/IAP命令立即被觸發(fā)啟動(dòng);CPU等待IAP動(dòng)作完成后,才會(huì)繼續(xù)執(zhí)行程序。NOP;數(shù)據(jù)讀出到IAP_DATA寄存器后,CPU繼續(xù)執(zhí)行程序
MOVA,IAP_DATA;將讀出的數(shù)據(jù)送往累加器77進(jìn)行字節(jié)編程(寫)操作時(shí),需要保證要寫的地址單元內(nèi)容為空(值為0FFH),如果不為空,則先使用扇區(qū)擦除命令,將要進(jìn)行字節(jié)編程的單元所在扇區(qū)擦除為空。將要寫入的內(nèi)容送入IAP_DATA寄存器,要編程的單元地址送入IAP_ADDRH和IAP_ADDRL寄存器,設(shè)置等待時(shí)間,允許ISP/IAP操作,送出字節(jié)編程命令并設(shè)置觸發(fā)器。典型代碼如下:;字節(jié)編程演示代碼,該字節(jié)為空時(shí),可對(duì)其編程,否則要先執(zhí)行扇區(qū)擦除MOVIAP_DATA,#ONE_DATA;送字節(jié)編程數(shù)據(jù)到IAP_DATAMOVIAP_ADDRH,#BYTE_ADDRH;送地址高字節(jié)MOVIAP_ADDRL,#BYTE_ADDRL;送地址低字節(jié)MOVIAP_CONTR,#WAIT_TIME;設(shè)置等待時(shí)間
ORLIAP_CONTR,#10000000B;允許ISP/IAP操作
MOVIAP_CMD,#ISP_IAP_BYTE_PROGRAM;送字節(jié)編程命令MOVIAP_TRIG,#5AH;先送5AH,再送A5H到ISP/IAP觸發(fā)寄存器MOVISP_TRIG,#0A5H;送完A59H后,ISP/IAP命令立即被觸發(fā)啟動(dòng);CPU等待IAP動(dòng)作完成后,才會(huì)繼續(xù)執(zhí)行程序.78數(shù)據(jù)Flash擦除時(shí),只有扇區(qū)擦除,沒有字節(jié)擦除。如果要對(duì)某個(gè)扇區(qū)進(jìn)行擦除,而其中有些字節(jié)的內(nèi)容需要保留,則需將其先讀到單片機(jī)內(nèi)部的RAM中保存,再將該扇區(qū)擦除,然后將需保留的數(shù)據(jù)寫回該扇區(qū),所以每個(gè)扇區(qū)中用的字節(jié)數(shù)越少越好,操作起來越靈活越快。擦除時(shí),扇區(qū)中任意一個(gè)字節(jié)的地址都是該扇區(qū)的地址,無需求出首地址。;扇區(qū)擦除的典型代碼MOVIAP_ADDRH,#SECTOR_FIRST_BYTE_ADDRH;送扇區(qū)起始地址高字節(jié)MOVIAP_ADDRL,#SECTOR_FIRST_BYTE_ADDRL;送扇區(qū)起始地址低字節(jié)MOVIAP_CONTR,#WAIT_TIME;設(shè)置等待時(shí)間ORLIAP_CONTR,#10000000B;允許ISP/IAPMOVIAP_CMD,#ISP_IAP_SECTOR_ERASE;送扇區(qū)擦除命令MOVIAP_TRIG,#5AH;先送5AH,再送A5H到ISP/IAP觸發(fā)寄存器MOVIAP_TRIG,#0A5H;送完A5H后,ISP/IAP命令立即被觸發(fā)起動(dòng);CPU等待IAP動(dòng)作完成后,才會(huì)繼續(xù)執(zhí)行程序.79總之,對(duì)于數(shù)據(jù)Flash存儲(chǔ)器的操作有三個(gè)基本命令讀字節(jié)編程扇區(qū)擦除進(jìn)行字節(jié)編程時(shí),只能將1改為0,或1保持為1、0保持為0。如果一個(gè)字節(jié)中有的位為0,要將其改為1,則須先將整個(gè)扇區(qū)擦除,因?yàn)橹挥小吧葏^(qū)擦除”才可以將0變?yōu)?。80建議:同一次修改的數(shù)據(jù)放在同一扇區(qū)中,不是同一次修改的數(shù)據(jù)放在另外的扇區(qū),這樣,可以不需要讀出保護(hù)。如果一個(gè)扇區(qū)只用一個(gè)字節(jié),那就是真正的EEPROM。STC15F2K60S2單片機(jī)的DataFlash比外部EEPROM要快很多,讀一個(gè)字節(jié)大概需要2個(gè)時(shí)鐘周期(0.2us),編程一個(gè)字節(jié)大概需要55us。如果在一個(gè)扇區(qū)中存放了大量的數(shù)據(jù),某次只需要修改其中的一個(gè)字節(jié)或一部分字節(jié)時(shí),則另外的不需要修改的數(shù)據(jù)須先讀出放在單片機(jī)的RAM中,然后擦除整個(gè)扇區(qū),再將需要保留的數(shù)據(jù)和需修改的數(shù)據(jù)一并寫回該扇區(qū)中。這時(shí),每個(gè)扇區(qū)使用的字節(jié)數(shù)越少越方便(不需讀出一大堆需保留數(shù)據(jù))。81二、單片機(jī)的引腳及功能1、STC15F2K60S2單片機(jī)的引腳封裝LQFP-44封裝圖3-12STC15F2K60S2單片機(jī)的引腳圖82DIP-40封裝圖3-12STC15F2K60S2單片機(jī)的引腳圖83STC15F2K60S2單片機(jī)的邏輯符號(hào)圖圖3-13STC15F2K60S2單片機(jī)的邏輯符號(hào)圖84DIP-40封裝的STC15F2K60S2單片機(jī)和LQFP-44封裝相比,除了沒有P4.0、P4.3、P4.6、P4.7引腳外,其他資源和的單片機(jī)完全相同。由于DIP封裝的單片機(jī)焊接比較容易,因此,對(duì)于初學(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ī)的引腳圖。85引腳電源引腳外接晶體引腳控制和復(fù)位引腳輸入/輸出(I/O)引腳86(1)電源引腳Vcc:一般接電源的+5V。具體的電壓幅度應(yīng)參考單片機(jī)的手冊(cè)。GND:接電源地。87(2)外接晶體引腳XTAL1和XATL2芯片內(nèi)部一個(gè)反相放大器的輸入端和輸出端。通常用于連接晶體振蕩器。常見的連接方法如圖所示。圖3-14常見的晶振連接方法88晶體振蕩器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對(duì)時(shí)鐘頻率有微調(diào)作用,可在5~100pF之間選擇,典型值是47pF。89STC15F2K60S2單片機(jī)內(nèi)部集成高精度R/C時(shí)鐘,工作時(shí)鐘可以使用內(nèi)部振蕩器或者外部晶體振蕩器(簡(jiǎn)稱晶振)產(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è)置。對(duì)于時(shí)鐘頻率要求不太敏感的場(chǎng)合,內(nèi)部R/C振蕩器完全能夠滿足要求。使用內(nèi)部R/C振蕩器時(shí)鐘時(shí),XTAL1和XTAL2引腳懸空。90使用外部晶振時(shí),常見的連接方法與圖3-14所示的連接方法相同。利用在系統(tǒng)編程(In-SystemProgramming,ISP)工具對(duì)STC15F2K60S2單片機(jī)下載用戶程序時(shí),可以在選項(xiàng)中設(shè)置選擇使用外部晶體振蕩器時(shí)鐘或者使用內(nèi)部R/C振蕩器時(shí)鐘。91(3)控制和復(fù)位引腳ALE(與P4.5復(fù)用)功能:當(dāng)訪問外部存儲(chǔ)器或者外部擴(kuò)展的并行I/O口時(shí),ALE(允許地址鎖存)的輸出用于鎖存地址的低位字節(jié)。標(biāo)準(zhǔn)8051單片機(jī)的ALE腳對(duì)系統(tǒng)時(shí)鐘進(jìn)行6分頻輸出,可對(duì)外提供時(shí)鐘。92當(dāng)8051單片機(jī)時(shí)鐘頻率較高時(shí),ALE腳是一個(gè)干擾源。STC15F2K60S2單片機(jī)直接禁止ALE腳對(duì)系統(tǒng)時(shí)鐘進(jìn)行6分頻輸出,徹底清除此干擾源,有利于系統(tǒng)的抗干擾設(shè)計(jì)。如果設(shè)計(jì)中需要單片機(jī)輸出時(shí)鐘,可以利用STC15F2K60S2單片機(jī)的可編程時(shí)鐘輸出腳對(duì)外輸出時(shí)鐘。STC15F2K60S2單片機(jī)的ALE引腳在用MOVX指令訪問片外擴(kuò)展器件時(shí)輸出地址鎖存信號(hào)。93RST(與P5.4復(fù)用)當(dāng)振蕩器運(yùn)行時(shí),在此引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)位。如果需要單片機(jī)接上電源就可以復(fù)位,則需要使用上電復(fù)位電路。圖3-15上電復(fù)位電路圖94P5.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ù)位電路。95(4)輸入/輸出(I/O)引腳STC15F2K60S2單片機(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。961)I/O口的工作模式4種工作模式:準(zhǔn)雙向口/弱上拉,推挽/強(qiáng)上拉,輸入/高阻和開漏模式。復(fù)位后為準(zhǔn)雙向口/弱上拉工作模式。每個(gè)口的工作模式由2個(gè)控制寄存器中的相應(yīng)位控制(PnM0和PnM1,n=0、1、2、3、4、5)。97例如,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)部上拉電阻斷開,要外加上拉電阻表3-5I/O口工作模式設(shè)置98例如,若設(shè)置P1.7為開漏模式,P1.6為強(qiáng)推挽輸入輸出模式,P1.5為高阻輸入模式,P1.4、P1.3、P1.2、P1.1和P1.0為弱上拉模式,則可以使用下面的代碼進(jìn)行設(shè)置:MOVP1M1,#10100000BMOVP1M0,#11000000B99STC15F2K60S2單片機(jī)的每個(gè)I/O口在弱上拉時(shí)都能承受20mA的灌電流(最好還是使用限流電阻,如1KΩ)在強(qiáng)推挽輸出時(shí)都能輸出20mA的拉電流(也要加限流電阻)。整個(gè)芯片的工作電流推薦不要超過90mA。即從MCU-Vcc流入的電流不超過90mA,從MCU-GND流出的電流不超過90mA,整體流入/流出電流都不能超過90mA。1002)I/O口的復(fù)用功能P0口用作數(shù)據(jù)總線(D7~D0)或者地址總線低8位(A7~A0)。用作普通I/O。P1口用作普通I/O。復(fù)用為ADC轉(zhuǎn)換輸入、捕獲/比較/脈寬調(diào)制、SPI通信線、第二串口或者第二時(shí)鐘輸出,如表所示。101表3-6P1口的復(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輸出備用切換引腳)102P2口用作地址總線的高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備用切換引腳)表3-7P2口的復(fù)用功能103P3口用作通用I/O口使用??蓮?fù)用為外部中斷輸入、計(jì)數(shù)器輸入、時(shí)鐘輸出、第一串口和外部總線的讀/寫控制,如表所示。104表3-8P3口的復(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備用切換引腳)105P4口作通用I/O口使用。某些口線具有復(fù)用功能,可配置為SPI通信線、捕捉/比較/脈寬調(diào)制、第二串口線等。表3-9P4口的復(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(第二串口輸出備用切換引腳)106P5口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ù)用功能。107捕獲/比較/脈寬調(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_S108捕獲/比較/脈寬調(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無效表3-10捕獲/比較/脈寬調(diào)制(CCP)通道的切換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無效表3-11SPI的引腳切換110串口1可以在三個(gè)地方切換,由S1_S1和S1_S0兩個(gè)控制位選擇,其選擇方法如表3-12示。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無效表3-12串口1的引腳切換111串口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”,也可以由軟件測(cè)試GF2控制程序的流向。ADRJ:留作備用。DPS:數(shù)據(jù)指針選擇位。0:使用缺省數(shù)據(jù)指針DPTR0;1:使用另一個(gè)數(shù)據(jù)指針DPTR1。1123)STC15F2K60S2單片機(jī)I/O口的結(jié)構(gòu)準(zhǔn)雙向口工作模式的結(jié)構(gòu)圖3-16準(zhǔn)雙向口工作模式的I/O位結(jié)構(gòu)113I/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ù)一直保持不變。但對(duì)輸入信號(hào)是不鎖存的,所以外設(shè)輸入的數(shù)據(jù)必須保持到取數(shù)指令執(zhí)行為止。114為了便于敘述,以后將6個(gè)端口及其鎖存器都表示為P0~P5。準(zhǔn)雙向口有3個(gè)上拉場(chǎng)效應(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。115當(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)通,引腳輸出為低電平。116當(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)。117推挽輸入輸出工作模式的結(jié)構(gòu)圖3-17推挽輸入輸出工作模式的I/O位結(jié)構(gòu)118推挽輸入輸出工作模式的下拉結(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。119僅為輸入(高阻)工作模式的結(jié)構(gòu)輸入口帶有一個(gè)施密特觸發(fā)輸入以及一個(gè)干擾抑制電路。注意,僅為輸入(高阻)工作模式下,I/O口不提供20mA灌電流的能力。圖3-18僅為輸入(高阻)工作模式的I/O位結(jié)構(gòu)
120開漏輸出工作模式的結(jié)構(gòu)圖3-19開漏輸出工作模式的I/O位結(jié)構(gòu)121當(dāng)口線鎖存器為0時(shí),開漏輸出關(guān)斷所有上拉場(chǎng)效應(yīng)管。當(dāng)作為一個(gè)邏輯輸出時(shí),這種配置方式必須有外部上拉電阻,即通過電阻外接到Vcc。這種方式的下拉結(jié)構(gòu)與準(zhǔn)雙向口模式的下拉結(jié)構(gòu)相同。開漏端口帶有一個(gè)施密特觸發(fā)輸入以及一個(gè)干擾抑制電路。這種工作模式下,輸出低電平時(shí),灌電流也可達(dá)20mA。1221、P4口和P5口的使用對(duì)STC15F2K60S2單片機(jī)P4口和P5口的訪問,如同訪問常規(guī)的P0/P1/P2/P3口一樣,并且均可按位尋址,P4的地址C0H,P5口的地址在C8H。§3.3單片機(jī)的I/O口的使用1232、上拉電阻的連接雖然作為準(zhǔn)雙向口使用時(shí),單片機(jī)內(nèi)部已經(jīng)集成了上拉場(chǎng)效應(yīng)管,但在實(shí)際應(yīng)用時(shí),一般情況下,最好還是外接上拉電阻。例如,當(dāng)外接的是SPI/I2C等漏極開漏的電路時(shí)。124以P0.0為例,接上拉電阻的電路連接如圖所示。典型的上拉電阻的阻值為5.1K或者10K。圖3-20上拉電阻的連接方法1253、拉電流方式和灌電流方式STC15F2K60S2單片機(jī)的I/O口線作為輸出可以提供20mA的驅(qū)動(dòng)能力,在使用時(shí),可采用拉電流或灌電流方式。以P0.0控制發(fā)光二極管電路為例說明,電路連接如圖所示。圖3-21拉電流方式和灌電流方式126采用灌電流方式時(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í),可以采取拉電流方式,如供電線路要求比較簡(jiǎn)單時(shí)。127使用時(shí)應(yīng)該特別注意圖中的限流電阻千萬不能省略,否則,會(huì)毀壞I/O口。在按鍵掃描電路中的兩側(cè)需要各加300的限流電阻,或者在編程時(shí)不要出現(xiàn)按鍵兩端的I/O口同時(shí)為低的情況。1284、典型的三極管控制電路單片機(jī)I/O引腳本身的驅(qū)動(dòng)能力有限,如果需要驅(qū)動(dòng)功率較大的器件,如小型繼電器或者固態(tài)繼電器,可以采用單片機(jī)I/O引腳控制三極管進(jìn)行輸出的方法。以P0.0為例。圖3-22典型的三極管控制電路129如果用弱上拉控制,建議加上拉電阻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)勢(shì)的二極管。ULN2008的輸出端允許通過IC電流200mA,飽和壓降VCE約為1V左右,耐壓BVCEO約為36V。輸出口的外接負(fù)載可根據(jù)以上參數(shù)估算。采用集電極開路輸出,輸出電流大,可以直接驅(qū)動(dòng)繼電器或固體繼電器(SSR)。ULN2008可以驅(qū)動(dòng)8個(gè)繼電器。1305、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)不對(duì)。解決方法:在軟件設(shè)置由低變高后加1到2個(gè)空操作指令延時(shí),然后再讀I/O口的狀態(tài)。1316、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ù)位后的模式是高阻輸入。132每次上電復(fù)位時(shí),單片機(jī)對(duì)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è)置成高阻輸入。1337、管腳P5.4/RST的特別說明P5.4/RST即可作普通I/O
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程項(xiàng)目合同管理八步走
- 產(chǎn)品使用說明功能操作與維護(hù)指南
- 外墻涂料施工合同書
- Unit1生活中的日常用語:初一英語日常會(huì)話教學(xué)教案
- 2025年大慶c1貨運(yùn)上崗證模擬考試
- 2025年唐山貨運(yùn)上崗證考試題庫(kù)答案
- 委托抵押擔(dān)保協(xié)議
- 數(shù)據(jù)安全與隱私保護(hù)作業(yè)指導(dǎo)書
- 合同房地產(chǎn)轉(zhuǎn)讓合同5篇
- 2025年高中化學(xué)新教材同步 必修第一冊(cè) 第2章 階段重點(diǎn)突破練(四)
- 銀行承兌匯票和商業(yè)承兌匯票課件
- 特朗普貿(mào)易戰(zhàn)的基本邏輯、本質(zhì)及其應(yīng)對(duì)
- 經(jīng)口鼻吸痰法護(hù)理課件
- 《園林生態(tài)學(xué)》課件
- 初中化學(xué)實(shí)驗(yàn)報(bào)告單(上)
- 貨物質(zhì)量與安全控制方案
- 高中物理多普勒效應(yīng)練習(xí)題
- 交通事故授權(quán)委托書樣本(通用)
- 鹽酸利多卡因應(yīng)用于無痛導(dǎo)尿術(shù)的臨床效果觀察
- 保障性住房資格申請(qǐng)表
- PEP五年級(jí)上冊(cè)Unit3-字母組合ow的發(fā)音
評(píng)論
0/150
提交評(píng)論