

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 嵌入式系統(tǒng)課程設(shè)計 </p><p> 設(shè)計名稱 加熱定時器 </p><p> 專業(yè)班級 </p><p> 學(xué) 號 </p><p> 姓 名 </p><p> 指導(dǎo)教師
2、 </p><p><b> 課程設(shè)計任務(wù)書</b></p><p> 注:課程設(shè)計完成后,學(xué)生提交的歸檔文件應(yīng)按,封面—任務(wù)書—說明書—圖紙的順序進(jìn)行裝訂上交(大張圖紙不必裝訂)</p><p> 專業(yè)班級 學(xué)號 姓名 成績
3、 </p><p> 一.實驗?zāi)康?</p><p> 1、 掌握可任意預(yù)置的定時構(gòu)成、原理與設(shè)計方法;</p><p> 2、 熟悉集成電路的使用方法。</p><p>
4、3、通過應(yīng)用單片機(jī)系統(tǒng),培養(yǎng)創(chuàng)新意識,提高動手能力。 </p><p> 二.設(shè)計要求 </p><p> 1、每天早7:00起加熱,晚10:00起加熱,保證熱水; 周末全天供水。</p><p&
5、gt; 2、控制面板設(shè)計。 </p><p> 主要設(shè)計參數(shù): </p>
6、<p> 1、能準(zhǔn)確實現(xiàn)加熱時間控制 。 </p><p><b> 2、保證熱水供應(yīng)。</b></p><p><b> 三.定時加熱器優(yōu)點</b></p><p> 傳統(tǒng)的大容量電熱
7、水器的加熱時間一般都比較長,如果熱水器一直開著,則會一直耗能耗電,而定時開關(guān)控制器則可有效解決這些問題,使電熱水器使用起來更加舒適省電。這樣,電熱水器不僅可以充分利用閑置的時間,避免用戶使用時長時間的等待,減少不必要的保溫,也可以更加節(jié)約電能,特別對低谷及高峰用電有差價的地區(qū).利用晚間低谷用電開機(jī)加熱,白天用電高峰關(guān)機(jī)保溫,便能大量節(jié)約電費(fèi)開支。本文中的定時控制器主要是以單片機(jī)AT89C51作為核心控制元件,通過外圍電路來控制熱水器的電
8、源,以達(dá)到定時開關(guān)機(jī)的目的。</p><p> 四.設(shè)計原理 </p><p><b> 1 硬件組成</b></p><p> 本電熱水器控制系統(tǒng)在加電后即可進(jìn)
9、入正常計時狀態(tài),用戶可以隨時校準(zhǔn)時間并設(shè)定熱水器的開關(guān)時間,以便控制器能夠在設(shè)定的開關(guān)時刻通過單片機(jī)的輸出端口控制輸出繼電器的動作,進(jìn)而控制熱水器的啟閉。該系統(tǒng)的硬件原理圖見圖1所示。</p><p> 本系統(tǒng)的核心單片機(jī)AT89C2051為20腳300MIL封裝,是一種帶有2KB FLASH E2PROM的單片機(jī)。該單片機(jī)除了少了兩個并口外,能兼容MCS-51系列單片機(jī)的所有功能,且具備體積小、功能強(qiáng)、運(yùn)行速
10、度快等特點。</p><p> 1.1 引腳功能及結(jié)構(gòu)</p><p> DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.7
11、68kHz晶振。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進(jìn)行操作。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時,在Vcc>2.0V之前,RST必須保持低電平。只有在
12、SCLK為低電平時,才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細(xì)說明。SCLK為時鐘輸入端。</p><p> 1.2 數(shù)據(jù)輸入輸出(I/O)</p><p> 在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位0
13、位到高位7。 </p><p> 1.3 DS1302的寄存器</p><p> DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,</p><p> 1.4鍵盤、顯示以及輸出控制這三種電路。</p><p><b> 1.41 顯示電路</b></p>&l
14、t;p> 本系統(tǒng)中的顯示電路主要由七段共陽顯示譯碼器74LS47、3線-8線譯碼器74tHC138、7個PNP型三極管和六個數(shù)碼管組成。通過AT89C2051的P1.4~P1.7口將要顯示字符的BCD碼輸出到74LS47的四個輸人端,然后譯碼并輸出相應(yīng)的筆段來驅(qū)動LED數(shù)碼管(共陽)。LED數(shù)碼管顯示采用動態(tài)掃描方式,即在某一時刻,只有一個數(shù)碼管被點亮。數(shù)碼管的位選信號由AT89C2051的P3.3~P3.5輸出,并經(jīng)74HCl
15、38譯碼后通過三極管放大,以驅(qū)動相應(yīng)的數(shù)碼管。</p><p><b> 1.42 鍵盤電路</b></p><p> 鍵盤電路跟顯示電路一樣采用掃描方式,并利用動態(tài)顯示時的數(shù)碼管驅(qū)動位置信號來判斷相應(yīng)按鍵的狀態(tài)。單片機(jī)的P3.3~P3.5口輸出的BCD碼經(jīng)譯碼器譯碼后,相應(yīng)的Y口呈低電平,而AT89C205 1的P3.7口平時為高電平(由于有上拉電阻),只有當(dāng)某
16、一按鍵按下時,P3.7才被下拉為低,這時,單片機(jī)將利用程序查詢P3.7是否為低,如果P3.7為低電平,則讀回單片機(jī)P3.3~.P3.5口的值(從緩沖區(qū)讀取),并判斷是那個按鍵按下.然后調(diào)用相應(yīng)的處理程序進(jìn)行處理。</p><p> 1.43 輸出控制電路</p><p> 單片機(jī)的控制輸出是通過P3.0~P3.2口完成的。當(dāng)程序開始時,這三個口的輸出狀態(tài)都是低電平,AT89C2051通
17、過程序查詢?nèi)份敵龅腛N或OFF狀態(tài)預(yù)置時間是否已到,若時間到,則改變相應(yīng)的輸出狀態(tài),以完成對外部電路的控制。中斷功能申請寄存器IE介紹</p><p> 中斷允許寄存器IE(可以打開和屏蔽相應(yīng)的中斷)</p><p> EX0/EX1 ET1/ET0 ES 位:分別是外部中斷、定時中斷、串口中斷 允許控制位。</p><p> =0 :禁止中斷;
18、 =1 :允許中斷。</p><p> EA:總的中斷允許控制位(總開關(guān)):</p><p> =0 :禁止全部中斷; =1 :允許中斷。</p><p> 工作方式寄存器TMOD</p><p> 高四位對于定時器1,低四位對應(yīng)定時器0 M1,M0:工作方式選擇位 。</p&g
19、t;<p> 工作方式0 =00:13位定時器/計數(shù)器;工作方式1 =01:16位定時器/計數(shù)器(常用);</p><p> 工作方式2 =10:可自動重裝的8位定時器/計數(shù)器(常用);工作方式3 =11:T0 分為2個8位定時器/計數(shù)器;僅適用于T0。</p><p> C/T :定時方式/計數(shù)方式選擇位。</p>
20、<p> = 0 :內(nèi)部提供信號脈沖。 = 1: 外部提供信號脈沖。</p><p> GATE:定時器啟動控制位</p><p> = 0 :程序控制。 = 1 :硬件控制。</p><p> 例如:TMOD = 0000 0001 =0x01; //設(shè)定時器0為16位模式1 </p><p&
21、gt; 例如:TMOD = 0001 0000 =0x10; //設(shè)定時器1為16位模式1 </p><p> 如何選擇16位內(nèi)部脈沖計數(shù)寄存器,并選擇定時器0作為為定時器,且用軟件方式實現(xiàn)定時器啟動控制。TMOD的值為多少?</p><p> 定時0,選擇低四位(高四位全為0)</p><p> 16位計數(shù)寄存器 選工作方式1 即M1 M0值為01<
22、;/p><p> 內(nèi)部脈沖 C/T 值為0</p><p> 軟件啟動定時器 GATE 值為 0</p><p> TMOD=0000 0001 =0x01</p><p> 定時器控制寄存器TCON(高四位與定時器中斷有關(guān),低四位與外部中斷有關(guān))</p><p> TR0/TR1:定時器運(yùn)行啟??刂莆唬捎?/p>
23、用戶通過軟件設(shè)置 )。</p><p> =0:定時器停止運(yùn)行;</p><p> =1:定時器啟動運(yùn)行。</p><p> TF0/TF1:定時器溢出中斷申請標(biāo)志位(由硬件自動置位)。</p><p> =0:定時器未溢出;</p><p> =1:定時器溢出(由全“1”變成全“0”)時由硬件自動置位,申請
24、中斷,中斷被CPU響應(yīng)后由硬件自動清零。</p><p> 啟動定時器和判斷是否溢出</p><p> TRx賦值為1,即可啟動相應(yīng)的定時器</p><p> 如果TFx的值為1,即可以判斷計數(shù)寄存器的值已經(jīng)溢出。</p><p><b> 可以用位賦值。</b></p><p> TC
25、ON=0001 0000 =0x10 代表什么?</p><p> 即TR0的值為1,TF0的值為0。定時器已經(jīng)啟動,并且計數(shù)寄存器的計數(shù)值還沒有溢出。(不能產(chǎn)生有效的內(nèi)容中斷信號)</p><p><b> 2 軟件設(shè)計</b></p><p><b> 2.1 主程序流程</b></p><p
26、> 本系統(tǒng)的主程序工作過程是首先循環(huán)進(jìn)行8個數(shù)碼管的掃描顯示(DISPLY段),然后比較所有預(yù)置時間(COMP段)是否與當(dāng)前時間相等,如相等則轉(zhuǎn)向相應(yīng)處理程序。比較完成(或處理完成)后,再判斷有無按鍵(PP2段)按下,沒有則返回繼續(xù)顯示、比較、判斷;有按鍵按下則轉(zhuǎn)向相應(yīng)的處理程序。按鍵轉(zhuǎn)移采用偏移量加表格跳轉(zhuǎn)轉(zhuǎn)移法(KEY段)。預(yù)置時間比較則采用逐一比較法,即對每一個預(yù)設(shè)的值都進(jìn)行比較,如果相等,則進(jìn)行相應(yīng)的處理。在具體比較時(
27、COMP1段),首先比較TH值,如不相等,則直接轉(zhuǎn)出并置"時間到"標(biāo)志CCB為0,而如果TH、TM、TS全部對應(yīng)相等,則置該標(biāo)志為1,其軟件流程見圖2所示。</p><p> 此次設(shè)計的可預(yù)置熱水器控制電路,實現(xiàn)對時間和分鐘的現(xiàn)實,可以設(shè)置熱水器的使用時間,使熱水器自動加熱和停止,并且設(shè)置了水位比較電路可以進(jìn)行報警。</p><p> 由石英晶體振蕩器產(chǎn)生頻率為10
28、00Hz的信號,經(jīng)過三片74LS160進(jìn)行分頻后,得到1Hz的秒脈沖信號,再經(jīng)過2片74LS90連接成的60進(jìn)制計數(shù)器后得到1/60秒的分脈沖信號。將分信號傳輸給兩片74LS290連成的六十進(jìn)制計數(shù)器進(jìn)行分的計數(shù),再由分計數(shù)的進(jìn)位驅(qū)動二十四進(jìn)制的時計數(shù)器。時間計數(shù)器連接七段譯碼顯示器進(jìn)行時間的現(xiàn)實。預(yù)置時間的電路與此相同。</p><p> 預(yù)置時間計數(shù)器產(chǎn)生的輸出進(jìn)入減法器進(jìn)行自動減一的設(shè)置,減法器的輸出信號
29、進(jìn)入比較器,與正常時間計數(shù)器產(chǎn)生的信號進(jìn)行比較。當(dāng)兩者相等時,自動開始加。由時計數(shù)器和分計數(shù)器產(chǎn)生的輸出接入比較器,與設(shè)定時間電路的時計數(shù)器和分計數(shù)器相比較,當(dāng)時間相等時熱水器停止加熱。</p><p> 由傳感器感知水位,經(jīng)由模數(shù)轉(zhuǎn)換器轉(zhuǎn)換成八位二進(jìn)制數(shù),再由二進(jìn)制→BCD碼轉(zhuǎn)換器將其轉(zhuǎn)換成8421BCD碼,輸出的數(shù)據(jù)經(jīng)計數(shù)器傳入七段譯碼顯示器進(jìn)行水位的顯示。從水位計數(shù)器引出的信號進(jìn)入比較器,與比較器中設(shè)置的
30、水位進(jìn)行比較,當(dāng)其水位低于設(shè)定值時,自動停止工作并進(jìn)行水位報警。其中水位報警電路由555定時器構(gòu)成的單穩(wěn)態(tài)單路和多諧振蕩電路組成。</p><p> 2.2 秒脈沖發(fā)生器的軟件設(shè)計</p><p> 系統(tǒng)中的秒脈沖發(fā)生器是由定時器T0和內(nèi)存空間TT0配合完成的。其中T0工作于l 6位計數(shù)器模式,當(dāng)T0向上計數(shù)并由全1變?yōu)槿?時產(chǎn)生中斷。本程序中,T0的初值為0DC00H,大約0.01秒
31、中斷一次。這里使用的晶振頻率為11.0592MHz,由此可計算出日誤差約為0.78 s。其操作流程如圖3所示,系統(tǒng)產(chǎn)生中斷后,首先保存ACC和PSW的值,然后為T0重裝初值,并判斷中斷次數(shù)是否小于100,若是,則轉(zhuǎn)出中斷服務(wù),反之則將秒計數(shù)器加1。秒計數(shù)器大于59時,則為分計數(shù)器加1,同時秒計數(shù)器清0。同樣,分計數(shù)器如大于59,則為時計數(shù)器加1,同時分計數(shù)器清0。時計數(shù)器如大于23時則清0并轉(zhuǎn)出中斷服務(wù)。TD中斷100次的時間剛好為1秒
32、鐘。</p><p><b> 3、 程序</b></p><p> #include <REG52.H></p><p> #include "DS1302.h" /************端 口 定 義****************/</p><p> sbit
33、 hot = P1^7;</p><p> sbit Add_hour = P3^0;</p><p> sbit Add_min = P3^1;</p><p> unsigned char qiangdanum=0;</p><p> unsigned char code table[]={0x3f,0x0
34、6,0x5b,0x4f,0x66,0x6d,0x7d,0x07,</p><p> 0x7f,0x6f};</p><p> //unsigned char code duan[]={};</p><p> unsigned char ge=0,shi=0;</p><p> void delay(unsigned int ms)
35、 //晶振12M</p><p><b> {</b></p><p> unsigned int i,j;</p><p> for(j=ms;j>0;j--) </p><p><b> {</b></p><p> for(i=0;i<
36、;120;i++);</p><p><b> }</b></p><p><b> }</b></p><p> void display(void)</p><p><b> { </b></p><p><b> P2=0x7f
37、;</b></p><p> P0=table[week];</p><p><b> delay(5);</b></p><p><b> P2=0xbf;</b></p><p><b> P0=0x40;</b></p><p>
38、;<b> delay(5);</b></p><p><b> P2=0xdf;</b></p><p> P0=table[h1];</p><p><b> delay(5);</b></p><p><b> P2=0xef;</b>&l
39、t;/p><p> P0=table[h0];</p><p><b> delay(5);</b></p><p><b> P2=0xf7;</b></p><p> P0=table[mi1];</p><p><b> delay(5);</b&
40、gt;</p><p><b> P2=0xfb;</b></p><p> P0=table[mi0];</p><p><b> delay(5);</b></p><p><b> P2=0xfd;</b></p><p> P0=tab
41、le[s1];</p><p><b> delay(5);</b></p><p><b> P2=0xfe;</b></p><p> P0=table[s0];</p><p><b> delay(5);</b></p><p><
42、b> }</b></p><p><b> {</b></p><p> write_ds1302(0x8e,0x00);//寫保護(hù)寄存器,在對時鐘或RAM寫前WP一定要為0</p><p> write_ds1302(0x8c,year);//年</p><p> write_ds1
43、302(0x88,month);//月</p><p> write_ds1302(0x86,day);//日</p><p> write_ds1302(0x8A,week);//星期</p><p> write_ds1302(0x84,hour);//時</p><p> write_ds1302(0x82,m
44、inute);//分</p><p> write_ds1302(0x80,second);//秒</p><p> write_ds1302(0x8e,0x80);//寫保護(hù)寄存器</p><p><b> }</b></p><p> void changtime()</p><
45、;p><b> {</b></p><p> unsigned char Change_minute,Change_hour;</p><p> Change_minute = minute;</p><p> Change_hour=hour;</p><p> if(0 == Add_min)<
46、/p><p><b> {</b></p><p> while(0 == Add_min)</p><p><b> {</b></p><p> display();</p><p><b> }</b></p><p>
47、; Change_minute++;</p><p> if( Change_minute==90)</p><p> { Change_minute=0;</p><p><b> }</b></p><p> if( Change_minute%16==10)</p><p> {
48、 Change_minute+=6;</p><p><b> }</b></p><p> write_ds1302(0x8e,0x00);//寫保護(hù)寄存器,在對時鐘或RAM寫前WP一定要為0</p><p> write_ds1302(0x8c,year);//年</p><p> write_ds1
49、302(0x88,month);//月</p><p> write_ds1302(0x86,day);//日</p><p> write_ds1302(0x8A,week);//星期</p><p> write_ds1302(0x84,hour);//時</p><p> write_ds1302(0x82,C
50、hange_minute);//分</p><p> write_ds1302(0x80,second);//秒</p><p> write_ds1302(0x8e,0x80);//寫保護(hù)寄存器</p><p><b> }</b></p><p> if( 0==Add_hour) </p
51、><p><b> {</b></p><p> while(0 ==Add_hour)</p><p><b> {</b></p><p> display(); </p><p><b> }</b></p><p>
52、 Change_hour++;</p><p> if( Change_hour==0x24)</p><p> {Change_hour=0;}</p><p> if( Change_hour%16==10)</p><p> {Change_hour+=6;}</p><p> write_ds1
53、302(0x8e,0x00);//寫保護(hù)寄存器,在對時鐘或RAM寫前WP一定要為0</p><p> write_ds1302(0x8c,year);//年</p><p> write_ds1302(0x88,month);//月</p><p> write_ds1302(0x86,day);//日</p><p>
54、; write_ds1302(0x8A,week);//星期</p><p> write_ds1302(0x84,Change_hour);//時</p><p> write_ds1302(0x82,Change_minute);//分</p><p> write_ds1302(0x80,second);//秒</p>&
55、lt;p> write_ds1302(0x8e,0x80);//寫保護(hù)寄存器</p><p><b> }</b></p><p><b> }</b></p><p> void main ()</p><p><b> {</b></p>
56、<p><b> hot = 1;</b></p><p> initial_ds1302();</p><p><b> while(1)</b></p><p><b> {</b></p><p> read_time(); //讀時間</
57、p><p> display();</p><p><b> if()</b></p><p> changtime();</p><p> if(week<=0x05)</p><p><b> {</b></p><p> if(ho
58、ur>=0x07 & hour<=0x22)</p><p><b> {</b></p><p><b> hot = 0;</b></p><p><b> }</b></p><p><b> else</b></p
59、><p><b> {</b></p><p><b> hot = 1;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> else</b>&
60、lt;/p><p><b> {</b></p><p><b> hot = 0;</b></p><p><b> }</b></p><p><b> 五、設(shè)計總結(jié)</b></p><p> 在這次設(shè)計過程中,體現(xiàn)出組員
61、相互合作設(shè)計電路的能力以及綜合運(yùn)用知識的能力,體會了學(xué)以致用、突出自己勞動成果的喜悅心情,從中發(fā)現(xiàn)自己平時學(xué)習(xí)的不足和薄弱環(huán)節(jié),從而加以彌補(bǔ)。</p><p> 在此感謝我們的XX老師.,老師嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的榜樣;老師循循善誘的教導(dǎo)和不拘一格的思路給予我無盡的啟迪;這次電路設(shè)計的每個實驗細(xì)節(jié)和每個數(shù)據(jù),都離不開老師您的細(xì)心指導(dǎo)。而您開朗的個性和寬容的態(tài)度,幫助我能夠很順利的完成了這
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計--秒表定時器
- 單片機(jī)課程設(shè)計--定時器實驗
- 單片機(jī)課程設(shè)計智能定時器
- 音樂提示定時器--單片機(jī)課程設(shè)計
- 單片機(jī)經(jīng)典數(shù)字定時器課程設(shè)計
- 使用定時器延時單片機(jī)課程設(shè)計報告
- 單片機(jī)定時器
- 電子定時器-單片機(jī)原理及應(yīng)用課程設(shè)計
- 基于單片機(jī)的9h定時器課程設(shè)計
- 音樂提示定時器單片機(jī)原理與應(yīng)用課程設(shè)計
- 單片機(jī)控制技術(shù)課程設(shè)計--定時器控制電路
- 單片機(jī)實驗二 定時器
- 畢業(yè)論文 --單片機(jī)定時器設(shè)計
- 課程設(shè)計---基于定時器的單片機(jī)仿真和c語言開發(fā)
- 基于單片機(jī)匯編編程的音樂提示定時器課程設(shè)計報告
- 單片機(jī)課程設(shè)計定時器控制4只led滾動閃爍系統(tǒng)
- 單片機(jī)定時器的使用總結(jié)
- 單片機(jī)課程設(shè)計--定時插座
- 單片機(jī)定時鬧鐘課程設(shè)計
- 單片機(jī)課程設(shè)計---基于單片機(jī)的定時控制器設(shè)計
評論
0/150
提交評論