版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 單片機課程設(shè)計報告書 基于AT89C51單片機的多音階電子琴的設(shè)計摘要單片機是電子、計算機及機電專業(yè)的一門重要的必修課程。要求我們掌握單片機的基本組成和工作原理、會變程序的一般編寫方法、常用接口電路的軟硬件設(shè)計方法,具備基本的單片機系統(tǒng)應(yīng)用與開發(fā)能力。隨著科技的快速發(fā)展,單片機的應(yīng)用日益普遍。單片機具有強大的控制功能和靈活的編程實現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一部分。本單片機系統(tǒng)設(shè)計應(yīng)用單片機控制技術(shù),用AT89C51單片機為核心控制元件根據(jù)本學(xué)期所學(xué)的單片機知識結(jié)合設(shè)計了一套單片機控制的電子琴系統(tǒng)。電子琴是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,是一種新型的鍵盤樂器,它在現(xiàn)代音樂
2、扮演著重要的角色。本次設(shè)計首先對單片機設(shè)計簡易電子琴仔細分析,接著制作硬件電路和編寫軟件的程序,最后進行軟硬件的調(diào)試運行。并且從原理圖,主要芯片,各模塊的原理和各個模塊的程序調(diào)試來闡述。利用單片機產(chǎn)生不同頻率來獲得我們要求的音階,實現(xiàn)高、中、低共21個音符的發(fā)音和顯示和音樂播放時的控制顯示,并且能自動播放程序中編排的音樂。系統(tǒng)運行穩(wěn)定,其優(yōu)點是硬件電路簡單,軟件功能完善,控制系統(tǒng)可靠,性價比高等,具有一定的使用和參考價值。關(guān)鍵詞:單片機、電子琴、AT89C51、獨立鍵盤、目 錄第 1 章 引 言. 1.1. 1 設(shè)計背景. 11.2 設(shè)計任務(wù). 11.3 設(shè)計目的. 11.4 設(shè)計思路. 1第
3、 2 章 方案論證. 12.1 方案論證. 1第 3 章 硬件系統(tǒng)設(shè)計. 23.1時鐘電路. 23.2 復(fù)位電路. 33.3 原理框圖. 33. 4 顯示部分設(shè)計. 33.5 按鍵部分設(shè)計. 43.6 發(fā)音部分設(shè)計. 5第 4 章 軟件系統(tǒng)設(shè)計. 54.1 系統(tǒng)分析. 54.2 參數(shù)計算. 74.3 程序設(shè)計. 8第 5 章 實驗結(jié)果. 105.1硬件調(diào)試. 105.2 軟件調(diào)試. 105.3 仿真結(jié)果. 105.4 結(jié)果分析. 11第 6 章 總 結(jié). 11附錄一:系統(tǒng)整體電路圖. 12附錄二:元器件清單. 12附錄三:源程序代碼. 13參 考 文 獻. 19第一章 引言1.1 設(shè)計背景隨著
4、電子科學(xué)技術(shù)的飛速發(fā)展,電子技術(shù)正在逐漸改善著人們的學(xué)習(xí)、生活、工作,因此開發(fā)本系統(tǒng)希望能夠給人們帶來更多的生活樂趣?;诋斍笆袌錾系耐婢咝枨罅吭龃?,其中電子琴就是一個很好的應(yīng)用方面。單片機技術(shù)使我們可以利用軟硬件來實現(xiàn)電子琴的功能,從而可以實現(xiàn)電子琴的微型化,可以用作玩具琴、音樂轉(zhuǎn)盤以及音樂童車等等。并且可以進行一定的功能擴展。鑒于傳統(tǒng)電子琴可以用鍵盤上的“1”到“A”鍵演奏從低So到高DO等11個音,從而也可以通過單片機實現(xiàn)對十個按鍵的擴展,實現(xiàn)七個音符鍵的高、中、低21個音調(diào)的顯示播放和任意音樂的自動播放。本次設(shè)計將十個音鍵制作成獨立鍵盤,其中七個為音符鍵,三個為控制鍵,并用數(shù)碼管進行顯
5、示,使電子琴的功能更加完美。不但可以實現(xiàn)對按鍵的顯示,而且可以實現(xiàn)對音樂的自動存儲和播放,使該設(shè)計功能更加完善。1.2 設(shè)計任務(wù)1、根據(jù)要求,設(shè)計以單片機為核心的多音階電子琴系統(tǒng),可隨意彈奏想要表達的音樂;2、針對要求控制的對象完成程序的編制;3、硬件軟件聯(lián)調(diào),完成題目所要求的功能;4、有高中低三個音階,并有顯示電路。1.3 設(shè)計目的1、通過課程設(shè)計,使我們能夠深入理解單片機系統(tǒng)的工作原理,接口電路的設(shè)計及調(diào)試方法,培養(yǎng)綜合運用所學(xué)理論知識分析和解決實際問題的能力;2、使用AT89C51芯片的串口功能,利用獨立式鍵盤和AT89C51單片機以及揚聲器實現(xiàn)樂曲的演奏;3、用keil軟件進行編程與調(diào)
6、試,利用Proteus 7 Professional軟件進行繪制硬件電路圖且進行仿真。1.4 設(shè)計思路用獨立式鍵盤的7個按鍵分別對應(yīng)相應(yīng)的音符,當按下某一個按鍵時,產(chǎn)生一個相應(yīng)音符,操作者按一定的節(jié)奏、規(guī)律進行輸入時,信號經(jīng)過單片機處理,然后經(jīng)音頻放大后經(jīng)揚聲器輸出音頻信號,產(chǎn)生樂曲。本次設(shè)計有一個創(chuàng)新,就是預(yù)先存放一段音樂程序在芯片內(nèi),整個設(shè)計既可以作電子琴用又可以作音樂盒用,且?guī)э@示功能。第二章 方案論證2.1 方案論證2.1.1總體設(shè)計 采用AT89S52單片機作為主控芯片,設(shè)置鍵盤、蜂鳴器等外圍器件,另外還用到一些簡單器件如:四位數(shù)碼管,和NPN型三極管及電阻等。利用按鍵實現(xiàn)音符和音調(diào)
7、的輸入;兩位的數(shù)碼管進行被操作的按鍵顯示;用NPN型三極管8550實現(xiàn)低音頻功率放大;最后用蜂鳴器發(fā)音。主控芯片采用AT89S52單片機,它是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,具有高性能、高速度、體積小、價格低廉、穩(wěn)定可靠、應(yīng)用廣泛的特點。避免了由于元器件種類、個數(shù)繁多,而過于復(fù)雜的硬件電路也容易引起系統(tǒng)的精度不高、體積過大等不利因素。同時具有強大的控制功能和靈活的編程實現(xiàn)特性,由于本設(shè)計主要用于人們娛樂方面,因此在設(shè)計上盡量使其安全以及簡單易操作。具有經(jīng)濟可行性、技術(shù)可行性、實物應(yīng)用性。2.1.2單片機選型 硬件電路要以單片機作為主控芯片,實現(xiàn)按鍵輸入音符和音調(diào),四位數(shù)碼管的顯示以及低音頻功率放
8、大和蜂鳴器發(fā)音。針對本設(shè)計的功能和用途,采用AT89C51單片機更好,實現(xiàn)功能完全,性價比較高,更適合本設(shè)計。第三章 硬件系統(tǒng)設(shè)計3.1 時鐘電路 單片機內(nèi)部具有一個高增益反相放大器,用于構(gòu)成振蕩器。通常在引腳XTALl和XTAL2跨接石英晶體和兩個補償電容構(gòu)成自激振蕩器,結(jié)構(gòu)圖2 中X1、C1、C2。可以根據(jù)情況選擇6MHz、12MHz或24MHz等頻率的石英晶體,補償電容通常選擇30pF左右的瓷片電容。圖3-1、時鐘電路3.2 復(fù)位電路 單片機小系統(tǒng)常采用上電自動復(fù)位和手動按鍵復(fù)位兩種方式實現(xiàn)系統(tǒng)的復(fù)位操作。上電復(fù)位要求接通電源后,自動實現(xiàn)復(fù)位操作。手動復(fù)位要求在電源接通的條件下,在單片機
9、運行期間,用按鈕開關(guān)操作使單片機復(fù)位。其結(jié)構(gòu)如下圖。上電自動復(fù)位通過電容C3充電來實現(xiàn)。手動按鍵復(fù)位是通過按鍵將電阻R1與VCC接通來實現(xiàn)。圖3-2、復(fù)位電路3.3 原理框圖本系統(tǒng)有主控芯片89S52、發(fā)音單元、顯示模塊、按鍵模塊組成。圖3-3、原理框圖3.4 顯示部分設(shè)計3.4.1數(shù)碼顯示方式數(shù)碼顯示有靜態(tài)顯示方式與動態(tài)顯示方式兩種。工作在靜態(tài)顯示方式時,數(shù)碼管的位線與電源一直相連,數(shù)碼管中的二極管均處于通電狀態(tài),即在靜態(tài)工作方式下,顯示電路中數(shù)碼管的位選線是同時選通,而數(shù)碼管的段選線是獨立輸入。工作在動態(tài)顯示方式時,數(shù)碼管的位線在掃描控制電路的控制下按設(shè)定順序?qū)?,即電路中的?shù)碼管是逐個接
10、通電源,數(shù)碼管的段選線以并聯(lián)方式與譯碼電路聯(lián)接,即在動態(tài)工作方式下,數(shù)碼管不是同時導(dǎo)通顯示而是按照設(shè)定順序分時導(dǎo)通顯示。3.4.2八位數(shù)碼管的結(jié)構(gòu)本次課程設(shè)計的顯示電路采用兩位數(shù)碼管進行顯示,由于此設(shè)計采用的是共陰極的,使用時不加限流電阻。為了顯示字符,要為 LED 顯示器段碼,除了組成8字形的字符的 7段,另加上1個小數(shù)點位,共計8段, 因此提供給 LED 顯示器的顯示段碼為1個字節(jié)。 圖3-4、數(shù)碼管電路3.5 按鍵部分設(shè)計3.5.1鍵盤設(shè)計鍵盤在單片機應(yīng)用系統(tǒng)中是一個關(guān)鍵的部件,它能實現(xiàn)向計算機輸入數(shù)據(jù),傳送命令等功能,是人工干預(yù)計算機的主要手段。鍵盤可以分為2類:獨立連接式鍵盤和矩陣式
11、鍵盤。本設(shè)計采用獨立式鍵盤。獨立式按鍵是直接用I/O口線構(gòu)成的單個按鍵電路,其特點是每個按鍵單獨占用一根I/O口線,每個按鍵的工作不會影響其它I/O口線的狀態(tài)。獨立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡單,但每個按鍵必須占用一根I/O口線,然而,在按鍵較多時,I/O口線浪費較大,不宜采用。獨立式按鍵軟件常采用查詢式結(jié)構(gòu)。先逐位查詢每根I/O口線的輸入狀態(tài),如某一根I/O口線輸入為低電平,則可確認該I/O口線所對應(yīng)的按鍵已按下,然后,再轉(zhuǎn)向該鍵的功能處理程序。由于本程序較為簡單,為了使用方便及節(jié)省資源,選擇獨立式鍵盤。下圖為獨立式鍵盤電路圖:圖3-5、獨立式鍵盤電路圖3.6 發(fā)音部分設(shè)計圖3-6、揚聲器
12、電路圖第四章 軟件系統(tǒng)設(shè)計4.1 系統(tǒng)分析4.1.1系統(tǒng)軟件的組成(1)鍵盤掃描程序:檢測是否有按鍵按下,有按鍵按下則記錄按下鍵的鍵值,并跳轉(zhuǎn)至功能轉(zhuǎn)移程序;無按鍵按下,則返回鍵盤掃描程序繼續(xù)檢測。(2)功能轉(zhuǎn)移程序:對檢測到的按鍵值進行判斷,是琴鍵則跳轉(zhuǎn)至琴鍵處理程序,是功能鍵則跳轉(zhuǎn)至相應(yīng)的功能程序,我們設(shè)計的功能程序有兩種,即音色調(diào)節(jié)功能和自動播放樂曲的功能。(3)琴鍵處理程序:根據(jù)檢測到的按鍵值,查詢音調(diào)表,給計時器賦值,使發(fā)出相應(yīng)頻率的聲音。(4)自動播放歌曲程序:檢測到按鍵按下的是自動播放歌曲功能鍵后執(zhí)行該程序,電子琴會自動播放事先已經(jīng)存放的歌曲,歌曲播放完畢之后自動返回至鍵盤掃描程
13、序,繼續(xù)等待是否有按鍵按下。4.1.2 系統(tǒng)總體功能流程圖圖4-1、系統(tǒng)總體功能流程圖4.2 參數(shù)計算4.2.1發(fā)音原理若要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),再將此周期除以2,即為半周期的時間。利用定時器計時半周期時間,每當計時終止后就將P1.0反相,然后重復(fù)計時再反相。就可在P1.0引腳上得到此頻率的脈沖。利用AT89C51的內(nèi)部定時器使其工作計數(shù)器模式(MODE1)下,改變計數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法產(chǎn)生不同音階。4.2.2 計算舉例例如,頻率為523Hz,其周期T1/5231912s,因此只要令計數(shù)器計時956s/1s956,每計數(shù)956次時將I/O反相,就可
14、得到中音DO(523Hz)。計數(shù)脈沖值與頻率的關(guān)系式是:Nfi÷2÷fr,式中,N是計數(shù)值;fi是機器頻率(晶體振蕩器為12MHz時,其頻率為1MHz);fr是想要產(chǎn)生的頻率。其計數(shù)初值T的求法如下:T65536N65536fi÷2÷fr例如:設(shè)K65536,fi1MHz,求中音DO(261Hz)。T65536N65536fi÷2÷fr655361000000÷2÷fr65536500000/fr,中音DO的T65536500000/52364580。4.2.3 計算結(jié)果(1)單片機12MHZ晶振,中音符與計數(shù)T0
15、相關(guān)的計數(shù)值如下表所示:音符頻率(Hz)計數(shù)值(T值)音符頻率(Hz)計數(shù)值(T值)低1DO26263628#4FA#74064860#1DO#27763737中5SO78464898低2RE29463835#5SO#83194934#2RE#31163928中6LA88064968低3MI33064021#6LA#93264994低4FA34964103中7SI96865030#4FA#37064185低1DO104665058低SO39264260#1DO#110965085#5SO#41564331高2RE117565110低6LA44064400#2RE#124565134#6LA#4
16、6664463高3MI131865157低7SI49464524高4FA139765178中1DO52364580#4FA#149065198#1DO#55464633高5SO156865217中2RE58764633#5SO#166165235#2RE#62264884高6LA176065252中3MI65964732#6LA#186565268中4FA69864820高7SI196765283采用查表程序進行查表時,可以為這個音符建立一個表格,有助于單片機通過查表的方式來獲得相應(yīng)的數(shù)據(jù):低音019之間,中音在2039之間,高音在4059之間。4.3程序設(shè)計4.3.1 判斷音階(高中低音)子
17、程序 在軟件設(shè)計中采用yinjie代表音階,如下表所示:音階Yinjie值高2中1低0初始化狀態(tài)為中音(yinjie=1),電路中設(shè)計高、低兩個音階鍵。上電后,若無按鍵按下,則為中音模式。若音階鍵被按下,則如下流程圖所示,初始化后進行按鍵掃描,在高音鍵按下,若初始yinjie不為2,則另yinjie=2,進入高音工作模式,若初始yinjie為2,則對yinjie進行初始化,即另yinjie=1,重新進入進入中音工作模式,這樣即實現(xiàn)了高音鍵切換高、中音方式的轉(zhuǎn)換。同理,用低音鍵實現(xiàn)中、低音的切換。圖4-2、判斷音階(高中低音)子程序4.3.2 播放子程序(包括自動播放存儲音樂和按鍵發(fā)音)本設(shè)計共
18、兩種播放模式,包括自動播放存儲音樂和按鍵發(fā)音。上電后,首先開中斷并設(shè)定定時器0為工作方式1,當自動播放鍵按下時,進入中斷,根據(jù)樂譜在定義的音頻數(shù)組中查找相應(yīng)音律,然后給定時器賦初值,即開始播放音樂。當DO、RE、MI、FA、SO、LA、SI七種音符鍵按下時,根據(jù)音階值(如3.3.1中高中低對應(yīng))和音符值在定義的音頻數(shù)組中查找相應(yīng)音律,然后給定時器賦初值,即按鍵發(fā)音。圖4-3、播放子程序第五章 實驗結(jié)果5.1硬件調(diào)試硬件調(diào)試主要是針對單片機部分進行的調(diào)試。在上電之前,先確保電路中不存在斷路或短路情況,這一工作是整個調(diào)試工作的第一步,也是非常重要的一個步驟。在這部分調(diào)試中主要使用的工具是萬用表,用
19、來完成檢測電路中是否存在斷路或者短路情況的任務(wù)。注意焊點之間,確保焊點沒有短接在一起,同時注意焊點的美觀,確保沒有開路以及短路的現(xiàn)象出現(xiàn)。在確保硬件電路正常且無異常情況(斷路或短路)的情況下方可上電調(diào)試,上電調(diào)試的目的是檢驗電路是否接錯,同時還要檢驗原理是否正確,在本次設(shè)計中,上電調(diào)試主要是檢測單片機控制部分、數(shù)碼管點亮部分、和音頻轉(zhuǎn)換電路硬件調(diào)試。1、數(shù)碼管LED電路調(diào)試:接通電源,隨機按下按鈕可以看到數(shù)碼管顯示數(shù)字。2、鍵盤單片機控制部分調(diào)試:上電后,隨機按動鍵盤可以發(fā)現(xiàn)各個按鍵對應(yīng)的音正確。5.2 軟件調(diào)試調(diào)試主要方法和技巧:通常一個調(diào)試程序應(yīng)該具備至少四種性能:跟蹤、斷點、查看變量、更
20、改數(shù)值。整個程序是一個主程序調(diào)用各個子程序?qū)崿F(xiàn)功能的過程,要使主程序和整個程序都能平穩(wěn)運行,各個模塊的子程序的正確與平穩(wěn)運行必不可少,所以在軟件調(diào)試的最初階段就是把各個子程序模塊進行分別調(diào)試。5.3 仿真結(jié)果圖5-1、低音音符LA仿真圖5.4 結(jié)果分析根據(jù)仿真結(jié)果可知,本次課程設(shè)計能夠準確并徹底的完成設(shè)計要求。右側(cè)數(shù)碼管可以顯示a、b、c三種結(jié)果,分別代表低音、中音和高音。右側(cè)數(shù)碼管可以顯示1、2、3、4、5、6、7七個數(shù)字,分別代表DO、RE、MI、FA、SO、LA、SI七種音符。當系統(tǒng)上電后,若按下低音鍵,則選定工作方式為低音模式。P0口連接數(shù)碼管段選端,右側(cè)數(shù)碼管顯示的6即代表LA。四位
21、數(shù)碼管即代表低音LA。第六章 總結(jié)本次課程設(shè)計我們組做的課題是基于AT89C51單片機的多音階電子琴的設(shè)計,這是一個實用性質(zhì)非常強的題目。它與我們?nèi)粘I盥?lián)系緊密。這個課題的選取對所有參加這個課題研究的同學(xué)們來說都是一個非常好的鍛煉。在這次課程設(shè)計中,經(jīng)過我們的努力,在仿真軟件上實現(xiàn)了高、中、低21個音符的發(fā)聲和音樂的自動播放,我們有了一定的成就感,我們也進一步熟悉和掌握了單片機的內(nèi)部結(jié)構(gòu)和工作原理,了解了單片機應(yīng)用系統(tǒng)設(shè)計的基本方法和步驟, 掌握了單片機仿真軟件Proteus的使用方法和鍵盤、顯示器在單片機控制系統(tǒng)中的應(yīng)用??傊?,通過這次課程設(shè)計,我們都清楚明白了自己的能力是怎樣的,想提高還
22、得歸于多鍛煉,多動手,多向別人學(xué)習(xí)。當然,通過做這個課題,也暴露出來了很多問題值得我們?nèi)ヌ接懡鉀Q和克服:第一,不夠細心,不夠嚴謹;第二,因?qū)φn本理論的掌握度不夠?qū)е戮幊坛霈F(xiàn)錯誤;第三,課題研究不夠深刻,課題研究總是浮于表面文章,對程序?qū)ψ詈蠼Y(jié)果研究不夠造成雖然某一塊地方做的比較好但是在大腦中沒有一個總體的印象,無法理論聯(lián)系實際,研究成果的應(yīng)用嚴重背離實際現(xiàn)實,影響使用。這些問題的發(fā)現(xiàn),有助于提高我們在以后的工作和學(xué)習(xí)中對此類問題的認識,確保不在同一問題上再次犯錯。錯誤傳遞領(lǐng)導(dǎo)的命令和遲到都是對工作的極度不負責,都是工作上的極大失職,以后要嚴格要求自己,堅決杜絕此類事情的再次發(fā)生,否則這一次次的
23、“小錯”必將帶來人生中的“大后悔”!總體來說,此次單片機課程設(shè)計使我們收獲良多,雖然課程設(shè)計的過程中遇到了很多困難與問題,但我們最終還是完成了設(shè)計的任務(wù)及要求。不過在向同學(xué)請教,各方面都有了不同程度的改善。無論做什么事情,只要你足夠堅強,有足夠的毅力和決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。最后,衷心感謝謝老師給我們提供了這次難得的實訓(xùn)機會,給了我這么深刻的人生體會,這一切一切對我的人生將是一個新的旅程!附錄一:系統(tǒng)整體電路圖附錄二:元器件清單序號元器件名稱數(shù)量(個)1AT89C511230P瓷片電容2312MHz晶振1410UF/16V電解電容15按鈕1160.5W / 8揚聲器1
24、7數(shù)碼管1810K電阻19排阻(9引腳)1附錄三:源程序代碼#include<reg52.h> #define uchar unsigned char void Run(void); void KeyScan(void); void PlayKey(void); void delay_1ms(uchar i); void PlayMusic(void); void DisPlay(void); sbit Beep=P37; uchar Th0,Tl0; /TH0,TL0 uchar flag=0xff; /模式,0表示音樂,ff表示按鍵uchar key=0; /按鍵代號 ucha
25、r a; uchar gaodi=0; /音樂音符 uchar code MusicCode=0XFc,0X44,0XFc,0Xac,0XFd,0X09,0XFd,0X34, 0XFD,0X82,0XFD,0Xc8,0XFD,0X06,0XFb,0X04, 0Xfb,0X90,0Xfc,0X0c,0Xfe,0X22,0Xf9,0X5b,0Xfa,0x15 ; /月亮代表我的心 uchar code Music=0X02,0X82, 0X16,0X32,0X54,0X02,0X52, 0XA6,0X32,0X54,0X02,0X52, 0X64,0X74,0XB6,0X64, 0X52,0X5C
26、,0X32,0X22, 0X16,0X12,0X14,0X32,0X22, 0X16,0X12,0X14,0X22,0X32, 0X26,0X12,0X94,0X22,0X32, 0X2C, 0X32,0X52, 0X36,0X22,0X14,0X54, 0XAC,0X92,0XA2,0X96,0X0A2,0X96,0X82, 0X3C,0X54, 0X36,0X22,0X14,0X54, 0XAC,0X92,0XA2, 0X16,0X12,0X14,0X22,0X32, 0X2C,0X02,0X82, 0X16,0X32,0X56,0X12, 0XA6,0X32,0X56,0X52, 0X6
27、6,0X72,0XB6,0X62, 0X62,0X52,0X58,0X32,0X22, 0X16,0X12,0X14,0X32,0X22, 0X16,0X12,0X14,0X22,0X32, 0X1C, 0XFF;/按鍵音符uchar code KeyCode=0XFF,0XFF, 0xF8,0x8B,0xF9,0x5B,0xFA,0x14,0xFA,0x66,0xFB,0x03,0xFB,0x8F,0xFC,0x0B,/低音 0xFC,0x43,0xFC,0xAB,0xFD,0x08,0xFD,0x33,0xFD,0x81,0xFD,0xC7,0xFE,0x05,/中音 0xFE,0x21,
28、0xFE,0x55,0xFE,0x84,0xFE,0X99,0XFE,0xC0,0xFE,0xE3,0xFF,0x02,/高音 ; void main(void) P1=0XFF; /初始化 P0=0XFF; P2=0;TMOD=0X01; IT0=1;TR0=0; EX0=1; ET0=1; EA=1; while(1) KeyScan(); /按鍵掃描 Run(); /運行 DisPlay(); /顯示 void Run(void) /運行 if(flag=0) PlayMusic(); else PlayKey(); void KeyScan(void) /按鍵掃描 if(P1=0XFE
29、) /第一按鍵按下 delay_1ms(12); /延時12MS if(P1=0XFE) /確定按下 key=1; a=key; else if(P1=0XFD) delay_1ms(12); if(P1=0XFD) key=2; a=key; else if(P1=0XFB) delay_1ms(12); if(P1=0XFB) key=3; a=key; else if(P1=0XF7) delay_1ms(12); if(P1=0XF7) key=4; a=key; else if(P1=0XEF) delay_1ms(12); if(P1=0XEF) key=5; a=key; els
30、e if(P1=0XDF) delay_1ms(12); if(P1=0XDF) key=6; a=key; else if(P1=0XBF) delay_1ms(12); if(P1=0XBF) key=7; a=key; else if(P0=0XFE) /低音模式鍵按下 delay_1ms(12); if(P0=0XFE) gaodi=0; a=gaodi; else if(P0=0XFD) /中音模式鍵按下 delay_1ms(12); if(P0=0XFD) gaodi=1; a=gaodi; else if(P0=0XFB) /高音模式鍵按下 delay_1ms(12); if(P0=0XFB) gaodi=2; a=gaodi; else return; void PlayKey(void) /響應(yīng)按鍵 if(key=0) return; else Th0=KeyCodegaodi*14+key*2; Tl0=KeyCodegaodi*14+key*2+1; TR0=1; delay_1ms(187); TR0=0; key=0; time0() interrupt 1 /定時器0中斷 TH0=Th0; TL0=Tl0; Beep=Bee
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇州站施工組織設(shè)計方案(幕墻)
- 二零二五年度金融行業(yè)IT運維安全保障協(xié)議3篇
- 專業(yè)化海路物流合作合同(2024版)版B版
- 2025年度環(huán)保建筑材料推廣合作框架協(xié)議4篇
- 2025年度購物中心場地合作開發(fā)及商業(yè)運營合同4篇
- 二零二四圖書購置項目與圖書館無障礙閱讀服務(wù)合同3篇
- 2025年度智能攤位管理系統(tǒng)開發(fā)與實施合同4篇
- 2025年度劇本創(chuàng)作與版權(quán)授權(quán)管理合同3篇
- 二零二五版4S店汽車銷售合同樣本圖2篇
- 2025年度農(nóng)產(chǎn)品質(zhì)量安全追溯體系服務(wù)合同4篇
- 衡水市出租車駕駛員從業(yè)資格區(qū)域科目考試題庫(全真題庫)
- 護理安全用氧培訓(xùn)課件
- 《三國演義》中人物性格探析研究性課題報告
- 注冊電氣工程師公共基礎(chǔ)高數(shù)輔導(dǎo)課件
- 土方勞務(wù)分包合同中鐵十一局
- 乳腺導(dǎo)管原位癌
- 冷庫管道應(yīng)急預(yù)案
- 司法考試必背大全(涵蓋所有法律考點)
- 公共部分裝修工程 施工組織設(shè)計
- 《學(xué)習(xí)教育重要論述》考試復(fù)習(xí)題庫(共250余題)
- 裝飾裝修施工及擔保合同
評論
0/150
提交評論