




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
摘要在當代電子設備中運用中,經常要測量一個波形的頻率,然后對其進行分析研究。為了測量頻率,就要用到頻率計。在傳統的電子測量儀器中,示波器在進行頻率測量時測量精度較低,誤差較大。但是頻率計能夠快速準確的捕捉到被測信號頻率變化,因此,頻率計擁有非常廣泛的應用范圍。本次課程設計總結和回顧了所學的單片機的相關知識,運用了C51芯片的相關功能和編程的知識。簡易頻率計數器系統包括串口下載、復位電路,外部計數器T0或T1作為外部頻率輸入,信號源提供外部頻率,四位數碼管顯示結果等6部分。關鍵詞:C51芯片,C語言編程,Proteus軟件,keil軟件
一、設計題目與要求1.1設計題目簡易頻率計數器1.2設計要求:自制一個單片機最小系統,包括串口下載、復位電路,采用外部計數器T0或T1作為外部頻率輸入,外部頻率由信號源提供,測量出來的頻率顯示在四位一體的數碼管上。二、系統方案設計2.1功能需求 要求所設計電路能夠進行串口下載、手動復位、測量外接信號源的頻率,并且測量出的頻率能在四位一體數碼管上顯示出來。2.2設計流程實驗過程首先用Proteus軟件進行電路設計和仿真,利用keil軟件進行編程并檢查程序,然后根據仿真電路布局把元件焊接在電路板上,并進行通電測試,最終到一個滿足設計要求的簡易頻率計數器。(1)根據設計要求和已知條件,確定頻率計數器電路方案,計算和選取單元電路的原件參數,確定系統總體方案的設計,畫出系統框圖;(2)單元電路設計、參數計算和器件的選擇;(3)應用Proteus軟件進行仿真,并分析系統性能;(4)應用Keil軟件進行編程,并檢查程序與仿真相匹配;(5)系統的硬件設計及制作;(6)硬件調試及分析:利用函數信號發生器,萬用表等實驗室現有工具檢查復位電路,外接晶振電路以及主干電路的各項技術指標,并與設計要求值進行比較,若有不同則仔細分析調試至出現預期實驗結果;(7)按要求按時撰寫設計報告。2.3資料查詢與硬件選型89C51是一種高性能低功耗的采用CMOS工藝制造的8位微控制器,它提供下列標準特征:4K字節的程序存儲器,128字節的RAM,32條I/O線,2個16位定時器/計數器,一個5中斷源兩個優先級的中斷結構,一個雙工的串行口,片上震蕩器和時鐘電路。單片機各引腳功能及引腳圖單片機各引腳功能VCC/GND:供電電源。P0口(P0.0-P0.7):可以被定義為數據/地址的低八位,能夠用于外部程序/數據存儲器。在FIASH編程時,P0口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口(P1.0-1.7):標準輸入輸出I/O,P1口管腳寫入1后,被內部上拉為高,可用作輸入。在FLASH編程和校驗時,P1口作為第八位地址接收。P2口(P2.0-P2.7):既可用于標準輸入輸出I/O,也可用于外部程序存儲器或數據存儲器訪問時的高八位地址。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口(P3.0-P3.7):既可以作標準輸入輸出I/O,也可作為AT89C51的一些特殊功能口。P3口管腳備選功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(定/計時器0外部輸入)P3.5T1定/計時器1外部輸入)P3.6/WR(外部數據存儲器寫選通)P3.7/RD(外部數據存儲器讀選通)RST/VPD(9腳):復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG(30腳):當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。/PSEN(29腳):外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。/EA/VPP(31腳):當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1(19腳):反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2(18腳):來自反向振蕩器的輸出。(2)單片機引腳圖如圖2-1所示圖2-SEQ圖2_-\*ARABIC1單片機引腳圖四位一體數碼管各引腳介紹及引腳圖(1)數碼管結構各引腳介紹數碼管動態顯示接口是單片機中應用最為廣泛的一種顯示方式之一。a,b,c,d,e,f,g,dp引腳為段選引腳,分別控制數碼管8個顯示筆畫及小數點,顯示動態驅動將所有數碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數碼管的公共極COM增加位選通控制電路,1,2,3,4引腳分別表示四個數碼管的位選引腳,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數碼管都接收到相同的字形碼,但究竟是那個數碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,即1、2、3、4引腳控制。(2)數碼管引腳圖如圖2-2所示圖2-SEQ圖2_-\*ARABIC2數碼管引腳圖3.硬件選型本次課程設計所用單片機型號為AT89C51RD,四位一體數碼管為共陰極型。2.4器件說明本課程設計所需器件有:89C51RD芯片(與89C51芯片管腳和指令共用,只是內部存儲單元有差異)1個,12MHz晶振1個,10uF電容1個,20pF電容2個,10kΩ電阻2個,排阻1個,四位一體共陰極數碼顯示管1個,按鈕1個,導線若干。三、系統原理圖設計與仿真簡易頻率計數器系統設計主要分為四個部分,分別是外接晶體振蕩電路、復位電路、四位一體數碼管電路、信號源電路。外接晶體振蕩電路,形成反饋電路,構成一個穩定的自激振蕩器,位單片機提供時鐘信號;復位電路,用于重置計數器;四位一體數碼管,用于顯示頻率計數結果;外接信號源,提供待測信號源。這四部分電路都要與51單片機相連接,以下將從各部分電路進行分析設計。3.1外接晶體振蕩電路單片機的時鐘產生方法有兩種,一種是外部時鐘方式,一種是內部時鐘方式,本方案設計采用內部時鐘電路方式。MCS-51片內有一個高增益反相放大器,XTAL1、XTAL2引腳分別為該反相放大器的輸入端和輸出端,在芯片的外部通過這兩個引腳跨接石英晶體振蕩器和微調電容,形成反饋電路,就構成了一個穩定的自激振蕩器。本次課程設計需在高速串行通信下實現,故選用12MHz的晶振。振蕩電路產生的信號經過十二分頻后才作為系統內部時鐘信號,即12MHz的晶振得到的內部機器周期為1us。微調電容C1和C2電容值均選用33pF,幫助晶振起振,這樣可擁有較高的頻率穩定性。外接晶振電路圖設計如圖3-1。圖3-SEQ圖3_-\*ARABIC1外接晶體振蕩電路3.2復位電路單片機復位電路的設計需要用到RST引腳(引腳9)。外部電路在復位引腳RAT端產生大于兩個機器周期的高電平信號,就可進行復位操作。MCS-51單片機的復位方式有很多種,這里采用上電復位+手動復位的方式。復位電路如圖3-2所示。在單片機啟動0.1S后,電容C兩端的電壓持續充電為5V,這是時候10K電阻兩端的電壓接近于0V,RST處于低電平所以系統正常工作。當按鍵按下的時候,開關導通,這個時候電容兩端形成了一個回路,電容被短路,所以在按鍵按下的這個過程中,電容開始釋放之前充的電量。隨著時間的推移,電容的電壓在0.1S內,從5V釋放到變為了1.5V,甚至更小。根據串聯電路電壓為各處之和,這個時候10K電阻兩端的電壓為3.5V,甚至更大,所以RST引腳又接收到高電平,單片機系統自動復位。本電路電容選為10uF,電阻選為1kΩ,實際電路時選擇阻值更大的阻值,如10k歐姆,可更有效的限制電流。圖3-SEQ圖3_-\*ARABIC2復位電路3.3數碼管電路四位一體共陰極數碼管用于顯示頻率計數結果。A,B,C,D,E,F,G引腳與普通七段數碼管的作用相同,dp為小數點控制,在這次課程設計中不需要用到,1234為四位位選控制端,分別控制個位、十位、百位、千位。實際情況下四位數碼是按順序輪流點亮的,在輪流顯示過程中,每位數碼管的點亮時間為1~2ms,由于人的視覺暫留現象及發光二極管的余輝效應,盡管實際上各位數碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩定的顯示數據,不會有閃爍感,所以從表面看起來是同時點亮。數碼管電路如圖3-3所示。本次電路設計中,用單片機的P0口控制數碼管的片選端,P2口的低四位控制數碼管的位選端。當P0口作一般I/O口使用時,由于輸出驅動電路工作于漏極開路狀態,因此,仿真和焊接過程中P0口都需接上拉電阻,即排阻RP1,其作用是穩定高電平。排阻第一位需要外接+5V電源。圖3-SEQ圖3_-\*ARABIC3數碼管電路3.4外接信號電路外接信號電路如圖3-4所示。本次課程設計中,設定定時器0工作在定時方式,定時/計數器1工作在計數方式,因此P3.5口作為外部脈沖輸入端。在實際過程中外部信號脈沖由函數信號發生器提供。圖3-SEQ圖3_-\*ARABIC4外接信號電路3.5系統仿真結果1.外部輸入信號為1kHz時,仿真結果如圖3-5所示。接通電源,計數頻率顯示為0000,然后跳變為1000,隨后在1000附近跳動。圖3-SEQ圖3_-\*ARABIC5外部信號為1kHz2.外部輸入信號為500Hz時,當電路正常運行時,按下復位按鈕,仿真結果如圖3-6所示。可見,此時電路正常復位。圖3-SEQ圖3_-\*ARABIC6按下復位按鈕3.6仿真結果分析在仿真中發現,無論外部信號頻率為多大,接通電源時,數碼管顯示均為0000,與按下復位按鈕時的現象一致,即當電路接通時,就會復位;當外部信號頻率改變時,數碼管顯示數據與相應的外接信號頻率基本一致,說明本次仿真成功。分析電路在開機時候復位的原因如下:在電路圖中,電容的的大小是10uf,電阻的大小是1k。所以根據公式,可以算出電容充電到電源電壓的0.7倍(單片機的電源是5V,所以充電到0.7倍即為3.5V),需要的時間是1K*10UF=0.01S。也就是說在電腦啟動的0.01S內,電容兩端的電壓時在0~3.5V增加。這個時候1K電阻兩端的電壓為從5~1.5V減少(串聯電路各處電壓之和為總電壓)。所以在0.01S內,RST引腳所接收到的電壓是5V~1.5V。在5V正常工作的51單片機中小于1.5V的電壓信號為低電平信號,而大于1.5V的電壓信號為高電平信號。所以在開機0.01S內,單片機系統自動復位。四、程序設計4.1程序流程圖開始開始初始化初始化T0計時,T1計數T1計數T0定時滿1T1計數T0定時滿1sT1Count++T1Count++計算脈沖個數送數碼管顯示送數碼管顯示圖4-SEQ圖4_-\*ARABIC1程序流程圖4.2程序說明1.程序預處理,申明頭文件,定義相關變量#include<reg51.h> bitint_flag;unsignedcharvolatileT0Count;unsignedcharvolatileT1Count;unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//數碼管顯示段碼值為0、1、2、3、4、5、6、7、8、9unsignedcharcodetemp[]={0xf7,0xfb,0xfd,0xfe};//數碼管選通1234左到右unsignedlongsum;//1s內脈沖的個數unsignedcharLed[4];//LED顯示緩存2.子函數聲明(1)延時程序,在程序開始前生命延時程序,以便主函數調用voiddelay(unsignedintnum){ while(--num);}//延時程序(2)init函數聲明,該函數用于定時器、計數器置初值。TMOD寄存器是工作方式控制寄存器,用于設定兩個定時/計數器的工作方式。各位定義如圖4-2所示。圖4-SEQ圖4_-\*ARABIC2GATE——門控制:GATE=1時,由外中斷請求信號和TR的組合狀態啟動定時器;GATE=0時,由運行控制位TR啟動。C/T——計數或定時選擇位:C/T=1時為計數工作方式;C/T=0時為定時工作方式。M0、M1——工作方式選擇位:M0M1=00,為工作方式0,13位定時器/計數器工作方式;M0M1=01,為工作方式1,16位定時器/計數器工作方式;M0M1=10,為工作方式2,常數自動裝入的8位定時器/計數器工作方式;M0M1=11,為工作方式3,兩個8位定時器/計數器工作方式(僅適用于T0,此工作方式下T1停止計數)。本程序中將其設置為0x51,轉化為二進制為01010001,對照TMOD寄存器的位符號,可知,對定時器/計數器0,設置為由運行控制位TR啟動,并開啟定時工作方式,工作于工作方式2,16位定時器工作方式。而對定時器/計數器1,設置為由運行控制位TR啟動,并開啟計數工作方式,工作于方式1,16位計數器工作方式。同時給定時器0、計數器1置初值。程序如下:
voidinit(void){ TMOD=0x51;//T0定時,T1計數 TH0=(65536-50000)/256; TL0=(65536-50000)%256; TH1=0x00; TL1=0x00;//置定時器、計數器初始值,周期為50ms}(3)disp函數,用于控制數碼管的顯示利用for循環依次將四位數碼管位選端按個位、十位、百位、千位依次接通,并在每次接通的同時,將字符數組Led[]的儲存內容賦值給P2端口,同時延時1ms。程序如下:voiddisp(void){ unsignedchari; for(i=0;i<4;i++) { P2=temp[i];//片選 P0=table[Led[i]];//取數據顯示 delay(100);//延時1毫秒 }主函數Main函數是程序的入口,開啟中斷控制總控制和所需的定時器、計數器。利用while循環將脈沖數的千位、百位、十位、個位分離并分別儲存在已定義的字符數組Led[4]中,同時準備開啟下一秒的計數工作。其中TCON寄存器既參與中斷控制,又參與定時控制。如圖4-2為各位定義。圖4-SEQ圖4_-\*ARABIC3TF1:定時器1溢出標志位。當定時器1計滿溢出時,由硬件使TF1置“1”,并且申請中斷。進入中斷服務程序后,由硬件自動清“0”,在查詢方式下用軟件清“0”。TR1:定時器1運行控制位。由軟件清“0”關閉定時器1。當GATE=1,且/INT1為高電平時,TR1置“1”啟動定時器1;當GATE=0,TR1置“1”啟動定時器1。TF0:定時器0溢出標志。其功能及操作情況同TF1。TR0:定時器0運行控制位。其功能及操作情況同TR1。IE1:外部中斷1請求標志位。IT1:外部中斷1觸發方式選擇位。當IT1=0,為低電平觸發方式;當IT1=1,為下降沿觸發方式。IE0:外部中斷0請求標志位。IT0:外部中斷0觸發方式選擇位。當IT0=0,為低電平觸發方式;當IT0=1,為下降沿觸發方式。程序如下:voidmain(void){ EA=1;//CPU關中斷 init();//初始化定時器 TR0=1;//啟動定時器0 TR1=1;//啟動計數器1 ET0=1;//定時器0開中斷 ET1=1;//計數器1開中斷 while(1) { if(int_flag==1) { int_flag=0; sum=TL1+TH1*256+T1Count*65536;//計算1s脈沖個數 位數由低到高TL<TH<T1Count Led[3]=sum%10000/1000;//顯示千位 Led[2]=sum%1000/100;//顯示百位 Led[1]=sum%100/10;//顯示十位 Led[0]=sum%10;//顯示個位 T0Count=0x00; T1Count=0; TH1=0x00; TL1=0x00; TR1=1; } disp(); }}中斷程序(1)定時器0中斷,設置定時器T0初始值,周期為50ms,當T0Count為20時,即20×50ms=1秒時,計數器T1停止計數,且T0清零。voidint_t0(void)interrupt1{ TH0=(65536-50000)/256; TL0=(65536-50000)%256; T0Count++; if(T0Count==20) { TR1=0;//計數器1停止工作 int_flag=1; T0Count=0x00; }}(2)計數器1中斷,T1Count是TH1的進位,在計數時T1的高低八位均在變化,每滿65536,向T1Count進一,則由式子sum=TL1+TH1*256+T1Count*65536可計算出一秒內脈沖個數。程序如下:voidint_T1(void)interrupt3{ T1Count++;}4.3程序設計如下:#include<reg51.h> bitint_flag;unsignedcharvolatileT0Count;unsignedcharvolatileT1Count;unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//數碼管顯示段碼值為0、1、2、3、4、5、6、7、8、9unsignedcharcodetemp[]={0xf7,0xfb,0xfd,0xfe};//數碼管選通1234左到右unsignedlongsum;//1s內脈沖的個數unsignedcharLed[4];//LED顯示緩存voiddelay(unsignedintnum){ while(--num);}//延時程序voidinit(void){ TMOD=0x51;//T0定時,T1計數 TH0=(65536-50000)/256; TL0=(65536-50000)%256; TH1=0x00; TL1=0x00;//置定時器、計數器初始值,周期為50ms}voiddisp(void){ unsignedchari; for(i=0;i<4;i++) { P2=temp[i];//片選 P0=table[Led[i]];//取數據顯示 delay(100);//延時1毫秒 }}voidmain(void){ EA=1;//CPU關中斷 init();//初始化定時器 TR0=1;//啟動定時器0 TR1=1;//啟動計數器1 ET0=1;//定時器0開中斷 ET1=1;//計數器1開中斷 while(1) { if(int_flag==1) { int_flag=0; sum=TL1+TH1*256+T1Count*65536;//計算1s脈沖個數 位數由低到高TL<TH<T1Count Led[3]=sum%10000/1000;//顯示千位 Led[2]=sum%1000/100;//顯示百位 Led[1]=sum%100/10;//顯示十位 Led[0]=sum%10;//顯示個位 T0Count=0x00; T1Count=0; TH1=0x00; TL1=0x00; TR1=1; } disp(); }}voidint_t0(void)interrupt1{ TH0=(65536-50000)/256; TL0=(65536-50000)%256; T0Count++; if(T0Count==20) { TR1=0;//計數器1停止工作 int_flag=1; T0Count=0x00; }}voidint_T1(void)interrupt3{ T1Count++;}五、系統調試5.1軟件測試1.外部輸入信號為100Hz時,仿真結果如圖5-1所示。接通電源,計數頻率顯示為0000,然后跳變為100,隨后在100和99之間跳動。圖5-SEQ圖5_-\*ARABIC1外部信號為100Hz2.外部輸入信號為500Hz時,仿真結果如圖5-2所示。接通電源,計數頻率顯示為0000,然后跳變為500,隨后在500附近跳動。圖5-SEQ圖5_-\*ARABIC2外部信號為500Hz3.在調試過程初期,復位電路電阻所用阻值為10kΩ,但仿真時復位電路不能正常進行。仿真如圖5-3所示。圖5-SEQ圖5_-\*ARABIC3R1為10kΩ5.2硬件測試在軟件調試時,復位電路電阻為10KΩ時,復位電路不能正常運行,但按照正常情況,不該出現此現象,故推斷軟件仿真有誤,在焊接硬件時電阻使用10KΩ進行測試。1.如圖5-4所示,在外接信號頻率為1kHz時,數碼管顯示在1000左右跳動。圖5-4顯示為1080,硬件頻率計數測試成功。圖5-SEQ圖5_-\*ARABIC42.如圖5-5所示,為按下復位按鈕后的測試圖,此時數碼管顯示為0000,即電路復位。硬件復位測試成功。圖5-SEQ圖5_-\*ARABIC5六、總結與體會本次課程設計的課題是簡易頻率計數器,簡易頻率計數器是計算機、各種通訊設備和音頻視頻等科研生產領域不可缺少的測量儀器。在這次課程設計中,我收獲頗多。在初期復習準備的過程中鞏固了單片機方面的知識,另外,在后期查找相關知識時開闊了視野,學到了很多課本上學不到的知識。比如,在這個過程中,我又重新復習了《C語言程序設計》中的相關編程知識,較為熟練地掌握了C語言的編寫,重新翻閱了《單片機原理及應用》,溫故而知新,能夠更加熟練地掌握了單片機的相關知識;另外,我自行學習了仿真軟件Proteus、編程軟件Keil和串口燒入器的使用方法。雖然課程設計成功完成,但是在此過程中出現了大大小小的問題。比如,課程設計剛開始時,由于單片機知識的遺忘和自己基礎知識不牢固,在分析設計電路時略顯吃力,但是經過兩天的準備后,就能夠很好的完成電路的設計。然而,在編程時,由于C語言所學的時間太久,知識遺忘比較大,在編寫程序時遇到了很大的困難。但是我們沒有放棄,最終,在湯老師的耐心幫助和我們隊友同學之間互相幫助下,經過一番努力,最終成功編寫出了程序。除了在知識上收獲了很多之外,我在與隊友的相互交流學習時,與人交流的能力有所提升。而且,更加意識到團隊合作的重要性。在此次課程設計中,我想感謝我的隊友和耐心負責的湯老師,也感謝學校給我們提供如此難得的機會鍛煉自己。在以后的學習中,我一定會更加努力。
附錄一元件清單序號器件名稱型號數量12345678單片機芯片電阻電容電容晶振按鈕排阻數碼管AT89C5110kΩ10uF20pF12MHz-A472GF5461AH1個2個1個2個1個1個1個1個附錄二程序清單程序如下:#include<reg51.h> bitint_flag;unsignedcharvolatileT0Count;unsignedcharvolatileT1Count;unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//數碼管顯示段碼值為0、1、2、3、4、5、6、7、8、9unsignedcharcodetemp[]={0xf7,0xfb,0xfd,0xfe};//數碼管選通1234左到右unsignedlongsum;//1s內脈沖的個數unsignedcharLed[4];//LED顯示緩存voiddelay(unsignedintnum){ while(--num);}//延時程序voidinit(void){ TMOD=0x51;//T0定時,T1計數 TH0=(65536-50000)/256; TL0=(65536-50000)%256; TH1=0x00; TL1=0x00;//置定時器、計數器初始值,周期為5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年河北省公務員考試真題
- 人工種草護坡施工方案
- 噴繪儀企業制定與實施新質生產力戰略研究報告
- 女孩早戀青春期教育指南
- 2025-2030中國家用安防行業市場發展前瞻及投資戰略研究報告
- 2025-2030中國家庭影音設備行業供需趨勢及投資風險研究報告
- 2025-2030中國寵物行業發展分析及投資風險與戰略研究報告
- 2025-2030中國實驗室鞋套行業市場現狀供需分析及投資評估規劃分析研究報告
- 20251月托班合同終止后學員檔案移交流程說明
- 水鉆首飾企業制定與實施新質生產力戰略研究報告
- TD/T 1075-2023 光伏發電站工程項目用地控制指標(正式版)
- 倫理與禮儀 知到智慧樹網課答案
- 康養活動策劃方案
- DB11/1950-2021-公共建筑無障礙設計標準
- (正式版)SHT 3115-2024 石油化工管式爐輕質澆注料襯里工程技術規范
- 2024新生兒肺炎個案護理
- 2022版新課標核心素養關鍵詞解讀-運算能力主題研討與教學分享
- 安委會-安委會工作總結
- 防汛預案桌面演練(終)課件
- 山東專業就業分析報告專科
- 工裝裝修策劃方案
評論
0/150
提交評論