2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  目 錄</b></p><p>  第1章 課程設(shè)計(jì)的要求、目的1</p><p>  1.1課程設(shè)計(jì)的要求1</p><p>  1.2課程設(shè)計(jì)的目的1</p><p>  第2章 總體設(shè)計(jì)方案3</p><p>  2.1 總體方案的選擇3</p

2、><p>  2.2總體方案的說(shuō)明3</p><p>  第3章 系統(tǒng)方框圖與工作原理4</p><p>  3.1系統(tǒng)設(shè)計(jì)框圖4</p><p>  3.2 基本工作原理5</p><p>  第4章 各單元硬件設(shè)計(jì)及說(shuō)明6</p><p>  4.1單片機(jī)的選擇7</p>

3、;<p>  4.2復(fù)位電路的設(shè)計(jì)7</p><p>  4.3晶振電路的設(shè)計(jì)8</p><p>  4.4音樂(lè)播放電路8</p><p>  第5章 器件說(shuō)明9</p><p><b>  5.1 單片機(jī)9</b></p><p>  5.2 LED顯示器11<

4、/p><p>  第6章 軟件設(shè)計(jì)與說(shuō)明12</p><p>  6.1 定時(shí)顯示子程序12</p><p>  6.2 系統(tǒng)軟件設(shè)計(jì)方案的確定13</p><p>  6.3 音樂(lè)定時(shí)常數(shù)的確定14</p><p>  第7章 調(diào)試步驟、結(jié)果、使用說(shuō)明15</p><p>  第8章 設(shè)

5、計(jì)總結(jié)17</p><p>  附錄B:程序清單18</p><p>  第1章 課程設(shè)計(jì)的要求、目的</p><p>  1.1 課程設(shè)計(jì)的要求</p><p>  音樂(lè)提示定時(shí)器要求通過(guò)設(shè)計(jì)4個(gè)按鍵設(shè)置現(xiàn)在想要倒數(shù)的時(shí)間:K1--可調(diào)整倒數(shù)時(shí)間為1-60分鐘,能夠?qū)崿F(xiàn)時(shí)間可調(diào);K2—設(shè)置倒數(shù)計(jì)時(shí)時(shí)間為5分鐘,顯示為“0500”;K3

6、—設(shè)置倒數(shù)計(jì)時(shí)時(shí)間為10分鐘,顯示為“1000”;K4—設(shè)置倒數(shù)計(jì)時(shí)時(shí)間為20分鐘,顯示為“2000”;一旦按鍵后則開(kāi)始倒計(jì)時(shí),當(dāng)計(jì)時(shí)為0則演奏一曲音樂(lè),而且可循環(huán)播放,可隨時(shí)人為停止;內(nèi)定倒數(shù)計(jì)時(shí)時(shí)間為5分鐘,顯示為0500。</p><p>  1.2 課程設(shè)計(jì)的目的</p><p> ?。?)加深對(duì)基礎(chǔ)知識(shí)的理解,進(jìn)一步熟悉和掌握單片機(jī)的結(jié)構(gòu)及工作原理。(2)掌握單片機(jī)的接口技術(shù)及

7、相關(guān)外圍芯片的外特性,控制方法。明確原理圖中所使用的元器件功能及在圖中的作用,各器件的工作過(guò)程及順序。(3) 通過(guò)課程設(shè)計(jì),掌握以單片機(jī)核心的電路設(shè)計(jì)的基本方法和技術(shù),了解有關(guān)電路參數(shù)的計(jì)算方法。(4) 通過(guò)實(shí)際程序設(shè)計(jì)和調(diào)試,逐步掌握模塊化程序設(shè)計(jì)方法和調(diào)試技術(shù)。了解程序設(shè)計(jì)總體功能及結(jié)構(gòu),對(duì)各子模塊的功能以及各子模塊之間的關(guān)系有較詳細(xì)的描述。(5) 通過(guò)完成一個(gè)包括電路設(shè)計(jì)和程序開(kāi)發(fā)的完整過(guò)程,通過(guò)實(shí)際操作,將理論用于實(shí)踐,提

8、高對(duì)本課程的實(shí)際運(yùn)用能力,在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)問(wèn)題、解決問(wèn)題,掌握更多的知識(shí)。</p><p>  第2章 總體設(shè)計(jì)方案</p><p>  2.1 總體方案的選擇</p><p>  本課題要求以單片機(jī)為核心設(shè)計(jì)一個(gè)音樂(lè)提示定時(shí)器,具備倒數(shù)計(jì)時(shí)、時(shí)間設(shè)置、音樂(lè)演奏等功能。設(shè)計(jì)20分鐘、10分鐘、5分鐘的設(shè)置開(kāi)關(guān)或按鍵,例如20分鐘,顯示為“20.00”,內(nèi)定倒數(shù)計(jì)

9、時(shí)時(shí)間為5分鐘,顯示為05.00(開(kāi)機(jī)狀態(tài))。一旦按鍵后則開(kāi)始倒計(jì)時(shí),當(dāng)計(jì)時(shí)為0則演奏一曲音樂(lè),而且可循環(huán)播放,可隨時(shí)停止。</p><p>  根據(jù)題目要求,音樂(lè)定時(shí)系統(tǒng)由核心處理模塊、數(shù)碼管顯示模塊、音樂(lè)模塊、及倒計(jì)時(shí)模塊等組成。通過(guò)對(duì)P2口的查詢,實(shí)現(xiàn)不同時(shí)間的設(shè)定和調(diào)整,系統(tǒng)晶振為11.0592MHz,利用單片機(jī)的RESET管腳作為系統(tǒng)開(kāi)關(guān)。利用查詢方式設(shè)定倒計(jì)時(shí)時(shí)間。進(jìn)行總體設(shè)計(jì)前需先設(shè)計(jì)出各子功能模塊

10、的程序,并進(jìn)行調(diào)試,各子模塊調(diào)試成功后,再用一定的連接方法把各子程序連接起來(lái),再次進(jìn)行調(diào)試,直至正確可以實(shí)現(xiàn)總體功能為止。</p><p>  2.2 總體方案的說(shuō)明</p><p>  通過(guò)計(jì)算某一音頻周期(1/頻率),然后將此周期除以2,即為半周期的時(shí)間。利用單片機(jī)定時(shí)器計(jì)時(shí)這個(gè)半周期時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的I/O口反相,然后重復(fù)計(jì)時(shí)此半周期時(shí)間再對(duì)I/O口反相,這樣就能在此I

11、/O口上得到此頻率的脈沖,再結(jié)合中斷延時(shí)程序,程序中節(jié)拍控制是通過(guò)調(diào)用延時(shí)子程序DELAY的次數(shù)來(lái)實(shí)現(xiàn),產(chǎn)生音樂(lè)。利用P2.3、P2.4、P2.5管腳,對(duì)應(yīng)開(kāi)關(guān)K2、K3、K4,分別啟動(dòng)不同的倒計(jì)時(shí)程序5分鐘、10分鐘、20分鐘。通過(guò)查詢方式對(duì)P3.2管腳進(jìn)行查詢,進(jìn)入1到60分鐘的時(shí)間調(diào)整程序。P0引腳作為顯示輸出連至LED顯示器,P2.0、P2.1、P2.2、P2.3為位選信號(hào),控制不同位的數(shù)碼管。程序中使用定時(shí)器T0方式1來(lái)產(chǎn)生歌

12、譜中各音符對(duì)應(yīng)頻率的音頻脈沖,由P3.7通放大輸出,,1拍為748 ms。確定了設(shè)計(jì)思路后,就可以具體設(shè)計(jì)了。先編寫(xiě)程序,然后加入硬件進(jìn)行調(diào)試。</p><p>  第3章 系統(tǒng)方框圖與工作原理</p><p>  3.1 系統(tǒng)設(shè)計(jì)框圖</p><p>  3.2 基本工作原理</p><p>  音樂(lè)的產(chǎn)生主要是通過(guò)單片機(jī)的I/O口輸出高

13、低不同的脈沖信號(hào)來(lái)控制蜂鳴器發(fā)音。要想產(chǎn)生音頻脈沖信號(hào),需要算出某一音頻的周期(1/頻率),然后將此周期除以2,即為半周期的時(shí)間。利用單片機(jī)定時(shí)器計(jì)時(shí)這個(gè)半個(gè)周期時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的I/O口反相,然后重復(fù)計(jì)時(shí)此半周期時(shí)間再對(duì)I/O口反相,這樣就能在此I/O口上得到此頻率的脈沖。</p><p>  通常,利用單片機(jī)的內(nèi)部定時(shí)器0,工作在方式1下,改變計(jì)數(shù)初值TH0和TL0來(lái)產(chǎn)生不同頻率。</p&

14、gt;<p>  對(duì)于音樂(lè)的節(jié)拍,每個(gè)音符使用1個(gè)字節(jié),字節(jié)的高4位代表音符的高低,低4位代表音符的節(jié)拍。如果1拍為0.4S,1/4拍為0.1S,只要設(shè)定延遲時(shí)間就可求得節(jié)拍的時(shí)間。假設(shè)1/4拍為1DELAY,那么1拍應(yīng)為4DELAY,以此類(lèi)推。所以只要求得1/4拍的DELAY,其余的節(jié)拍就是它的倍數(shù)。</p><p>  總而言之,一首樂(lè)曲是由音階和節(jié)拍兩大要素構(gòu)成。一首樂(lè)曲演奏的原理是:不同音階

15、分別對(duì)應(yīng)不同的頻率,發(fā)出不同的音調(diào),而節(jié)拍則控制發(fā)出音調(diào)時(shí)間的長(zhǎng)短;若將樂(lè)曲的音調(diào)連續(xù)發(fā)出,并使其按相應(yīng)的節(jié)拍變化,即可演奏一首樂(lè)曲。根據(jù)這一特點(diǎn),我們采用單片機(jī)輔以相應(yīng)的接口來(lái)設(shè)計(jì)音樂(lè)播放器[3]。</p><p>  第4章 各單元硬件設(shè)計(jì)及說(shuō)明</p><p>  4.1 單片機(jī)的選擇 </p><p>  單片機(jī)/EA管腳始終接高電平,單片機(jī)復(fù)位方式采用

16、按鍵電平觸發(fā)復(fù)位,通過(guò)計(jì)算可知單片機(jī)頻率為11.0592MHz時(shí),計(jì)時(shí)誤差最小,精度越高,因此內(nèi)部時(shí)鐘頻率設(shè)為11.0592MHz。ST89C51系列與MCS-51系列單片機(jī)相比,有兩大優(yōu)勢(shì):第一,片內(nèi)程序存儲(chǔ)器采用閃速存儲(chǔ)器,使程序的寫(xiě)入更方便;第二,提供了更小尺寸的芯片,使整個(gè)硬件電路的體積更小。它以較小的體積、良好的性能價(jià)格比倍受青睞。本次課程設(shè)計(jì)采用89C51單片機(jī)。</p><p><b> 

17、 4.2 復(fù)位電路</b></p><p><b>  復(fù)位電路</b></p><p>  根據(jù)應(yīng)用的要求,復(fù)位操作有兩種基本形式:上電復(fù)位和上電或開(kāi)關(guān)復(fù)位。</p><p>  當(dāng)MCS-5l系列單片機(jī)的復(fù)位引腳RST(全稱RESET)出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)

18、復(fù)位狀態(tài)。 上電復(fù)位要求接通電源后,自動(dòng)實(shí)現(xiàn)復(fù)位操作。電容C13和電阻R19對(duì)電源十5V來(lái)說(shuō)構(gòu)成微分電路。上電后,保持RST一段高電平時(shí)間,由于單片機(jī)內(nèi)的等效電阻的作用,不用圖中電阻R19,也能達(dá)到上電復(fù)位的操作功能。 要求電源接通后,單片機(jī)自動(dòng)復(fù)位,并且在單片機(jī)運(yùn)行期間,用開(kāi)關(guān)操作也能使單片機(jī)復(fù)位。由于電容C13的充電和反相門(mén)的作用,使RST持續(xù)一段時(shí)間的高電平。當(dāng)單片機(jī)已在運(yùn)行當(dāng)中時(shí),按下復(fù)位鍵K后松開(kāi)

19、,也能使RST為一段時(shí)間的高電平,從而實(shí)現(xiàn)上電或開(kāi)關(guān)復(fù)位的操作。本系統(tǒng)的復(fù)位電路采用上電復(fù)位。</p><p>  RET按鍵可以選擇專門(mén)的復(fù)位按鍵,也可以選擇輕觸開(kāi)關(guān)。</p><p><b>  4.3 晶振電路</b></p><p><b>  晶振電路</b></p><p>  單片機(jī)工

20、作的時(shí)間基準(zhǔn)是由時(shí)鐘電路控制的。在單片機(jī)的XTAL1和XTAL2兩個(gè)管腳,接一只晶振及兩只電容就構(gòu)成了單片機(jī)的時(shí)鐘電路。</p><p>  電路中,電容器C14和C15對(duì)振蕩頻率有微調(diào)作用,通常的取值范圍為30PF左右。石英晶體選擇12MHZ就可以。</p><p>  本次設(shè)計(jì)應(yīng)用的電壓有+5V。220V交流電源經(jīng)變壓器,整流,濾波后分別進(jìn)入芯片7805,產(chǎn)生+5V,這些電源的具體應(yīng)用

21、情況如下:+5V電源:單片機(jī)及外圍電路所用電源+9V電源:壓電喇叭所用電源</p><p>  4.4 音樂(lè)播放電路</p><p>  蜂鳴器有長(zhǎng)聲有短聲兩種,可以根據(jù)需要進(jìn)行選擇,通過(guò)軟件編程控制。在程序里可以設(shè)計(jì)不同的歌曲來(lái)通過(guò)播放器進(jìn)行播放,所以,在這個(gè)設(shè)計(jì)里,是可以有不同的鈴聲的。</p><p><b>  第5章 器件說(shuō)明</b&

22、gt;</p><p><b>  5.1 單片機(jī)</b></p><p>  AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT8

23、9C51是一種高效微控制器,</p><p><b>  1.主要特性:</b></p><p>  ·與MCS-51 兼容</p><p>  ·4K字節(jié)可編程閃爍存儲(chǔ)器</p><p>  .壽命:1000寫(xiě)/擦循環(huán).數(shù)據(jù)保留時(shí)間:10年</p><p>  ·

24、全靜態(tài)工作:0Hz-24Hz</p><p>  · 三級(jí)程序存儲(chǔ)器鎖定</p><p>  ·128*8位內(nèi)部RAM</p><p>  ·32可編程I/O線</p><p>  ·兩個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b>  ·5個(gè)中斷源</

25、b></p><p><b>  ·可編程串行通道</b></p><p>  ·低功耗的閑置和掉電模式</p><p>  ·片內(nèi)振蕩器和時(shí)鐘電路 </p><p><b>  2.振蕩器特性:</b></p><p>  XTAL1和X

26、TAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p><b>  3.芯片擦除:</b></p><p>  整個(gè)PEROM陣列和三個(gè)鎖定位的電

27、擦除可通過(guò)正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms 來(lái)完成。在芯片擦操作中,代碼陣列全被寫(xiě)“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。</p><p>  5.2 LED顯示器</p><p><b>  LED顯示器</b></p><p>  數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)

28、是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開(kāi),該位就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。通過(guò)分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,

29、就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過(guò)程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。</p><p>  第6章 軟件設(shè)計(jì)與說(shuō)明</p><p>  6.

30、1 定時(shí)顯示子程序</p><p>  6.2 系統(tǒng)軟件設(shè)計(jì)方案的確定</p><p>  根據(jù)設(shè)計(jì)要求,首先要確定軟件設(shè)計(jì)方案,即確定該軟件應(yīng)該完成哪些功能;其次是規(guī)劃這些功能需要分成多少個(gè)功能模塊,以及每一個(gè)程序模塊的具體任務(wù)是什么。</p><p>  6.3 音樂(lè)定時(shí)常數(shù)的確定</p><p>  產(chǎn)生音樂(lè)通過(guò)單片機(jī)的I/O口輸出高低

31、不同的脈沖信號(hào)來(lái)控制蜂鳴器發(fā)音。利用AT89C52單片機(jī)的內(nèi)部定時(shí)器0,工作在方式1下,改變計(jì)數(shù)初值TH0和TL0來(lái)產(chǎn)生不同的頻率。若單片機(jī)采用12MHz晶振,要產(chǎn)生頻率為587Hz的音頻脈沖時(shí),其音頻脈沖信號(hào)的周期T=1/587=1703.577us,約1704us,半周期的時(shí)間852us,因此只要今計(jì)數(shù)器計(jì)數(shù)=852us/1us=852,在每計(jì)數(shù)852次時(shí)將I/O口反相,就可得C調(diào)中音Re。</p><p>

32、  計(jì)數(shù)脈沖值與頻率的關(guān)系如下:</p><p><b>  N=Fi/2/Fr</b></p><p><b>  式中:N—計(jì)數(shù)值</b></p><p>  Fi—機(jī)器頻率。晶體振蕩器為12MHz時(shí),內(nèi)部計(jì)時(shí)一次為1us,故其頻率為1MHz</p><p>  Fr—想要產(chǎn)生的頻率</p

33、><p>  所以定時(shí)常數(shù)(計(jì)數(shù)值T)的求法:</p><p>  T=65536-N=65536-Fi/2/Fr</p><p>  例如,設(shè)Fi=1MHz,求低音Do(262Hz)、中音Do(523Hz)和高音Do(1046Hz)的計(jì)數(shù)初值。</p><p>  解:T=65536-N=65536-Fi/2/Fr=65536-500000/F

34、r </p><p>  低音Do的T=65536-500000/262=63628 </p><p>  中音Do的T=65536-500000/523=64580 </p><p>  高音Do的T=65536-500000/1046=65058</p><p>  C調(diào)各音符頻率與計(jì)數(shù)值T的關(guān)系</p><p>

35、;  第7章 調(diào)試步驟、結(jié)果、使用說(shuō)明</p><p>  P2.4接開(kāi)關(guān)K1,P2.5接開(kāi)關(guān)K2,P2.6接開(kāi)關(guān)K3,P2.7口接開(kāi)關(guān)K4,P1.7口接起動(dòng)按鈕K5,當(dāng)按下K1,倒計(jì)時(shí)時(shí)間加一分鐘,可選擇1到60分鐘的定時(shí);按下K2,計(jì)時(shí)時(shí)間為5分鐘;按下K3,計(jì)時(shí)時(shí)間為10分鐘;按下K4,計(jì)時(shí)時(shí)間為20分鐘;按下起動(dòng)按鈕K5,定時(shí)器開(kāi)始計(jì)時(shí),再次按下,停止計(jì)時(shí)。同時(shí)利用P2.0、P2.1、P2.2、P2.3作

36、為位選管腳,從P0口輸出代碼至LED顯示器,設(shè)計(jì)消影功能和顯示延時(shí)程序?qū)崿F(xiàn)動(dòng)態(tài)顯示。當(dāng)計(jì)時(shí)結(jié)束時(shí)跳轉(zhuǎn)到音樂(lè)產(chǎn)生子程序。當(dāng)需要音樂(lè)停止時(shí),按下復(fù)位按鈕STOP,音樂(lè)即停止,顯示器顯示內(nèi)定的倒計(jì)時(shí)時(shí)間0500</p><p><b>  第8章 設(shè)計(jì)總結(jié)</b></p><p>  學(xué)校每次課程設(shè)計(jì)都能讓我全身心投入,廢寢忘食也不為過(guò),因?yàn)槲沂冀K覺(jué)得實(shí)踐才能讓我們成長(zhǎng)。同

37、時(shí)還能學(xué)到很多專業(yè)知識(shí),加深對(duì)課本內(nèi)容的理解,雖然會(huì)遇到很多困難,卻總能得到收獲。課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn)、提出、分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程。如今電子行業(yè)已經(jīng)慢慢取代手工業(yè)了,而單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說(shuō)得是無(wú)處不在。因此作為電子信息工程專業(yè)的學(xué)生來(lái)說(shuō)掌握單片機(jī)的開(kāi)發(fā)技術(shù)是十分重要的。 我的題目是音樂(lè)提示定時(shí)器的設(shè)計(jì),對(duì)于

38、我們這些工科學(xué)生來(lái)說(shuō),這是一次小小的鍛煉。因?yàn)槠綍r(shí)老師的細(xì)心教導(dǎo),和自己也自學(xué)過(guò)單片機(jī),所以這次課程設(shè)計(jì)還算簡(jiǎn)單。但是這次課程設(shè)計(jì)我還是學(xué)到很多很多的東西,學(xué)會(huì)了怎么樣去制定計(jì)劃,怎么樣去實(shí)現(xiàn)這個(gè)計(jì)劃,并掌握了在執(zhí)行過(guò)程中怎么樣去克服心理上的不良情緒。不僅鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí),掌握了一種系統(tǒng)的研究方法,可以進(jìn)行一些簡(jiǎn)單的編程。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是

39、遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知</p><p>  在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,以及對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,對(duì)單片機(jī)C語(yǔ)言掌握得不夠熟練等。這次課程設(shè)計(jì)通過(guò)自己的努力,同學(xué)的幫助,還有老師的辛勤指導(dǎo)下,最終順利完成了。謝謝老師!!</p><p><b>  附錄:程序清單</b></p><p>  #inc

40、lude <reg52.h> </p><p>  #define uint unsigned int </p><p>  #define uchar unsigned char</p><p>  uchar pre_time;//時(shí)鐘標(biāo)志</p><p>  uchar time,tz,tz1;//tz調(diào)整標(biāo)志

41、,tz調(diào)整所在位</p><p>  char fen1,fen,miao1,miao;//時(shí)鐘</p><p>  uchar shu,ding;</p><p><b>  uchar l;</b></p><p>  sbit ADDR0 = P1^0;</p><p>  sbit AD

42、DR1 = P1^1;</p><p>  sbit ADDR2 = P1^2; </p><p>  sbit ADDR3 = P1^3;</p><p>  sbit ENLED1 = P1^4;</p><p>  sbit SPK=P1^2;</p><p>  sbit k1=P3^2;<

43、;/p><p>  sbit k2=P3^3;</p><p>  sbit k3=P3^4;</p><p>  sbit k4=P3^5;</p><p>  sbit dula=P2^6;//段鎖存器</p><p>  sbit wela=P2^7;//位鎖存器</p><p>  

44、sbit k5=P2^0;</p><p>  uchar code duanma[]=//段碼列表(0-9)</p><p><b>  {</b></p><p>  0xc0,0xf9,0xa4,0xb0,0x99,</p><p>  0x92,0x82,0xf8,0x80,0x90</p>&l

45、t;p><b>  };</b></p><p>  uchar code weima[]=//位碼列表(8個(gè)數(shù)碼管)</p><p><b>  {</b></p><p>  0x80,0x40,0x20,0x10,</p><p>  0x08,0x04,0x02,0x01</

46、p><p><b>  };</b></p><p>  uchar code song[]={0X54,0XC4,0X12,0X32,0X34,0X52,0X52,0X52,0X52,0X42,0X32,0X34,</p><p>  0XC1,0XC2,0X52,0XC2,0X12,0X32,0X34,0X11,0X12,0X31,0X12,0

47、XC2,</p><p>  0X78,0X72,0X52,0X52,0X42,0X32,0X42,0X52,0X11,0XC1,0XC4,0XC1,</p><p>  0XC1,0XC1,0XC1,0X12,0X32,0X32,0X12,0X42,0X42,0X44,0XC2,0X12,</p><p>  0X32,0X42,0X52,0X72,0X72,0X

48、82,0X41,0X51,0X42,0X48,0X42,0X12,</p><p>  0X3C,0X72,0X62,0X3C,0X72,0X62,0X3C,0X72,0X62,0x21,0x31,0x41,</p><p>  0x51,0x61,0x71,0x81,0x91,0x61,0x71,0x81,0x91,0X3F,0X3F,0X54,</p><p>

49、  0XC2,0XC2,0X42,0XC2,0XC4,0X34,0X32,0X42,0X52,0XC2,0XC4,0XD2,</p><p>  0XC2,0X12,0X22,0X38,0X12,0X22,0X32,0X42,0X48,0xFF};//</p><p>  uchar yin[]={ 0xFF,0xFF,0xFB,0x90,0xFC,0x0C,0xFC,0x44,0xF

50、C,</p><p>  0xAC,0xFD,0x09,0xFD,0x34,0xFD,0x82,0xFD,0xC8,</p><p>  0xFE,0x06,0xFE,0x22,0xFA,0X15,0XFB,0x04,0xFA,0x67,0xFE,0x85}; </p><p>  void timer0() interrupt 3 </p><

51、p><b>  { </b></p><p>  TH1=yin[2*1];</p><p>  TL1=yin[2*1+1];</p><p>  SPK = !SPK; </p><p><b>  }</b></p><p><b>  //  <

52、/b></p><p><b>  //  </b></p><p>  void delay187ms()</p><p><b>  {</b></p><p>  unsigned char i,j,k;</p><p>  for(i=200;i>0;i-

53、-)</p><p>  for(j=20;j>0;j--)</p><p>  for(k=15;k>0;k--) ;</p><p><b>  }</b></p><p><b>  //  </b></p><p>  //置對(duì)應(yīng)音符頻率數(shù)值</p&

54、gt;<p>  void sing_song()</p><p><b>  {</b></p><p>  unsigned int data j=0;</p><p>  unsigned char data i;</p><p>  unsigned char data k;</p>

55、<p>  while(*(song+j)!=0xFF)</p><p><b>  {</b></p><p>  k=*(song+j)&0x0F;</p><p>  l=*(song+j)>>4;</p><p>  TH1=yin[2*l];</p><p>

56、;  TL1=yin[2*l+1];</p><p><b>  TR1=1;</b></p><p>  if ((yin[2*l]==0xff)&&(yin[2*l+1]==0xff))</p><p><b>  {</b></p><p>  TR0=0;SPK=1;<

57、/p><p><b>  }</b></p><p>  for(i=k;i>0;--i)</p><p><b>  {</b></p><p>  delay187ms();</p><p><b>  }</b></p><p

58、><b>  TR1=0;</b></p><p><b>  j++;</b></p><p>  }// </p><p>  }// &

59、lt;/p><p><b>  //  </b></p><p>  //  //延時(shí)函數(shù)</p><p>  void delay(uint z)</p><p><b>  {</b></p><p>  uint x,y;</p><p>  f

60、or(x=z;x>0;x--)</p><p>  for(y=110;y>0;y--);</p><p><b>  }//</b></p><p>  //  //時(shí)鐘顯示</p><p>  void display(uint fen1,uint fen2,uint miao2,uint miao1)&

61、lt;/p><p><b>  {</b></p><p><b>  P0=0xff;</b></p><p><b>  wela=1;</b></p><p>  P0=weima[3];</p><p><b>  wela=0;</

62、b></p><p><b>  dula=1;</b></p><p>  P0=duanma[fen1];</p><p><b>  dula=0;</b></p><p><b>  delay(1);</b></p><p><b&

63、gt;  P0=0xff;</b></p><p><b>  wela=1;</b></p><p>  P0=weima[2];</p><p><b>  wela=0;</b></p><p><b>  dula=1;</b></p><

64、;p>  P0=duanma[fen2];</p><p><b>  dula=0;</b></p><p><b>  delay(1);</b></p><p><b>  P0=0xff;</b></p><p><b>  wela=1;</b&

65、gt;</p><p>  P0=weima[1];</p><p><b>  wela=0;</b></p><p><b>  dula=1;</b></p><p>  P0=duanma[miao2];</p><p><b>  dula=0;</

66、b></p><p><b>  delay(1);</b></p><p><b>  P0=0xff;</b></p><p><b>  wela=1;</b></p><p>  P0=weima[0];</p><p><b>

67、  wela=0;</b></p><p><b>  dula=1;</b></p><p>  P0=duanma[miao1];</p><p><b>  dula=0;</b></p><p><b>  delay(1);</b></p>

68、<p><b>  TR0=0;</b></p><p><b>  }</b></p><p>  void t0() interrupt 1</p><p><b>  {</b></p><p>  TL0=(65536-50000)%256;</p>

69、;<p>  TH0=(65536-50000)/256;</p><p><b>  shu++;</b></p><p>  if(shu==20)</p><p><b>  {</b></p><p><b>  shu=0;</b></p>

70、<p><b>  miao--;</b></p><p>  if(miao==-1)</p><p><b>  {</b></p><p><b>  miao=9;</b></p><p><b>  miao1--;</b></

71、p><p>  if(miao1==-1)</p><p><b>  {</b></p><p><b>  miao1=5;</b></p><p><b>  fen--;</b></p><p>  if(fen==-1)</p>&l

72、t;p><b>  {</b></p><p><b>  fen=9;</b></p><p><b>  fen1--;</b></p><p>  if(fen1==-1)</p><p><b>  {</b></p><

73、p><b>  fen1=5;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><

74、;p><b>  }</b></p><p><b>  } </b></p><p><b>  // 主程序</b></p><p>  void main()</p><p><b>  {</b></p><p>&l

75、t;b>  shu=0;</b></p><p>  TMOD=0X01;</p><p>  TL0=(65536-50000)%256;</p><p>  TH0=(65536-50000)/256;</p><p>  ET0=1; //允許開(kāi)T0定時(shí)器中斷</p><p>&l

76、t;b>  ET1=1;</b></p><p>  EA=1; //開(kāi)總中斷</p><p>  TR0=0; //定時(shí)器0工作</p><p>  ///P3=0XFF;</p><p>  //P2=0XFF;</p><p>  //P1=0XFF;</p

77、><p>  //P0=0XFF;</p><p><b>  miao=0;</b></p><p><b>  miao1=0;</b></p><p><b>  fen=5;</b></p><p><b>  fen1=0;</b

78、></p><p><b>  ding=0; </b></p><p><b>  while(1)</b></p><p><b>  { </b></p><p>  display(fen1,fen,miao1,miao);</p><

79、p><b>  if(k1==0)</b></p><p><b>  {</b></p><p>  delay(20);</p><p><b>  if(k1==0)</b></p><p><b>  { </b></p>&

80、lt;p><b>  miao1=0;</b></p><p><b>  miao=0;</b></p><p><b>  fen++;</b></p><p>  if(fen==10)</p><p><b>  {</b></p>

81、;<p><b>  fen=0;</b></p><p><b>  fen1++;</b></p><p>  if(fen1==6)</p><p><b>  { </b></p><p><b>  fen1=0;</b>&l

82、t;/p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  while(!k1);</p><

83、p><b>  if(k2==0)</b></p><p><b>  {</b></p><p>  delay(20);</p><p><b>  if(k2==0)</b></p><p><b>  { </b></p>&l

84、t;p><b>  miao1=0;</b></p><p><b>  miao=5;</b></p><p><b>  fen=0;</b></p><p><b>  fen1=0;</b></p><p><b>  }</

85、b></p><p><b>  }</b></p><p>  while(!k2);</p><p>  //k3為10分鐘 </p><p><b>  if(k3==0)</b></p><p><b>  {</b>

86、;</p><p>  delay(20);</p><p><b>  if(k3==0)</b></p><p><b>  {</b></p><p><b>  miao1=0;</b></p><p><b>  miao=0;<

87、;/b></p><p><b>  fen=0;</b></p><p><b>  fen1=1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  while(!

88、k3);</p><p>  //k4為20分鐘 </p><p><b>  if(k4==0)</b></p><p><b>  {</b></p><p>  delay(20);</p><p><b>  if(k4==0)&l

89、t;/b></p><p><b>  { </b></p><p><b>  miao1=0;</b></p><p><b>  miao=0;</b></p><p><b>  fen=0;</b></p><p>

90、<b>  fen1=2;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  while(!k4); </p><p>  //k5為啟動(dòng)鍵 </p><p><b>  if(

91、k1==0)</b></p><p><b>  {</b></p><p>  delay(20);</p><p><b>  if(k1==0)</b></p><p><b>  {</b></p><p><b>  di

92、ng++;</b></p><p>  if(ding==2)</p><p><b>  {</b></p><p><b>  ding=0;</b></p><p><b>  }</b></p><p><b>  }<

93、;/b></p><p><b>  }</b></p><p>  while(!k1); </p><p>  if(ding==0)</p><p><b>  {</b></p><p><b>  TR0=1;</b></

94、p><p><b>  }</b></p><p><b>  else </b></p><p>  TR0=1;//倒計(jì)時(shí)結(jié)束</p><p>  display(fen1,fen,miao1,miao);</p><p>  if(fen1==0&&fen=

95、=0&&miao1==0&&miao==0)</p><p><b>  {</b></p><p>  sing_song(); </p><p><b>  } </b></p><p><b>  } </b></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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論