版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 題目 多功能數(shù)字電子時(shí)鐘 </p><p> 班級 ************** </p><p> 學(xué)號 ************ </p><p> 姓名 ****** </p>&
2、lt;p> 指導(dǎo) ********** </p><p> 時(shí)間 2010年12月18日 </p><p> 電工電子技術(shù)課程設(shè)計(jì)任務(wù)書</p><p> 姓名 **** 班級 08電子二班 指導(dǎo)老師 ***** </p&
3、gt;<p><b> 目錄</b></p><p> 總體方案與原理說明. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1</p><p> 單元電路1——單片機(jī)最小系統(tǒng). . . . . . . . . . . . . . . . . . . . .
4、. . . . . .3</p><p> 單元電路2——指示燈與數(shù)碼管顯示電路 . . . . . . . . . . . . . . . . . . . . . .5</p><p> 單元電路3——鍵盤檢測電路. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7</p><p>
5、 單元電路4——AT24C02存儲電路. . . . . . . . . . . . . . . . . . . . . . . . . . .9</p><p> 總體電路原理相關(guān)說明. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11</p><p> 總體電路原理圖. . . . .
6、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13</p><p> PCB印制電路板圖 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14</p><p> 元件清單 . . . . . . . . . . . . . . .
7、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15</p><p> 參考文獻(xiàn). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16</p><p> 設(shè)計(jì)心得體會(huì). . . . .
8、. . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . .17</p><p> 附件:C源程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18</p>
9、<p><b> 總體方案與原理說明</b></p><p> 這是一個(gè)具有時(shí)間、日期、秒表、鬧鈴以及斷電儲存數(shù)據(jù)功能的多功能數(shù)字電子時(shí)鐘。它主要由以下幾部分組成:單片機(jī)最小系統(tǒng);指示燈及數(shù)碼管顯示電路;按鍵電路;以及AT24C02存儲電路。整機(jī)的邏輯框圖如右圖所示:</p><p> 本時(shí)鐘的主控芯片是一臺AT89S51單片機(jī),AT89S51是一個(gè)
10、低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。</p>&
11、lt;p> AT89S51具有如下特點(diǎn):40個(gè)引腳,4k Bytes Flash片內(nèi)程序存儲器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行
12、口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。</p><p> 整個(gè)電路由一臺單片機(jī)和一些外圍電路組成。它的計(jì)時(shí)采用單片機(jī)內(nèi)部的定時(shí)器,其晶振頻率為11.0592MHz。其主要功能都是通過C語言編程來實(shí)現(xiàn)的。其顯示部分用四位數(shù)碼管來顯示,能同時(shí)顯示小時(shí)和分鐘。它主要有以
13、下幾個(gè)功能:(1)時(shí)間顯示及調(diào)整:在正常狀態(tài)下顯示當(dāng)前時(shí)間,并隨時(shí)可以通過控制按鍵進(jìn)行調(diào)整。(2)日期顯示及調(diào)整:在日期顯示狀態(tài)下可以顯示當(dāng)前日期,進(jìn)入日期調(diào)整狀態(tài)后還可以調(diào)整日期。(3)秒表功能:進(jìn)入秒表狀態(tài)后可以進(jìn)行秒表計(jì)時(shí),它能計(jì)時(shí)的長度為100分鐘,當(dāng)時(shí)間在0~10分鐘內(nèi)計(jì)時(shí)精度為0.1秒,四位數(shù)碼管中第一位顯示分鐘,中間兩位顯示秒鐘,最后一位顯示0.1秒表;當(dāng)時(shí)間在10~100分鐘內(nèi)計(jì)時(shí)精度為1秒,四位數(shù)碼管前兩位顯示分鐘,后
14、兩位顯示秒鐘。(4)鬧鈴功能:在進(jìn)入鬧鈴調(diào)整狀態(tài)后可以設(shè)定鬧鈴時(shí)間,當(dāng)時(shí)間到達(dá)設(shè)定好的時(shí)間時(shí)蜂鳴器就會(huì)發(fā)出“嘀嘀”的報(bào)警聲。(5)整點(diǎn)報(bào)時(shí)功能:當(dāng)時(shí)間到達(dá)整點(diǎn)時(shí)蜂鳴器會(huì)發(fā)出“嘀”的一聲報(bào)警,以提示到達(dá)整點(diǎn)。(6)斷電存儲數(shù)據(jù)的功能:當(dāng)時(shí)鐘在運(yùn)行時(shí),它會(huì)實(shí)時(shí)將當(dāng)前時(shí)間存入一個(gè)AT24C02存儲器中,在每次啟動(dòng)時(shí)它會(huì)首先從該存儲器中讀取數(shù)據(jù),這樣將保證時(shí)鐘</p><p> 以下我將對各部分的原理進(jìn)行詳細(xì)的闡述。&
15、lt;/p><p> 單元電路1——單片機(jī)最小系統(tǒng)</p><p> 單片機(jī)最小系統(tǒng)由一個(gè)單片機(jī)加上一個(gè)復(fù)位電路和振蕩電路組成。圖中右下角還有一個(gè)蜂鳴器電路,它用于鬧鈴的報(bào)警:</p><p><b> ?。?)復(fù)位電路</b></p><p> 單片機(jī)復(fù)位電路原理是在單片機(jī)的復(fù)位引腳RST上外接電阻和電容,實(shí)現(xiàn)上電復(fù)
16、位。當(dāng)復(fù)位電平持續(xù)兩個(gè)機(jī)器周期以上時(shí)復(fù)位有效。復(fù)位電平的持續(xù)時(shí)間必須大于單片機(jī)的兩個(gè)機(jī)器周期。具體數(shù)值可以由RC電路計(jì)算出時(shí)間常數(shù)。復(fù)位電路由按鍵復(fù)位和上電復(fù)位兩部分組成。(1)上電復(fù)位:8051系列單片及為高電平復(fù)位,通常在復(fù)位引腳RST上連接一個(gè)電容到VCC,再連接一個(gè)電阻到GND,由此形成一個(gè)RC充放電回路保證單片機(jī)在上電時(shí)RST腳上有足夠時(shí)間的高電平進(jìn)行復(fù)位,隨后回歸到低電平進(jìn)入正常工作狀態(tài),這個(gè)電阻和電容的典型值為10K和10
17、uF。(2)按鍵復(fù)位:按鍵復(fù)位就是在復(fù)位電容上并聯(lián)一個(gè)開關(guān),當(dāng)開關(guān)按下時(shí)電容被放電、RST也被拉到高電平,而且由于電容的充電,會(huì)保持一段時(shí)間的高電平來使單片機(jī)復(fù)位。</p><p><b> (2)振蕩電路</b></p><p> 單片機(jī)系統(tǒng)里都有晶振,在單片機(jī)系統(tǒng)里晶振作用非常大,全稱叫晶體振蕩器,它結(jié)合單片機(jī)內(nèi)部電路產(chǎn)生單片機(jī)所需的時(shí)鐘頻率,單片機(jī)晶振提供的
18、時(shí)鐘頻率越高,那么單片機(jī)運(yùn)行速度就越快,單片接的一切指令的執(zhí)行都是建立在單片機(jī)晶振提供的時(shí)鐘頻率。在通常工作條件下,普通的晶振頻率絕對精度可達(dá)百萬分之五十。高級的精度更高。有些晶振還可以由外加電壓在一定范圍內(nèi)調(diào)整頻率,稱為壓控振蕩器(VCO)。晶振用一種能把電能和機(jī)械能相互轉(zhuǎn)化的晶體在共振的狀態(tài)下工作,以提供穩(wěn)定,精確的單頻振蕩。</p><p> 單片機(jī)晶振的作用是為系統(tǒng)提供基本的時(shí)鐘信號。通常一個(gè)系統(tǒng)共用一
19、個(gè)晶振,便于各部分保持同步。有些通訊系統(tǒng)的基頻和射頻使用不同的晶振,而通過電子調(diào)整頻率的方法保持同步。晶振通常與鎖相環(huán)電路配合使用,以提供系統(tǒng)所需的時(shí)鐘頻率。如果不同子系統(tǒng)需要不同頻率的時(shí)鐘信號,可以用與同一個(gè)晶振相連的不同鎖相環(huán)來提供。AT89S51使用11.0592MHz的晶體振蕩器作為振蕩源,由于單片機(jī)內(nèi)部帶有振蕩電路,所以外部只要連接一個(gè)晶振和兩個(gè)電容即可,電容容量一般在15pF至50pF之間。</p><p
20、> 單元電路2——指示燈及數(shù)碼管顯示電路</p><p><b> 1、數(shù)碼管顯示原理</b></p><p> 數(shù)碼管有一位、雙位、四位等幾種。而不管將幾位數(shù)碼管連在一起,數(shù)碼管和顯示原理都是一樣的,都是靠點(diǎn)亮內(nèi)部的發(fā)光二極管來發(fā)光。數(shù)碼管的內(nèi)部電路結(jié)構(gòu)如上圖所示:從(a)可看出,一位數(shù)碼管的引腳數(shù)是10個(gè),顯示一個(gè)8字需要7個(gè)小段,另外還有一個(gè)小數(shù)點(diǎn),
21、所以其內(nèi)部一共有8個(gè)小的發(fā)光二極管,最后還有一個(gè)公共端,生產(chǎn)商為了封裝統(tǒng)一,單位數(shù)碼管都封裝10個(gè)引腳。而它們的公共端又分為共陽極和共陰極。上頁圖的(b)和(c)分別為共陽極和共陰極數(shù)碼管的原理圖。</p><p> 本電子鐘上的數(shù)碼管采用的是4位共陽極數(shù)碼管。所謂“共陽”就是指其內(nèi)部的8個(gè)發(fā)光二極管的陽極全部接在一起,而它們的陰極是獨(dú)立的,通常在設(shè)計(jì)電路時(shí)一般把陽極接VCC,當(dāng)我們給數(shù)碼管的任一個(gè)陰極加低電平
22、時(shí),對應(yīng)的那個(gè)發(fā)光二極管就點(diǎn)亮了。</p><p> 當(dāng)使用多位一體數(shù)碼管時(shí),它們內(nèi)部的公共端是獨(dú)立的,而負(fù)責(zé)顯示什么數(shù)字的段線全部都是連在一起的,獨(dú)立的公共端可以控制多位數(shù)碼管中哪一位點(diǎn)亮。通常我們把公共端叫做“位選線”,連在一起的段線叫做“段選線”。</p><p> 2、顯示部分C源程序的編寫:</p><p> 由于在本電子鐘中4位數(shù)碼管的段選線是直接
23、接在單片機(jī)的P0口的,所以我們首先應(yīng)該計(jì)算出顯示各個(gè)數(shù)字所對應(yīng)的P0口輸出的二進(jìn)制編碼。例如如果要顯示一個(gè)“0”,對照上面的(a)圖,我們需要點(diǎn)亮數(shù)碼管中的a、b、c、d、e、f,而g和dp不點(diǎn)亮,故a、b、c、d、e、f、g、dp對應(yīng)的二進(jìn)制編碼就為:00000011。再對照數(shù)碼管段選線與單片機(jī)連接的順序就可得要賦給單片機(jī)P0口的值應(yīng)為10100000,轉(zhuǎn)換為十六進(jìn)制就是a0。同理可以得到其它數(shù)字對應(yīng)的十六進(jìn)制編碼:</p>
24、;<p> uchar code table[10]={0xa0,0xbe,0x62,0x2a,0x3c,0x29,0x21,0xba,0x20,0x28};</p><p> uchar code table_dot[10]={0x80,0x9e,0x42,0x0a,0x1c,0x09,0x01,0x9a,0x00,0x08};//帶小數(shù)點(diǎn)的數(shù)字段碼表</p><p>
25、; 3、指示燈功能說明:</p><p> 其中秒表、日期、鬧鈴、小時(shí)調(diào)整、分鐘調(diào)整為狀態(tài)指示燈,當(dāng)時(shí)鐘處于其中的某種狀態(tài)時(shí),對應(yīng)的指示燈會(huì)亮。秒針指示為秒針指示燈,它會(huì)每隔0.5秒閃爍一次,用來指示當(dāng)前正處于計(jì)時(shí)狀態(tài)(包括時(shí)間顯示和秒表狀態(tài))。</p><p> 顯示部分的具體C源程序見附錄。</p><p> 單元電路3——鍵盤檢測電路</p>
26、;<p> 上圖是5個(gè)按鍵與單片機(jī)的連接圖,其中一端是直接接地的,當(dāng)某一個(gè)按鍵被按下時(shí),與之對應(yīng)的I/O口就會(huì)被置為低電平,由于一上電時(shí)計(jì)算機(jī)的所有I/O口都是高電平,當(dāng)單片機(jī)檢測到某一個(gè)I/O口為低電平時(shí)就知道是哪個(gè)按鍵被按下了。</p><p> 但是如果直接檢測引腳是否為低電平的話是會(huì)有問題的。請看圖6。從圖中可以看出,理想波形與實(shí)際波形之間是有區(qū)別的,實(shí)際波形在按下和釋放的瞬間都會(huì)有抖動(dòng)
27、現(xiàn)象,抖動(dòng)時(shí)間的長短和按鈕的機(jī)械特性有關(guān),一般為5~10ms。通常我們手動(dòng)通常我們手動(dòng)按下鍵然后釋放,這個(gè)動(dòng)作中穩(wěn)定閉合的時(shí)間超過20ms。因此單片機(jī)在檢測鍵盤是否按下時(shí)都要加上去抖動(dòng)操作,有專門的去抖動(dòng)電路,但通常我們用軟件延時(shí)的方法就能很容易地解決抖動(dòng)的問題,因此沒必要增加多余的硬件電路。</p><p> 在編寫程序時(shí),一般在檢測按下是加入去抖延時(shí)。按鍵檢測的流程圖如下:</p><p
28、> 因此,鍵盤檢測部分的C源程序的寫法應(yīng)如下所示:</p><p> void keyscan()</p><p><b> {</b></p><p> if(key==0)</p><p><b> {</b></p><p> delay(10);&l
29、t;/p><p> if(key==0)</p><p><b> {</b></p><p> (按鍵后要執(zhí)行的語句)</p><p> while(!key);//等待按鍵釋放</p><p><b> }</b></p><p><b
30、> }</b></p><p><b> }</b></p><p> 鍵盤檢測部分的具體C源程序見附錄。</p><p> 單元電路 4——AT24C02存儲電路</p><p> 單片機(jī)與AT24C02芯片通信使用I2C總線協(xié)議。</p><p><b>
31、 1、I2C總線:</b></p><p> I2C總線是由數(shù)據(jù)線SDA和時(shí)鐘SCL構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù)。I2C總線在傳送數(shù)據(jù)過程中共有三種類型信號, 它們分別是:開始信號、結(jié)束信號和應(yīng)答信號。</p><p> 開始信號:SCL為高電平時(shí),SDA由高電平向低電平跳變,發(fā)出數(shù)據(jù)開始傳輸信號。</p><p> 結(jié)束信號:SCL為高電平
32、時(shí),SDA由低電平向高電平跳變,發(fā)出數(shù)據(jù)傳輸結(jié)束信號。</p><p> 應(yīng)答信號:接收數(shù)據(jù)的I2C在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的I2C發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。CPU向受控單元發(fā)出一個(gè)信號后,等待受控單元發(fā)出一個(gè)應(yīng)答信號(0),CPU接收到應(yīng)答信號后,根據(jù)實(shí)際情況作出是否繼續(xù)傳遞信號的判斷。若未收到應(yīng)答信號,由判斷為受控單元出現(xiàn)故障。</p><p> I2C規(guī)程運(yùn)
33、用主/從雙向通訊。器件發(fā)送數(shù)據(jù)到總線上,則定義為發(fā)送器,器件接收數(shù)據(jù)則定義為接收器。主器件和從器件都可以工作于接收和發(fā)送狀態(tài)。 總線必須由主器件(通常為微控制器)控制,主器件產(chǎn)生串行時(shí)鐘(SCL)控制總線的傳輸方向,并產(chǎn)生起始和停止條件。SDA線上的數(shù)據(jù)狀態(tài)僅在SCL為低電平的期間才能改變,SCL為高電平的期間,SDA狀態(tài)的改變被用來表示起始和停止條件。</p><p> 總體電路原理相關(guān)說明</p>
34、;<p><b> 作品外觀:</b></p><p> 1:小時(shí)調(diào)整指示燈2:秒針指示燈 3:分鐘調(diào)整指示燈4:秒表狀態(tài)指示燈</p><p> 5:日期狀態(tài)指示燈6:鬧鈴狀態(tài)指示燈 7:四位LED數(shù)碼管8:AT24C02存儲器</p><p> 9:AT89S51單片機(jī)10:蜂鳴器 11:鬧鈴開
35、關(guān)12:DC5.0V電源插口</p><p> 13:復(fù)位按鈕14:11.0593Hz晶振 15:模式鍵16:調(diào)整選擇鍵</p><p> 17:調(diào)整+鍵18:調(diào)整-鍵</p><p><b> 功能說明:</b></p><p><b> 1.功能鍵說明:</b>&
36、lt;/p><p> (1) 模式鍵:按下該鍵時(shí)鐘將在正常狀態(tài)、秒表狀態(tài)、日期調(diào)整狀態(tài)和鬧鈴調(diào)整狀態(tài)之間循環(huán)切換。如果在秒表狀態(tài)、日期調(diào)整狀態(tài)或鬧鈴調(diào)整下進(jìn)行了操作,則按下該鍵將直接返回正常狀態(tài)。</p><p> (2) 調(diào)整選擇鍵:按下該鍵將在小時(shí)調(diào)整狀態(tài)、分鐘調(diào)整狀態(tài)之間切換。</p><p> (3) 調(diào)整+鍵:在正常狀態(tài)下按住該鍵不放將顯示當(dāng)前日期。在任
37、何調(diào)整狀態(tài)下按下該鍵對應(yīng)的項(xiàng)目將加1。</p><p> (4) 調(diào)整-鍵:在正常狀態(tài)下按住該鍵不放將顯示當(dāng)前鬧鈴。在任何調(diào)整狀態(tài)下按下該鍵對應(yīng)的項(xiàng)目將減1。</p><p><b> 2.秒表功能:</b></p><p> 在正常狀態(tài)下按一下模式鍵將進(jìn)入秒表狀態(tài)。此時(shí)秒表狀態(tài)指示燈亮起,按下調(diào)整+鍵秒表開始計(jì)時(shí),再按一下停止計(jì)時(shí)。按下
38、秒表將清零。在計(jì)時(shí)的過程中按下調(diào)整-鍵,秒表顯示將靜止,但計(jì)時(shí)仍在繼續(xù),再按一下恢復(fù)顯示。在秒表狀態(tài)下進(jìn)行了任何操作后按一下模式鍵將直接返回到正常狀態(tài)。</p><p> 當(dāng)時(shí)間在0~10分鐘內(nèi)計(jì)時(shí)精度為0.1秒,四位數(shù)碼管中第一位顯示分鐘,中間兩位顯示秒鐘,最后一位顯示0.1秒表;當(dāng)時(shí)間在10~100分鐘內(nèi)計(jì)時(shí)精度為1秒,四位數(shù)碼管前兩位顯示分鐘,后兩位顯示秒鐘。</p><p>&l
39、t;b> 3:日期功能:</b></p><p> 在正常狀態(tài)下按住調(diào)整+鍵不放將進(jìn)入日期顯示狀態(tài),此時(shí)四位LED數(shù)碼管上顯示當(dāng)前日期。在正常狀態(tài)下按兩下模式鍵將進(jìn)入日期調(diào)整狀態(tài),此時(shí)日期狀態(tài)指示燈亮起。同時(shí)分鐘調(diào)整指示燈亮起,按下調(diào)整+鍵或調(diào)整-鍵可以調(diào)整日期。按一下調(diào)整選擇鍵將切換到月份調(diào)整狀態(tài),同時(shí)小時(shí)調(diào)整指示燈亮起,按下調(diào)整+鍵或調(diào)整-鍵可以調(diào)整月份。調(diào)整完后按一下可以直接返回到正常
40、狀態(tài)。</p><p><b> 4:鬧鈴功能:</b></p><p> 在正常狀態(tài)下按住調(diào)整-鍵不放將進(jìn)入日期顯示狀態(tài),此時(shí)四位LED數(shù)碼管上顯示當(dāng)前鬧鈴時(shí)間。在正常狀態(tài)下按三下模式鍵將進(jìn)入鬧鈴調(diào)整狀態(tài),此時(shí)鬧鈴狀態(tài)指示燈亮起。同時(shí)分鐘調(diào)整指示燈亮起,按下調(diào)整+鍵或調(diào)整-鍵可以調(diào)整當(dāng)前鬧鈴分鐘。按一下調(diào)整選擇鍵將切換到鬧鈴小時(shí)調(diào)整狀態(tài),同時(shí)小時(shí)調(diào)整指示燈亮起,
41、按下調(diào)整+鍵或調(diào)整-鍵可以調(diào)整鬧鈴小時(shí)。調(diào)整完后按一下模式鍵可以直接返回到正常狀態(tài)。當(dāng)時(shí)間到達(dá)鬧鈴時(shí)間時(shí),蜂鳴器會(huì)發(fā)出“嘀嘀”聲,按一下調(diào)整-鍵將停止響鈴。</p><p><b> 5:整點(diǎn)報(bào)時(shí)功能:</b></p><p> 當(dāng)時(shí)間到達(dá)整點(diǎn)時(shí)蜂鳴器會(huì)發(fā)出“嘀”的一聲,以提示到達(dá)整點(diǎn)。</p><p> 6:存儲數(shù)據(jù)的功能:</p
42、><p> 當(dāng)時(shí)鐘在運(yùn)行時(shí),它會(huì)實(shí)時(shí)將當(dāng)前時(shí)間存入一個(gè)AT24C02存儲器中,在每次啟動(dòng)時(shí)它會(huì)首先從該存儲器中讀取數(shù)據(jù),這樣將保證時(shí)鐘在斷電后數(shù)據(jù)不會(huì)丟失,再次接通電源后將接著上次的時(shí)間運(yùn)行。</p><p><b> 總體電路原理圖</b></p><p><b> PCB印制電路板圖</b></p>&
43、lt;p><b> 元件清單</b></p><p><b> 參考文獻(xiàn)</b></p><p> [1]郭天祥,《新概念51單片機(jī)C語言教程——入門、提高、開發(fā)、拓展全攻略》;北京:電子工業(yè)出版社;2009</p><p> [2]宋戈、黃鶴松、員玉良、蔣海峰,《51單片機(jī)應(yīng)用開發(fā)范例大全》;北京:人民郵電
44、出版社;2010</p><p> [3]閻石,《數(shù)字電子技術(shù)基礎(chǔ)(第四版)》;北京:高等教育出版社;1998</p><p> [4]鄒顯圣,《基于AT89C51單片機(jī)數(shù)字時(shí)鐘的研究》,機(jī)電產(chǎn)品開發(fā)與創(chuàng)新;2009,(5)</p><p> [5]劉伏文、王春華,《MCS-51單片機(jī)存儲器結(jié)構(gòu)詳解》;電子制作;2007,(10).</p>&l
45、t;p> [6]盧旭錦,《基于Keil C的AT24C02串行E~2PROM的編程》;現(xiàn)代電子技術(shù);2007,(8)</p><p><b> 設(shè)計(jì)心得體會(huì)</b></p><p> 這是我入大學(xué)以來的第一次課程設(shè)計(jì),雖然沒什么經(jīng)驗(yàn),做出來的東西也似乎不那么盡人意,但這畢竟是我第一次通過自己的努力,完整地做出來了一件自己的作品。從中我也學(xué)到了很多在課堂上學(xué)
46、不到的東西,對于原來所學(xué)的東西也得到了鞏固和加深。</p><p> 通過這兩天的課程設(shè)計(jì),我對通過quartus編程設(shè)計(jì)一個(gè)產(chǎn)品有了一些更深層的認(rèn)識,比如產(chǎn)品及程序設(shè)計(jì)的“模塊化”,以前只是在課堂上接觸到了這些概念,但對它卻沒有什么深刻的認(rèn)識,而通過這次的課程設(shè)計(jì),我深切的感受到了“模塊化設(shè)計(jì)”的必要必以及給整個(gè)作品的設(shè)計(jì)帶來的便捷。同時(shí)對于quartus語言的編程能力也有了一定的提升。</p>
47、<p> 進(jìn)行電子課程設(shè)計(jì)其中很重要的一點(diǎn)就是原理圖和繪制。這其中要用到的專業(yè)軟件就是Altium Designer (Protel)。由于我前一段時(shí)間已經(jīng)自學(xué)過這個(gè)軟件,所以在這次課程設(shè)計(jì)中的原理圖繪制部分沒遇到過什么太大的問題。而有些不會(huì)使用這個(gè)軟件的同學(xué)則會(huì)遇到很大的問題,我又體會(huì)到了專業(yè)軟件尋我們專業(yè)的重要性。</p><p> 總之,我學(xué)這次實(shí)習(xí)對我們來說是一次很好的鍛煉,對我們學(xué)的專業(yè)
48、知識也有很大的鞏固與提高,也為我們以后的畢業(yè)設(shè)計(jì)積累了寶貴的經(jīng)驗(yàn)。同時(shí)我也希望學(xué)校能多搞一些這樣的課程設(shè)計(jì)</p><p><b> 附錄:C源程序</b></p><p> #include<reg52.h></p><p> #include"24c02.h"</p><p>
49、 #define uchar unsigned char</p><p> #define uint unsigned int</p><p> sbit key1=P3^7;</p><p> sbit key2=P3^6;</p><p> sbit key3=P3^5;</p><p> sbit ke
50、y4=P3^4;</p><p> sbit led=P1^7; //定義秒針的指示燈</p><p> sbit beep=P2^3;//定義蜂鳴器</p><p> sbit led1=P1^0;//定義左邊數(shù)字調(diào)整指示燈</p><p> sbit led2=P1^1;//定義右邊數(shù)字調(diào)整指示燈</p>&l
51、t;p> sbit led3=P1^2;//定義秒表狀態(tài)指示燈</p><p> sbit led4=P1^3;//定義日期調(diào)整狀態(tài)指示燈</p><p> sbit led5=P1^4;//定義鬧鈴調(diào)整狀態(tài)指示燈</p><p> uchar code table[10]={0xa0,0xbe,0x62,0x2a,0x3c,0x29,0x21,
52、0xba,0x20,0x28};</p><p> uchar code table_dot[10]={0x80,0x9e,0x42,0x0a,0x1c,0x09,0x01,0x9a,0x00,0x08};</p><p> uchar mode,adjust,hour,min,sec,num0,num1,month,day,bell_hour,bell_min;</p>
53、<p> /*mode為指示電子鐘模式的變量,mode=0為正常狀態(tài),1為秒表狀態(tài),2為日期調(diào)整狀態(tài),3為鬧鈴調(diào)整狀態(tài)。adjust為調(diào)整選擇變量,adjust=0時(shí)不調(diào)整任何變量,=1時(shí)為小時(shí)/月份調(diào)整狀態(tài),=2時(shí)為分鐘/日期調(diào)整狀態(tài)。hour、min、sec分別為時(shí)鐘的小時(shí)、分鐘、秒鐘。num0、num1為記錄定時(shí)器溢出次數(shù)的變量。month、day、bell_hour、bell_min分別為月份、日期、鬧鈴小時(shí)、鬧鈴
54、分鐘。*/</p><p> bit frezze=0,date_display,bell_display,flag;</p><p> /*frezze為表示秒表顯示是否靜止的變量(frezze=1時(shí)秒表顯示靜止)。date_display、bell_display為指示日期、鬧鈴顯示狀態(tài)的變量。*/</p><p> uint min1,sec1,a,b;
55、 //min1、sec1為秒表狀態(tài)時(shí)的分、秒*10。a,b為秒表示數(shù)靜止時(shí)保存秒表分和秒和臨時(shí)變量*/</p><p> /**************************************************/</p><p> /********************延時(shí)函數(shù)********************/</p><p> /
56、*************************************************/</p><p> void delay(m)</p><p><b> {</b></p><p><b> uint i,j;</b></p><p> for(i=m;i>0;i-
57、-)</p><p> for(j=110;j>0;j--);</p><p><b> }</b></p><p><b> void di()</b></p><p><b> {</b></p><p><b> bee
58、p=0;</b></p><p> delay(12);</p><p><b> beep=1;</b></p><p><b> }</b></p><p> /**************************************************/</p
59、><p> /**********時(shí)間顯示時(shí)的顯示子函數(shù)**************/</p><p> /**************************************************/</p><p> void display(uchar hour_1,uchar min_1)</p><p><b>
60、 {</b></p><p> uchar a,b,c,d;</p><p> a=hour_1/10;//分離小時(shí)和分鐘的個(gè)位和十位</p><p> b=hour_1%10;</p><p> c=min_1/10;</p><p> d=min_1%10;</p><
61、p> if(a==0)//如果小時(shí)的十位為零則只顯示個(gè)位</p><p><b> {</b></p><p><b> P2=0xdf;</b></p><p><b> P0=0xff;</b></p><p> P0=table_dot[b];</
62、p><p><b> delay(1);</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b> P2=0xbf;&l
63、t;/b></p><p><b> P0=0xff;</b></p><p> P0=table[a];</p><p><b> delay(1);</b></p><p><b> P2=0xdf;</b></p><p><b
64、> P0=0xff;</b></p><p> P0=table_dot[b];</p><p><b> }</b></p><p><b> delay(1);</b></p><p><b> P2=0xef;</b></p>&
65、lt;p><b> P0=0xff;</b></p><p> P0=table[c];</p><p><b> delay(1);</b></p><p><b> P2=0x7f;</b></p><p><b> P0=0xff;</b&
66、gt;</p><p> P0=table[d];</p><p><b> delay(1);</b></p><p><b> P0=0xff;</b></p><p><b> }</b></p><p> /**************
67、**********************************/</p><p> /*************秒表狀態(tài)時(shí)的顯示子函數(shù)*************/</p><p> void display_stopwatch(uchar min1,uint sec1)//該函數(shù)為0~10分鐘內(nèi)的顯示子函數(shù),其中第一位顯示分鐘,第二、三位顯示秒鐘、最后一位顯示0.1秒<
68、/p><p><b> { </b></p><p> uchar a,b,c;</p><p> a=(sec1%1000)/100;</p><p> b=(sec1%100)/10;</p><p> c=sec1%10;</p><p><b>
69、P2=0xbf;</b></p><p> P0=0xff; </p><p> P0=table_dot[min1];</p><p><b> delay(5);</b></p><p><b> P2=0xdf;</b></p><p><
70、;b> P0=0xff;</b></p><p> P0=table[a];</p><p><b> delay(5);</b></p><p><b> P2=0xef;</b></p><p><b> P0=0xff;</b></p&g
71、t;<p> P0=table_dot[b];</p><p><b> delay(5);</b></p><p><b> P2=0x7f;</b></p><p><b> P0=0xff;</b></p><p> P0=table[c];<
72、;/p><p><b> delay(5);</b></p><p><b> P0=0xff;</b></p><p><b> }</b></p><p> /**************************************************/<
73、/p><p> /*****************秒表顯示子函數(shù)2******************/</p><p> void display_stopwatch2(uchar min1,uint sec1)</p><p> { //該函數(shù)為10~99分鐘內(nèi)的顯示子函數(shù) </p><p> uchar
74、a,b,c,d; //其中前兩位為分鐘,后兩位為秒鐘 </p><p> a=min1/10;</p><p> b=min1%10;</p><p> c=sec1/100;</p><p> d=(sec1/10)%10;</p><p><b> P2=0xbf;</b
75、></p><p><b> P0=0xff;</b></p><p> P0=table[a];</p><p><b> delay(1);</b></p><p><b> P2=0xdf;</b></p><p><b>
76、 P0=0xff;</b></p><p> P0=table_dot[b];</p><p><b> delay(1);</b></p><p><b> P2=0xef;</b></p><p><b> P0=0xff;</b></p>
77、<p> P0=table[c];</p><p><b> delay(1);</b></p><p><b> P2=0x7f;</b></p><p><b> P0=0xff;</b></p><p> P0=table[d];</p>
78、;<p><b> delay(1);</b></p><p><b> P0=0xff;</b></p><p><b> }</b></p><p> /**************************************************/</p>
79、<p> /****************日期狀態(tài)時(shí)的顯示子函數(shù)************/</p><p> void display_date(uchar month,uchar day)</p><p><b> {</b></p><p> uchar a,b,c,d;</p><p>
80、a=month/10;</p><p> b=month%10;</p><p><b> c=day/10;</b></p><p><b> d=day%10;</b></p><p> if(a==0) //如果月份的十位為零則只顯示個(gè)位</p><
81、;p><b> {</b></p><p><b> P2=0xdf;</b></p><p><b> P0=0xff;</b></p><p> P0=table_dot[b];</p><p><b> delay(1);</b>&l
82、t;/p><p><b> P0=0xff;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b> P2=0xbf;
83、</b></p><p><b> P0=0xff;</b></p><p> P0=table[a];</p><p><b> delay(1);</b></p><p><b> P2=0xdf;</b></p><p><
84、;b> P0=0xff;</b></p><p> P0=table_dot[b];</p><p> delay(1);</p><p><b> P0=0xff;</b></p><p><b> }</b></p><p><b>
85、; if(c==0)</b></p><p><b> {</b></p><p><b> P2=0x7f;</b></p><p><b> P0=0xff;</b></p><p> P0=table[d];</p><p>
86、<b> delay(1);</b></p><p><b> P0=0xff;</b></p><p><b> P0=0xff;</b></p><p><b> }</b></p><p><b> else</b>&
87、lt;/p><p><b> {</b></p><p><b> P2=0xef;</b></p><p><b> P0=0xff;</b></p><p> P0=table[c];</p><p><b> delay(1);&l
88、t;/b></p><p><b> P2=0x7f;</b></p><p><b> P0=0xff;</b></p><p> P0=table[d];</p><p><b> delay(1);</b></p><p><b
89、> P0=0xff;</b></p><p><b> P0=0xff;</b></p><p><b> }</b></p><p><b> }</b></p><p> /************************************
90、******/</p><p> /****************鍵盤檢測函數(shù)**************/</p><p> /******************************************/</p><p> void keyscan()</p><p><b> {</b></
91、p><p> if(key1==0)//按下第一個(gè)鍵時(shí)鐘將在正常狀態(tài)、秒表狀態(tài)、日期調(diào)整狀態(tài)和</p><p> {//鬧鈴調(diào)整狀態(tài)之間循環(huán)切換</p><p> di(); //每按一下按鍵蜂鳴器“嘀”一下</p><p> delay(10);</p><p> i
92、f(key1==0)</p><p><b> {</b></p><p><b> mode++;</b></p><p> if(mode==4) mode=0;//mode取值范圍為0~3,故mode加到4時(shí)應(yīng)清零</p><p> if(flag==1) mode=0;/
93、/如果在秒表狀態(tài)、日期調(diào)整狀態(tài)或鬧鈴調(diào)整下進(jìn)行了操作,則flag將會(huì)被置1,如果按下key1時(shí)檢測到flag為1,則直接返回到正常模式</p><p> if(mode==2||mode==3) adjust=2;</p><p> else adjust=0;</p><p> flag=0;//每次按下key1鍵時(shí)flag要置0</p>&
94、lt;p> led=1; //切換模式時(shí)應(yīng)使秒針指示燈熄滅</p><p> while(!key1);</p><p><b> }</b></p><p><b> }</b></p><p> if(key2==0&&mode!=1)//按下第二個(gè)按鍵時(shí)
95、在小時(shí)/月份調(diào)整狀態(tài)、分鐘/日期調(diào)整狀態(tài)和非調(diào)整狀態(tài)之間循環(huán)切換</p><p><b> {</b></p><p><b> di();</b></p><p> delay(10);</p><p> if(key2==0)</p><p><b>
96、 {</b></p><p> if(mode==0)//在正常狀態(tài)下可以在小時(shí)/月份、分鐘/日期和非調(diào)整狀態(tài)之間切換</p><p><b> {</b></p><p> if(adjust==0) adjust=3;</p><p><b> }</b></p
97、><p> else//而在其他狀態(tài)下只能小時(shí)/月份、分鐘/日期之間切換</p><p><b> {</b></p><p> if(adjust==1) adjust=3;</p><p><b> } </b></p><p><b>
98、adjust--;</b></p><p> while(!key2);</p><p><b> }</b></p><p><b> }</b></p><p> if(key3==0)//在調(diào)整狀態(tài)時(shí)按下該鍵時(shí)對應(yīng)的變量加1 </p><p>&
99、lt;b> {</b></p><p> if(mode==0&&adjust==0)//在正常狀態(tài)且非調(diào)整狀態(tài)時(shí)按住該鍵將顯示日期,放開后恢復(fù)顯示時(shí)間</p><p><b> {</b></p><p> date_display=1;</p><p> led=1;
100、//按住時(shí)應(yīng)保證秒針指示燈熄滅</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> flag=1;//按下該鍵后flag被置1</p><p><b&
101、gt; di();</b></p><p> delay(10);</p><p> if(key3==0)</p><p><b> {</b></p><p> switch(mode)</p><p><b> {</b></p>
102、<p> case 0: //mode為0時(shí),調(diào)整時(shí)間</p><p> if(adjust==1)</p><p><b> {</b></p><p><b> hour++;</b></p><p> if(hour==24)//當(dāng)小時(shí)加到24時(shí)應(yīng)該清零,
103、下面的同理</p><p><b> hour=0;</b></p><p> write_add(3,hour); //每調(diào)整一次將改變寫入AT24C02</p><p><b> }</b></p><p> else if(adjust==2)</p><p&g
104、t;<b> {</b></p><p><b> min++;</b></p><p> if(min==60)</p><p><b> min=0;</b></p><p> write_add(2,min);</p><p><b
105、> }</b></p><p><b> break;</b></p><p> case 2: //mode為2時(shí),調(diào)整日期</p><p> if(adjust==1)</p><p><b> {</b></p><p><b&
106、gt; month++;</b></p><p> if(month==13) month=1;</p><p> write_add(5,month);</p><p><b> }</b></p><p> else if(adjust==2)</p><p><b
107、> {</b></p><p><b> day++;</b></p><p> switch(month)</p><p><b> {</b></p><p> case 1:case 3:case 5:case 7:case 8:case 10:case 12:&l
108、t;/p><p> if(day>=32)day=1;</p><p><b> break;</b></p><p> case 4:case 6:case 9:case 11:</p><p> if(day>=31)day=1;</p><p><b> br
109、eak;</b></p><p><b> case 2:</b></p><p> if(day>=29)day=1;</p><p><b> break;</b></p><p><b> }</b></p><p>
110、 write_add(4,day);</p><p><b> }</b></p><p><b> break;</b></p><p> case 3: //mode為3時(shí),調(diào)整鬧鈴時(shí)間</p><p> if(adjust==1)</p><p>&
111、lt;b> {</b></p><p> bell_hour++;</p><p> if(bell_hour==24)</p><p> bell_hour=0;</p><p> write_add(7,bell_hour);</p><p><b> }</b>
112、</p><p> else if(adjust==2)</p><p><b> {</b></p><p> bell_min++;</p><p> if(bell_min==60)</p><p> bell_min=0;</p><p> write_
113、add(6,bell_min);</p><p><b> }</b></p><p><b> break;</b></p><p> case 1://mode為1時(shí)為秒表狀態(tài),按下該鍵時(shí)啟動(dòng)或停止計(jì)時(shí)</p><p> TR1=~TR1;//啟動(dòng)或停止定時(shí)器1</
114、p><p> led=1;//確保計(jì)時(shí)停止時(shí)最后一個(gè)發(fā)光二極管熄滅 </p><p><b> break;</b></p><p><b> }</b></p><p> while(!key3);</p><p><b> }</b>&
115、lt;/p><p><b> }</b></p><p><b> }</b></p><p> else date_display=0;</p><p> if(key4==0) //在調(diào)整狀態(tài)時(shí)按下該鍵時(shí)對應(yīng)的變量減1</p><p> {
116、 //此按鍵的注釋與上面的類似,這里不再重復(fù)</p><p> if(mode==0&&adjust==0)</p><p><b> {</b></p><p> bell_display=1;</p><p><b> led=1;</b></p>&
117、lt;p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b> flag=1;</b></p><p><b> di();</b><
118、/p><p> delay(100);</p><p> if(key4==0)</p><p><b> {</b></p><p> switch(mode)</p><p><b> {</b></p><p><b> cas
119、e 0:</b></p><p> if(adjust==1)</p><p><b> {</b></p><p> if(hour==0)//當(dāng)小時(shí)加到24時(shí)應(yīng)該清零,下面的同理</p><p><b> hour=24; </b></p><p&
120、gt;<b> hour--;</b></p><p> write_add(3,hour);</p><p><b> }</b></p><p> else if(adjust==2)</p><p><b> {</b></p><p>
121、 if(min==0)</p><p><b> min=60; </b></p><p><b> min--;</b></p><p> write_add(2,min);</p><p><b> }</b></p><p><b&
122、gt; break;</b></p><p><b> case 2:</b></p><p> if(adjust==1)</p><p><b> {</b></p><p> if(month==1) month=13;</p><p><b
123、> month--;</b></p><p> write_add(5,month);</p><p><b> }</b></p><p> else if(adjust==2)</p><p><b> {</b></p><p> swit
124、ch(month)</p><p><b> {</b></p><p> case 1:case 3:case 5:case 7:case 8:case 10:case 12:</p><p> if(day==1)day=32;</p><p><b> break;</b></
125、p><p> case 4:case 6:case 9:case 11:</p><p> if(day==1)day=31;</p><p><b> break;</b></p><p><b> case 2:</b></p><p> if(day==1)d
126、ay=29;</p><p><b> break;</b></p><p><b> }</b></p><p><b> day--;</b></p><p> write_add(4,day);</p><p><b> }&l
127、t;/b></p><p><b> break;</b></p><p><b> case 3:</b></p><p> if(adjust==1)</p><p><b> {</b></p><p> if(bell_hour=
128、=0)</p><p> bell_hour=24; </p><p> bell_hour--;</p><p> write_add(7,bell_hour);</p><p><b> }</b></p><p> else if(adjust==2)</p><
129、;p><b> {</b></p><p> if(bell_min==0)</p><p> bell_min=60;</p><p> bell_min--;</p><p> write_add(6,bell_min);</p><p><b> }</b
130、></p><p><b> break;</b></p><p><b> case 1:</b></p><p> if(TR1==0) //當(dāng)秒表暫停時(shí)按下該按鍵則秒表清零 </p><p><b> {</b></p><p
131、> if(frezze) frezze=0; //如果在顯示靜止時(shí)按下了key1鍵使得計(jì)數(shù)暫停,則如果按下key2鍵,</p><p> //應(yīng)退出顯示靜止?fàn)顟B(tài),顯示當(dāng)前秒表時(shí)間,再次按下s2鍵時(shí)秒表才清零</p><p> else min1=0,sec1=0;</p><p><b> }</b></p>&
132、lt;p> else //若秒表正在計(jì)時(shí)時(shí)按下該按鍵則秒表顯示靜止,但計(jì)時(shí)仍繼續(xù) </p><p><b> {</b></p><p> if(frezze==0)</p><p><b> {</b></p><p> a=min1,b=sec1; //在計(jì)時(shí)過
133、程中將按下該鍵時(shí)秒表的分和秒存入臨時(shí)變量a和b</p><p><b> }</b></p><p> frezze=~frezze; //進(jìn)入或退出顯示靜止?fàn)顟B(tài)</p><p><b> }</b></p><p><b> }</b></p>&l
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字電子課程設(shè)計(jì)--數(shù)字電子時(shí)鐘
- 數(shù)字電子時(shí)鐘課程設(shè)計(jì)
- 數(shù)字電子時(shí)鐘課程設(shè)計(jì)
- 電子時(shí)鐘課程設(shè)計(jì)--數(shù)字電子時(shí)鐘焊接調(diào)試報(bào)告
- 數(shù)字電子時(shí)鐘課程設(shè)計(jì)
- 數(shù)字電子時(shí)鐘課程設(shè)計(jì)
- 電子課程設(shè)計(jì)總結(jié)--數(shù)字電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)--多功能電子時(shí)鐘
- 電子技術(shù)課程設(shè)計(jì)----多功能電子時(shí)鐘的設(shè)計(jì)
- 多功能電子時(shí)鐘設(shè)計(jì)
- 課程設(shè)計(jì)--數(shù)字電子時(shí)鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---多功能電子時(shí)鐘設(shè)計(jì)
- 數(shù)字電子時(shí)鐘 課程設(shè)計(jì)報(bào)告
- 數(shù)字電子時(shí)鐘課程設(shè)計(jì)報(bào)告
- 數(shù)字電子時(shí)鐘課程設(shè)計(jì)報(bào)告
- 數(shù)字電子時(shí)鐘課程設(shè)計(jì)報(bào)告
- 數(shù)字電子時(shí)鐘課程設(shè)計(jì)報(bào)告
- 數(shù)字電子時(shí)鐘課程設(shè)計(jì) (2)
- 數(shù)字電子時(shí)鐘課程設(shè)計(jì) (3)
- 數(shù)字電路電子時(shí)鐘課程設(shè)計(jì)
評論
0/150
提交評論