版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第8章 定時(shí)/,8.1 STC12C5410AD單片機(jī)的定時(shí)/,8.2 STC12C5410AD的PCA/PWM模塊,在計(jì)算機(jī)控制中可供選擇的定時(shí)方法,(1)軟件定時(shí) 執(zhí)行一個(gè)循環(huán)程序來(lái)實(shí)現(xiàn)。 (2)硬件定時(shí) 定時(shí)全部由硬件電路完成,不占用CPU時(shí)間,但需要通過(guò)改變電路的元件參數(shù)來(lái)調(diào)節(jié)定時(shí)時(shí)間,在使用控制上不夠方便,同時(shí)增加了開(kāi)發(fā)成本。 (3)可編程定時(shí)器定時(shí) 由單片機(jī)內(nèi)部的定時(shí)模塊單元完成。,STC12C5410AD單片機(jī)內(nèi)部有 兩個(gè)16位的定時(shí)/計(jì)數(shù)器 四路可編程計(jì)數(shù)器陣列(Programmable Counter Array,PCA )/脈寬調(diào)制(Pulse Width Modulati
2、on,PWM)。,8.1 STC12C5410AD單片機(jī)的定時(shí)/計(jì)數(shù)器,1、定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)及工作原理,定時(shí)/計(jì)數(shù)器的核心是一個(gè)加1計(jì)數(shù)器,加1計(jì)數(shù)器的脈沖有兩個(gè)來(lái)源,一個(gè)是外部脈沖源,另一個(gè)是系統(tǒng)的時(shí)鐘振蕩器。計(jì)數(shù)器對(duì)兩個(gè)脈沖源之一進(jìn)行輸入計(jì)數(shù),每輸入一個(gè)脈沖,計(jì)數(shù)值加1。當(dāng)計(jì)數(shù)到計(jì)數(shù)器為全1時(shí),再輸入一個(gè)脈沖就使計(jì)數(shù)值回零,同時(shí)從最高位溢出一個(gè)脈沖使特殊功能寄存器TCON(定時(shí)器控制寄存器)的某一位TF0或TF1置1,作為計(jì)數(shù)器的溢出中斷標(biāo)志。,單片機(jī)中的微處理器、寄存器TCON和TMOD與定時(shí)/計(jì)數(shù)器T0、T1之間的關(guān)系,2、定時(shí)/計(jì)數(shù)器方式和控制寄存器,定時(shí)器工作方式控制寄存器TMO
3、D,M0,M1,C/,GATE,M0,M1,C/,GATE,00H,定時(shí)器0,定時(shí)器1,89H,復(fù)位值,D0,D1,D2,D3,D4,D5,D6,D7,地址,1)M1和M0:方式選擇控制位。,2)C/,:功能選擇位。用于“計(jì)數(shù)器”或“定時(shí)器”功能的選擇。,3)GATE:門(mén)控位。GATE用于選通控制。,定時(shí)器控制寄存器 TCON,00H,IT0,IE0,IT1,IE1,TR0,TF0,TR1,TF1,88H,復(fù)位值,D0,D1,D2,D3,D4,D5,D6,D7,地址,1)TF1:定時(shí)器/計(jì)數(shù)器1溢出標(biāo)志位。 2)TR1:定時(shí)器T1的運(yùn)行控制位。 3)TF0:定時(shí)器/計(jì)數(shù)器0溢出標(biāo)志位。 4)T
4、R0:定時(shí)器T0的運(yùn)行控制位。 TCON的03位與外部中斷有關(guān)。,AUXR:輔助寄存器,000000XXB,-,-,ELVDI,ESPI,EADCI,UART_M0 x6,T1x12,T0 x12,8EH,復(fù)位值,D0,D1,D2,D3,D4,D5,D6,D7,地址,1)T0 x12:定時(shí)器0速度控制位。 0:定時(shí)器0的速度是傳統(tǒng)8051單片機(jī)定時(shí)器的速度,即12分頻。 1:定時(shí)器0的速度是傳統(tǒng)8051單片機(jī)定時(shí)器速度的12倍,即不分頻。 2)T1x12:定時(shí)器1速度控制位。 0:定時(shí)器1的速度是傳統(tǒng)8051單片機(jī)定時(shí)器的速度,即12分頻。 1:定時(shí)器1的速度是傳統(tǒng)8051單片機(jī)定時(shí)器速度的1
5、2倍,即不分頻。 UART_M0 x6用于設(shè)置UART模式0的速度,詳細(xì)內(nèi)容請(qǐng)見(jiàn)“串行通信”一章。,3、定時(shí)/計(jì)數(shù)器的工作方式,方式0,方式1,方式2,方式3,當(dāng)工作于定時(shí)狀態(tài)時(shí),定時(shí)/計(jì)數(shù)器是對(duì)時(shí)鐘周期進(jìn)行計(jì)數(shù),若對(duì)時(shí)鐘進(jìn)行12分頻,則對(duì)每12個(gè)時(shí)鐘周期計(jì)數(shù)。當(dāng)晶振頻率為6MHz,采用12分頻時(shí),計(jì)數(shù)的單位時(shí)間間隔為 單位時(shí)間間隔Tu=,定時(shí)時(shí)間為:TC=XTu。其中,Tu為單位時(shí)間間隔,TC為定時(shí)時(shí)間。,4、定時(shí)/計(jì)數(shù)器量程的擴(kuò)展,STC12C5410AD單片機(jī)中提供的定時(shí)/計(jì)數(shù)器可以使用戶很方便地實(shí)現(xiàn)定時(shí)和對(duì)外部事件計(jì)數(shù)。但是在實(shí)際應(yīng)用中,需要的定時(shí)時(shí)間或計(jì)數(shù)值可能超過(guò)定時(shí)/計(jì)數(shù)器的定時(shí)
6、或計(jì)數(shù)能力,特別是當(dāng)單片機(jī)的系統(tǒng)時(shí)鐘頻率較高時(shí),定時(shí)能力就更為有限。為了滿足需要,有時(shí)需要對(duì)單片機(jī)的定時(shí)計(jì)數(shù)能力進(jìn)行擴(kuò)展。定時(shí)能力和計(jì)數(shù)能力擴(kuò)展的方法相同,在此主要對(duì)定時(shí)能力的擴(kuò)展進(jìn)行討論,計(jì)數(shù)能力的擴(kuò)展可參考定時(shí)能力擴(kuò)展的方法進(jìn)行。,=,s=2s,STC12C5410AD單片機(jī)的定時(shí)器/計(jì)數(shù)器0或1是對(duì)脈沖進(jìn)行不斷加1進(jìn)行計(jì)數(shù)的,因此,不能直接將實(shí)際的計(jì)數(shù)值作為計(jì)數(shù)初值送入計(jì)數(shù)寄存器THX、TLX中,而必須將實(shí)際計(jì)數(shù)值以28、213、216為模求補(bǔ),以補(bǔ)碼作為計(jì)數(shù)初值設(shè)置THX和TLX。即應(yīng)裝入計(jì)數(shù)/定時(shí)器的初值為:,n=8,13或16,系統(tǒng)時(shí)鐘頻率為6MHz,進(jìn)行12分頻時(shí),定時(shí)器的最大定
7、時(shí)能力,擴(kuò)展方法:,(1)軟件擴(kuò)展方法 擴(kuò)展方法是在定時(shí)器中斷服務(wù)程序中對(duì)定時(shí)器中斷請(qǐng)求進(jìn)行計(jì)數(shù),當(dāng)中斷請(qǐng)求的次數(shù)達(dá)到要求的值時(shí)才進(jìn)行相應(yīng)的處理。例如,某事件的處理周期為1s,但由于受到最大定時(shí)時(shí)間的限制,無(wú)法一次完成定時(shí),此時(shí)可以將定時(shí)器的定時(shí)時(shí)間設(shè)為以10ms為一個(gè)單位,啟動(dòng)定時(shí)器后的每一次定時(shí)器溢出中斷產(chǎn)生10ms的定時(shí),進(jìn)入中斷服務(wù)程序后,對(duì)定時(shí)器的中斷次數(shù)進(jìn)行統(tǒng)計(jì),每100次定時(shí)器溢出中斷進(jìn)行一次事件的處理,然后再以同樣的方式進(jìn)入下一個(gè)周期的事件處理。,(2)硬件擴(kuò)展方法 硬件擴(kuò)展方法可以使用外接通用定時(shí)器芯片對(duì)單片機(jī)的定時(shí)能力進(jìn)行擴(kuò)展,如使用定時(shí)/計(jì)數(shù)器芯片8253,也可以利用單片
8、機(jī)自身的資源對(duì)定時(shí)能力進(jìn)行擴(kuò)展。 由于單片機(jī)的定時(shí)器沒(méi)有對(duì)外輸出引腳,所以兩個(gè)16位的定時(shí)/計(jì)數(shù)器不能直接連在一起,可以通過(guò)單片機(jī)的端口P0P3實(shí)現(xiàn)連接。下圖給出了一種具體的連接方法。,1)T0設(shè)置為16位定時(shí)器方式,當(dāng)T0溢出時(shí),執(zhí)行T0的中斷服務(wù)程序。在T0的中斷服務(wù)程序中將P1.0取反。這樣在P1.0將輸出一個(gè)方波,其周期為T(mén)0定時(shí)時(shí)間的2倍。設(shè)T0的定時(shí)時(shí)間為T(mén)IME,則由P1.0輸出的方波的周期為2TIME。 2)T1設(shè)置為16位計(jì)數(shù)器方式,將P1.0輸出的方波接到T1的定時(shí)器外部輸入端T1(P3.5),作為定時(shí)/計(jì)數(shù)器1的外部計(jì)數(shù)脈沖,其每個(gè)周期的下降沿使T1加1。設(shè)計(jì)數(shù)器T1的計(jì)
9、數(shù)脈沖數(shù)為COUNT,則當(dāng)T1溢出時(shí),總定時(shí)時(shí)間T為:T = 2TIMECOUNT。,5、定時(shí)/計(jì)數(shù)器編程舉例,定時(shí)/計(jì)數(shù)器的應(yīng)用編程主要有兩點(diǎn):一是能正確初始化,包括寫(xiě)入控制字,進(jìn)行時(shí)間常數(shù)的計(jì)算并裝入;二是中斷服務(wù)程序的編寫(xiě),即在中斷服務(wù)程序中編寫(xiě)實(shí)現(xiàn)定時(shí)完成的任務(wù)代碼。一般情況下,定時(shí)/計(jì)數(shù)器初始化部分的步驟大致如下: (1)設(shè)置工作方式,將控制字寫(xiě)入TMOD寄存器。 (2)設(shè)置分頻方式,將控制字寫(xiě)入AUXR寄存器。默認(rèn)的情況是12分頻(兼容傳統(tǒng)8051單片機(jī)),因此,如果使用傳統(tǒng)8051單片機(jī)模式,可以不進(jìn)行設(shè)置。 (3)把定時(shí)/計(jì)數(shù)初值裝入TLX、THX寄存器。 (4)置位ETX允許
10、定時(shí)/計(jì)數(shù)器中斷(如果需要)。 (5)置位EA使CPU開(kāi)放中斷。 (6)置位TRX以啟動(dòng)定時(shí)/計(jì)數(shù)。,【例8-l】 設(shè)計(jì)利用定時(shí)計(jì)數(shù)器T0、T1端作為外部中斷源輸入線進(jìn)行外部中斷源擴(kuò)充的程序。 解:為了擴(kuò)充外部中斷源,可以利用定時(shí)計(jì)數(shù)器工作于計(jì)數(shù)狀態(tài)時(shí),T0(P3.4)或T1(P3.5)引腳上發(fā)生負(fù)跳變,計(jì)數(shù)器增1這一特性,把P3.4、P3.5作為外部中斷源請(qǐng)求輸入線,使計(jì)數(shù)器的計(jì)數(shù)值為-1(即0FFH),則外部T0、T1輸入一個(gè)脈沖即計(jì)數(shù)溢出,從而置位相應(yīng)的中斷請(qǐng)求標(biāo)志,以此來(lái)申請(qǐng)中斷,則相當(dāng)于擴(kuò)充了一根/INT線。 編程時(shí),將T0置為方式2計(jì)數(shù),計(jì)數(shù)初值0FFH,計(jì)數(shù)輸入端T0(P3.4)
11、發(fā)生一次負(fù)跳變,計(jì)數(shù)器加1并產(chǎn)生溢出標(biāo)志向CPU申請(qǐng)中斷,中斷處理程序使累加器A內(nèi)容減1,送P1口,然后返回主程序。匯編語(yǔ)言程序清單如下:,$include (STC12.INC) ;包含STC12C5410AD單片機(jī)寄存器定義文件 ORG 0000H LJMP MAIN ;轉(zhuǎn)主程序 ORG 000BH ;定時(shí)器T0中斷服務(wù)程序入口地址 LJMP T0_ISR ;轉(zhuǎn)中斷服務(wù)程序 ORG0100H;主程序的存放起始地址 MAIN:MOV SP,#60H ;給棧指針賦初值 MOV TMOD,#06H ;定時(shí)器T0工作于方式2 MOV TL0,#0FFH ;送時(shí)間常數(shù) MOV TH0,#0FFH S
12、ETB ET0 ;允許T0中斷 SETB EA ;CPU開(kāi)中斷 SETB TR0 ;啟動(dòng)T0計(jì)數(shù)器 HERE:LJMP HERE ;等待 T0_ISR:DEC A ;T0中斷服務(wù)程序 MOV P1,A ;累加器A內(nèi)容減1送P1口 RETI END,對(duì)應(yīng)的C語(yǔ)言程序如下: #include “stc12.h” /包含STC12C5410AD單片機(jī)寄存器定義文件 unsigned char cnt; void timer0_ISR (void) interrupt 1 /T0中斷函數(shù) cnt = cnt- -; /在C語(yǔ)言程序中,使用變量cnt代替匯編語(yǔ)言中的累加器A P1 = cnt; void
13、 main(void) cnt=0 xff; TMOD=0 x06; /定時(shí)器0工作于方式2 TL0=0 xff; TH0=0 xff; TR0=1; ET0=1; EA =1; while(1); /等待中斷 ,【例8-2】 設(shè)系統(tǒng)時(shí)鐘頻率為6MHz,利用定時(shí)器T0定時(shí),每隔1s將P1.0的狀態(tài)取反。,思路:將定時(shí)器的定時(shí)時(shí)間設(shè)為50ms,在中斷服務(wù)程序中對(duì)定時(shí)器溢出中斷請(qǐng)求進(jìn)行計(jì)數(shù),當(dāng)計(jì)夠20次時(shí),將P1.0的狀態(tài)取反,否則直接返回主程序。 選擇定時(shí)器T0的工作方式:軟件啟動(dòng)、定時(shí)方式、16位定時(shí)器,方式字為01H。由于系統(tǒng)時(shí)鐘頻率為6MHz,12分頻時(shí),計(jì)數(shù)單位為2s。定時(shí)器T0的裝入初
14、值為,匯編語(yǔ)言程序代碼如下: $include (STC12.INC) ;包含STC12C5410AD單片機(jī)寄存器定義文件 ORG 0000H LJMP MAIN ;轉(zhuǎn)主程序 ORG 000BH ;T0中斷服務(wù)程序入口地址 LJMP T0_ISR ORG 0100H MAIN: MOV SP,#60H ;設(shè)置堆棧指針 MOV TMOD,#01H ;T0初始化 MOV TL0,#58H MOV TH0,#9EH MOV A,#20 ;累加器A置20 SETB TR0 ;啟動(dòng)T0計(jì)數(shù) SETB ET0 ;允外T0中斷 SETB EA ;CPU開(kāi)中斷 SJMP $ ;等待 T0_ISR: MOV T
15、L0,#58H MOV TH0,#9EH DEC A ;累加器A內(nèi)容減1 JNZ EXIT CPL P1.0 MOV A,#20 ;累加器A重載20 EXIT: RETI END,對(duì)應(yīng)的C語(yǔ)言程序如下: #include “stc12.h” /包含STC12C5410AD單片機(jī)的寄存器定義文件 sbit P10=P10; /聲明P1.0的位變量 unsigned char i; /聲明計(jì)數(shù)變量。在C語(yǔ)言程序中,不能使用ACC void timer0_ISR (void) interrupt 1 /定時(shí)器T0中斷函數(shù) TL0=0 x58; /重新裝入時(shí)間常數(shù) TH0=0 x9E; i-; /計(jì)數(shù)
16、變量減1 if(i=0) /若減到0,則將P1.0取反 P10 = !P10; i = 20; /重新給計(jì)數(shù)變量賦值 void main (void) /SP=0 x60; /使用C語(yǔ)言設(shè)計(jì)程序時(shí),可以不設(shè)置堆棧指針 TMOD=0 x01; TL0=0 x58; TH0=0 x9E; i=20; /計(jì)數(shù)變量賦初值 TR0=1; /啟動(dòng)T0計(jì)數(shù) ET0=1; /允許T0中斷 EA = 1; /開(kāi)放總的中斷 while(1); /等待中斷 ,【例8-3】設(shè)晶振頻率為6MHz,定時(shí)/計(jì)數(shù)器T0工作于方式2,產(chǎn)生500s定時(shí)中斷,在中斷服務(wù)程序中把累加器A的內(nèi)容減1,然后送P1口顯示。,$includ
17、e (STC12.INC) ;包含STC12C5410AD單片機(jī)寄存器定義文件 ORG0000H LJMP MAIN ;轉(zhuǎn)主程序 ORG 000BH ;T0中斷服務(wù)程序 LJMPT0_ISR ORG0030H MAIN:MOVSP,#60H MOVA,#0FFH MOVTMOD,#02H;T0初始化 MOVTL0,#06H ;送500s時(shí)間常數(shù) MOVTH0,#06H SETBET0 ;允許T0中斷 SETBEA ;CPU開(kāi)中斷 SETBTR0 ;啟動(dòng)T0計(jì)數(shù) SJMP$ ;等待 T0_ISR:DEC A ;累加器A內(nèi)容減1送P1口 MOVP1,A RETI END,對(duì)應(yīng)C語(yǔ)言程序如下: #i
18、nclude “stc12.h” unsigned char cnt; void T0_ISR(void) interrupt 1 cnt-; P1=cnt; void main (void) cnt=0 xff; TMOD=0 x02; TL0=0 x06; TH0=0 x06; ET0 = 1;/允許T0中斷 EA = 1;/CPU開(kāi)中斷 TR0=1;/啟動(dòng)T0計(jì)數(shù) while(1);/等待中斷 ,解:以T0為例,下面列出實(shí)現(xiàn)這一方法的關(guān)鍵代碼,完整的程序,請(qǐng)讀者自行編寫(xiě)。 MOV TMOD,#09H ; T0初始化,T0工作于方式1、定時(shí)、GATE置1 MOV TL0,#00H MOV
19、TH0,#00H JNB P3.2,$ ;等待升高 SETB TR0 JB P3.2,$ ;等待下降 CLR TR0 ;關(guān)T0 MOV A,TL0 ;T0內(nèi)容高8位送B,低8位送A MOV B,TH0 ;計(jì)算脈寬或送顯示器顯示,【例8-4】利用定時(shí)器的門(mén)控方式可以實(shí)現(xiàn)正脈沖的脈寬測(cè)量。當(dāng)GATE=1,TRX=1,只有/INTX引腳輸入高電平時(shí),TX才被允許計(jì)數(shù),利用這一特點(diǎn),可測(cè)量/INTX引腳上正脈沖的寬度,如下圖所示。,6、定時(shí)/計(jì)數(shù)器應(yīng)用中應(yīng)注意的問(wèn)題,(1)定時(shí)/計(jì)數(shù)器的實(shí)時(shí)性 大多數(shù)應(yīng)用場(chǎng)合可忽略不計(jì),但對(duì)某些要求實(shí)時(shí)性苛刻的場(chǎng)合,應(yīng)采用補(bǔ)償措施。 (2)動(dòng)態(tài)讀取運(yùn)行中的計(jì)數(shù)值 在動(dòng)
20、態(tài)讀取運(yùn)行中的定時(shí)/計(jì)數(shù)器的計(jì)數(shù)值時(shí),如果不加注意,就可能出錯(cuò)。這是因?yàn)椴豢赡茉谕粫r(shí)刻同時(shí)讀取THX和TLX中的計(jì)數(shù)值。 一種可避免讀錯(cuò)的方法是:先讀THX,后讀TLX,重讀THX,將兩次讀得的THX進(jìn)行比較;若兩次讀得的值相等,則可確定讀的值是正確的,否則重復(fù)上述過(guò)程,重復(fù)讀得的值一般不會(huì)再錯(cuò)。,8.2 STC12C5410AD的PCA/PWM模塊,1、 PCA/PWM模塊的結(jié)構(gòu),PCA/PWM含有一個(gè)特殊的16位定時(shí)器,有4個(gè)16位的捕獲/比較模塊與之相連。,16位PCA定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu),寄存器CH和CL的內(nèi)容是自由遞增計(jì)數(shù)的16位PCA定時(shí)器的值。定時(shí)器的計(jì)數(shù)源由特殊功能寄存器CM
21、OD的CPS1和CPS0位確定四種中的一種。 CMOD中的CIDL位,用于控制空閑模式下是否允許停止PCA;CMOD中的ECF位用于中斷控制,置位時(shí),使能PCA中斷。當(dāng)PCA定時(shí)器溢出時(shí),將PCA計(jì)數(shù)溢出標(biāo)志CF置位。 CCON中的CR為PCA的運(yùn)行控制位。置位CR位時(shí),運(yùn)行PCA。清零CR位時(shí),關(guān)閉PCA。CCON中還包括PCA定時(shí)器標(biāo)志(CF)以及各個(gè)模塊的標(biāo)志(CCF3/CCF2/CCF1/CCF0)。當(dāng)PCA計(jì)數(shù)器溢出時(shí),CF位置位,如果CMOD寄存器的ECF位置位,就產(chǎn)生中斷。CF位只能通過(guò)軟件清除。CCON寄存器的位03是PCA各個(gè)模塊的標(biāo)志,當(dāng)發(fā)生匹配或比較時(shí)由硬件置位。這些標(biāo)志
22、只能通過(guò)軟件清除。所有模塊共用一個(gè)中斷向量。可以在中斷服務(wù)程序中判斷CCF0CCF3,以判斷到底是哪個(gè)模塊產(chǎn)生了中斷。,2、 PCA/PWM模塊的特殊功能寄存器,(1)PCA工作模式寄存器(CMOD),0XXXX000B,ECF,CPS0,CPS1,-,-,-,-,CIDL,D9H,復(fù)位值,D0,D1,D2,D3,D4,D5,D6,D7,地址,1)CIDL:空閑模式下是否停止PCA計(jì)數(shù)的控制位。CIDL=0時(shí),空閑模式下PCA計(jì)數(shù)器繼續(xù)計(jì)數(shù)。CIDL=1時(shí),空閑模式下PCA計(jì)數(shù)器停止計(jì)數(shù)。 2)CPS1、CPS0:PCA計(jì)數(shù)脈沖源選擇控制位。PCA計(jì)數(shù)脈沖選擇如表8-3所示(見(jiàn)教材P159)。
23、 3)ECF:PCA計(jì)數(shù)器溢出中斷使能位。ECF=1時(shí),允許寄存器CCON中CF位的中斷。ECF=0時(shí),禁止寄存器CCON中CF位的中斷。,2、 PCA/PWM模塊的特殊功能寄存器,(2)PCA控制寄存器(CCON),00XX0000B,CCF0,CCF1,CCF2,CCF3,-,-,CR,CF,D8H,復(fù)位值,D0,D1,D2,D3,D4,D5,D6,D7,地址,1)CF:PCA計(jì)數(shù)器溢出標(biāo)志位。當(dāng)PCA計(jì)數(shù)器溢出時(shí),CF位由硬件置位。如果CMOD寄存器的ECF位置位,CF標(biāo)志可用來(lái)產(chǎn)生中斷。CF位可通過(guò)硬件或軟件置位,但只能通過(guò)軟件清零。 2)CR:PCA計(jì)數(shù)器的運(yùn)行控制位。通過(guò)軟件置位C
24、R位時(shí),啟動(dòng)PCA計(jì)數(shù)器計(jì)數(shù);清零CR位時(shí),關(guān)閉PCA計(jì)數(shù)器。 3)CCF3/CCF2/CCF1/CCF0:PCA各個(gè)模塊的標(biāo)志(CCF0對(duì)應(yīng)模塊0,CCF1對(duì)應(yīng)模塊1,CCF2對(duì)應(yīng)模塊2,CCF3對(duì)應(yīng)模塊3)。當(dāng)發(fā)生匹配或比較時(shí)由硬件置位相應(yīng)的標(biāo)志位。這些標(biāo)志只能通過(guò)軟件清除。,2、 PCA/PWM模塊的特殊功能寄存器,(3) PCA比較/捕獲工作模式寄存器CCAPMn,1)ECOMn:允許比較器功能控制位。ECOMn=1時(shí),允許比較器功能。 2)CAPPn:正捕獲控制位。CAPPn=1時(shí),允許上升沿捕獲。 3)CAPNn:負(fù)捕獲控制位。CAPNn=1時(shí),允許下降沿捕獲。 4)MATn:匹配
25、控制位。 當(dāng)MATn=1時(shí),PCA計(jì)數(shù)值與模塊的比較/捕獲寄存器的值匹配時(shí),將置位CCON寄存器的中斷標(biāo)志位CCFn。 5)TOGn:翻轉(zhuǎn)控制位。 當(dāng)TOGn=1時(shí),工作于PCA高速輸出模式,PCA計(jì)數(shù)器的值與模塊的比較/捕獲寄存器的值匹配時(shí),將使CEXn腳(CEX0/P3.7,CEX1/P3.5,CEX2/P2.0,CEX3/P2.4) 翻轉(zhuǎn)。 6)PWMn:脈寬調(diào)制模式。當(dāng)PWMn=1時(shí),CEXn腳用作脈寬調(diào)制輸出。 7)ECCFn:使能CCFn中斷。使能寄存器CCON的比較/捕獲標(biāo)志CCFn,用來(lái)產(chǎn)生中斷。,X0000000B,ECCFn,PWMn,TOGn,MATn,CAPNn,CAP
26、Pn,ECOMn,-,復(fù)位值,D0,D1,D2,D3,D4,D5,D6,D7,2、 PCA/PWM模塊的特殊功能寄存器,PCA模塊的工作模式設(shè)定,8位PWM,0,1,0,0,0,0,1,16位高速輸出,X,0,1,1,0,0,1,16位軟件定時(shí)器,X,0,0,1,0,0,1,16位捕獲模式,由CEXn的跳變觸發(fā),X,0,0,0,1,1,X,16位捕獲模式,由CEXn的下降沿觸發(fā),X,0,0,0,1,0,X,16位捕獲模式,由CEXn的上升沿觸發(fā),X,0,0,0,0,1,X,無(wú)此操作,0,0,0,0,0,0,0,模塊功能,ECCFn,PWMn,TOGn,MATn,CAPNn,CAPPn,ECOM
27、n,2、 PCA/PWM模塊的特殊功能寄存器,(4) PCA/PWM模塊寄存器PCA_PWMn,XXXXXX00B,EPCnL,EPCnH,-,-,-,-,-,-,復(fù)位值,D0,D1,D2,D3,D4,D5,D6,D7,1)EPCnH:在PWM模式下,與CCAPnH組成9位數(shù)。 2)EPCnL:在PWM模式下,與CCAPnL組成9位數(shù)。 (5)PCA的16計(jì)數(shù)器低8位CL和高8位CH。它們用于保存PCA的裝載值。 (6)PCA捕捉/比較寄存器CCAPnL(低位字節(jié))和CCAPnH(高位字節(jié)) 用于保存各個(gè)模塊的捕捉計(jì)數(shù)值。,3、 PCA/PWM模塊的工作模式,(1) 捕獲模式,3、 PCA/P
28、WM模塊的工作模式,(2) 16位軟件定時(shí)器模式,3、 PCA/PWM模塊的工作模式,(3) 高速輸出模式,3、 PCA/PWM模塊的工作模式,(4) 脈寬調(diào)節(jié)模式,開(kāi)漏,開(kāi)漏,PWM無(wú)效,僅為輸入/高阻,強(qiáng)推挽輸出/強(qiáng)上拉輸出,要加輸出限流電阻1K-10K,強(qiáng)推挽輸出/強(qiáng)上拉輸出,強(qiáng)推挽輸出/強(qiáng)上拉輸出,要加輸出限流電阻1K-10K,弱上拉/準(zhǔn)雙向口,PWM輸出時(shí)的狀態(tài),PWM之前的狀態(tài),I/O口作為PWM使用時(shí)的狀態(tài),4、 PCA/PWM模塊的應(yīng)用,一般情況下,PCA/PWM模塊的初始化部分大致如下: (1)設(shè)置PCA/PWM模塊的工作方式,將控制字寫(xiě)入CMOD、CCON和CCAPMn寄存
29、器。 (2)設(shè)置捕捉寄存器CCAPnL(低位字節(jié))和CCAPnH(高位字節(jié))初值。 (3)將ECF/ECCF0/ECCF1/ECCF2/ECCF3中需置1的位置1。 (4)開(kāi)PCA 中斷和 LVD(低壓檢測(cè))中斷共享的總中斷控制位(使得EPCA_LVD=1)。 (5)開(kāi)整個(gè)單片機(jī)所有中斷共享的總中斷控制位EA(使得EA=1)。 (6)啟動(dòng) PCA 計(jì)數(shù)器(CH,CL)計(jì)數(shù)(使得CR=1)。,【例8-5】利用PCA 功能擴(kuò)展外部中斷。將P3.7(PCA模塊0)擴(kuò)展為下降沿外部中斷,將P3.5(PCA模塊1)擴(kuò)展為上升沿/下降沿都可觸發(fā)的外部中斷。,解:當(dāng)PCA 模塊工作在捕獲模式時(shí),對(duì)模塊的外部
30、CEXn輸入的跳變進(jìn)行采樣。當(dāng)采樣到有效跳變時(shí),PCA硬件將PCA計(jì)數(shù)器陣列寄存器(CH和CL)的值裝載到模塊的捕獲寄存器(CCAPnL和CCAPnH)中。如果CCON中的CCFn位和CCAPMn中的ECCFn位被置位,將產(chǎn)生中斷。由此,可以將PCA模塊作為擴(kuò)展外部中斷使用。按照要求,設(shè)置控制字時(shí),PCA模塊0應(yīng)設(shè)為下降沿捕獲(即CAPN0=1),PCA模塊1應(yīng)設(shè)為上升沿和下降沿都能捕獲的方式(即CAPP1=1并且CAPN1=1)。,匯編語(yǔ)言程序清單如下: $include (STC12.inc);包含STC12C5410AD寄存器定義文件 ORG 0000H LJMP MAIN ;轉(zhuǎn)主程序
31、ORG 0033H;PCA中斷 LJMP PCA_ISR ORG 0050H MAIN:MOV SP, #7FH ;初始化 PCA MOV CMOD,#10000000B ;空閑模式下停止PCA 計(jì)數(shù)器工作 ;PCA 時(shí)鐘源為fosc/12 ;禁止PCA 計(jì)數(shù)器溢出時(shí)中斷 MOV CCON, #00H ;清0 PCA計(jì)數(shù)器溢出中斷請(qǐng)求標(biāo)志位CF ;CR = 0, 不允許PCA計(jì)數(shù)器計(jì)數(shù) ;清0 PCA各模塊中斷請(qǐng)求標(biāo)志位CCFn MOV CL, #00H ;清0 PCA 計(jì)數(shù)器 MOV CH, #00H MOV CCAPM0, #11H ;設(shè)置PCA模塊0下降沿觸發(fā)捕捉功能, ECCF0=1
32、MOV CCAPM1, #31H ;模塊1上升/下降沿均可觸發(fā)捕捉功能, ECCF1=1 SETB EPCA_LVD ;開(kāi)PCA中斷和LVD中斷共享的總中斷控制位 SETB EA ;開(kāi)整個(gè)單片機(jī)所有中斷共享的總中斷控制位 SETB CR ;啟動(dòng) PCA 計(jì)數(shù)器(CH,CL)計(jì)數(shù) SJMP $ ;循環(huán)等待中斷,;PCA中斷服務(wù)程序 PCA_ISR: PUSH ACC ;保護(hù)現(xiàn)場(chǎng) PUSH PSW JNB CCF0, Not_PCA0 ;如果CCF0不等于1,就不是PCA模塊0中斷 ;直接去判是否是PCA模塊1中斷 ;PCA模塊0中斷服務(wù)程序 CPL P1.6 ;P1.6變化一次,表示PCA模塊0
33、發(fā)生了一次中斷 CLR CCF0 ;清PCA模塊0中斷標(biāo)志 Not_PCA0: JNB CCF1, PCA_Exit ;CCF1不等于1,不是PCA模塊1中斷,直接退出 ;PCA模塊1中斷服務(wù)程序 CPL P1.5 ;P1.5變化一次, 表示PCA模塊1發(fā)生了一次中斷 CLR CCF1 ;清PCA模塊1中斷標(biāo)志 PCA_Exit: POP PSW ;恢復(fù)現(xiàn)場(chǎng) POP ACC RETI END,C語(yǔ)言版本的程序如下: #include “stc12.h” /包含STC12C5410AD寄存器定義文件 sbit P15=P15; sbit P16=P16; void PCA_ISR(void) i
34、nterrupt 6 /PCA中斷服務(wù)程序 if(CCF0) /PCA模塊0中斷服務(wù)程序 P16=!P16; /P1.6變化一次,表示PCA模塊0發(fā)生了一次中斷 CCF0=0; /清PCA模塊0中斷標(biāo)志 else if(CCF1) /PCA模塊1中斷服務(wù)程序 P15=!P15; /P1.5變化一次, 表示PCA模塊1發(fā)生了一次中斷 CCF1=0; /清PCA模塊1中斷標(biāo)志 void main (void) /初始化PCA CMOD=0 x80; /#10000000B;空閑模式下停止PCA 計(jì)數(shù)器工作 /PCA 時(shí)鐘源為fosc/12, 禁止PCA 計(jì)數(shù)器溢出時(shí)中斷 CCON=0; /清0 P
35、CA計(jì)數(shù)器溢出中斷請(qǐng)求標(biāo)志位CF /CR = 0, 不允許PCA計(jì)數(shù)器計(jì)數(shù),清0 PCA各模塊中斷請(qǐng)求標(biāo)志位CCFn CL=0; /清0 PCA 計(jì)數(shù)器 CH=0; CCAPM0=0 x11; /設(shè)置PCA模塊0下降沿觸發(fā)捕捉功能 CCAPM1=0 x31; /設(shè)置PCA模塊1上升/下降沿均可觸發(fā)捕捉功能 EPCA_LVD=1; /開(kāi)PCA中斷和LVD中斷共享的總中斷控制位 EA=1; /開(kāi)整個(gè)單片機(jī)所有中斷共享的總中斷控制位 CR=1; /啟動(dòng) PCA 計(jì)數(shù)器(CH,CL)計(jì)數(shù) while(1); /等待中斷 ,【例8-6】利用PCA 功能做定時(shí)器使用。利用PCA模塊的軟件定時(shí)功能,實(shí)現(xiàn)在P
36、1.5輸出脈沖寬度為 1 秒鐘的方波。假設(shè)晶振頻率fosc = 18.432MHz。,解:在此,選擇PCA模塊0實(shí)現(xiàn)定時(shí)功能。通過(guò)置位CCAPM0寄存器的ECOM和MAT位,可使PCA模塊0工作于軟件定時(shí)器模式。定時(shí)時(shí)間的長(zhǎng)短,主要取決于時(shí)鐘源的選擇以及PCA計(jì)數(shù)器計(jì)數(shù)值的設(shè)置。本例中,時(shí)鐘頻率fosc=18.432MHz,可以選擇PCA模塊的時(shí)鐘源為fosc/12,基本定時(shí)時(shí)間單位T為5ms,對(duì)5ms計(jì)數(shù)200次以后,就實(shí)現(xiàn)了1秒鐘的定時(shí)。通過(guò)計(jì)算,PCA計(jì)數(shù)器計(jì)數(shù)值為1E00H,可在中斷服務(wù)程序中,將該值賦給CCAP0H,CCAP0L。,匯編語(yǔ)言程序清單如下: $include (STC1
37、2.inc) ;包含STC12C5410AD寄存器定義文件 COUNTER EQU 30H ;聲明一個(gè)計(jì)數(shù)器,用來(lái)計(jì)數(shù)中斷的次數(shù) ORG 0000H LJMP MAIN ;轉(zhuǎn)主程序 ORG 0033H ;PCA中斷入口地址 LJMP PCA_ISR ORG 0050H MAIN:MOV SP, #70H MOV COUNTER, #200 ;設(shè)置COUNTER計(jì)數(shù)器初值 ;初始化PCA模塊 MOV CMOD, #10000000B ;空閑模式下停止PCA計(jì)數(shù)器工作 ;選擇PCA的時(shí)鐘源為fosc/12; 禁止PCA計(jì)數(shù)器溢出時(shí)中斷 MOV CCON, #00H ;清0 PCA計(jì)數(shù)器溢出中斷請(qǐng)求
38、標(biāo)志位CF ;CR = 0, 不允許 PCA 計(jì)數(shù)器計(jì)數(shù) ;清0 PCA 各模塊中斷請(qǐng)求標(biāo)志位CCFn MOV CL, #00H ;清0 PCA 計(jì)數(shù)器 MOV CH, #00H MOV CCAP0L, #00H ;給PCA模塊0的CCAP0L置初值 MOV CCAP0H, #1EH ;給PCA模塊0的CCAP0H 置初值 MOV CCAPM0, #49H ;設(shè)置PCA模塊0為16位軟件定時(shí)器 ;ECCF0=1允許PCA模塊0中斷 ;當(dāng)CH,CL=CCAP0H,CCAP0L時(shí),產(chǎn)生中斷請(qǐng)求,CCF0=1,請(qǐng)求中斷 SETB EPCA_LVD ;開(kāi)PCA中斷和LVD中斷共享的總中斷控制位 SET
39、B EA ;開(kāi)整個(gè)單片機(jī)所有中斷共享的總中斷控制位 SETB CR ;啟動(dòng)PCA計(jì)數(shù)器(CH,CL)計(jì)數(shù) SJMP $ ;循環(huán)等待中斷,;PCA中斷服務(wù)程序 PCA_ISR: PUSH ACC ;保護(hù)現(xiàn)場(chǎng) PUSH PSW MOV A, #00H ;給CCAP0H,CCAP0L增加一個(gè)數(shù)值 ADD A, CCAP0L MOV CCAP0L, A MOV A, #1EH ADDC A, CCAP0H MOV CCAP0H, A CLR CCF0 ;清 PCA 模塊0 中斷標(biāo)志 DJNZ COUNTER,PCA_EXIT ;中斷計(jì)數(shù)沒(méi)有減到0,直接退出 MOV COUNTER,#200 ;恢復(fù)中斷
40、計(jì)數(shù)初值 CPL P1.5 ;在P1.5輸出脈沖寬度為1秒鐘的方波 PCA_EXIT: POP PSW POP ACC RETI END,對(duì)應(yīng)的C語(yǔ)言程序如下: #include “stc12.h” /包含STC12C5410AD寄存器定義文件 sbit P15=P15; unsigned char cnt; /中斷計(jì)數(shù)變量 void PCA_ISR(void) interrupt 6 /PCA中斷服務(wù)程序 CCAP0L+=0; /給CCAP0H,CCAP0L增加一個(gè)數(shù)值 CCAP0H+=0 x1e; CCF0=0; /清 PCA 模塊0 中斷標(biāo)志 cnt = cnt-; /修改中斷計(jì)數(shù) if
41、 (cnt=0) cnt=200; /恢復(fù)中斷計(jì)數(shù)初值 P15=!P15; /在P1.5輸出脈沖寬度為1秒鐘的方波 void main (void) cnt=200; /設(shè)置COUNTER計(jì)數(shù)器初值 /初始化PCA模塊 CMOD=0 x80; /#10000000B 空閑模式下停止PCA計(jì)數(shù)器工作 /選擇PCA的時(shí)鐘源為fosc/12 /禁止PCA計(jì)數(shù)器溢出時(shí)中斷 CCON=0; /清0 PCA計(jì)數(shù)器溢出中斷請(qǐng)求標(biāo)志位CF /CR = 0, 不允許 PCA 計(jì)數(shù)器計(jì)數(shù) /清0 PCA 各模塊中斷請(qǐng)求標(biāo)志位CCFn CL=0; /清0 PCA 計(jì)數(shù)器 CH=0; CCAP0L=0; /給PCA模
42、塊0的CCAP0L置初值 CCAP0H=0 x1e; /給PCA模塊0的CCAP0H 置初值 CCAPM0=0 x49; /設(shè)置PCA模塊0為16位軟件定時(shí)器 /ECCF0=1允許PCA模塊0中斷 /當(dāng)CH,CL=CCAP0H,CCAP0L時(shí),產(chǎn)生中斷請(qǐng)求,CCF0=1,請(qǐng)求中斷 EPCA_LVD=1; /開(kāi)PCA中斷和LVD中斷共享的總中斷控制位 EA=1; /開(kāi)整個(gè)單片機(jī)所有中斷共享的總中斷控制位 CR=1; /啟動(dòng)PCA計(jì)數(shù)器(CH,CL)計(jì)數(shù) while(1); /等待中斷 ,【例8-7】利用PCA模塊進(jìn)行PWM輸出。PWM脈沖由P3.5和P3.7輸出。假設(shè)晶振頻率 fosc= 18.
43、432MHz。,解:PWM無(wú)需中斷支持,只需根據(jù)需要設(shè)置PCA模塊的參數(shù),并通過(guò)指令進(jìn)行輸出即可。PWM的占空比計(jì)算方法為: 占空比 = ( pulse_width/256 ) * 100% 匯編語(yǔ)言程序如下: $include (STC12.INC) ;包含STC12C5410AD寄存器定義文件 ;定義常量 ;pulse_width_MAX = pulse_width_MIN 時(shí), 輸出脈沖寬度不變。 pulse_width_MAX EQU 0F0H ;PWM 脈寬最大值, 占空比 = 93.75% pulse_width_MIN EQU 10H ;PWM 脈寬最小值, 占空比 = 6.25
44、% step EQU 38H ;PWM 脈寬變化步長(zhǎng) ;定義變量 pulse_width EQU 30H ORG 0000H LJMP MAIN ORG 0050H MAIN: MOV SP, #7FH MOV CMOD, #80H ;PCA 在空閑模式下停止 PCA 計(jì)數(shù)器工作 ;PCA 時(shí)鐘模式為fosc/12 ;禁止 PCA 計(jì)數(shù)器溢出中斷 MOV CCON, #00H ;禁止PCA計(jì)數(shù)器工作,清除中斷標(biāo)志、計(jì)數(shù)器溢出標(biāo)志 MOV CL, #00H ;清0計(jì)數(shù)器 MOV CH, #00H,;- ;設(shè)置模塊0為8位PWM輸出模式,脈沖在P3.7引腳輸出 MOV CCAPM0, #42H ;
45、核心語(yǔ)句, -0100,0010 MOV PCA_PWM0, #00H ;核心語(yǔ)句 ; MOV PCA_PWM0, #03H ;釋放本行注釋, PWM 輸出就一直是 0, 無(wú)脈沖。 ;- ;設(shè)置模塊1為8位PWM輸出模式, PWM無(wú)需中斷支持。脈沖在P3.5引腳輸出 MOV CCAPM1, #42H ;核心語(yǔ)句, -0100,0010 MOV PCA_PWM1, #00H ;核心語(yǔ)句 ; MOV PCA_PWM1, #03H ;釋放本行注釋, PWM 輸出就一直是0, 無(wú)脈沖。 SETB EPCA_LVD ;開(kāi) PCA 中斷 SETB EA ;開(kāi)總中斷 SETB CR ;將PCA 計(jì)數(shù)器打開(kāi)
46、MAIN_LOOP: LCALL PWMOUT LJMP MAIN_LOOP ;- PWMOUT: ;可以使用示波器觀察P3.5的波形 ;如果P3.5連接一個(gè)LED,則連接到P3.5的LED逐漸變亮 MOV A, #pulse_width_MIN ;為輸出脈沖寬度設(shè)置初值 MOV pulse_width, A ;pulse_width數(shù)字越大脈寬越窄,LED越亮 PWM_LOOP1: MOV A, pulse_width ;判是否到達(dá)最大值 CLR C SUBB A, #pulse_width_MAX JNC PWM_A ;到達(dá)最大值就轉(zhuǎn)到逐漸變暗 MOV A, pulse_width ;設(shè)置
47、脈沖寬度。數(shù)字越大,脈寬越窄,LED越亮 MOV CCAP0H, A ;核心語(yǔ)句 MOV CCAP1H, A ;核心語(yǔ)句,MOV A, pulse_width ;計(jì)算下一次輸出脈沖寬度數(shù)值 ADD A, #step MOV pulse_width, A LCALL DELAY ;在一段時(shí)間內(nèi)保持輸出脈沖寬度不變 LJMP PWM_LOOP1 PWM_A: ;如果P3.5連接一個(gè)LED,連接到P3.5的LED逐漸變暗 MOV A, #pulse_width_MAX ;為輸出脈沖寬度設(shè)置初值 MOV pulse_width, A ;pulse_width 數(shù)字越大脈寬越窄,LED越亮 PWM_LO
48、OP2: MOV A, pulse_width ;判是否到達(dá)最小值 CLR C SUBB A, #pulse_width_MIN JC PWM_B ;到達(dá)最小值就返回。 JZ PWM_B ;到達(dá)最小值就返回。 MOV A, pulse_width ;設(shè)置脈沖寬度。數(shù)字越大、脈寬越窄,LED 越亮 MOV CCAP0H, A ;核心語(yǔ)句 MOV CCAP1H, A ;核心語(yǔ)句 MOV A, pulse_width ;計(jì)算下一次輸出脈沖寬度數(shù)值 CLR C SUBB A, #step MOV pulse_width, A LCALL DELAY ;在一段時(shí)間內(nèi)保持輸出脈沖寬度不變 LJMP PWM_LOOP2 PWM_B: RET,;- DELAY: CLR A MOV R1, A MOV R2, A MOV R3, #80H DELAY_LOOP: NOP NOP NOP DJNZ R1, DELAY_LOOP DJNZ R2, DELAY_LOOP DJNZ R3, DELAY_LOOP RET ;- END 【思考】寫(xiě)出對(duì)應(yīng)的C語(yǔ)言程序,【例8-8】利用P
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位之間協(xié)議書(shū)
- 2025年廣東廣州市泰昌實(shí)業(yè)(消防工程)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 2025年度個(gè)人房貸再擔(dān)保合同標(biāo)準(zhǔn)范本4篇
- 2025年度個(gè)人車輛購(gòu)置擔(dān)保合同2篇
- 2025-2030全球狄氏劑行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球黏性傷口護(hù)墊行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球可擦除可編程只讀 (EPROM) 存儲(chǔ)器行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年度個(gè)人網(wǎng)絡(luò)安全防護(hù)解決方案服務(wù)合同2篇
- 2025版智慧社區(qū)消防安全管理合作協(xié)議3篇
- 2025年度個(gè)人住宅抵押貸款合同實(shí)施細(xì)則
- 國(guó)外文化消費(fèi)研究述評(píng)
- 部編版語(yǔ)文四年級(jí)下冊(cè)第一單元 迷人的鄉(xiāng)村風(fēng)景 大單元整體教學(xué)設(shè)計(jì)
- 血透病人體重健康宣教
- 大健康行業(yè)研究課件
- 租賃汽車可行性報(bào)告
- 計(jì)算機(jī)輔助設(shè)計(jì)AutoCAD繪圖-課程教案
- 老年護(hù)理學(xué)-老年人與人口老齡化-課件
- 文化墻、墻體彩繪施工方案
- 初中化學(xué)校本課程
- 科技文獻(xiàn)檢索
- 元代文學(xué)緒論
評(píng)論
0/150
提交評(píng)論