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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  課程設(shè)計(jì)報(bào)告</b></p><p>  課程名稱(chēng):單片機(jī)原理及應(yīng)用課程設(shè)計(jì)</p><p>  設(shè)計(jì)題目: 電子琴設(shè)計(jì) </p><p>  系 別: 通信與控制工程系 </p><p>  專(zhuān) 業(yè):

2、 電子信息工程 </p><p>  班 級(jí): 10級(jí)電子信息工程二班 </p><p>  學(xué)生姓名: </p><p>  學(xué) 號(hào): </p>

3、;<p>  起止日期: 2011年12月19日~ 2011年12月31日 </p><p>  指導(dǎo)教師: </p><p>  教研室主任: </p><p><b>  摘要</b></p

4、><p>  單片微型計(jì)算機(jī)是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,屬第四代電子計(jì)算機(jī),它具有高性能、高速度、體積小、價(jià)格低廉、穩(wěn)定可靠、應(yīng)用廣泛的特點(diǎn)。它的應(yīng)用必定導(dǎo)致傳統(tǒng)的控制技術(shù)從根本上發(fā)生變革。因此,單片機(jī)的開(kāi)發(fā)應(yīng)用已成為高科技和工程領(lǐng)域的一項(xiàng)重大課題。 電子琴是現(xiàn)代電子科技與音樂(lè)結(jié)合的產(chǎn)物,是一種新型的鍵盤(pán)樂(lè)器。它在現(xiàn)代音樂(lè)扮演著重要的角色,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的

5、生活中,成為不可替代的一部分。本文的主要內(nèi)容是用AT89C52單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)電子琴。以單片機(jī)作為主控核心,與鍵盤(pán)、蜂鳴器等模塊組成核心主控制模塊,在主控模塊上設(shè)有16個(gè)按鍵和蜂鳴器。 本文主要對(duì)使用單片機(jī)設(shè)計(jì)簡(jiǎn)易電子琴進(jìn)行了分析,并介紹了基于單片機(jī)電子琴統(tǒng)硬件組成。利用單片機(jī)產(chǎn)生不同頻率來(lái)獲得我們要求的音階,最終可隨意彈奏想要表達(dá)的音樂(lè)。并且本文分別從原理圖,主要芯片,各模塊原理及各模塊的程序的調(diào)試來(lái)詳細(xì)闡述。

6、 一首音樂(lè)是許多不同的音階組成的,而每個(gè)音階對(duì)應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂(lè)了,當(dāng)然對(duì)于單片機(jī)來(lái)產(chǎn)生不</p><p>  關(guān)鍵詞:AT89C52芯片;8255A芯片;蜂鳴器;矩陣鍵盤(pán);音階

7、 目錄</p><p><b>  摘要- 1 -</b></p><p><b>  1概述- 2 -</b></p><p>  1. 1 電子琴技術(shù)狀況- 2 -</p><p>  1. 2 任務(wù)與要求- 3 -&l

8、t;/p><p>  1.3 主要芯片簡(jiǎn)介- 3 -</p><p>  1.3.1 AT89C52芯片介紹- 3 -</p><p>  1.3.2 8255A芯片介紹- 4 -</p><p>  2 系統(tǒng)總體方案及硬件設(shè)計(jì)- 5 -</p><p>  2. 1系統(tǒng)總體方案- 5 -</p>

9、<p>  2. 2總體硬件組成框圖- 6 -</p><p>  2. 2. 1 子系統(tǒng)模塊一- 7 -</p><p>  2. 2. 2 子系統(tǒng)模塊二- 7 -</p><p>  2. 2. 3 子系統(tǒng)模塊三- 8 -</p><p>  2.2.4 AT89C51復(fù)位模塊- 9 -</p><

10、p>  2. 2. 5 AT89C52晶振模塊- 9 -</p><p>  3 軟件設(shè)計(jì)- 10 -</p><p>  3. 1軟件設(shè)計(jì)總流程圖流程- 10 -</p><p>  3. 2 軟件程序- 11 -</p><p>  4 課程設(shè)計(jì)體會(huì)- 11 -</p><p>  5致謝- 13

11、 -</p><p>  參考文獻(xiàn)- 14 -</p><p>  附1 源程序代碼- 15 -</p><p>  附2 系統(tǒng)原理圖- 21 -</p><p><b>  1概述</b></p><p>  1. 1 電子琴技術(shù)狀況</p><p>  本次

12、設(shè)計(jì)提出了用AT89C52單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)簡(jiǎn)易的電子琴. 本方案以AT89C52單片機(jī)作為主控核心,與鍵盤(pán)、蜂鳴器等模塊組成核心主控制模塊在主控模塊上設(shè)有4*4個(gè)按鍵和蜂鳴器。根據(jù)使用者的操作隨意彈奏想要表達(dá)的音樂(lè)。一首音樂(lè)是許多不同的音階組成的,而每個(gè)音階對(duì)應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂(lè)了,當(dāng)然對(duì)于單片機(jī)來(lái)產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的定時(shí)/計(jì)數(shù)器T0來(lái)產(chǎn)生這樣

13、方波頻率信號(hào)。</p><p>  1. 2 任務(wù)與要求</p><p>  實(shí)現(xiàn)電子琴發(fā)聲控制系統(tǒng);要求電路實(shí)現(xiàn)如下功能:</p><p>  4*4鍵盤(pán)組成16個(gè)按鈕,可以隨意彈奏想要表達(dá)的音樂(lè)。設(shè)置一個(gè)開(kāi)始鍵,一個(gè)結(jié)束鍵,一個(gè)重復(fù)鍵,通過(guò)按重復(fù)鍵可以完成之前音樂(lè)的重放。</p><p>  說(shuō)明:?jiǎn)纹瑱C(jī)的工作時(shí)鐘頻率為12MHz。

14、 </p><p>  1.3 主要芯片簡(jiǎn)介</p><p>  1.3.1 AT89C52芯片介紹</p><p>  AT89C52(圖1-1)為8位低功耗單片機(jī),采用工業(yè)標(biāo)準(zhǔn)的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于

15、會(huì)聚調(diào)整時(shí)的功能控制。功能包括對(duì)會(huì)聚主IC 內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會(huì)聚調(diào)整控制,會(huì)聚測(cè)試圖控制,紅外遙控信號(hào)IR的接收解碼及與主板CPU通信等。主要管腳有:XTAL1(19 腳)和XTAL2(18 腳)為振蕩器輸入輸出端口,外接12MHz 晶振。RST(9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。VCC(40 腳)和GND(20 腳)為供電端口,分別接+5V電源的正負(fù)端。P0~P3 為可編程通用I/

16、O 腳,其功能用途由軟件定義,在本設(shè)計(jì)中,P0 端口(32~39 腳)定義為雙向8位三態(tài)I/O接口,它既可以作為通用I/O接口,又可作為外部擴(kuò)展時(shí)的數(shù)據(jù)總線(xiàn)及低8位地址總線(xiàn)的分時(shí)復(fù)用口;P1端口(1~8腳)定義為準(zhǔn)雙向I/O接口,內(nèi)部具有上拉電阻;P2端口(21~28腳)定義為8位準(zhǔn)雙向I/O接口,內(nèi)部具有上拉電阻,可直接連接外部I/O設(shè)備,同時(shí)與地址高8位復(fù)用;P3端口(10~17)定義為8位準(zhǔn)雙向I/O接口,內(nèi)部具有上拉電</

17、p><p>  圖1-1 AT89C52 圖1-2 8255A芯片</p><p>  1.3.2 8255A芯片介紹</p><p>  8255A(圖1-2)是一片使用單一+5V電源的40腳雙列直插式大規(guī)模集成電路。它的通用性強(qiáng),使用靈活,通過(guò)它CPU可直接與外設(shè)相連接。 </p><p>  8255

18、A在使用前要寫(xiě)入一個(gè)方式控制字,選擇A、B、C三個(gè)端口各自的工作方式,共有三種: </p><p>  方式0 :基本的輸入輸出方式,即無(wú)須聯(lián)絡(luò)就可以直接進(jìn)行的 I/O方式。其中A、B、C口的高四位或低四位可分別設(shè)置成輸入或輸出。 </p><p>  方式1 :選通I/O,此時(shí)接口和外圍設(shè)備需聯(lián)絡(luò)信號(hào)進(jìn)行協(xié)調(diào),只有A口和B口可以工作在方式1,此時(shí)C口的某些線(xiàn)被規(guī)定為A口或B口與外圍設(shè)備的

19、聯(lián)絡(luò)信號(hào),余下的線(xiàn)只有基本的I/O功能,即只工作在方式0. </p><p>  方式2: 雙向I/O方式,只有A口可以工作在這種方式,該I/O線(xiàn)即可輸入又可輸出,此時(shí)C口有5條線(xiàn)被規(guī)定為A口和外圍設(shè)備的雙向聯(lián)絡(luò)線(xiàn),C口剩下的三條線(xiàn)可作為B口方式1的聯(lián)絡(luò)線(xiàn),也可以和B口一起方式0的I/O線(xiàn)。 </p><p>  8255A是一個(gè)并行輸入、輸出器件,具有24個(gè)可編程設(shè)置的I/O口,包括3組

20、8位的I/O為PA口、PB口、PC口,又可分為2組12位的I/O口:A組包括A口及C口高4位,B組包括B口及C組的低4位。</p><p>  2 系統(tǒng)總體方案及硬件設(shè)計(jì)</p><p>  本系統(tǒng)采用單片機(jī)AT89C52為電子琴的控制核心,系統(tǒng)主要包括按鍵彈奏模塊、音樂(lè)播放模塊。下面對(duì)各模塊的設(shè)計(jì)逐一進(jìn)行論證比較??傠娐穲D見(jiàn)附頁(yè)二。</p><p>  2. 1系

21、統(tǒng)總體方案</p><p>  2.1.1定時(shí)/計(jì)數(shù)器的設(shè)計(jì)和狀態(tài)字定義:</p><p>  若要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),再將此周期除以2,即為半周期的時(shí)間。利用定時(shí)器計(jì)時(shí)半周期時(shí)間,每當(dāng)計(jì)時(shí)終止后就將P3.3反相,然后重復(fù)計(jì)時(shí)再反相。就可在P3.3引腳上得到此頻率的脈沖。利用AT89C52的內(nèi)部定時(shí)器使其工作計(jì)數(shù)器模式(MODE1)下,改變計(jì)數(shù)值TH0及TL0

22、以產(chǎn)生不同頻率的方法產(chǎn)生不同音階,例如,頻率為523Hz,其周期T=1/523=1912μs,因此只要令計(jì)數(shù)器計(jì)時(shí)956μs/1μs=956,每計(jì)數(shù)956次時(shí)將I/O反相,就可得到中音DO(523Hz)。計(jì)數(shù)脈沖值與頻率的關(guān)系式是:N=fi÷2÷fr,式中,N是計(jì)數(shù)值;fi是機(jī)器頻率(晶體振蕩器為12MHz時(shí),其頻率為1MHz);fr是想要產(chǎn)生的頻率。其計(jì)數(shù)初值T的求法如下:T=65536-N=65536-fi

23、47;2÷fr</p><p>  例如:設(shè)K=65536,fi=1MHz,求中音DO(261Hz)。T=65536-N=65536-fi÷2÷fr=65536-1000000÷2÷fr=65536-500000/fr,中音DO的T=65536-500000/523=64580。</p><p>  單片機(jī)12MHZ晶振,中音符與計(jì)數(shù)T0相

24、關(guān)的計(jì)數(shù)值如表所示:</p><p>  用單片機(jī)播放音樂(lè),或者彈奏電子琴,實(shí)際上是按照特定的頻率,輸出一連串的方波。為了輸出合適的方波,首先應(yīng)該知道音符與頻率的關(guān)系。</p><p>  2. 2總體硬件組成框圖</p><p>  圖2-1 總體硬件組成框圖</p><p>  實(shí)驗(yàn)中每按下一個(gè)琴鍵,單片機(jī)能夠檢測(cè)到鍵盤(pán)的按鍵,并根據(jù)按

25、鍵的位置,通過(guò)程序來(lái)控制,使喇叭發(fā)出不同頻率(音調(diào))的聲音,聲音延遲一段時(shí)間,等到按鍵放開(kāi)之后,聲音停止。然后再繼續(xù)掃描,看是否有鍵按下。如此循環(huán),即可實(shí)現(xiàn)基本的琴鍵功能。</p><p>  2. 2. 1 子系統(tǒng)模塊一</p><p>  琴鍵模塊如圖2-2所示,利用AT89C52單片機(jī)的P0端口及P2端口與8255連接。</p><p>  圖2-2 鍵盤(pán)

26、電路圖</p><p>  2. 2. 2 子系統(tǒng)模塊二</p><p>  播放模塊是蜂鳴器構(gòu)成。蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流</p><p>  圖2-3 發(fā)聲模塊電路圖</p><p>  電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車(chē)電子</p><p>  設(shè)備、電話(huà)機(jī)

27、、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類(lèi)型。蜂鳴器在電路中用字母“H”或“HA”(舊標(biāo)準(zhǔn)用“FM”、“LB”、“JD”等)表示。而且由于所需驅(qū)動(dòng)功率較小,且價(jià)格低廉,所以,被廣泛應(yīng)用。</p><p>  2. 2. 3 子系統(tǒng)模塊三</p><p>  電子琴設(shè)有8個(gè)按鍵,分別代表8個(gè)音符,包括中音段的全部音符。通過(guò)軟硬件設(shè)計(jì),按鍵觸發(fā)外部中斷,中斷

28、使程序跳轉(zhuǎn),實(shí)現(xiàn)模式轉(zhuǎn)換,啟動(dòng)電子琴。然后通過(guò)查詢(xún)電子琴所按下的按鍵,讀取電子琴輸入狀態(tài),跳轉(zhuǎn)到對(duì)應(yīng)的程序人口,實(shí)現(xiàn)各種琴鍵的聲音。</p><p>  矩陣鍵盤(pán)模塊圖如下:</p><p>  圖2-4 矩陣鍵盤(pán)模塊</p><p>  2.2.4 AT89C51復(fù)位模塊</p><p>  圖2-5 復(fù)位電路</p>

29、<p>  2. 2. 5 AT89C52晶振模塊</p><p>  圖2-6 晶振模塊</p><p><b>  3 軟件設(shè)計(jì)</b></p><p>  軟件是該電子琴控制系統(tǒng)的重要組成部分,將系統(tǒng)的各部分功能編寫(xiě)成子模塊的形式,這樣增強(qiáng)了系統(tǒng)軟件的可讀性和可移植性。KEIL C51 µVision2集成開(kāi)發(fā)

30、環(huán)境是KEIL Software,Inc/KEIL electronik GmbH開(kāi)發(fā)的基于80C51內(nèi)核的微處理器軟件開(kāi)發(fā)平臺(tái),內(nèi)嵌多種符合當(dāng)前工業(yè)標(biāo)準(zhǔn)的開(kāi)發(fā)工具,可以完成從工程建立到管理、編譯、鏈接、目標(biāo)代碼的生成、軟件仿真、硬件仿真等完整的開(kāi)發(fā)流程尤其是C編譯工具在產(chǎn)生代碼的準(zhǔn)確性和效率方面達(dá)到了較高的水平,而且可以附加靈活的控制選項(xiàng),在開(kāi)發(fā)大型項(xiàng)目時(shí)非常理想。</p><p>  3. 1軟件設(shè)計(jì)總流程圖

31、流程</p><p>  圖3-1 軟件設(shè)計(jì)總流程圖</p><p><b>  3. 2 軟件程序</b></p><p>  本系統(tǒng)的上位機(jī)軟件主要是編輯電子琴播放狀態(tài)的內(nèi)容,在設(shè)計(jì)中采用C語(yǔ)言編寫(xiě)了電子琴控制系統(tǒng)控制和播放內(nèi)容的程序。見(jiàn)附錄一。</p><p><b>  4 課程設(shè)計(jì)體會(huì)</b&

32、gt;</p><p>  微型計(jì)算機(jī)的出現(xiàn)和大量使用將人類(lèi)社會(huì)帶入一個(gè)新的時(shí)代,單片微型計(jì)算機(jī)(簡(jiǎn)稱(chēng)單片機(jī))在其中扮演著十分重要的角色。雖然它沒(méi)有常見(jiàn)的PC那樣大的體積和重量,不會(huì)在辦公桌或控制臺(tái)上占據(jù)一個(gè)顯要的位置,但它就像小小的螺絲釘一樣,鑲嵌在人們工作、生活中需要計(jì)算、控制、測(cè)量等智能活動(dòng)的各個(gè)角落。自20世紀(jì)70年代問(wèn)世以來(lái),單片機(jī)以其體積小、可靠性高、控制功能強(qiáng)、使用方便、性能價(jià)格比高、容易產(chǎn)品化等特

33、點(diǎn),在智能儀表、機(jī)電一體化、實(shí)時(shí)控制、分布式多機(jī)系統(tǒng)、家用電器等各個(gè)領(lǐng)域得到了廣泛應(yīng)用,對(duì)各個(gè)行業(yè)的技術(shù)改造和產(chǎn)品的更新?lián)Q代起著重要的推動(dòng)作用,對(duì)人們生活質(zhì)量的提高產(chǎn)生了深刻的影響。作為21世紀(jì)的工科大學(xué)生,學(xué)好單片機(jī),一方面可以加深對(duì)計(jì)算機(jī)原理和結(jié)構(gòu)的認(rèn)識(shí),另一方面也為自身在專(zhuān)業(yè)上的深入發(fā)展構(gòu)筑了一個(gè)很好的平臺(tái)其重要性怎么強(qiáng)調(diào)都不為過(guò)。</p><p>  將程序燒入芯片,調(diào)試成功后,可任意彈奏自己想要的旋律。

34、本研究通過(guò)制作電子琴,將幾個(gè)模塊很好的融合起來(lái),對(duì)使用單片機(jī)設(shè)計(jì)簡(jiǎn)易電子琴進(jìn)行了分析,并介紹了基于單片機(jī)電子琴統(tǒng)硬件組成。利用單片機(jī)產(chǎn)生不同頻率來(lái)獲得我們要求的音階,最終可隨意彈奏想要表達(dá)的音樂(lè)。說(shuō)明一首音樂(lè)是許多不同的音階組成的,而每個(gè)音階對(duì)應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂(lè)了,于是我們可以利用單片機(jī)的定時(shí)/計(jì)數(shù)器T0來(lái)產(chǎn)生這樣方波頻率信號(hào),因此,我們只要把一首歌曲的音階對(duì)應(yīng)頻率關(guān)系弄正確即可

35、,然后我們利用功放電路來(lái)將音樂(lè)聲音放大,同時(shí)通過(guò)顯示模塊來(lái)確知自己所彈的音符。</p><p>  思考:可彈奏的音符數(shù)較少,只能在一定范圍內(nèi)滿(mǎn)足用戶(hù)需要??赏ㄟ^(guò)改進(jìn)鍵盤(pán)識(shí)別模塊和發(fā)生模塊來(lái)增加其復(fù)雜度。音色不可調(diào),只有一種波形的頻率輸出??梢栽谕鈬娐吩O(shè)計(jì)濾波電路,接在不同的輸出口,通過(guò)軟件實(shí)現(xiàn)不同端口的輸出,從而接入不同的濾波電路,輸出不同的波形,從而獲得不一樣的音色。不能以和弦形式演奏,只能單個(gè)鍵按下輸出單

36、個(gè)的音階。</p><p>  這次課程設(shè)計(jì)論文能夠得以順利完成,是所有曾經(jīng)指導(dǎo)過(guò)我的老師,幫助過(guò)我的同學(xué),幫助和鼓勵(lì)的結(jié)果。我要在這里對(duì)他們表示深深的謝意! 首先,要特別感謝我的指導(dǎo)老師——譚周文老師。譚老師在我設(shè)計(jì)出現(xiàn)問(wèn)題時(shí)給予我耐心的幫助,為我排憂(yōu)解難,為我的課程設(shè)計(jì)的完成提供了一定的幫助指導(dǎo)。老師的嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,精益求精的工作作風(fēng),誨人不倦的高尚師德,樸實(shí)無(wú)華、平易近人的人格魅力對(duì)我影響深遠(yuǎn)。不僅

37、使我樹(shù)立了遠(yuǎn)大的學(xué)術(shù)目標(biāo)、掌握了基本的研究方法,還使我明白了許多待人接物與為人處世的道理。 其次,要感謝所有我們通控系的任課老師,老師們教會(huì)我的不僅僅是專(zhuān)業(yè)知識(shí),更多的是對(duì)待學(xué)習(xí)、對(duì)待生活的態(tài)度。 最后對(duì)老師,同學(xué)和家人再次致以我最衷心的感謝!教導(dǎo)過(guò)我的老師,你們的人格魅力永記我心間。身邊的同學(xué)和朋友,有你們,我的大學(xué)才算完整。寢室的好友,你們的天賦猶如上天恩賜,有了你們我的生活更加精彩。</p><p&

38、gt;<b>  5致謝</b></p><p>  本次單片機(jī)課程設(shè)計(jì)歷時(shí)兩個(gè)星期,在這了兩個(gè)星期中我們深深體會(huì)到了課程設(shè)計(jì)的苦與樂(lè)。當(dāng)程序調(diào)試出現(xiàn)問(wèn)題時(shí),我們就一步步調(diào)試,一步步查看,修改,這過(guò)程確實(shí)很枯燥,也很辛苦,但是,當(dāng)程序調(diào)試成功并且能夠下載到單片機(jī)中運(yùn)行時(shí),有說(shuō)不出的高興,感覺(jué)我們所有的付出都是值得的。</p><p>  總的來(lái)說(shuō),這次課程設(shè)計(jì),讓我們

39、領(lǐng)悟到理論與實(shí)踐結(jié)合的重要性。懂得擁有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從中得到收獲,從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力,做到全面發(fā)展,這樣才能真正為社會(huì)服務(wù)。</p><p>  因?yàn)檫@是第一次做單片機(jī)課程設(shè)計(jì),所以我們遇到過(guò)各種各樣的問(wèn)題,面對(duì)這些難題,我們沒(méi)有妥協(xié),以求學(xué)的心態(tài)去解決,從中發(fā)現(xiàn)了自己的不足之處,正是這些難題讓我們看到了自己的不足,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠

40、深刻,基礎(chǔ)掌握得不夠牢固。只學(xué)到了表面的知識(shí),并沒(méi)有深入了解知識(shí)的內(nèi)涵。所以很慶幸有這次課程設(shè)計(jì),它教會(huì)了我們到底要學(xué)些什么知識(shí),給我們以后的學(xué)習(xí)指明了一個(gè)方向,促使我們更加努力的學(xué)習(xí),補(bǔ)充自己的不足。這次課程設(shè)計(jì)終于順利完成了,其中離不開(kāi)老師的耐心指導(dǎo)和同學(xué)們的熱心幫助,在此表示衷心的感謝,另外特別感謝指導(dǎo)老師譚老師的耐心指導(dǎo),他的講解讓我們有豁然開(kāi)朗的感覺(jué),讓我們得以順利完成這次課程設(shè)計(jì)。</p><p>&

41、lt;b>  參考文獻(xiàn)</b></p><p>  [1] 余發(fā)山、王福忠. 單片機(jī)原理及應(yīng)用技術(shù). 中國(guó)礦業(yè)大學(xué)出版社.2008年6月第1 版</p><p>  [2] 楊凌霄. 微型計(jì)算機(jī)原理與應(yīng)用,中國(guó)礦業(yè)大學(xué)出版社.2008年8月第一版</p><p>  [3] 康華光. 電子技術(shù)基礎(chǔ)(數(shù)字部分),高等教育出版社.第五版</p&g

42、t;<p>  [4] 鄧紅. 單片機(jī)實(shí)驗(yàn)與應(yīng)用設(shè)計(jì)教程 出版日期:2004年05月第1版</p><p>  [5] 以及其他的網(wǎng)上資源</p><p><b>  附1 源程序代碼</b></p><p>  #include <reg52.h> //頭文件</p><p>

43、;  #include <absacc.h> //8255引腳定義文件</p><p>  #define uint unsigned int //宏定義</p><p>  #define uchar unsigned char</p><p>  #define PA XBYTE[0xD0FF] //825

44、5引腳地址定義</p><p>  #define PB XBYTE[0xD2FF]</p><p>  #define PC XBYTE[0xD4FF]</p><p>  #define CON XBYTE[0xD6FF]</p><p>  uint w,z,key,qidong,num1,num0,count=0,changge

45、;</p><p>  sbit beep=P3^3; //蜂鳴器位</p><p>  uint temp[42]={0}; //保存key值數(shù)組</p><p>  uint a[]={64580,64684,64777,64820,64898,64968,65030,65058}; //八個(gè)音節(jié)</

46、p><p>  void delay(uint); //延時(shí)函數(shù)</p><p>  void jianpan(); //鍵盤(pán)掃描函數(shù)</p><p>  void kaishi(); //開(kāi)始鍵</p><p>  void chongfu();</p><

47、;p><b>  main()</b></p><p>  { CON=0X80; //8255方式設(shè)定</p><p>  TMOD=0X01; //定時(shí)器0設(shè)置</p><p>  EA=1; </p><p>  ET0=1;

48、 </p><p>  PA=0XFF; //關(guān)數(shù)碼管</p><p>  EX0=1; //外部中斷0設(shè)置</p><p><b>  IT0=1;</b></p><p>  PT0=1; //定時(shí)器0優(yōu)先</p>&

49、lt;p><b>  while(1)</b></p><p><b>  { </b></p><p><b>  kaishi();</b></p><p>  jianpan(); </p><p><b>  }</b></p>

50、<p><b>  }</b></p><p>  void jianpan()</p><p><b>  { </b></p><p>  if(qidong==1)</p><p><b>  { </b></p><p>  

51、PC=0XF7;//第一排</p><p>  w=PC; //讀PC口</p><p>  w=w&0xf0; //獲取最高位</p><p>  if(w!=0xf0)</p><p><b>  {</b></p><p>  delay(10);</p>&l

52、t;p><b>  w=PC;</b></p><p><b>  w=w&0xf0;</b></p><p>  if(w!=0xf0)</p><p><b>  {</b></p><p><b>  w=PC;</b></p&g

53、t;<p><b>  switch(w)</b></p><p><b>  {</b></p><p>  case 0xe7:</p><p><b>  key=0;</b></p><p><b>  break;</b></

54、p><p>  case 0xd7:</p><p><b>  key=1;</b></p><p><b>  break;</b></p><p>  case 0xb7:</p><p><b>  key=2;</b></p><

55、;p><b>  break;</b></p><p>  case 0x77:</p><p><b>  key=3;</b></p><p><b>  break;</b></p><p><b>  }</b></p><

56、;p>  beep=~beep;</p><p>  TH0=a[key]/256;</p><p>  TL0=a[key]%256;</p><p><b>  TR0=1;</b></p><p>  while(w!=0xf0) //松手判斷</p><p><b>

57、;  {</b></p><p><b>  w=PC;</b></p><p><b>  w=w&0xf0;</b></p><p><b>  }</b></p><p><b>  TR0=0;</b></p>&

58、lt;p>  temp[count++]=a[key]; </p><p><b>  }</b></p><p><b>  }</b></p><p>  PC=0XFB; //第二排</p><p><b>  w=PC;</b></p>&

59、lt;p><b>  w=w&0xf0;</b></p><p>  if(w!=0xf0)</p><p><b>  {</b></p><p>  delay(10);</p><p><b>  w=PC;</b></p><p>

60、<b>  w=w&0xf0;</b></p><p>  if(w!=0xf0)</p><p><b>  {</b></p><p><b>  w=PC;</b></p><p><b>  switch(w)</b></p>

61、<p><b>  {</b></p><p>  case 0xeb:</p><p><b>  key=4;</b></p><p><b>  break;</b></p><p>  case 0xdb:</p><p><b

62、>  key=5;</b></p><p><b>  break;</b></p><p>  case 0xbb:</p><p><b>  key=6;</b></p><p><b>  break;</b></p><p>

63、  case 0x7b:</p><p><b>  key=7;</b></p><p><b>  break;</b></p><p><b>  }</b></p><p>  beep=~beep;</p><p>  TH0=a[key]/2

64、56;</p><p>  TL0=a[key]%256;</p><p><b>  TR0=1;</b></p><p>  while(w!=0xf0)</p><p><b>  {</b></p><p><b>  w=PC;</b><

65、/p><p><b>  w=w&0xf0;</b></p><p><b>  }</b></p><p><b>  TR0=0;</b></p><p>  temp[count++]=a[key]; </p><p><b>

66、;  }</b></p><p><b>  } </b></p><p>  } //這個(gè)括號(hào)是qidong對(duì)應(yīng)</p><p><b>  }</b></p><p>  void delay(uint z)</p><p><b>  {&l

67、t;/b></p><p><b>  uint x,y;</b></p><p>  for(x=z;x>0;x--)</p><p>  for(y=110;y>0;y--);</p><p><b>  }</b></p><p>  void tim

68、er0() interrupt 1</p><p><b>  {</b></p><p>  TH0=a[key]/256;</p><p>  TL0=a[key]%256;</p><p>  beep=~beep;</p><p><b>  }</b></p&

69、gt;<p>  void kaishi()</p><p><b>  {</b></p><p><b>  PC=0XFE;</b></p><p>  if(PC==0xee)</p><p><b>  {</b></p><p>

70、;<b>  qidong=1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void wai0() interrupt 0</p><p>  { uint i;</p><p>&

71、lt;b>  while(1)</b></p><p>  { chongfu();</p><p>  if(changge==1)</p><p><b>  {</b></p><p>  for(i=0;i<count;i++)</p><p><b&g

72、t;  {</b></p><p>  a[key]=temp[i];//轉(zhuǎn)接一下,好調(diào)用定時(shí)器00</p><p><b>  beep=1;</b></p><p>  TH0=a[key]/256;</p><p>  TL0=a[key]%256;</p><p><b&

73、gt;  TR0=1;</b></p><p>  if(i==6||i==13||i==20||i==27||i==34||i==41) delay(500);</p><p><b>  else</b></p><p>  delay(200);</p><p><b>  TR0=0;

74、</b></p><p>  delay(200);</p><p><b>  }</b></p><p><b>  count=0;</b></p><p><b>  } </b></p><p><b>  }

75、 </b></p><p><b>  }</b></p><p>  void chongfu()</p><p><b>  {</b></p><p><b>  PC=0XFE;</b></p><p>  if(PC==0xde)&

76、lt;/p><p><b>  {</b></p><p>  changge=1;</p><p><b>  } </b></p><p><b>  }</b></p><p>  附2 系統(tǒng)原理圖</p><p><

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論