




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、河南理工大學(xué) 1 概述1.1 設(shè)計(jì)目的通過(guò)對(duì)簡(jiǎn)易電子琴的課程設(shè)計(jì),進(jìn)一步加深對(duì)微機(jī)原理與單片機(jī)接口技術(shù)、模擬電子技術(shù)、數(shù)字電子技術(shù)等所學(xué)課程的了解和認(rèn)識(shí)。學(xué)習(xí)把理論知識(shí)運(yùn)用于實(shí)踐制作實(shí)物,鍛煉自己獨(dú)立動(dòng)手能力,同時(shí)也要學(xué)會(huì)運(yùn)用軟件仿真,學(xué)習(xí)分析問(wèn)題,解決問(wèn)題的方法和途徑。了解電子琴發(fā)音原理,提升程序編寫(xiě)和運(yùn)用的能力,充分利用自己專業(yè)知識(shí),提高對(duì)本專業(yè)的學(xué)習(xí)興趣。1.2設(shè)計(jì)要求結(jié)合單片機(jī)AT89C52和所提供元件,設(shè)計(jì)一個(gè)簡(jiǎn)易電子琴通過(guò)按鍵可以實(shí)現(xiàn)哆來(lái)咪發(fā)嗦啦嘻7種音階高低音調(diào)的發(fā)音,音階數(shù)字的顯示,以及歌曲的自動(dòng)播放功能。1.3 單片機(jī)發(fā)聲原理 聲音的產(chǎn)生是一種音頻振動(dòng)的效果,振動(dòng)的頻率高則為
2、高音,頻率低則為低音,音頻的范圍為20Hz200kHz之間,人類(lèi)耳朵比較容易辨別的聲音大概是200Hz20kHz。一般的音響電路是以正弦波信號(hào)驅(qū)動(dòng)揚(yáng)聲器,產(chǎn)生悅耳的音樂(lè),在數(shù)字電路里,則是以脈沖信號(hào)驅(qū)動(dòng)揚(yáng)聲器以產(chǎn)生聲音,同樣的頻率,脈沖信號(hào)或正弦波信號(hào)產(chǎn)生的音效,單片機(jī)發(fā)聲是使用定時(shí)器產(chǎn)生聲音所需頻率的方波(脈沖信號(hào)),經(jīng)放大整形后送楊聲器發(fā)出一個(gè)音,再按節(jié)拍送下一頻率的聲音,聲音的節(jié)拍由延時(shí)程序給定,也就是說(shuō)其發(fā)聲的原理是:音調(diào)由不同的頻率產(chǎn)生,由延時(shí)程序產(chǎn)生節(jié)拍,由定時(shí)器定時(shí)產(chǎn)生方波頻率,如1KHZ頻率的聲音,周期是1mS,正負(fù)半周各500s,當(dāng)用6MHZ晶體,定時(shí)方式1時(shí),可計(jì)算定時(shí)器初
3、值如下:(216-X)*12/6=500S, X=65535-250=65285=FF05H。2 系統(tǒng)總體方案及硬件設(shè)計(jì)2.1 總體方案本設(shè)計(jì)是為了實(shí)現(xiàn)電子琴發(fā)聲控制系統(tǒng),結(jié)合單片機(jī)AT89C52,通過(guò)控制單片機(jī)定時(shí)器的定時(shí)時(shí)間可以產(chǎn)生不同的頻率脈沖,再用按鍵通過(guò)高低電平來(lái)控制7個(gè)音階的高低兩種音調(diào),并用軟件延時(shí)程序的調(diào)用來(lái)控制發(fā)音時(shí)間的長(zhǎng)短。把音樂(lè)的音符和相應(yīng)的節(jié)拍變換為定時(shí)常數(shù)和延時(shí)常數(shù),分別來(lái)控制定時(shí)器產(chǎn)生的脈沖頻率和發(fā)出該脈沖的持續(xù)時(shí)間,再運(yùn)用三極管及電阻組成的放大電路來(lái)實(shí)現(xiàn)低音平功率的放大,利用蜂鳴器作為發(fā)聲部件,數(shù)碼管作為顯示部件。因此,可以先用單片機(jī)仿真軟件Proteus連接設(shè)計(jì)
4、好電路原理圖,再?gòu)挠布c軟件兩部分進(jìn)行分析與設(shè)計(jì)。2.2 單片機(jī)AT89S52介紹 AT89S52管腳主要功能特性: 兼容MCS51指令系統(tǒng) 8k可反復(fù)擦寫(xiě)(1000次)Flash ROM 32個(gè)雙向I/O口 256x8bit內(nèi)部RAM 3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷 時(shí)鐘頻率0-24MHz 2個(gè)串行中斷 可編程UART串行通道 2個(gè)外部中斷源 共6個(gè)中斷源 2個(gè)讀寫(xiě)中斷口線 3級(jí)加密位 低功耗空閑和掉電模式 軟件設(shè)置睡眠和喚醒功能單片機(jī)AT89S52主要管腳的介紹:VCC:AT89S52電源正端輸入,接+5V。GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)
5、電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。在本設(shè)計(jì)中,P0 端口前四位連接數(shù)碼管,用于數(shù)碼管的位尋址。 P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。在本設(shè)計(jì)中端口連接數(shù)碼管用于發(fā)音音符的顯示。P2口:P2
6、口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。在本設(shè)計(jì)中連接按鍵通過(guò)高低電平控制7個(gè)音階。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)
7、電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。在本設(shè)計(jì)中連接控制按鍵??刂聘叩蛢蓚€(gè)音調(diào)以及自動(dòng)播放樂(lè)曲。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。2.3 硬件設(shè)計(jì) 電子琴實(shí)物圖單片機(jī)主程序?qū)?shù)碼管編碼是直接賦值的,而對(duì)聲音信號(hào)則是通過(guò)中斷程序進(jìn)行控制的。先讀取鍵盤(pán)掃描程序信號(hào),當(dāng)系統(tǒng)掃描到鍵盤(pán)上有鍵被按下,通過(guò)數(shù)碼管顯示編碼在數(shù)碼管上顯示音階數(shù)字,此時(shí)高電平有效,單片機(jī)的定
8、時(shí)器被啟動(dòng),發(fā)出一定頻率的脈沖,該頻率的脈沖通過(guò)三極管放大電路輸入到蜂鳴器后,就會(huì)發(fā)出相應(yīng)的音階聲音。如果在前一個(gè)按下的鍵發(fā)聲的同時(shí)有另一個(gè)鍵被按下,則啟用中斷系統(tǒng),前面鍵的發(fā)音停止,轉(zhuǎn)到后按的鍵的發(fā)音程序,發(fā)出后按的鍵的音階聲音。當(dāng)鍵盤(pán)有鍵按下時(shí),判斷鍵值,啟動(dòng)計(jì)數(shù)器T0,產(chǎn)生一定頻率的脈沖,驅(qū)動(dòng)蜂鳴器,放出樂(lè)曲。2.3.1 按鍵接口電路 按鍵接口電路 按鍵接口電路采用獨(dú)立式鍵盤(pán),獨(dú)立式鍵盤(pán)一般是指直接用I/O口線外接按鈕構(gòu)成,每個(gè)鍵單獨(dú)占用一根I/O口線,I/O口線間的工作狀態(tài)互不影響。獨(dú)立式鍵盤(pán)接口電路配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單,但每個(gè)按鍵必須占用一更i/o口線,因此,在按鍵數(shù)較多時(shí),I/O
9、口浪費(fèi)較大,故只有在按鍵數(shù)量不多時(shí)才采用這種鍵盤(pán)電路。2.3.2 顯示電路 顯示電路LED顯示器的顯示方式采用了動(dòng)態(tài)顯示方式,它是把所有顯示器的同名字段互相連接在一起,并把它們連到字形口上,為了防止各個(gè)顯示器同時(shí)顯示出相同的字符,每個(gè)顯示器的公共端還要受另一組信號(hào)控制。2.3.3 發(fā)音電路 發(fā)音電路 發(fā)音電路是由蜂鳴器、三極管、上拉電阻構(gòu)成,由于蜂鳴器工作電流一般比較大,以至于I/O口無(wú)法直接驅(qū)動(dòng),因此要用放大電路增強(qiáng)驅(qū)動(dòng)電流來(lái)驅(qū)動(dòng)蜂鳴器。因?yàn)槿龢O管為PNP型,所以當(dāng)基極接入低電平時(shí)。蜂鳴器發(fā)聲。2.4 硬件調(diào)試 硬件調(diào)試主要是針對(duì)單片機(jī)部分進(jìn)行的調(diào)試。 在上電之前,先確保電路中不存在斷路或短
10、路情況,這一工作是整個(gè)調(diào)試工作的第一步,也是非常重要的一個(gè)步驟。在這部分調(diào)試中主要使用的工具是萬(wàn)用表,用來(lái)完成檢測(cè)電路中是否存在斷路或者短路情況的任務(wù)。注意焊點(diǎn)之間,確保焊點(diǎn)沒(méi)有短接在一起,同時(shí)注意焊點(diǎn)的美觀,確保沒(méi)有開(kāi)路以及短路的現(xiàn)象出現(xiàn)。 在確保硬件電路正常且無(wú)異常情況(斷路或短路)的情況下方可上電調(diào)試,上電調(diào)試的目的是檢驗(yàn)電路是否接錯(cuò),同時(shí)還要檢驗(yàn)原理是否正確,在本次設(shè)計(jì)中,上電調(diào)試主要是檢測(cè)單片機(jī)控制部分、數(shù)碼管點(diǎn)亮部分、和音頻轉(zhuǎn)換電路硬件調(diào)試。 1、數(shù)碼管LED電路調(diào)試:接通電源,隨機(jī)按下按鈕可以看到數(shù)碼管顯示數(shù)字。 2、鍵盤(pán)單片機(jī)控制部分調(diào)試:上電后,隨機(jī)按動(dòng)鍵盤(pán)可以發(fā)現(xiàn)各個(gè)按鍵對(duì)
11、應(yīng)的音正確。 3 軟件設(shè)計(jì)3.1 定時(shí)/計(jì)數(shù)器的計(jì)數(shù)初值計(jì)算(1) 要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/音頻),然后將此周期除以2,即為半周期的時(shí)間,利用定時(shí)器計(jì)時(shí)這個(gè)半周期時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的I/O反相,然后重復(fù)計(jì)時(shí)此半周期時(shí)間再對(duì)I/O口反相,就可在I/O腳上得到此頻率的脈沖。利用8051的內(nèi)部定時(shí)器使其工作在計(jì)數(shù)器模式MODE1下,改變記數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法。(2)計(jì)數(shù)初值T與頻率的關(guān)系公式如下: N=Fi/2/Fr N:記數(shù)初值Fi:Fi是機(jī)器頻率(晶體振蕩器為12MHz時(shí),其頻率為1MHz)Fr;要產(chǎn)生的頻率計(jì)數(shù)初值T的求法如下:T65536N6
12、5536Fi2Fr例如:設(shè)K65536,F(xiàn)1000000Fi1MHZ,求中音D0(523HZ),高音的D0(1046HZ)的記數(shù)值。T65536N65536Fi2Fr65536500000Fr中音D0的T6553650000052364580高音D0的T65536500000104665059單片機(jī)12MHZ晶振,高中低音符與計(jì)數(shù)T0相關(guān)的計(jì)數(shù)值如表所示:音符頻率(HZ)計(jì)數(shù)值(T值)TH TL音符頻率(HZ)計(jì)數(shù)值(T值)TH TL低1DO26263777F921#4FA#74064913FD91#1DO#27763872F980中5SO78464948FDB4低2RE29463969F9E
13、1#5SO#83164981FDD5#2RE#31164054FA36中6LA88065012FDF4低3MI33064140FA8C#6LA#93265042FE12低4FA34964216FAD8中7SI96865060FE24#4FA#37064291FB23低1DO104665095FE47低SO39264360FB68#1DO#110965120FE60#5SO#41564426FBAA高2RE117565144FE78低6LA44064489FBE9#2RE#124565166FE8E#6LA#46664547FC23高3MI131865186FEA2低7SI49464603FC5
14、B高4FA139765206FEB6中1DO52364655FC8F#4FA#149065227FECB#1DO#55464704FCC0高5SO156865242FFDA中2RE58764751FCEF#5SO#166165259FEEB#2RE#62264795FD1B高6LA176065274FEFA中3MI65964837FD45#6LA#186565289FF09中4FA69864876FD6C高7SI196765302FF16 音符頻率表3.2音符的節(jié)拍在一張樂(lè)譜中,我們經(jīng)常會(huì)看到這樣的表達(dá)式,如1=C 、1=G 等等,這里1=C,1=G表示樂(lè)譜的曲調(diào),和我們前面所談的音調(diào)有很大的
15、關(guān)聯(lián),4/4、3/4就是用來(lái)表示節(jié)拍的。以3/4為例加以說(shuō)明,它表示樂(lè)譜中以四分音符為節(jié)拍,每一小結(jié)有三拍。比如:其中1 、2 為一拍,3、4、5為一拍,6為一拍共三拍。1 、2的時(shí)長(zhǎng)為四分音符的一半,即為八分音符長(zhǎng),3、4的時(shí)長(zhǎng)為八分音符的一半,即為十六分音符長(zhǎng),5的時(shí)長(zhǎng)為四分音符的一半,即為八分音符長(zhǎng),6的時(shí)長(zhǎng)為四分音符長(zhǎng)。那么一拍到底該唱多長(zhǎng)呢?一般說(shuō)來(lái),如果樂(lè)曲沒(méi)有特殊說(shuō)明,一拍的時(shí)長(zhǎng)大約為400500ms 。我們以一拍的時(shí)長(zhǎng)為400ms為例,則當(dāng)以四分音符為節(jié)拍時(shí),四分音符的時(shí)長(zhǎng)就為400ms,八分音符的時(shí)長(zhǎng)就為200ms,十六分音符的時(shí)長(zhǎng)就為100ms。 可見(jiàn),在單片機(jī)上控制一個(gè)音
16、符唱多長(zhǎng)可采用循環(huán)延時(shí)的方法來(lái)實(shí)現(xiàn)。首先,我們確定一個(gè)基本時(shí)長(zhǎng)的延時(shí)程序,比如說(shuō)以十六分音符的時(shí)長(zhǎng)為基本延時(shí)時(shí)間,那么,對(duì)于一個(gè)音符,如果它為十六分音符,則只需調(diào)用一次延時(shí)程序,如果它為八分音符,則只需調(diào)用二次延時(shí)程序,如果它為四分音符,則只需調(diào)用四次延時(shí)程序,依次類(lèi)推。3.3 軟件設(shè)計(jì)3.3.1 判斷音階(高中低音)子程序 在軟件設(shè)計(jì)中采用yinjie代表音階,如下圖所示音階Yinjie值高2中1低0 初始化狀態(tài)為中音(yinjie=1),電路中設(shè)計(jì)高、低兩個(gè)音階鍵。上電后,若無(wú)按鍵按下,則為中音模式。若音階鍵被按下,則如下流程圖所示,初始化后進(jìn)行按鍵掃描,在高音鍵按下,若初始yinjie不
17、為2,則另yinjie=2,進(jìn)入高音工作模式,若初始yinjie為2,則對(duì)yinjie進(jìn)行初始化,即另yinjie=1,重新進(jìn)入進(jìn)入中音工作模式,這樣即實(shí)現(xiàn)了高音鍵切換高、中音方式的轉(zhuǎn)換。同理,用低音鍵實(shí)現(xiàn)中、低音的切換。3.3.2 播放子程序 本設(shè)計(jì)共兩種播放模式,包括自動(dòng)播放存儲(chǔ)音樂(lè)和按鍵發(fā)音。上電后,首先開(kāi)中斷并設(shè)定定時(shí)器0為工作方式1,當(dāng)自動(dòng)播放鍵按下時(shí),進(jìn)入中斷,根據(jù)樂(lè)譜在定義的音頻數(shù)組中查找相應(yīng)音律,然后給定時(shí)器賦初值,即開(kāi)始播放音樂(lè)。當(dāng)DO、RE、MI、FA、SO、LA、SI七種音符鍵按下時(shí),根據(jù)音階值(如上表中高中低對(duì)應(yīng))和音符值在定義的音頻數(shù)組中查找相應(yīng)音律,然后給定時(shí)器賦初
18、值,即按鍵發(fā)音。本次課程設(shè)計(jì)我們準(zhǔn)備了三首歌曲。結(jié)合DO、RE、MI三個(gè)音符鍵,通過(guò)鍵盤(pán)掃描確定BEEP鍵按下,此時(shí)再用if語(yǔ)句判斷,當(dāng)按下第一個(gè)鍵時(shí),按照相應(yīng)程序樂(lè)譜依次讀入音節(jié),開(kāi)始播放第一首歌,此時(shí)再通過(guò)if語(yǔ)句判斷若再按BEEP鍵則跳出播放音樂(lè),揚(yáng)聲器停止播放。第二、三首歌曲同理進(jìn)行播放。通過(guò)重復(fù)使用按鍵不僅節(jié)省了原材料,還使得電路結(jié)構(gòu)簡(jiǎn)單明了。 3.3.3 程序流程圖 開(kāi)始 賦初值yinjie=1 (默認(rèn)為中音) n=0 鍵盤(pán)掃描低或高音鍵按下數(shù)碼管顯示相應(yīng)字母再按下相應(yīng)音節(jié)鍵數(shù)碼管顯示相應(yīng)數(shù)字揚(yáng)聲器同時(shí)發(fā)聲BEEP鍵按下再按下相應(yīng)歌曲按鍵根據(jù)樂(lè)譜查找相應(yīng)音律給定時(shí)器賦值播放音樂(lè) 4
19、 Proteus軟件仿真4.1仿真軟件Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。Proteus是單片機(jī)課堂教學(xué)的先進(jìn)助手。使
20、用Proteus 軟件進(jìn)行單片機(jī)仿真設(shè)計(jì),是虛擬仿真技術(shù)和計(jì)算機(jī)多媒體技術(shù)相結(jié)合的綜合運(yùn)用,有利于培養(yǎng)學(xué)生的電路設(shè)計(jì)能力及仿真的操作能力 。Proteus不僅可將許多單片機(jī)實(shí)例功能形象化,也可將許多單片機(jī)實(shí)例運(yùn)行過(guò)程形象化。前者可在相當(dāng)程度上得到實(shí)物演示實(shí)驗(yàn)的效果,后者則是實(shí)物演示實(shí)驗(yàn)難以達(dá)到的效果。它的元器件、連接線路等卻和傳統(tǒng)的單片機(jī)實(shí)驗(yàn)硬件高度對(duì)應(yīng)。這在相當(dāng)程度上替代了傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)的功能,例:元器件選擇、電路連接、電路檢測(cè)、電路修改、軟件調(diào)試、運(yùn)行結(jié)果等。4.2 軟件調(diào)試 調(diào)試主要方法和技巧:通常一個(gè)調(diào)試程序應(yīng)該具備至少四種性能:跟蹤、斷點(diǎn)、查看變量、更改數(shù)值。整個(gè)程序是一個(gè)主程
21、序調(diào)用各個(gè)子程序?qū)崿F(xiàn)功能的過(guò)程,要使主程序和整個(gè)程序都能平穩(wěn)運(yùn)行,各個(gè)模塊的子程序的正確與平穩(wěn)運(yùn)行必不可少,所以在軟件調(diào)試的最初階段就是把各個(gè)子程序模塊進(jìn)行分別調(diào)試。4.3 仿真結(jié)果 電路仿真圖4.4 結(jié)果分析根據(jù)仿真結(jié)果可知,本次課程設(shè)計(jì)能夠準(zhǔn)確并徹底的完成設(shè)計(jì)要求。左側(cè)數(shù)碼管可以顯示a、b、c三種結(jié)果,分別代表低音、中音和高音。右側(cè)數(shù)碼管可以顯示1、2、3、4、5、6、7七個(gè)數(shù)字,分別代表DO、RE、MI、FA、SO、LA、SI七種音符。下面以4.3為例具體進(jìn)行分析:當(dāng)系統(tǒng)上電后,若按下高音鍵,則選定工作方式為高音模式,圖中c即代表高音。P1口連接數(shù)碼管段選端,左側(cè)數(shù)碼管顯示音符對(duì)應(yīng)的數(shù)字
22、。 5 課程設(shè)計(jì)體會(huì) 通過(guò)本次設(shè)計(jì),我們懂得了如何解決課程設(shè)計(jì)中出現(xiàn)的問(wèn)題,從而能夠使自己更好的學(xué)習(xí)并掌握一些軟件,例如Keil,Proteus。在本次設(shè)計(jì)中,我們又相當(dāng)于把以前學(xué)過(guò)的知識(shí)再?gòu)?fù)習(xí)一遍,對(duì)以前學(xué)過(guò)的知識(shí)又加以鞏固,它不僅僅讓我們把學(xué)過(guò)的東西用于實(shí)踐,更是一種提高能力的最好方法。首先,我們先要焊接電路,在焊接過(guò)程中,要設(shè)計(jì)排版怎樣才更加合理工整,焊接時(shí),要注意焊點(diǎn)和熔錫等等一些焊接技術(shù),而且我們并沒(méi)有一次性焊接成功,所以還要學(xué)會(huì)檢測(cè)再修整。其次,使用C語(yǔ)言來(lái)編譯程序。系統(tǒng)的學(xué)習(xí)函數(shù)使用和單片機(jī)的聯(lián)系,有時(shí)還要對(duì)一些電子元件有進(jìn)一步的了解,例如電阻、電容、二極管和三極管等元件,才好對(duì)
23、一些模塊的功能進(jìn)行更具體的認(rèn)識(shí)。最難的就是將音樂(lè)同單片機(jī)銜接起來(lái),單片機(jī)的發(fā)聲原理,音樂(lè)的音階與節(jié)拍的具體計(jì)算和使用,還有鍵盤(pán),發(fā)音等一些模塊的設(shè)計(jì),剛開(kāi)始很不了解,之后通過(guò)上網(wǎng)學(xué)習(xí),問(wèn)問(wèn)同學(xué),才有了初步的設(shè)計(jì)思想,這些都是以前從未學(xué)過(guò)的新知識(shí),新內(nèi)容,能夠接觸到這些,無(wú)疑又是一種提高。然后,軟件仿真。學(xué)習(xí)Proteus軟件,以前沒(méi)有接觸過(guò)這個(gè)軟件,所以不會(huì)使用,通過(guò)課本學(xué)習(xí),網(wǎng)上學(xué)習(xí)以及和同學(xué)交流,才初步掌握該軟件的使用方法,尤其是查找元器件不太容易,最后才知道有個(gè)元器件對(duì)照表,才解決了這個(gè)問(wèn)題。所以只有通過(guò)一次又一次實(shí)踐,才能更好地掌握新知識(shí)??傊?,每次課程設(shè)計(jì)都有不同的提高。我們目前已經(jīng)
24、是大三,還有一年就要畢業(yè),能夠在此之前知道自己的不足之處并提高自己的各方面能力,這都是一種提高。還有就是課程設(shè)計(jì)是分組合作,我們同學(xué)之間互相幫助,增強(qiáng)團(tuán)隊(duì)合作意識(shí),也是以后適應(yīng)社會(huì)的需要。在本次設(shè)計(jì)中,我們感受到電子信息工程這個(gè)專業(yè)以后所要學(xué)習(xí)的知識(shí)還有很多很多,社會(huì)發(fā)展和科技創(chuàng)新發(fā)展很快,只有通過(guò)自己的不斷學(xué)習(xí)和提高,才能立足社會(huì)之上。因此,課程設(shè)計(jì)使我們?cè)诮窈蟾犹?shí)學(xué)習(xí),努力提高自己!參考文獻(xiàn)1 沈慶陽(yáng),郭庭吉編著, 8051單片機(jī)實(shí)踐與應(yīng)用清華大學(xué)出版社,20012 趙建領(lǐng)編著, 51系列單片機(jī)開(kāi)發(fā)寶典電子工業(yè)出版社,20073 微機(jī)原理與單片機(jī)接口技術(shù)河南理工大學(xué),20124 胡漢才
25、編著,單片機(jī)原理及其接口技術(shù)清華大學(xué)出版社,20045 汪道輝編著,單片機(jī)系統(tǒng)設(shè)計(jì)與實(shí)踐 電子工業(yè)出版社 2005附1 源程序代碼 #include #define uchar unsigned char #define uint unsigned int #define k P2/P20-P26用來(lái)存放1-7七個(gè)音節(jié) sbit gao=P36; sbit di=P35; sbit BEEP=P37; /P37端口連接按鍵用來(lái)控制揚(yáng)聲器工作與否 uchar n=0;/n是播放歌曲時(shí)用到 uchar high,low;/定時(shí)器預(yù)裝值的高8位和低8位 uchar time,s1,L; uchar
26、yinjie=1; /yinjie=1,2,3表示低音,中音,高音 sbit speak=P32; /P32端口接揚(yáng)聲器 code uchar Table=0x40,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x40; /數(shù)碼管 code uchar fayin2= 0xf9,0x21, 0xf9,0xe1, 0xfa,0x8c, 0xfa,0xd8, 0xfb,0x68, 0xfb,0xe9, 0xfc,0x5b, /低音:高八 低八 0xfc,0x8f, 0xfc,0xef, 0xfd,0x45, 0xfd,0
27、x6c, 0xfd,0xb4, 0xfd,0xf4, 0xfe,0x24, / 中音:高八 低八 0xfe,0x47, 0xfe,0x78, 0xfe,0xa2, 0xfe,0xb6, 0xfe,0xda, 0xfe,0xfa, 0xff,0x16 / 高音:高八 低八 ;uchar code Music1= /粉刷匠144 5,2,1, 3,2,1, 5,2,1, 3,2,1, 5,2,1, 3,2,1, 1,2,2, 2,2,1, 4,2,1, 3,2,1, 2,2,1, 5,2,4, 5,2,1, 3,2,1, 5,2,1, 3,2,1, 5,2,1, 3,2,1, 1,2,2, 2,2
28、,1, 4,2,1, 3,2,1, 2,2,1, 1,2,4, 2,2,1, 2,2,1, 4,2,1, 4,2,1, 3,2,1, 1,2,1, 5,2,2, 2,2,1, 4,2,1, 3,2,1, 2,2,1, 5,2,4, 5,2,1, 3,2,1, 5,2,1, 3,2,1, 5,2,1, 3,2,1,1,2,2, 2,2,1, 4,2,1, 3,2,1, 2,2,1, 1,2,4; uchar code Music2=/ 小星星126 1,2,1, 1,2,1, 5,2,1, 5,2,1, 6,2,1, 6,2,1, 5,2,2,4,2,1, 4,2,1, 3,2,1, 3,2,1
29、, 2,2,1, 2,2,1, 1,2,2,5,2,1, 5,2,1, 4,2,1, 4,2,1, 3,2,1, 3,2,1, 2,2,2,5,2,1, 5,2,1, 4,2,1, 4,2,1, 3,2,1, 3,2,1, 2,2,2,1,2,1, 1,2,1, 5,2,1, 5,2,1, 6,2,1, 6,2,1, 5,2,2,4,2,1, 4,2,1, 3,2,1, 3,2,1, 2,2,1, 2,2,1, 1,2,2,;uchar code Music3= / 荷塘月色369 1,2,1, 1,2,2, 6,1,1, 5,1,2, 6,1,2, 1,2,2, 1,2,1, 2,2,1,
30、3,2,4, 2,2,1, 2,2,2, 1,2,1, 2,2,2, 2,2,1, 5,2,1, 5,2,1, 3,2,1, 3,2,1, 2,2,1, 3,2,4, 1,2,1, 1,2,2, 6,1,1, 5,1,2, 5,2,2, 3,2,1, 2,2,1, 3,2,1, 2,2,1, 1,2,4, 2,2,1, 2,2,2, 1,2,1, 2,2,1, 2,2,2, 3,2,1, 2,2,1, 1,2,1, 6,1,1, 2,2,1, 1,2,4, 1,2,1, 1,2,2, 6,1,1, 5,1,2, 6,1,2, 1,2,1, 1,2,2, 2,2,1, 3,2,4, 2,2,1,
31、 2,2,2, 1,2,1, 2,2,2, 2,2,1, 5,2,1, 5,2,1, 3,2,1, 3,2,1, 2,2,1, 3,2,4, 1,2,1, 1,2,1, 1,2,1, 6,1,1, 5,1,2, 5,2,2, 3,2,1, 2,2,1, 3,2,1, 2,2,1, 1,2,4, 2,2,1, 2,2,2, 1,2,1, 2,2,1, 2,2,2, 3,2,1, 2,2,1, 1,2,1, 6,1,1, 2,2,1, 1,2,4, 3,2,1, 5,2,2, 5,2,1, 5,2,2, 5,2,2, 6,2,1, 5,2,1, 3,2,1, 2,2,1, 1,2,4, 6,2,1
32、, 1,3,1, 6,2,1, 5,2,1, 3,2,1, 2,2,1, 1,2,1, 6,1,1, 2,2,2, 2,2,1, 3,2,1, 3,2,1, 2,2,3, 3,2,1, 5,2,2, 5,2,1, 5,2,2, 5,2,2, 6,2,1, 5,2,1, 3,2,1, 2,2,1, 1,2,4, 6,1,1, 1,2,1, 6,1,1, 5,1,1, 2,2,2, 3,2,2, 1,2,6; /延時(shí)函數(shù) void delay(unsigned int x) int a,b; for(a=x;a0;a-) for(b=1000;b0;b-); void song()TH0=high
33、;TL0=low;TR0=1;delay(time*250); void ITimer0(void) TMOD = 0x01; /使用模式1,16位定時(shí)器 EA=1; /總中斷打開(kāi) ET0=1; /定時(shí)器中斷打開(kāi) TR0=1; /定時(shí)器開(kāi)關(guān)打開(kāi) void Play() uchar m,n;n=0;delay(500);if(k=0xfe) /播放粉刷匠 while(n144) m=Music1n+7*(Music1n+1-1)-1;high=fayinm0;low=fayinm1;time=Music1n+2;n=n+3;song();if(BEEP=0)break; if(k=0xfd) /播放小星星 while(n1
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 共享經(jīng)濟(jì)模式下的物流服務(wù)合作協(xié)議
- 專業(yè)翻譯服務(wù)協(xié)議指南
- 行政公文的政策導(dǎo)向試題及答案
- 2025房產(chǎn)中介銷(xiāo)售合同
- 2025合法的多人勞動(dòng)合同模板
- 行政管理與演變過(guò)程解析試題及答案
- 行政管理在社會(huì)福利中的角色試題及答案
- 行政管理學(xué)考試準(zhǔn)備方案試題及答案
- 2025鄉(xiāng)村住宅設(shè)計(jì)與裝修合同書(shū)
- 2025年項(xiàng)目服務(wù)合同范本
- 2025北京市朝陽(yáng)區(qū)區(qū)管企業(yè)年輕人才“培優(yōu)”招聘100人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 銀行消保培訓(xùn)
- 早產(chǎn)兒與低出生體重兒袋鼠式護(hù)理技術(shù)規(guī)
- 英語(yǔ)主謂一致課件
- DB45T 2306-2021 百香果無(wú)病毒健康種苗栽培技術(shù)規(guī)程
- 統(tǒng)編版(2024新版)七年級(jí)下冊(cè)道德與法治期末復(fù)習(xí)背誦知識(shí)點(diǎn)提綱
- 《臨產(chǎn)應(yīng)急處理》課件
- 高中生心理健康教育主題班會(huì)2
- 腰椎滑脫的臨床特征
- CQI-30中文審核表格資料
- 關(guān)于清理35KV高壓架空線路樹(shù)障的安全技術(shù)措施
評(píng)論
0/150
提交評(píng)論