基于.-51單片機(jī)的電子琴設(shè)計(jì)_第1頁
基于.-51單片機(jī)的電子琴設(shè)計(jì)_第2頁
基于.-51單片機(jī)的電子琴設(shè)計(jì)_第3頁
基于.-51單片機(jī)的電子琴設(shè)計(jì)_第4頁
基于.-51單片機(jī)的電子琴設(shè)計(jì)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

...wd......wd......wd...摘要隨著社會的開展進(jìn)步,音樂逐漸成為我們生活中很重要的一局部,有人曾說喜歡音樂的人不會向惡。我們都會抽空欣賞世界名曲,作為對精神的洗禮。本論文設(shè)計(jì)一個基于單片機(jī)的簡易電子琴。電子琴是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,是一種新型的鍵盤樂器。它在現(xiàn)代音樂扮演著重要的角色,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)融入現(xiàn)代人們的生活中,成為不可替代的一局部。本文的主要內(nèi)容是用AT89C51單片機(jī)為核心控制元件,設(shè)計(jì)一個電子琴。以單片機(jī)作為主控核心,與鍵盤、揚(yáng)聲器等模塊組成核心主控制模塊,在主控模塊上設(shè)有8個按鍵和揚(yáng)聲器。本系統(tǒng)運(yùn)行穩(wěn)定,其優(yōu)點(diǎn)是硬件電路簡單,軟件功能完善,控制系統(tǒng)可靠,性價(jià)比擬高,具有一定的實(shí)用和參考價(jià)值。關(guān)鍵詞:AT89C51單片機(jī);數(shù)碼管;電子琴目錄TOC\o"1-3"\h\u19411系統(tǒng)方案設(shè)計(jì)1228661.1設(shè)計(jì)指標(biāo)1267221.2系統(tǒng)方案綜述16511.3系統(tǒng)設(shè)計(jì)思路1220412硬件設(shè)計(jì)2191732.1電路圖2251272.2單片機(jī)AT89C51簡介2307482.3單片機(jī)的工作過程4115212.4鍵盤電路5195122.5顯示電路536622.6聲音電路773123系統(tǒng)軟件設(shè)計(jì)7289963.1延時(shí)程序設(shè)計(jì)9252313.2定時(shí)器初始化及其中斷函數(shù)9280323.3例如音樂播放程序10301153.4單獨(dú)按鍵中斷處理函數(shù)10209934實(shí)驗(yàn)結(jié)果與分析10203534.1Proteus軟件簡介1031734.2仿真調(diào)試12117765設(shè)計(jì)心得1359016參考文獻(xiàn)1411835附錄1532225附錄A元件清單、器件識別與檢測1527342附錄B程序源代碼161系統(tǒng)方案設(shè)計(jì)1.1設(shè)計(jì)指標(biāo)=1\*GB3①設(shè)計(jì)一個簡易的八音符電子琴,它可通過按鍵輸入來控制音響。=2\*GB3②演奏時(shí)可以選擇是手動演奏〔由鍵盤輸入〕還是自動演奏已存曲目,并且在演奏完已存曲目后可自動復(fù)位。1.2系統(tǒng)方案綜述從系統(tǒng)實(shí)現(xiàn)的功能上來看,電子琴的設(shè)計(jì)主要利用所給鍵盤的1,2,3,4,5,6,7,8八個鍵,能夠發(fā)出八個不同的音調(diào),并且要求按下按鍵發(fā)聲,松開延時(shí)一段時(shí)間停頓,中間再按別的鍵再發(fā)出另外一種音調(diào)的聲音。從系統(tǒng)硬件構(gòu)造上來看,我們主要使用到AT89C51單片機(jī),復(fù)位電路以及開關(guān)等。將這些硬件電路有機(jī)的結(jié)合起來使之滿足電子琴的實(shí)現(xiàn)硬件需要。從音樂產(chǎn)生的原理方面來看,通過控制單片機(jī)的定時(shí)器的定時(shí)時(shí)間產(chǎn)生不同頻率的音頻脈沖,經(jīng)放大驅(qū)動發(fā)出不同音樂的聲音。用軟件延時(shí)來控制發(fā)音時(shí)間的長短。把音樂的音符和相應(yīng)的節(jié)拍變換為定時(shí)常數(shù)和延時(shí)常數(shù),分別來控制定時(shí)器產(chǎn)生的脈沖頻率和發(fā)出該音頻脈沖持續(xù)時(shí)間。因此,我們可以綜合上述方案設(shè)計(jì)原理,從軟件和硬件兩局部進(jìn)展有方案有步驟的分析和設(shè)計(jì)。1.3系統(tǒng)設(shè)計(jì)思路當(dāng)系統(tǒng)掃描到鍵盤上有鍵被按下,則快速檢測是哪一個鍵被按下,然后單片機(jī)的定時(shí)器被啟動,發(fā)出一定頻率的脈沖,該頻率的脈沖輸入到蜂鳴器后,就會發(fā)出相應(yīng)的音調(diào),如果在前一個按下的鍵發(fā)聲的同時(shí)有另一個鍵被按下,則啟動中斷系統(tǒng),前面鍵的發(fā)音停頓,轉(zhuǎn)到后按得鍵的發(fā)音程序,發(fā)出后按的鍵的音調(diào)。這樣,設(shè)計(jì)一個時(shí)鐘方式的電路來產(chǎn)生11.0592MHZ的振蕩頻率產(chǎn)生時(shí)鐘脈沖,一個按鍵電平復(fù)位電路對AT89C51單片機(jī)進(jìn)展復(fù)位,8個開關(guān)分別從P2.0,P2.1,P2.2,P2.3,P2.4,P2.5,P2.6,P2.7輸出,用于產(chǎn)生八個不同頻率的音,一個揚(yáng)聲器電路,從P3.2連接一個開關(guān)播放已存曲目,從P3.3與揚(yáng)聲器之間連接一個上拉電阻和三極管,驅(qū)動揚(yáng)聲器響應(yīng),以此來設(shè)計(jì)硬件電路。總體框圖如圖1-1所示。數(shù)碼管數(shù)碼管鍵盤矩陣鍵盤矩陣揚(yáng)聲器揚(yáng)聲器1-1總體框圖2硬件設(shè)計(jì)2.1電路圖硬件電路圖如圖2-1所示。圖2-1電路圖2.2單片機(jī)AT89C51簡介AT89C51是51系列單片機(jī)的一個型號,它是STC公司生產(chǎn)的。AT89C51是一個低電壓,高性能CMOS8位單片機(jī),片內(nèi)含8kbytes的可反復(fù)擦寫的Flash只讀程序存儲器和256bytes的隨機(jī)存取數(shù)據(jù)存儲器〔RAM〕,器件采用STC公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,功能強(qiáng)大的STC89C51單片機(jī)可提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。AT89C51有40個引腳,32個外部雙向輸入/輸出〔I/O〕端口,同時(shí)內(nèi)含2個外中斷口,3個16位可編程定時(shí)計(jì)數(shù)器,2個全雙工串行通信口,2個讀寫口線,STC89C51可以按照常規(guī)方法進(jìn)展編程,但不可以在線編程(S系列的才支持在線編程)。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)本錢AT89C51有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。其封裝及引腳圖如圖2-2。圖2-2單片機(jī)外封裝及單片機(jī)引腳圖AT89C51具體介紹如下:①主電源引腳〔2根〕VCC(Pin40):電源輸入,接+5V電源GND(Pin20):接地線②外接晶振引腳〔2根〕XTAL1(Pin19):片內(nèi)振蕩電路的輸入端XTAL2(Pin20):片內(nèi)振蕩電路的輸出端③控制引腳〔4根〕RST/VPP(Pin9):復(fù)位引腳,引腳上出現(xiàn)2個機(jī)器周期的高電平將使單片機(jī)復(fù)位。ALE/PROG(Pin30):地址鎖存允許信號PSEN(Pin29):外部存儲器讀選通信號EA/VPP(Pin31):程序存儲器的內(nèi)外部選通,接低電平從外部程序存儲器讀指令,如果接高電平則從內(nèi)部程序存儲器讀指令。④可編程輸入/輸出引腳〔32根〕AT89C52單片機(jī)有4組8位的可編程I/O口,分別為P0、P1、P2、P3口,每個口有8位〔8根引腳〕,共32根。P0口〔Pin39~Pin32〕:8位雙向I/O口線,名稱為P0.0~P0.7。P1口〔Pin1~Pin8〕:8位準(zhǔn)雙向I/O口線,名稱為P1.0~P1.7。P2口〔Pin21~Pin28〕:8位準(zhǔn)雙向I/O口線,名稱為P2.0~P2.7。P3口〔Pin10~Pin17〕:8位準(zhǔn)雙向I/O口線,名稱為P3.0~P3.7。2.3單片機(jī)的工作過程單片機(jī)自動完成賦予它的任務(wù)的過程,也就是單片機(jī)執(zhí)行程序的過程,即一條條執(zhí)行的指令的過程,所謂指令就是把要求單片機(jī)執(zhí)行的各種操作用的命令的形式寫下來,這是在設(shè)計(jì)人員賦予它的指令系統(tǒng)所決定的,一條指令對應(yīng)著一種根本操作;單片機(jī)所能執(zhí)行的全部指令,就是該單片機(jī)的指令系統(tǒng),不同種類的單片機(jī),其指令系統(tǒng)亦不同。為使單片機(jī)能自動完成某一特定任務(wù),必須把要解決的問題編成一系列指令〔這些指令必須是選定單片機(jī)能識別和執(zhí)行的指令〕,這一系列指令的集合就成為程序,程序需要預(yù)先存放在具有存儲功能的部件——存儲器中。存儲器由許多存儲單元〔最小的存儲單位〕組成,就像大樓房有許多房間組成一樣,指令就存放在這些單元里,單元里的指令取出并執(zhí)行就像大樓房的每個房間的被分配到了唯一一個房間號一樣,每一個存儲單元也必須被分配到唯一的地址號,該地址號稱為存儲單元的地址,這樣只要知道了存儲單元的地址,就可以找到這個存儲單元,其中存儲的指令就可以被取出,然后再被執(zhí)行。程序通常是順序執(zhí)行的,所以程序中的指令也是一條條順序存放的,單片機(jī)在執(zhí)行程序時(shí)要能把這些指令一條條取出并加以執(zhí)行,必須有一個部件能追蹤指令所在的地址,這一部件就是程序計(jì)數(shù)器PC〔包含在CPU中〕,在開場執(zhí)行程序時(shí),給PC賦以程序中第一條指令所在的地址,然后取得每一條要執(zhí)行的命令,PC在中的內(nèi)容就會自動增加,增加量由本條指令長度決定,可能是1、2或3,以指向下一條指令的起始地址,保證指令順序執(zhí)行。單片機(jī)最小應(yīng)用系統(tǒng)如2-3所示。圖2-3單片機(jī)最小應(yīng)用系統(tǒng)2.4鍵盤電路用AT89C51的并行口P1接鍵盤,在數(shù)碼管上顯示每個按鍵的對應(yīng)的音符號。如圖2-4。圖2-4單片機(jī)與鍵盤的連線圖本實(shí)驗(yàn)還用到單獨(dú)的一個按鍵用于控制播放音樂。該鍵與單片機(jī)的P3.2口連接可見主電路圖單片機(jī)電子琴硬件連接圖。2.5顯示電路8段LED數(shù)碼管是利用8個LED〔發(fā)光二極管〕外加一個小數(shù)點(diǎn)的LED組合而成的顯示設(shè)備,可以顯示0—9等10個數(shù)字和小數(shù)點(diǎn),使用非常廣泛。這類數(shù)碼管可以分為共陽極與共陰極兩種,共陽極就是把所有LED的陽極連接到共同接點(diǎn)com,而每個LED的陰極分別為a、b、c、d、e、f、g及dp〔小數(shù)點(diǎn)〕;共陰極則是把所有LED的陰極連接到共同接點(diǎn)com,而每個LED的陽極分別為a、b、c、d、e、f、g及dp〔小數(shù)點(diǎn)〕,如以下列圖所示。圖中的8個LED分別與上面那個圖中的A—DP各段相對應(yīng),通過控制各個LED的亮滅來顯示數(shù)字,如圖2-5所示。圖2-5數(shù)碼管共陽極與共陰極原理圖選用單片機(jī)的P0口P0.0到P0.7分別接在LED端的a—dp上來控制LED各個段碼燈的控制,來實(shí)現(xiàn)數(shù)字,例如要顯示低音符3,只需將共陰極的數(shù)碼管的a、b、e、f接高電平即可顯示“c〞共陽極的對應(yīng)的接低電平。這里我們選用共陽極的LED數(shù)碼管,對于中音音符3,則需要將數(shù)碼管的b、c、d、e、g置于低電平。數(shù)碼管就會顯示“3〞。具體可參考數(shù)碼管相關(guān)的書籍。LED數(shù)碼管與單片機(jī)連接圖如圖2-6所示。圖2-6單片機(jī)與數(shù)碼管連接圖2.6聲音電路喇叭在數(shù)字電路中的應(yīng)用,可以通過不斷的給喇叭通斷電,使其產(chǎn)生聲音,且通電斷電時(shí)間的間隔不同其聲音的音色就不同,所以通過控制通斷時(shí)間就可以控制不同的音階產(chǎn)生。這里我們選用單片機(jī)的P1.0口來控制喇叭的通斷電。一首音樂是由許多不同的音階組成的,而每個音階對應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,當(dāng)然對于單片機(jī)來產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的定時(shí)/計(jì)數(shù)器T1來產(chǎn)生這樣方波頻率信號,因此,我們只需將不同的音階對應(yīng)不同頻率的中斷即可。單片機(jī)與喇叭接線圖如圖2-7所示。圖2-7單片機(jī)電子琴放音控制系統(tǒng)3系統(tǒng)軟件設(shè)計(jì)一首樂曲是由多個音符構(gòu)成的。每一個音符都對應(yīng)著一個確定的頻率。另外,每一個音符根據(jù)樂曲的要求和設(shè)定一個確定的節(jié)拍。聲音的產(chǎn)生就是是單片機(jī)產(chǎn)生一定的延時(shí),所以延時(shí)不同,生成的音樂就不同。我們利用定時(shí)器計(jì)數(shù)的方式產(chǎn)生延時(shí)的效果,就可以將歌曲中每一個音符所對應(yīng)的音率換算成相應(yīng)的計(jì)數(shù)初值。然后,將這首樂曲所有音符的計(jì)數(shù)初值編成一個表,并把每一個音符的計(jì)數(shù)初值。然后,將這首樂曲所有音符的計(jì)數(shù)初值編成一個表,并把每一個音符的計(jì)數(shù)初值與一個確定的數(shù)字碼來聯(lián)系。這個數(shù)組碼為簡譜碼。這里我們選用播放的歌曲為祝你安全和八月桂花遍地開。軟件設(shè)計(jì)流程圖如圖3-1所示。開場開場初始化初始化有鍵按下N有鍵按下NYY延時(shí)延時(shí)NN確認(rèn)有鍵按下再次重新掃描確認(rèn)有鍵按下再次重新掃描YY鍵盤掃描處理鍵盤掃描處理根據(jù)不同的掃描值賦予key根據(jù)不同的掃描值賦予key根據(jù)key值做相應(yīng)處理根據(jù)key值做相應(yīng)處理完畢完畢圖3-1軟件設(shè)計(jì)流程圖3.1延時(shí)程序設(shè)計(jì)因程序設(shè)計(jì)中很多都要用到延時(shí)程序所以延時(shí)程序用delay〔〕函數(shù)來實(shí)現(xiàn),其程序如下:voidDelay_xMs(unsignedintx){unsignedinti,j;for(i=0;i<x;i++)//1ms延時(shí){for(j=0;j<3;j++);}}3.2定時(shí)器初始化及其中斷函數(shù)//定時(shí)器1的初始化voidTime1_Init(){TMOD=TMOD|0x10;//定時(shí)器1,方式1 EA=1; ET1=1;TH1=0xD8;TL1=0xEF;}//定時(shí)器中斷函數(shù)voidTime1_Int()interrupt3//外部中斷1{TH1=0xD8;TL1=0xEF;Count++;}3.3例如音樂播放程序while(!eg_music){P0=0xc6; //C表示播放例如音樂 Time1_Init(); Play_Song(0);//調(diào)用例如音樂函數(shù) TR0=0;}3.4單獨(dú)按鍵中斷處理函數(shù)voidinit_interrupt(void)interrupt1{ TR0=0; TH0=table[key]/256; TL0=table[key]%256; speak=~speak; TR0=1; }4實(shí)驗(yàn)結(jié)果與分析4.1Proteus軟件簡介ProteusISIS是英國Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析各種模擬器件和集成電路,該軟件的特點(diǎn)是:①實(shí)現(xiàn)了單片機(jī)仿真和數(shù)字電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。②支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。③提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個變量、存放器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如KeilC51uVision2等軟件。④具有強(qiáng)大的原理圖繪制功能。總之,該軟件是一款集單片機(jī)和電路分析于一身的仿真軟件,功能極其強(qiáng)大。單擊屏幕左下方的“開場〞→“程序〞→“Proteus7.7Professional〞→“ISIS7.1Professional〞,如圖4-1所示。圖4-1Proteus啟動時(shí)的屏幕ProteusISIS的工作界面是一種標(biāo)準(zhǔn)的Windows界面,如圖4-2所示。包括:標(biāo)題欄、主菜單、標(biāo)準(zhǔn)工具欄、繪圖工具欄、狀態(tài)欄、對象選擇按鈕、預(yù)覽對象方位控制按鈕、仿真進(jìn)程控制按鈕、預(yù)覽窗口、對象選擇器窗口、圖形編輯窗口。圖4-2ProteusISIS的工作界面運(yùn)行Proteus程序后,進(jìn)入軟件的主界面。通過左側(cè)工具欄中的P(從庫中選擇元件命令)命令,在PickDevices左側(cè)窗口中選擇所需元件的關(guān)鍵字,然后放置元件并調(diào)整方向和位置以及參數(shù)設(shè)置,進(jìn)展連線。最后載入hex文件后可以進(jìn)展模擬仿真,可以全速運(yùn)行也可以單步調(diào)試運(yùn)行。圖4-3Proteus運(yùn)行按鍵4.2仿真調(diào)試在Proteus中添加單片機(jī)AT89C51,2個100Ω電阻,,2個30pF電容,2個10μF電解電容,1個共陽極數(shù)碼管,1個共陽極晶振,10個按鈕開關(guān)和1個揚(yáng)聲器即可得到仿真原理圖。按下按鈕開關(guān)“1〞,揚(yáng)聲器發(fā)出do聲,并且數(shù)碼管顯示“1〞。如圖4-5示。圖4-5按下按鍵1的仿真圖按下按鈕開關(guān)“EG〞,揚(yáng)聲器播放例如曲目,并且數(shù)碼管顯示“C〞。如圖5-6示。圖4-6播放例如曲目的仿真圖5設(shè)計(jì)心得這次創(chuàng)新實(shí)踐周活動加深了我們對單片機(jī)以及C51語言的學(xué)習(xí)與應(yīng)用,不但對單片機(jī)有了較為全面的認(rèn)識,而且相關(guān)的知識也有了足夠的掌握,最重要的還是設(shè)計(jì)思維的形成。與此同時(shí),我們還做到對μVision和Proteus兩個軟件更加熟練的應(yīng)用。在之前的學(xué)習(xí)過程中沒有能夠很好的掌握單片機(jī)的學(xué)習(xí),在很多地方還有生疏和遺漏,并且在此次設(shè)計(jì)電子琴過程中也遇到困難不能自已獨(dú)立解決。電路初步焊接完成后,發(fā)現(xiàn)揚(yáng)聲器聲音較小,分析原因是P3.3電流太小,無法正常驅(qū)動揚(yáng)聲器。在教師指導(dǎo)下采用了c8550三極管結(jié)合上拉電阻的方式,增大驅(qū)動電流,最終揚(yáng)聲器正常發(fā)聲。這次創(chuàng)新實(shí)踐周活動,增加了自己的編程能力,還提高了自己的動手能力,并且編程的邏輯思維能力也有所加強(qiáng)。通常設(shè)計(jì)程序時(shí)都是按照先總后分、先分后總的原則來設(shè)計(jì),這樣增強(qiáng)了程序的邏輯性,在設(shè)計(jì)時(shí)不易出錯而且出錯時(shí)易查找。同時(shí)我們也深感“認(rèn)真嚴(yán)謹(jǐn)〞這個詞的重要性,一點(diǎn)點(diǎn)小的馬虎,便會導(dǎo)致整個程序不能正常運(yùn)行。在今后的學(xué)習(xí)中,我將繼續(xù)保持嚴(yán)謹(jǐn)?shù)膶W(xué)習(xí)態(tài)度。與此同時(shí),在同學(xué)的幫助下,我們更體會到了相互學(xué)習(xí)的重要性。總之,這次活動讓我們受益匪淺。6參考文獻(xiàn)[1]《單片機(jī)的C語言程序設(shè)計(jì)與應(yīng)用——基于〔Proteus仿真〕〔第2版〕》姜志海趙海雷陳松編著電子工業(yè)出版社[2]《C語言程序設(shè)計(jì)〔第4版〕》潭浩強(qiáng)編著清華大學(xué)出版社[3]《基于Proteus的電路及單片機(jī)設(shè)計(jì)與仿真〔第2版〕》周潤景張麗娜丁莉編著北京航空航天大學(xué)出版社[4]《單片機(jī)系統(tǒng)設(shè)計(jì)與仿真——基于Proteus》肖婧編著北京航空航天大學(xué)出版社附錄附錄A元件清單、器件識別與檢測 表1元件名稱型號主要參數(shù)數(shù)量備注單片機(jī)AT89C514KB,33MHz1電阻RES100Ω2電容CAP30pF2電解電容A700D107M006ATE01810μF1數(shù)碼管7SEG-COM-ANODE共陽極1晶振CRYSTAL無1開關(guān)BUTTON無10揚(yáng)聲器SOUNDER無1器件識別與檢測:AT89C51單片機(jī)有4組8位的可編程I/O口,分別為P0、P1、P2、P3:P0口〔Pin39~Pin32〕:8位雙向I/O口線,名稱為P0.0~P0.7。P1口〔Pin1~Pin8〕:8位準(zhǔn)雙向I/O口線,名稱為P1.0~P1.7。 P2口〔Pin21~Pin28〕:8位準(zhǔn)雙向I/O口線,名稱為P2.0~P2.7。P3口〔Pin10~Pin17〕:8位準(zhǔn)雙向I/O口線,名稱為P3.0~P3.7。所用的一般元器件有電阻、電容、開關(guān)、揚(yáng)聲器、數(shù)碼管。晶振是一種能把電能和機(jī)械能相互轉(zhuǎn)化的晶體在共振的狀態(tài)下工作,以提供穩(wěn)定,準(zhǔn)確的單頻振蕩。它結(jié)合單片機(jī)內(nèi)部的電路,產(chǎn)生單片機(jī)所必須的時(shí)鐘頻率,單片機(jī)的一切指令的執(zhí)行都是建設(shè)在這個根基上的,晶振的提供的時(shí)鐘頻率越高,那單片機(jī)的運(yùn)行速度也就越快,一般為6MHZ或12MHZ。而數(shù)碼管LED數(shù)碼管〔LEDSegmentDisplays〕是由多個發(fā)光二極管封裝在一起組成“8〞字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個筆劃,公共電極。LED數(shù)碼管常用段數(shù)一般為7段有的另加一個小數(shù)點(diǎn),還有一種是類似于3位“+1〞型。位數(shù)有半位,1,2,3,4,5,6,8,10位等等,LED數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽兩類,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。顏色有紅,綠,藍(lán),黃等幾種。附錄B程序源代碼#include<reg51.h>sbiteg_music=P3^2; //播放音樂控制位sbitspeak=P3^3; //喇叭控制位inttemp,key=16;unsignedcharCount;codeunsignedcharled[]={0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0xff};//共陽極數(shù)碼管顯示按鍵號//七個音符的號碼codeunsignedinttable[]={63628,63835,64021,64103,64260,64400,64524,64550,64580,64684,64777,64820,64898,64968,65030,65050,65058,65110,65157,65178,65217,65252,65283,65310};//例如音樂unsignedcharcodeSONG[]={0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x80,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x60,0x40,0x10,0x39,0x10,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x80,0x26,0x20,0x2b,0x10,0x2b,0x10,0x2b,0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x20,0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x40,0x26,0x20,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x1c,0x20,0x1c,0x20,0x1c,0x20,0x30,0x20,0x30,0x60,0x39,0x10,0x30,0x10,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x10,0x26,0x10,0x26,0x10,0x2b,0x10,0x2b,0x80,0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x60,0x26,0x10,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,0x10,0x30,0x20,0x39,0x20,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x10,0x40,0x10,0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x00,//祝你安全0x18,0x30,0x1C,0x10,0x20,0x40,0x1C,0x10,0x18,0x10,0x20,0x10,0x1C,0x10,0x18,0x40,0x1C,0x20,0x20,0x20,0x1C,0x20,0x18,0x20,0x20,0x80,0xFF,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0xFF,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0x20,0x30,0x1C,0x10,0x20,0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x15,0x1F,0x05,0x20,0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x30,0x20,0x30,0x1C,0x10,0x18,0x40,0x1C,0x20,0x20,0x20,0x26,0x40,0x13,0x60,0x18,0x20,0x15,0x40,0x13,0x40,0x18,0x80,0x00,//八月桂花遍地開};//1ms延時(shí)子程序voidDelay_xMs(unsignedintx){unsignedinti,j;for(i=0;i<x;i++){for(j=0;j<3;j++);}}//定時(shí)器1的初始化voidTime1_Init(){TMOD=TMOD|0x10;//定時(shí)器1,方式1EA=1; ET1=1;TH1=0xD8;TL1=0xEF;}//定時(shí)器中斷函數(shù)voidTime1_Int()interrupt3//外部中斷1{TH1=0xD8;TL1=0xEF;Count++;}//例如音樂播放函數(shù)voidPlay_Song(unsignedchari){unsignedcharTemp1,Temp2;unsignedintAddr;Count=0;Addr=i*217;while(1){Temp1=SONG[Addr++];if(Temp1==0xFF){TR1=0;Delay_xMs(100);}elseif(Temp1==0x00)//第二首歌{Addr++;i++;if(i==2){i=0;return;}}else{Temp2=SONG[Addr++];TR1=1;while(1){speak=~speak;

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論