基于AT89C51單片機(jī)簡(jiǎn)易電子琴_第1頁(yè)
基于AT89C51單片機(jī)簡(jiǎn)易電子琴_第2頁(yè)
基于AT89C51單片機(jī)簡(jiǎn)易電子琴_第3頁(yè)
已閱讀5頁(yè),還剩23頁(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、.目錄基于AT89C51單片機(jī)簡(jiǎn)易電子琴的設(shè)計(jì)1小組分工2一、概述31.1課程設(shè)計(jì)的題目:基于AT89C51單片機(jī)簡(jiǎn)易電子琴31.2設(shè)計(jì)任務(wù)31.3引言31.4基于AT89C51單片機(jī)簡(jiǎn)易電子琴的設(shè)計(jì)思想41.5設(shè)計(jì)功能4二、方案比較與論證52.1 舉例方案52.2 系統(tǒng)組成52.3流程圖6三、電路設(shè)計(jì)73.2 矩陣鍵盤模塊73.3主控模塊93.4音樂(lè)設(shè)計(jì)“音調(diào)”和“節(jié)拍”103.5工作原理123.6創(chuàng)新部分123.7 LED數(shù)碼顯示管與單片機(jī)的連接123.8源程序13四、心得與體會(huì)26基于AT89C51單片機(jī)簡(jiǎn)易電子琴的設(shè)計(jì)小組分工:*負(fù)責(zé):資料收集與整理,DXP2004電路板的繪制,數(shù)碼管

2、顯示 *負(fù)責(zé):矩陣鍵盤上實(shí)現(xiàn)7種不同的音調(diào)*負(fù)責(zé):音樂(lè)播放實(shí)現(xiàn)一 、概述1.1課程設(shè)計(jì)的題目:基于AT89C51單片機(jī)簡(jiǎn)易電子琴摘要:如今隨著社會(huì)的發(fā)展進(jìn)步,音樂(lè)逐漸成為我們生活中很重要的一部分,生活中的我們都會(huì)欣賞世界名曲,作為對(duì)精神的洗禮。本論文設(shè)計(jì)一個(gè)基于AT89C51單片機(jī)的簡(jiǎn)易電子琴。電子琴是現(xiàn)代電子科技與音樂(lè)結(jié)合的產(chǎn)物,是一種新型的鍵盤樂(lè)器。它在現(xiàn)代音樂(lè)扮演著重要的角色,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一部分。本系統(tǒng)是以51系列單片機(jī)AT89C51為主控制器,附有矩陣鍵盤、LED顯示管、揚(yáng)聲器組成。系統(tǒng)完成顯示輸入信息、播放相

3、應(yīng)音符等基本功能。本設(shè)計(jì)的系統(tǒng)運(yùn)行穩(wěn)定,其優(yōu)點(diǎn)是硬件電路簡(jiǎn)單,軟件功能完善,控制系統(tǒng)可靠,性價(jià)比較高等,具有一定的實(shí)用和參考價(jià)值。關(guān)鍵詞:AT89C51;矩陣鍵盤;LED顯示管;揚(yáng)聲器1.2設(shè)計(jì)任務(wù)1) 查閱相關(guān)電子琴的資料,了解熟悉單片機(jī)控制單音喇叭發(fā)聲原理。 2) 利用鍵盤的16鍵,能夠發(fā)出1,2,3,4,5,6,7等7個(gè)音符,具有一般演奏功能,要求按下鍵發(fā)聲,松開(kāi)則延時(shí)一段時(shí)間停止,中間再按別的鍵,則發(fā)出另一個(gè)音調(diào)的。3) 存儲(chǔ)有一首歌的音樂(lè),設(shè)置按鍵按下具有自動(dòng)播放已存曲目功能。 1.3引言單片微型計(jì)算機(jī)是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,屬第四代電子計(jì)算機(jī),它具有高性能、高速度、體積小、

4、價(jià)格低廉、穩(wěn)定可靠、應(yīng)用廣泛的特點(diǎn)。AT89C51是美國(guó)ATMEL公司生產(chǎn)的低功耗,高性能CMOS8位單片機(jī),片內(nèi)含4k字節(jié)的可系統(tǒng)編程的Flash只讀程序存器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。由于將多功能8位CPU和閃爍存器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C51是它的一種精簡(jiǎn)版本。AT89C51單片機(jī)為很多嵌入式制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案,可為您提供許多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一部

5、分。電子琴已為人們所熟知,它可以演奏出非常動(dòng)聽(tīng)的樂(lè)曲, 它在現(xiàn)代音樂(lè)扮演著重要的角色。它是現(xiàn)代電子科技與音樂(lè)結(jié)合的產(chǎn)物,是一種新型的鍵盤樂(lè)器。在許多專用的電子琴電路中,都采用了特殊的集成電路來(lái)完成電子電路的設(shè)計(jì),利用專用電路產(chǎn)生的聲音信號(hào)驅(qū)動(dòng)揚(yáng)聲器發(fā)音,通過(guò)演奏者不同的操作,彈奏出美妙的樂(lè)曲。但是,以單片機(jī)作為主控核心,與鍵盤、蜂鳴器等模塊組成核心主控制模塊就可以達(dá)到設(shè)計(jì)一個(gè)簡(jiǎn)易電子琴的目的。1.4基于AT89C51單片機(jī)簡(jiǎn)易電子琴的設(shè)計(jì)思想單片機(jī)產(chǎn)生音樂(lè)的要素一般說(shuō)來(lái),單片機(jī)演奏音樂(lè)基本都是單音頻率,它不包含相應(yīng)幅度的諧波頻率,也就是說(shuō)不能像電子琴那樣能奏出多種音色的聲音。因此,單片機(jī)奏樂(lè)只

6、需弄清楚兩個(gè)概念,也就是“音調(diào)”和“節(jié)拍”。音調(diào)表示一個(gè)音符唱多高的頻率,節(jié)拍表示一個(gè)音符唱多長(zhǎng)的時(shí)間。一首音樂(lè)是由許多不同的音符組成的,而每個(gè)音符對(duì)應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,加上與拍數(shù)對(duì)應(yīng)的延時(shí),即可構(gòu)成我們所想要的音樂(lè)了。所以本課程設(shè)計(jì)的主要內(nèi)容是用 AT89C52單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)電子琴。以單片機(jī)作為主控核心,與鍵盤、蜂鳴器等模塊組成核心主控制模塊,在主控模塊上設(shè)有16個(gè)按鍵和蜂鳴器,用不同的頻率和延時(shí)的時(shí)間來(lái)產(chǎn)生音樂(lè)的要素“音調(diào)”和“節(jié)拍”。1.5設(shè)計(jì)功能(1)由4X4組成16個(gè)按鈕矩陣,設(shè)計(jì)成16個(gè)音,可隨意彈奏想要表達(dá)的聲音。(2)設(shè)計(jì)有音樂(lè)存

7、儲(chǔ),按鍵按下后播放。(3)鍵盤矩陣識(shí)別,即矩陣掃描在數(shù)碼管上可以顯示矩陣鍵盤按下哪個(gè)按鍵。二、方案比較與論證2.1 舉例方案方案一:用 VHDL 語(yǔ)言編程來(lái)實(shí)現(xiàn)系統(tǒng)整體基本原理圖如下:利用我們實(shí)驗(yàn)室先進(jìn)的數(shù)字電路實(shí)驗(yàn)設(shè)備,我們可以采用 VHDL 語(yǔ)言編程來(lái)實(shí)現(xiàn)。我們可以通過(guò) VDHL 語(yǔ)言,對(duì)實(shí)驗(yàn)原理圖的各個(gè)部分進(jìn)行設(shè)計(jì),通過(guò)編譯,可以在計(jì)算機(jī)上下載此實(shí)驗(yàn)原理圖,利空電路學(xué)習(xí)機(jī)上的芯片。方案二:利用 AT89C51 單片機(jī)為核心控制元件,以單片機(jī)作為主控核心,與鍵盤、蜂鳴器等模塊組成核心主控制模塊,在主控模塊上設(shè)有16個(gè)按鍵和蜂鳴器來(lái)設(shè)計(jì)一個(gè)電子琴。方案一顯得比較籠統(tǒng),只是把整個(gè)系統(tǒng)分為了若干

8、個(gè)模塊,而不牽涉到具體的硬件電路。而方案二,利用單片機(jī)4X4 組成 16 個(gè)按鈕矩陣,設(shè)計(jì)成 16 個(gè)音對(duì)應(yīng)音樂(lè)音符。每按一個(gè)鍵,單片機(jī)檢測(cè)按下的那個(gè)鍵并查表查找相應(yīng)的音符,輸出到音頻處理模塊驅(qū)動(dòng)蜂鳴器發(fā)出音符。利用單片機(jī)產(chǎn)生不同頻率來(lái)獲得我們要求的音階,最終可隨意彈奏想要表達(dá)的音樂(lè)。所以本次設(shè)計(jì)采用方案二。2.2系統(tǒng)組成本系統(tǒng)只要以51單片機(jī)為主控核心,與矩陣鍵盤、揚(yáng)聲器、LED顯示管模塊一起組合而成。具體如下:2.3流程圖三、電路設(shè)計(jì)3.1、蜂鳴器模塊單片機(jī)實(shí)驗(yàn)板蜂鳴器原理圖如下圖表1所示:圖表 1蜂鳴器發(fā)聲原理是電流通過(guò)電磁線圈,使電磁線圈產(chǎn)生磁場(chǎng)來(lái)驅(qū)動(dòng)振動(dòng)膜發(fā)聲的,因此需要一定的電流才

9、能驅(qū)動(dòng)它,單片機(jī)IO 引腳輸出的電流較小,單片機(jī)輸出的TTL 電平基本上驅(qū)動(dòng)不了蜂鳴器,因此需要增加一個(gè)電流放大的電路。如圖一所示,蜂鳴器的正極接到VCC(5V)電源上面,蜂鳴器的負(fù)極接到三極管的發(fā)射極E,三極管的基級(jí)B 經(jīng)過(guò)限流電阻R1后由單片機(jī)的P3.6引腳控制,當(dāng)P3.6輸出高電平時(shí),三極管T1截止,沒(méi)有電流流過(guò)線圈,蜂鳴器不發(fā)聲;當(dāng)P3.6輸出低電平時(shí),三極管導(dǎo)通,這樣蜂鳴器的電流形成回路,發(fā)出聲音。因此,我們可以通過(guò)程序控制P3.6腳的電平來(lái)使蜂鳴器發(fā)出聲音和關(guān)閉。 用延時(shí)程序或者定時(shí)器控制接蜂鳴器的端口輸出頻率在2KHZ左右的矩形波就能讓蜂鳴器發(fā)聲了。程序中改變單片機(jī)P3.6引腳輸

10、出波形的頻率,就可以調(diào)整控制蜂鳴器音調(diào),生各種不同音色、音調(diào)的聲音。另外,改變P3.6輸出電平的高低電平占空比,則可以控制蜂鳴器的聲音大小。3.2 矩陣鍵盤模塊在單片機(jī)組成的各種系統(tǒng)中,本次試驗(yàn)用的是非編碼鍵盤,矩陣鍵盤。矩陣鍵盤:由單片機(jī)I/O口構(gòu)成的行列式鍵盤,優(yōu)點(diǎn):掃描速度快,按鍵數(shù)量多缺點(diǎn):按鍵間存在關(guān)聯(lián),不能級(jí)聯(lián)。矩陣式結(jié)構(gòu)的鍵盤識(shí)別要復(fù)雜一些,列線通過(guò)電阻接正電源,并將行線所接的單片機(jī)的I/O口作為輸出端,而列線所接的I/O口則作為輸入。這樣,當(dāng)按鍵沒(méi)有按下時(shí),所有的輸入端都是高電平,代表無(wú)鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會(huì)被拉低,這樣,通過(guò)讀入輸入線的狀態(tài)就可得

11、知是否有鍵按下了。單片機(jī)實(shí)驗(yàn)板鍵盤原理圖如下圖表2所示:P2.0P2.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7圖表 2鍵盤原理圖的PCB 圖如圖表3所示:圖表 3獨(dú)立鍵盤模塊獨(dú)立鍵盤:?jiǎn)纹瑱C(jī)一個(gè)I/O口連接一個(gè)按鍵。獨(dú)立鍵盤的原理圖如圖表4所示:圖表 43.3主控模塊最小系統(tǒng)的原理圖如圖表5所示:圖表 5總的原理圖如圖表6所示:圖表63.4音樂(lè)設(shè)計(jì)“音調(diào)”和“節(jié)拍”(1)本設(shè)計(jì)的控制矩陣鍵盤使用定時(shí)器T0方式1的音調(diào)的計(jì)算方法如下矩陣鍵盤的音調(diào)計(jì)算:計(jì)數(shù)脈沖值與頻率的關(guān)系式是:N=fj÷2÷fr式中,N是計(jì)數(shù)值:fj是機(jī)器頻率(晶體振蕩器為11.0

12、592MH時(shí),其頻率為1MHz);fr是想要產(chǎn)生的頻率。 本設(shè)計(jì)定時(shí)器工作方式1,16個(gè)鍵的頻率音階對(duì)應(yīng)頻率(音調(diào)的頻率)表如圖表7所示:圖表 7(2)節(jié)拍的計(jì)算方法本設(shè)計(jì)使用定時(shí)器T0的中斷控制播放音樂(lè)一閃一閃亮晶晶,T0工作方式0, 圖表8列出了C音調(diào)與頻率的對(duì)應(yīng)關(guān)系。1、C音調(diào)與頻率的對(duì)應(yīng)關(guān)系表C音調(diào)與頻率的對(duì)應(yīng)關(guān)系表音調(diào)低1(“dao”)低2低3低4低5低6低7頻率262294330349392440494音調(diào)1(中音“dao”)234567頻率523587659698784880988音調(diào)高1高2高3高4高5高6高7頻率1064117513181397158617601967圖表 8

13、2.定時(shí)常數(shù)C計(jì)算公式 C=T0工作方式0.最大計(jì)數(shù)為8192,在已知定是常數(shù)為C的條件下,13位計(jì)算器的高8位和低5的初值可由以下公式設(shè)定TH0=(8192-C)/32;TL0=(8192-C)%32;3.簡(jiǎn)單樂(lè)譜|1 1 5 5| 6 6 5 -| 4 4 3 3| 2 2 1 -| 5 5 4 4 | 3 3 2 -| 5 5 4 4 |3 3 2 -| 1 1 5 5 | 6 6 5 -| 4 4 3 3|2 2 1 -|4.節(jié)拍控制 本例簡(jiǎn)譜的節(jié)拍為每分鐘72拍,則每個(gè)節(jié)拍需時(shí)間 (1000*60ms)/72=833ms“1 “為1拍,需延時(shí)833ms“2”為1/2拍,需延時(shí)833/

14、2ms“3”為1/4,需延時(shí)833/4ms3.5工作原理矩陣鍵盤的工作原理:通過(guò)AT89C51單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)能發(fā)出電子音調(diào)的簡(jiǎn)易電子琴。在控制模塊上設(shè)有16個(gè)矩陣鍵盤按鍵,通過(guò)按下矩陣鍵盤K01一K7鍵,可發(fā)出DO、RE、M、FA、SO、LA、SI 7個(gè)低音符的聲音;矩陣鍵盤K08K14鍵,可發(fā)出D0、RE、M、FA、SO、LA、SI 7個(gè)中音符的聲音;K15鍵是高音符DO的聲音,K16鍵是高音符RE的聲音。當(dāng)我們隨意按下矩陣鍵盤上的一個(gè)按鍵時(shí),可以發(fā)出相應(yīng)的聲音。本設(shè)計(jì)有一個(gè)功能選擇鍵(選擇使用矩陣鍵盤選擇鍵或者選擇自動(dòng)播放音樂(lè)選擇鍵),一個(gè)矩陣鍵盤選擇鍵、一個(gè)自動(dòng)播放音樂(lè)選

15、擇鍵,通過(guò)按下功能選擇鍵,可以實(shí)現(xiàn)按鍵發(fā)音功能和音樂(lè)播放功能之間的切換。在矩陣按鍵發(fā)音的功能下,可以通過(guò)音調(diào)選擇鍵來(lái)選擇三個(gè)不同的音階進(jìn)行發(fā)音;在音樂(lè)播放功能下,可以自動(dòng)播放音樂(lè)。3.6創(chuàng)新部分當(dāng)我們選擇矩陣鍵盤選擇鍵的時(shí)候,在矩陣按鍵發(fā)音的功能下,可以通過(guò)音調(diào)選擇鍵來(lái)選擇三個(gè)不同的音階進(jìn)行發(fā)音,同時(shí)在主板的數(shù)碼管上可以同時(shí)顯示你在矩陣鍵盤上按下哪一個(gè)鍵。例如你按下K01鍵,同時(shí)在數(shù)碼管顯示01這個(gè)數(shù)字。3.7 LED數(shù)碼顯示管與單片機(jī)的連接led數(shù)碼管(LED Segment Displays)是由多個(gè)發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個(gè)筆劃,公

16、共電極。led數(shù)碼管常用段數(shù)一般為7段有的另加一個(gè)小數(shù)點(diǎn),還有一種是類似于3位“+1”型。位數(shù)有半位,1,2,3,4,5,6,8,10位等等.,led數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽(yáng)兩類,了解LED的這些特性,對(duì)編程是很重要的,因?yàn)椴煌愋偷臄?shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。數(shù)碼管動(dòng)態(tài)顯示介面是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp "的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位元選通控制電路,位元選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接

17、收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位元選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開(kāi),該位元就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。 透過(guò)分時(shí)輪流控制各個(gè)LED數(shù)碼管的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過(guò)程中,每位元數(shù)碼管的點(diǎn)亮?xí)r間為12ms,由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極體的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示資料,不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O埠,而且功耗更低。由此本實(shí)驗(yàn)是將P2口通過(guò)芯片與數(shù)碼管連接,以達(dá)到點(diǎn)亮

18、數(shù)碼管的效果。靜態(tài)顯示的特點(diǎn)是每個(gè)數(shù)碼管的段選必須接一個(gè)8位數(shù)據(jù)線來(lái)保持顯示的字形碼。當(dāng)送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優(yōu)點(diǎn)是占用CPU時(shí)間少,顯示便于監(jiān)測(cè)和控制。圖表 93.8源程序主函數(shù):*include<reg52.h>*include"music.h"*include"piano.h"void main() InterruptPiano(); while(1)P1=0xfe; temp=P1;temp=temp&0xf0;PlaySelect(); *endif播放音樂(lè)的程序:/*defi

19、ne MUSIC_GLOBALS*include"music.h"*include"piano.h"/* *define dao 523 *define re 587 *define mi 659 *define fa 698 *define sao 784 *define la 880 *define xi 987unsigned int code f=dao,dao,sao,sao, la,la,sao, fa,fa,mi,mi, re,re,dao, sao,sao,fa,fa, mi,mi,re, sao,sao,fa,fa, mi,mi,re,

20、 dao,dao,sao,sao, la,la,sao, fa,fa,mi,mi, re,re,dao, 0xff; unsigned char code JP=4,4,4,4, 4,4,8, 4,4,4,4, 4,4,8, 4,4,4,4, 4,4,8, 4,4,4,4, 4,4,8, 4,4,4,4, 4,4,8 , 4,4,4,4, 4,4,8, ;/*- 延時(shí)子程序 200ms -*/void Musicdelay() unsigned char i,j; for(i=0;i<250;i+) for(j=0;j<250;j+) ; /*- 定時(shí)器T0的中斷服務(wù)子程序,使P3

21、.6引腳輸出音頻的方波 -*/ void Time0(void) interrupt 1 using 1 sound=!sound; TH0=(8192-C)/32; TL0=(8192-C)%32; /*- 主函數(shù)-*/void MusicInit() EA=1; ET0=1; TMOD=0x00; while(Music_count=1) i=0; if(key1=0)Music_count=0;Piano_count=0; while(fi!=0xff&&Music_count=1) if(key1=0)Music_count=0;Piano_count=0; C=460

22、830/fi; TH0=(8192-C)/32;TL0=(8192-C)%32;TR0=1;for(j=0;j<JPi;j+)Musicdelay();TR0=0;i+; *endif矩陣鍵盤的程序:/*/*define PIANO_GLOBALS*include"piano.h"*include"music.h"/*/變量定義unsigned int tab=1759,1567,1396,1320, 1578,1047,933,832, 785,699,660,587, 524,466,441,392; uchar code num=0xc0,0

23、xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/* 延時(shí)子函數(shù)*/void delay(uint z) uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);/* 中斷初始化函數(shù)*/void InterruptPiano()TMOD=0x01;TH0=0xd8;TL0=0xf0; EA=1;ET0=1;TR0=0;/*選擇電子琴或者音樂(lè)播放函數(shù)*/ void PlaySelect() if(PianoKey=0) Piano_count=1;if( Piano_count=1&&Music_co

24、unt=0)Piano();if(MusicKey=0)Music_count=1;if(Music_count=1&&Piano_count=0) MusicInit();if(key1=0)Music_count=0;Piano_count=0; /* 鍵盤驅(qū)動(dòng)電子琴函數(shù)*/void Piano()while(temp!=0xf0)delay(5);temp=P1;temp=temp&0xf0;while(temp!=0xf0)temp=P1;switch(temp)case 0xee:a=13;break;case 0xde:a=14;break;case 0xb

25、e:a=15;break;case 0x7e:a=16;break;while(temp!=0xf0) P1=0xfe;temp=P1;temp=temp&0xf0;TR0=1; p36=1; TR0=0;P1=0xfd;temp=P1;temp=temp&0xf0;while(temp!=0xf0) delay(5);temp=P1;temp=temp&0xf0;while(temp!=0xf0)temp=P1;switch(temp)case 0xed:a=9;break;case 0xdd:a=10;break;case 0xbd:a=11;break;case

26、0x7d:a=12;break; while(temp!=0xf0) P1=0xfd;temp=P1;temp=temp&0xf0;TR0=1; p36=1; TR0=0;P1=0xfb;temp=P1;temp=temp&0xf0;while(temp!=0xf0)delay(5);temp=P1;temp=temp&0xf0;while(temp!=0xf0)temp=P1;switch(temp)case 0xeb:a=5;break;case 0xdb:a=6;break;case 0xbb:a=7;break;case 0x7b:a=8;break;while

27、(temp!=0xf0) P1=0xfb;temp=P1;temp=temp&0xf0;TR0=1; p36=1; TR0=0;P1=0xf7;temp=P1;temp=temp&0xf0;while(temp!=0xf0)delay(5);temp=P1;temp=temp&0xf0;while(temp!=0xf0)temp=P1;switch(temp)case 0xe7:a=1;break;case 0xd7:a=2;break;case 0xb7:a=3;break;case 0x77:a=4;break;while(temp!=0xf0) P1=0xf7;t

28、emp=P1;temp=temp&0xf0;TR0=1; p36=1; TR0=0; p36=1;P2=0xfe;P0=numa/10;delay(5);P2=0xfd;P0=numa%10;delay(5);P0=0xff; /* 中斷服務(wù)子函數(shù),編號(hào)為1,即為定時(shí)器T1中斷*/void timer0() interrupt 1 num1=taba;TH0=(65536-num1)/256;TL0=(65536-num1)%256;p36=p36;*endif四、心得與體會(huì)在課程設(shè)計(jì)過(guò)程中,其中涉及到鍵盤的驅(qū)動(dòng)和無(wú)源蜂鳴器,利用所給矩陣鍵盤的鍵,能夠發(fā)出7個(gè)不同的音調(diào),并且要求按下按鍵發(fā)聲,松開(kāi)延時(shí)一段時(shí)間停止,中間再按別的鍵,則發(fā)出另一個(gè)音調(diào)的聲音.通過(guò)學(xué)習(xí)老師給的驅(qū)動(dòng)資料,自己摸索著進(jìn)行設(shè)計(jì),過(guò)程中也遇到一些錯(cuò)誤,例如中音

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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)論