版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上單片機(jī)及DSP課程設(shè)計(jì)報(bào)告專(zhuān) 業(yè): 通信工程班 級(jí): 姓 名: 學(xué) 號(hào): 指導(dǎo)教師: 李賀時(shí) 間:2015-06-222015-07-03通信與電子工程學(xué)院基于單片機(jī)的電子琴設(shè)計(jì)一、 課設(shè)的目的及內(nèi)容本設(shè)計(jì)主要是用單片機(jī)為核心控制元件,設(shè)計(jì)一臺(tái)電子琴。以單片機(jī)作為主控核心,與鍵盤(pán)、蜂鳴器、數(shù)碼管等模塊組成核心主控制模塊,在主控模塊上設(shè)有7個(gè)按鍵和1個(gè)復(fù)位按鍵。本系統(tǒng)主要是完成的功能:電子琴?gòu)椬嗖@示所按的按鍵對(duì)應(yīng)音的唱名。關(guān)于聲音的處理,使用單片機(jī)C語(yǔ)言,利用定時(shí)器來(lái)控制頻率,而每個(gè)音符的符號(hào)只是存在自定義的表中??傊?,本設(shè)計(jì)的電子琴有以下要求: (1)用鍵盤(pán)作出電子
2、琴的按鍵,共7個(gè),每鍵代表1個(gè)音符。各音符按照符合電子琴的按鍵順序排列; (2)達(dá)到電子琴的基本功能,可以用彈奏出簡(jiǎn)單的樂(lè)曲;(3)在按下按鍵發(fā)出音符的同時(shí)顯示出音符所對(duì)應(yīng)的唱名即1(dao)、2(ruai)、3(mi)、4(fa)、5(sao)、6(la)、7(xi)。二、問(wèn)題分析、解決思路及原理圖本系統(tǒng)采用STC89C52RC為主控芯片,因其精度較高,操作比較靈活,輸入電路和輸出電路由芯片來(lái)進(jìn)行處理,電路的系統(tǒng)的穩(wěn)定性高,功耗小。其中,輸入電路有7個(gè)獨(dú)立按鍵,通過(guò)按鍵隨意按下所要表達(dá)的音符,作為電平送給主體電路,中央處理器通過(guò)識(shí)別,解碼輸出音符,在蜂鳴器中發(fā)出有效的聲音。由于需要顯示的信息
3、不多,顯示電路未采用液晶屏顯示,而是使用數(shù)碼管顯示電路負(fù)責(zé)顯示按下的琴鍵所對(duì)應(yīng)音符的唱名,這樣既節(jié)省了成本,又降低了編程難度。 圖1如圖1所示基于單片機(jī)STC89C52RC的電子琴電路,它主要由琴鍵控制電路、數(shù)碼管顯示電路、音頻功放電路和時(shí)鐘-復(fù)位電路四部分所構(gòu)成。三、 硬件設(shè)計(jì)(一) 琴鍵控制電路琴鍵控制電路作為人機(jī)聯(lián)系的輸入部分,也是間接控制數(shù)碼顯示和音頻功放的重要組成部分。本設(shè)計(jì)采用獨(dú)立式鍵盤(pán)的思路。獨(dú)立式鍵盤(pán)的特點(diǎn)是一鍵一線,各鍵相互獨(dú)立,每個(gè)鍵各接一條I/O口線,通過(guò)檢測(cè)I/O輸入線的電平狀態(tài),可判斷出被按下的按鍵。 顯而易見(jiàn),這樣電路簡(jiǎn)單,各條檢測(cè)線獨(dú)立,識(shí)別按下按鍵的軟
4、件編寫(xiě)簡(jiǎn)單。適用于鍵盤(pán)按鍵數(shù)目較少的場(chǎng)合,不適用于鍵盤(pán)按鍵數(shù)目較多的場(chǎng)合,因?yàn)閷⒄加幂^多的I/O口線。 獨(dú)立式鍵盤(pán)的7個(gè)獨(dú)立按鍵分別對(duì)應(yīng)一個(gè)I/O口線,當(dāng)某一按鍵按下時(shí),對(duì)應(yīng)的檢測(cè)線就變成了低電平,與其它按鍵相連的檢測(cè)線仍為高電平,只需讀入I/O輸入線的狀態(tài),判別哪一條I/O輸入線為低電平,很容易識(shí)別哪個(gè)鍵被按下。(二) 數(shù)碼管顯示電路LED(Light Emitting Diode)發(fā)光二極管縮寫(xiě)。LED數(shù)碼管是由發(fā)光二極管構(gòu)成的。 常見(jiàn)的LED數(shù)碼管為“8”字型的,共計(jì)8段。它由七個(gè)條形發(fā)光二極管和一個(gè)小圓點(diǎn)發(fā)光二極管組成,每一段對(duì)應(yīng)一個(gè)發(fā)光二極管。一般來(lái)說(shuō)分共陽(yáng)極和共陰極兩種接
5、法,如圖二所示為八段LED數(shù)碼管結(jié)構(gòu)及外形。圖二共陽(yáng)極LED數(shù)碼管的發(fā)光二極管的陽(yáng)極連接在一起,公共陽(yáng)極接正電壓,當(dāng)某個(gè)發(fā)光二極管的陰極接低電平時(shí),發(fā)光二極管被點(diǎn)亮,相應(yīng)的段被顯示,如圖二a所示。反之,共陰極發(fā)光二極管的陰極連在一起,通常公共陰極接地。當(dāng)陽(yáng)極為高電平時(shí),發(fā)光二極管點(diǎn)亮,如圖二b所示。LED數(shù)碼管的a至g七個(gè)發(fā)光二極管因接得電壓不同而導(dǎo)致不同亮暗的組合就能形成不同的字形,這種組合稱(chēng)之為字形碼,如表一所示為八段LED數(shù)碼管的字形碼表。 表一本設(shè)計(jì)所采用的是共陰二極管。(三) 音頻功放電路本設(shè)計(jì)采用蜂鳴器作為音頻發(fā)生的設(shè)備,而若將蜂鳴器的正極直接與單片機(jī)端口相連,由于單片機(jī)端口的電流
6、值太小而無(wú)法驅(qū)動(dòng)蜂鳴器發(fā)聲,所以本設(shè)計(jì)采用三極管放大電流的方法來(lái)完成目的的,如圖三所示, 圖三(四) 時(shí)鐘、復(fù)位電路1、 時(shí)鐘電路時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時(shí)鐘電路有兩種方式,一種是內(nèi)部時(shí)鐘方式,另一種是外部時(shí)鐘方式。 STC89C52內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個(gè)引腳跨接石英晶體振蕩器和微調(diào)電容,構(gòu)成一個(gè)穩(wěn)定的自激振蕩器,圖四是STC89C52內(nèi)部時(shí)鐘方式的電路,C1和C2的典型值通常選擇為30pF,石英晶體常選6MHz或12MHz的。本設(shè)計(jì)采用內(nèi)部時(shí)鐘方式
7、做時(shí)鐘電路 圖四2、 復(fù)位電路單片機(jī)的初始化操作,給復(fù)位腳RST加上大于2個(gè)機(jī)器周期(即24個(gè)時(shí)鐘振蕩周期)的高電平就使STC89C52復(fù)位。這些操作都是由復(fù)位電路來(lái)實(shí)現(xiàn)。在單片機(jī)的實(shí)用系統(tǒng)中,一般有兩種復(fù)位操作形式:上電復(fù)位和手動(dòng)復(fù)位。上電復(fù)位在單片機(jī)系統(tǒng)每次通電時(shí)執(zhí)行。上電時(shí),電容C充電加給RST引腳一個(gè)短的高電平信號(hào),此信號(hào)隨著VCC對(duì)電容C的充電過(guò)程而逐漸回落,即RST引腳上的高電平持續(xù)時(shí)間取決于電容C充電時(shí)間。為保證系統(tǒng)可靠復(fù)位,RST引腳上的高電平必須維持足夠長(zhǎng)的時(shí)間。手動(dòng)復(fù)位在系統(tǒng)出現(xiàn)操作錯(cuò)誤或程序運(yùn)行出錯(cuò)時(shí)使用。在單片機(jī)系統(tǒng)運(yùn)行過(guò)程中,按下復(fù)位鍵,高電平輸入RST引腳,單片機(jī)被
8、強(qiáng)制執(zhí)行復(fù)位操作,系統(tǒng)可以退出錯(cuò)誤運(yùn)行狀態(tài),恢復(fù)正常工作。四、 軟件設(shè)計(jì)1、硬件接口定義引腳名接口說(shuō)明P0.0P0.7數(shù)碼管與單片機(jī)通信口 P1.0P1.7 獨(dú)立按鍵接口 P3.3 控制蜂鳴器2 .發(fā)聲原理若要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),再將此周期除以2,即為半周期的時(shí)間。利用定時(shí)器計(jì)時(shí)半周期時(shí)間,每當(dāng)計(jì)時(shí)終止后就將P3.3反相,然后重復(fù)計(jì)時(shí)再反相。就可在P1.0引腳上得到此頻率的脈沖。利用STC89c52的內(nèi)部定時(shí)器使其工作計(jì)數(shù)器模式(MODE1)下,改變計(jì)數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法產(chǎn)生不同音階。例如,頻率為523Hz,其周期T1/5231912s,因此只要
9、令計(jì)數(shù)器計(jì)時(shí)956s/1s956,每計(jì)數(shù)956次時(shí)將I/O反相,就可得到中音DO(523Hz)。計(jì)數(shù)脈沖值與頻率的關(guān)系式是:Nfi÷2÷fr,式中,N是計(jì)數(shù)值;fi是機(jī)器頻率(晶體振蕩器為12MHz時(shí),其頻率為1MHz);fr是想要產(chǎn)生的頻率。其計(jì)數(shù)初值T的求法如下:T65536N65536fi÷2÷fr 例如:設(shè)K65536,fi1MHz,求中音DO(261Hz)。T65536N65536fi÷2÷fr65536÷2÷fr65536/fr,中音DO的T65536/52364580。3.程序流程 3.1主函數(shù)運(yùn)用模
10、塊化的思想,流程如圖所示。 3.2初始化函數(shù) 流程圖如下圖所示,該函數(shù)對(duì)所需的I/O口、定時(shí)器0以及數(shù)碼管蜂鳴器進(jìn)行初始化配置。初始化開(kāi)始 定時(shí)器0設(shè)置為模式一關(guān)閉數(shù)碼管關(guān)閉蜂鳴器 關(guān)定時(shí)器0定時(shí)器0中斷允許 結(jié)束開(kāi)總中斷 3.3音頻處理及數(shù)碼管顯示是否按下鍵盤(pán)掃描開(kāi)始 本設(shè)計(jì)中數(shù)碼管顯示編碼較容易,所以將其與發(fā)聲程序一同處理,使編碼更加簡(jiǎn)潔。流程圖如下所示是蜂鳴器發(fā)聲且數(shù)碼管顯示結(jié)束否五、 源程序#include<reg52.h>#define keyport P1 #define uchar unsigned char #define uint unsigned intsbit
11、 SPK=P33; /蜂鳴器接口定義uchar high,low; /定時(shí)器預(yù)裝值的高八位和低八位uchar code fre2= /頻率值0x44,0xfc, /中音10xac,0xfc, /中音20x09,0xfd, /中音30x34,0xfd, /中音40x82,0xfd, /中音50xc2,0xfd, /中音60x06,0xfe, /中音7;uchar code table=0x06,0x5b,0x4f,0x66,0x6d,/數(shù)碼管顯示1,2,3,4,5,6,7所對(duì)應(yīng)的P0口電平0x7d,0x07,0x7f,0x6f,0x77,; void delay(uint x);/延時(shí)函數(shù)voi
12、d Init(void);/初始化函數(shù)void main (void) /主函數(shù)開(kāi)始Init();/先進(jìn)行初始化while(1)uchar num;switch(keyport) /掃描按鍵及判斷鍵值case 0xfe: delay(1);if(keyport=0xfe) /消抖P0=table0; /數(shù)碼管顯示音的唱名num=1;break;case 0xfd: delay(1);if(keyport=0xfd)P0=table1;num=2;break;case 0xfb: delay(1);if(keyport=0xfb)P0=table2;num=3;break;case 0xf7:d
13、elay(1);if(keyport=0xf7)P0=table3;num=4;break;case 0xef:delay(1);if(keyport=0xef)P0=table4;num=5;break;case 0xdf:delay(1);if(keyport=0xdf)P0=table5; num=6;break;case 0xbf:delay(1);if(keyport=0xbf)P0=table6;num=7;break;case 0x7f:delay(1);if(keyport=0x7f)P0=table7;num=8;break;default:num=0;break;if(nu
14、m=0) /沒(méi)按按鍵TR0=0;elsehigh=frenum-11; /將按鍵所對(duì)應(yīng)的頻率值裝入定時(shí)器的高八位與低八位 low=frenum-10; TR0=1; /定時(shí)器打開(kāi) delay(500); /將其延時(shí) SPK=0; /延時(shí)后關(guān)閉 P0=0x00; void Init(void) /初始化函數(shù)SPK=0;P0=0x00;TMOD = 0x01;EA=1;ET0=1; TR0=0; void Timer0_isr(void) interrupt 1 /中斷函數(shù)SPK=!SPK; TH0=high;TL0=low;void delay(uint x) /延時(shí)函數(shù)int a,b;for(
15、a=x;a>0;a-) for(b=110;b>0;b-) ;六、 Proteus仿真Proteus軟件是英國(guó)Labcenter Electronics公司研發(fā)的EDA工具軟件。它是一個(gè)集模擬電路、數(shù)字電路、模/數(shù)混合電路以及多種微控制器系統(tǒng)為一體的系統(tǒng)設(shè)計(jì)和仿真平臺(tái)。是目前同類(lèi)軟件中最先進(jìn)、最完整的電子類(lèi)仿真平臺(tái)之一。它真正實(shí)現(xiàn)了在計(jì)算機(jī)上完成從原理圖、電路分析與仿真、單片機(jī)代碼調(diào)試與仿真、系統(tǒng)測(cè)試與功能驗(yàn)證到PCB板生成的完整的電子產(chǎn)品研發(fā)過(guò)程。 最新Keil uVision4 IDE,旨在提高開(kāi)發(fā)人員的生產(chǎn)力,實(shí)現(xiàn)更快,更有效的程序開(kāi)發(fā)
16、。Keil uVision4引入了靈活的窗口管理系統(tǒng),能夠拖放到視圖內(nèi)的任何地方,包括支持多顯示器窗口。Keil uVision4在Keil uVision3 IDE的基礎(chǔ)上,增加了更多大眾化的功能:多顯示器和靈活的窗口管理系統(tǒng);系統(tǒng)瀏覽器窗口的顯示設(shè)備外設(shè)寄存器信息;調(diào)試還原視圖創(chuàng)建并保存多個(gè)調(diào)試窗口布局;多項(xiàng)目工作區(qū)簡(jiǎn)化與眾多的項(xiàng)目仿真結(jié)果七、 設(shè)計(jì)過(guò)程中遇到的問(wèn)題及解決的方法電子琴在設(shè)計(jì)過(guò)程中并非一帆風(fēng)順的,前前后后遇到了各種各樣的問(wèn)題,說(shuō)幾個(gè)關(guān)鍵的問(wèn)題。首先是數(shù)碼管的問(wèn)題,焊接剛剛完成的時(shí)候,數(shù)碼管完全是沒(méi)有任何的反應(yīng)的,反復(fù)檢查程序,沒(méi)有發(fā)現(xiàn)問(wèn)
17、題。又檢查電路是否連接正確,也沒(méi)有發(fā)現(xiàn)什么問(wèn)題,完全是按照仿真圖來(lái)連接的。直到用電壓表檢查端口電壓時(shí)才發(fā)現(xiàn)問(wèn)題出在哪。原來(lái)是最新系統(tǒng)上的上拉電阻阻值過(guò)大導(dǎo)致的,找到問(wèn)題解決就容易多了,我重新找了1k的電阻作為上拉電阻,焊接完成后,再重新運(yùn)行單片機(jī),數(shù)碼管便正常了。第二個(gè)問(wèn)題是蜂鳴器發(fā)聲問(wèn)題,也是很多同學(xué)都遇到的問(wèn)題,就是蜂鳴器對(duì)頻率的敏感性太差,同樣的電路用揚(yáng)聲器就很完美,但用蜂鳴器效果就比較差。八、 設(shè)計(jì)體會(huì)總體來(lái)說(shuō),此次單片機(jī)課程設(shè)計(jì)使我收獲良多,雖然課程設(shè)計(jì)的過(guò)程中遇到了很多困難與問(wèn)題,但我最終還是完成了設(shè)計(jì)的任務(wù)及要求。具體來(lái)說(shuō)可以分為以下幾點(diǎn):第一,不夠細(xì)心,不夠嚴(yán)謹(jǐn)(如因?yàn)榇中拇笠舛稿e(cuò)線);第二,因?qū)φn本理論的掌握度不夠?qū)е戮幊坛霈F(xiàn)錯(cuò)誤;第三,硬件方面,剛開(kāi)始有的程序模塊不能實(shí)現(xiàn)預(yù)期的效果,對(duì)于有的硬件,在實(shí)物制作過(guò)程中焊了比較多的排線,同時(shí)對(duì)于整體各元器件的布局都有很高的要求。不過(guò)在向同學(xué)請(qǐng)教,各方面都有了不同程度的改善;第四,在做人方面,我認(rèn)識(shí)到,無(wú)論做什么事情,只要你足夠堅(jiān)強(qiáng),有足夠的毅力和決心,有足夠的挑戰(zhàn)困難的勇氣,就沒(méi)有什么辦不到的。通過(guò)這次課設(shè),也使我進(jìn)一步熟悉和掌握了單片機(jī)的內(nèi)部結(jié)構(gòu)和工作原理,了解了單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的基本方法和步驟, 掌
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 合同范例審查
- 土壤改良合同范例
- 代賣(mài)合同范例 月結(jié)
- 2024年發(fā)電廠燃料油銷(xiāo)售合同
- 吊車(chē)改造合同模板
- 勞動(dòng)分包合同范例
- 2024年工程項(xiàng)目資質(zhì)借入合同
- 個(gè)人原料采購(gòu)合同范例
- 天天快遞員合同范例
- 吊裝施工合同范例
- 浙江省溫州市地圖矢量PPT模板(圖文)
- 上海市建設(shè)工程項(xiàng)目管理機(jī)構(gòu)管理人員情況表
- 北師大版二年級(jí)數(shù)學(xué)上冊(cè)第九單元《除法》知識(shí)點(diǎn)梳理復(fù)習(xí)ppt
- 空氣能室外機(jī)保養(yǎng)維護(hù)記錄表
- DB37∕T 5162-2020 裝配式混凝土結(jié)構(gòu)鋼筋套筒灌漿連接應(yīng)用技術(shù)規(guī)程
- 9-2 《第三方過(guò)程評(píng)估淋蓄水檢查內(nèi)容》(指引)
- 部編版七年級(jí)初一語(yǔ)文上冊(cè)《狼》公開(kāi)課課件(定稿)
- 2015路面工程講義(墊層+底基層+基層+面層+聯(lián)合層+封層、透層與黏層)
- 《現(xiàn)代漢語(yǔ)修辭》PPT課件(完整版)
- TTJCA 0007-2022 住宅室內(nèi)裝飾裝修工程施工驗(yàn)收規(guī)范
- 構(gòu)造柱工程施工技術(shù)交底
評(píng)論
0/150
提交評(píng)論