基于單片機(jī)的自動(dòng)音樂(lè)播放器的方案設(shè)計(jì)書(shū)_第1頁(yè)
基于單片機(jī)的自動(dòng)音樂(lè)播放器的方案設(shè)計(jì)書(shū)_第2頁(yè)
基于單片機(jī)的自動(dòng)音樂(lè)播放器的方案設(shè)計(jì)書(shū)_第3頁(yè)
基于單片機(jī)的自動(dòng)音樂(lè)播放器的方案設(shè)計(jì)書(shū)_第4頁(yè)
基于單片機(jī)的自動(dòng)音樂(lè)播放器的方案設(shè)計(jì)書(shū)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(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)介

本文格式為Word版,下載可任意編輯——基于單片機(jī)的自動(dòng)音樂(lè)播放器的方案設(shè)計(jì)書(shū)低音簡(jiǎn)譜碼1234567

頻率/Hz523587659698784880987高音簡(jiǎn)譜碼1234567

頻率/Hz10461174131813961567176019752.1.3節(jié)拍的產(chǎn)生

音階的頻率是固定的,而節(jié)拍有快有慢,拍子越短節(jié)奏越快,拍子越長(zhǎng)節(jié)奏越慢??刂瓢l(fā)音的時(shí)間有兩種方法:調(diào)用延時(shí)子程序或采用定時(shí)器中斷。本次設(shè)計(jì)采用的是定時(shí)器終端方式。

首先在整首樂(lè)曲中找出最短的拍子,一般為1/4拍,拍子的時(shí)間約為0.125s。然后以1/4拍為基準(zhǔn),然后設(shè)定每0.125s產(chǎn)生一次中斷,其定時(shí)器值為125000,定時(shí)常數(shù)為08F3H。若采用模式2,定時(shí)器值太小,不是很好用。所以采用模式1,將定時(shí)器值設(shè)為62500,即0CDCH,則只需要執(zhí)行2次定時(shí)器中斷就可以產(chǎn)生1/4拍的時(shí)間長(zhǎng)度。同樣,若要產(chǎn)生其它的拍子(如1/2拍,3/4拍……),只需要定時(shí)器中斷N次,產(chǎn)生N*0.125s定時(shí),使其滿足各個(gè)節(jié)拍的時(shí)間長(zhǎng)度即可。設(shè)計(jì)的程序按如下方法編寫(xiě):

(1)將音符代碼裝入8位字節(jié)高4位,節(jié)拍代碼裝入低4位,組成一個(gè)字節(jié),以此類(lèi)推。將整段樂(lè)曲轉(zhuǎn)換成一定長(zhǎng)度的編碼表。具體編程方法如下:

1.首先,定義toneh[]和tonel[]兩個(gè)數(shù)組,將各個(gè)音樂(lè)頻率的定時(shí)器初值的16進(jìn)制數(shù)的高8位裝入toneh[],低8位裝入tonel[]。

2.利用單片機(jī)的定時(shí)器中斷,將toneh[]和tonel[]的數(shù)據(jù)分別裝入TH0和TL0,并且,收到信號(hào)P1.0就反相。

voidtimer0(void)interrupt1using1

{

P1_0=!P1_0。TH0=toneh[rti]。TL0=tonel[rti]。}

3.利用定時(shí)器1控制音樂(lè)節(jié)拍的時(shí)間長(zhǎng)度,將上文所述的定時(shí)器初值裝入定時(shí)器1。voidtimer1(void)interrupt3using2{

TH1=0x0c。TL1=0xdc。m++。}

(2)在程序執(zhí)行時(shí)順序查此表,取出音符代碼,查頻率表,置入T/C口,取出節(jié)拍代碼,供定時(shí)器使用,啟動(dòng)后即可發(fā)出聲音。2.1.4音頻轉(zhuǎn)換流程圖

設(shè)計(jì)的軟件流程如圖2-2所示。程序開(kāi)始運(yùn)行時(shí)先對(duì)單片機(jī)進(jìn)行初始化,其中包括定時(shí)器及其工作方式的選擇、外部中斷設(shè)定、定時(shí)器初值的設(shè)定。利用單片機(jī),通過(guò)軟件的方式產(chǎn)生所需要的音樂(lè)頻率,并將收到的信號(hào)與音頻編碼表進(jìn)行對(duì)比。若信號(hào)在編碼表中,則將該頻率的定時(shí)器初值寫(xiě)入定時(shí)器中,并讀取頻率的音階,再?gòu)膯纹瑱C(jī)的P1.0口輸出,經(jīng)過(guò)音頻放大器驅(qū)動(dòng)喇叭發(fā)出聲音,利用驅(qū)動(dòng)喇叭演示程序即可控制音樂(lè)的節(jié)拍。若信號(hào)不在編碼表中,則返到初始化。

2.2時(shí)間顯示程序設(shè)計(jì)2.2.1設(shè)計(jì)思路

對(duì)于時(shí)間程序的設(shè)計(jì),主要依靠單片機(jī)內(nèi)部定時(shí)器的計(jì)數(shù)功能實(shí)現(xiàn)。時(shí)鐘由秒針、分針和時(shí)針組成,在程序中分別由sdata,mdata,hdata表示各單位的數(shù)據(jù)。首先對(duì)sdata,mdata,hdata分別設(shè)定一個(gè)初值,其中sdata設(shè)為0,表示秒針初始為0。然后利用定時(shí)器對(duì)秒針計(jì)數(shù),當(dāng)計(jì)數(shù)值達(dá)到1秒的時(shí)間后產(chǎn)生定時(shí)器中斷,sdata的數(shù)據(jù)就加1。由于本次設(shè)計(jì)采用的晶振頻率為6MHz,所以定時(shí)器取值為2500。將hdata的數(shù)據(jù)裝入第一和其次個(gè)數(shù)碼管,將mdata的數(shù)據(jù)裝入第三和第四個(gè)數(shù)碼管。當(dāng)sdata的數(shù)據(jù)為59時(shí),若此時(shí)再來(lái)一個(gè)定時(shí)器中斷,則秒針重新歸零,而分針就加1。同樣,分針和時(shí)針的進(jìn)位也是同一道理。當(dāng)設(shè)定的鬧鐘時(shí)間一到,程序即轉(zhuǎn)入音頻程序,驅(qū)動(dòng)喇叭放出音樂(lè)。2.2.2時(shí)鐘程序流程圖

時(shí)鐘程序流程圖如圖2-3所示。(應(yīng)有簡(jiǎn)單的文字表達(dá)或解釋)3硬件電路的設(shè)計(jì)3.1硬件流程模塊

設(shè)計(jì)的硬件流程模塊如圖3-1所示。首先,PC機(jī)通過(guò)串口及MAX232芯片將程序下載到單片機(jī)中,其中包括把一個(gè)個(gè)的單音寫(xiě)入單片機(jī)的ROM存儲(chǔ)器中,程序運(yùn)行時(shí)再將音樂(lè)數(shù)據(jù)按順序讀出,利用單片機(jī)的定時(shí)器中斷控制音樂(lè)節(jié)拍的長(zhǎng)度,這樣就能形成一段樂(lè)曲。在單片機(jī)P1.0口接入音頻放大電路,將單片機(jī)輸出的信號(hào)放大,再通過(guò)喇叭播放音樂(lè)。單片機(jī)P2口接4位共陰LED數(shù)碼管,并外接1K歐的排阻,利用單片機(jī)內(nèi)部的定時(shí)器中斷控制時(shí)間程序,然后在數(shù)碼管上顯示出時(shí)間。3.2模塊電路的設(shè)計(jì)

3.2.189C58RD+型單片機(jī)介紹

89C58RD+是一種帶32KB閃爍可編程/可擦除制度存儲(chǔ)器(EPEROM-FlashProgrammableandErasableReadOnlyMemory)的低電壓,高性能CMOS的8位微處理器。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51的指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,因而ATMEL的89C58RD+是一種高效微控制器,為好多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。并且,比起跟它同種類(lèi)型的89C51,它具有更大的Flash存儲(chǔ)器,可下載很大容量的程序代碼,因此功能更加強(qiáng)大,應(yīng)用范圍更廣泛。

89C58RD+有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,9個(gè)中斷源,內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,可編程UART串行通信口,SPI串行口,89C58RD+可以依照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的Flash存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。89C58RD+有PDIP、TQFP及PLCC等三種封裝形式,以適應(yīng)不同應(yīng)用系統(tǒng)的需求。89C58RD+管腳如圖3-2所示,其中時(shí)鐘引腳

XTAL1:接外部晶體的一個(gè)引腳。在單片機(jī)內(nèi)部,它是構(gòu)成片內(nèi)振蕩器的反相放大器的輸入端。當(dāng)采用外部振蕩器時(shí),該引腳接收振蕩器的信號(hào),即把此信號(hào)直接接到內(nèi)部時(shí)鐘發(fā)聲器的輸入端。

XTAL2:接外部晶體的另一個(gè)引腳。在單片機(jī)內(nèi)部,它是構(gòu)成內(nèi)部振蕩器的反相放大器的輸出端。當(dāng)采用外部振蕩器時(shí),此引腳應(yīng)懸浮不連接。

注意:假使采用片內(nèi)的振蕩電路,要在單片機(jī)的引腳XTAL1和XTAL2之間連接一個(gè)石英晶體或陶瓷諧振器,并接兩個(gè)電容到地??刂凭€或其他電源的復(fù)位引腳

RST:復(fù)位輸入端。

ALE/:當(dāng)訪問(wèn)外部寄放器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在Flash編程期間,此管腳用于輸入編程脈沖。在平日,ALE以不變的頻率周期輸出正脈沖信號(hào),次頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。假使阻止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行外部執(zhí)行狀態(tài)ALE阻止,置位無(wú)效。:外部程序存儲(chǔ)器的選通信號(hào)。在有外部程序存儲(chǔ)器取指令期間,每個(gè)機(jī)器周期兩次有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的信號(hào)將不出現(xiàn)。

/Vpp:當(dāng)保持低電平日,則在此期間訪問(wèn)外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意要加密方式1時(shí),將內(nèi)部鎖定為RESET;當(dāng)斷保持高電平日,此間訪問(wèn)內(nèi)部程序存儲(chǔ)器。在Flash編程期間,此管腳也用于施加12V編程電源(Vpp)。輸入/輸出引腳

P0口:P0口為一個(gè)8位漏極開(kāi)路雙向I/O口,每腳可吸收8個(gè)TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)“1〞時(shí),被定義為高阻輸入。P0口能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在Flash編程時(shí),P0口作為原碼輸入口,當(dāng)Flash進(jìn)行校驗(yàn)時(shí),P0口輸出原碼,此時(shí),P0口外部必需被拉高。

P1口:P1口為一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O,P1口緩沖器能接收輸出4個(gè)TTL門(mén)電流。P1口管腳寫(xiě)入“1〞后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平日,將輸出電流,這是由于內(nèi)部上拉的起因。在Flash編程和校驗(yàn)時(shí),P1口為第八位地址接收。P2口:P2口為一個(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ì)外部8位地址數(shù)據(jù)校驗(yàn)時(shí),P2口輸出其特別功能起存器的內(nèi)容。P2口在Flash編程和校驗(yàn)時(shí),接收高8位地址信號(hào)和控制信號(hào)。

P3口:P3口為一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1〞后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的起因。P3口也可作為一些特別功能口,如表2-1所示。表2-1

口管腳備選功能P3.0RXD串行輸入口P3.1TXD串行輸出口P3.2外部中斷0P3.3外部中斷1

P3.4T0計(jì)時(shí)器0外部輸入P3.5T1計(jì)數(shù)器1外部輸入P3.6外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通P3.7外部數(shù)據(jù)存儲(chǔ)器讀選通3.2.2LM386N1及外圍電路的設(shè)計(jì)

LM386N1乃音頻功率放大器,主要應(yīng)用于低壓消費(fèi)類(lèi)產(chǎn)品。為使外圍元件最少,電壓增益內(nèi)置為20。但在1腳和8腳之間增加一只外接電阻和電容,便可將電壓增益調(diào)為任意值,直至200。輸入端以地為參考,同時(shí)輸出端被自動(dòng)偏置到電源電壓的一半,在6V電源電壓下,它的靜態(tài)功耗僅為24mW,加之封裝形式有塑封8引線雙列直插式和貼片式,使

LM386N1具有靜態(tài)功耗低(約為4mA),可用電池供電;工作電壓范圍寬(4-12Vor5-18V);外圍元件少等特點(diǎn)。LM386N1管腳示意圖如圖3-3。

LM386N外圍電路如圖3-4所示意。其中R3為正相輸入電阻,取值為10K;R4、R5是分壓電阻,取值分別為0.5K和0.01K;C9、C10是旁路電容,取值分別為0.1uf、10uf;C11是一個(gè)耦合電容,取值為47uf;C12是旁路電容,取值為0.047uf。3.2.3串行通信和MAX232芯片

在單片機(jī)和PC機(jī)之間,要通過(guò)MAX232芯片進(jìn)行電平轉(zhuǎn)換,MAX232芯片主要是完成TTL←→EIA雙向電平轉(zhuǎn)換。EIA-RS-232C與TTL轉(zhuǎn)換:EIA-RS-232C是用正負(fù)電壓來(lái)表示規(guī)律狀態(tài),與TTL以高低電平表示規(guī)律狀態(tài)的規(guī)定不同。因此,為了能夠同計(jì)算機(jī)接口或終端的TTL器件連接,必需在EIA-RS-232C與TTL電路之間進(jìn)行電平和規(guī)律關(guān)系的變換。實(shí)現(xiàn)這種變換的方法可用分立元件,也可用集成電路芯片。目前較為廣泛地使用集成電路轉(zhuǎn)換器件,如MC1488、SN75150芯片可完成TTL電平到EIA電平的轉(zhuǎn)換,而MC1489、SN75154可實(shí)現(xiàn)EIA電平到TTL電平的轉(zhuǎn)換。MAX232芯片可完成TTL←→EIA雙向電平轉(zhuǎn)換。MAX232電路具有的特點(diǎn)是:?jiǎn)?V電源工作;兩個(gè)驅(qū)動(dòng)器及兩個(gè)接收器;±30V輸入電平;低電源電流(典型值是8mA);符合甚至優(yōu)于ANSII標(biāo)準(zhǔn)EIA/TIA-232-E及ITU推薦標(biāo)準(zhǔn)V.28。

MAX232的外圍電路如圖2-4所示。MAX232的13、14腳(Rli、Tlo)分別接串口的數(shù)據(jù)發(fā)送端、數(shù)據(jù)輸出端,11、12腳(Rlo、Tli)分別接單片機(jī)的11、10腳(TXD、RXD)。在1腳和3腳、4腳和6腳、2和16腳、6和15腳以及15和16腳之間分別接1個(gè)1uf的電容,即可使芯片正常工作,完成電平轉(zhuǎn)換功能。3.2.4AT89C52的定時(shí)/計(jì)數(shù)器概述

AT89C52單片機(jī)有3個(gè)獨(dú)立的16位定時(shí)/計(jì)數(shù)器,即定時(shí)/計(jì)數(shù)器0(T0),定時(shí)/計(jì)數(shù)器1(T1)和定時(shí)/計(jì)數(shù)器2(T2)。它們都有定時(shí)或事件計(jì)數(shù)功能,可用于定時(shí)控制、延時(shí)、對(duì)外事件計(jì)數(shù)和檢測(cè)等場(chǎng)合。

3個(gè)16位定時(shí)/計(jì)數(shù)器,其中T0,T1可作16位加1計(jì)數(shù)器,T2既可作16位加1計(jì)數(shù)器,也可作減1計(jì)數(shù)器,每個(gè)定時(shí)/計(jì)數(shù)器都可由軟件設(shè)置為定時(shí)工作方式或計(jì)數(shù)工作方式。當(dāng)設(shè)置為計(jì)數(shù)工作方式時(shí),通過(guò)引腳T0(P3.4),T1(P3.5),T2(P1.0)對(duì)外部脈沖信號(hào)計(jì)數(shù),當(dāng)輸入脈沖信號(hào)從1到0負(fù)跳變時(shí),計(jì)數(shù)器就自動(dòng)就1。為了確保某個(gè)電平在變化之前至少被采樣一次,要求電平保持時(shí)間至少是一個(gè)完整的機(jī)器周期。

當(dāng)設(shè)置為定時(shí)方式時(shí),AT89C52片內(nèi)振蕩器輸出的時(shí)鐘經(jīng)12分頻或6分頻后,作為定時(shí)器的計(jì)數(shù)脈沖。每當(dāng)來(lái)一個(gè)時(shí)鐘下降沿時(shí),定時(shí)器T0,T1或T2的數(shù)值加1,直至計(jì)滿溢出為止。

3.2.5LED顯示

LED數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽(yáng)兩類(lèi),了解LED的這些特性,對(duì)編程是很重要的,由于不同類(lèi)型的數(shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。共陰和共陽(yáng)極數(shù)碼管的發(fā)光原理是一樣的,只是它們的電源極性不同而已。將多只LED的陰極連在一起即為共陰式,而將多只LED的陽(yáng)極連在一起即為共陽(yáng)式。以共陰式為例,如把陰極接地,在相應(yīng)段的陽(yáng)極接上正電源,該段即會(huì)發(fā)光。當(dāng)然,LED的電流尋常較小,一般均需在回路中接上限流電阻。假使我們將\和\段接上正電源,其它端接地或懸空,那么\和\段發(fā)光,此時(shí),數(shù)碼管顯示將顯示數(shù)字“1〞。而將\、\、\、\和\段都接上正電源,其它引腳懸空,此時(shí)數(shù)碼管將顯示“2〞。四位共陽(yáng)數(shù)碼管管腳圖如圖3-6。

4KEIL仿真軟件及Protel99SE的應(yīng)用

4.1KEIL51的應(yīng)用

硬件與軟件的設(shè)計(jì)一般都要分別借助一些軟件,如我們尋常用作電路設(shè)計(jì)與制版的Protel,MCS-51程序開(kāi)發(fā)工具KEIL等。

KeilC51uVision2集成開(kāi)發(fā)環(huán)境是基于80C51內(nèi)核的軟件開(kāi)發(fā)平臺(tái),支持工程建立、程序的編譯與鏈接、軟件仿真、硬件仿真、目標(biāo)代碼的生成等功能。KeilC51編譯器在產(chǎn)生代碼的確鑿性和效率方面達(dá)到了較高的水平。

與大多數(shù)集成開(kāi)發(fā)環(huán)境類(lèi)似,KeilC51集成開(kāi)發(fā)環(huán)境也是用工程的方法來(lái)管理文件,在一個(gè)工程文件中源程序(C51程序、匯編程序)、頭文件等都可以進(jìn)行統(tǒng)一管理。

安裝運(yùn)行KEIL51,使用KEIL的開(kāi)發(fā)工具進(jìn)行工程開(kāi)發(fā)過(guò)程,與其他軟件開(kāi)發(fā)工程的過(guò)程基本上一致:

創(chuàng)立C語(yǔ)言或匯編語(yǔ)言的源程序。編譯或匯編源文件。改正源文件中的錯(cuò)誤。

從編譯器和匯編器連接目標(biāo)文件。測(cè)試連接的應(yīng)用程序。4.2Protel99SE的應(yīng)用

Protel軟件是由澳大利亞的ProtelTechnolgy公司推出的,一直是從事印刷電路板設(shè)計(jì)的首選軟件。在1990年,Protel軟件由DOS平臺(tái)發(fā)展到Windos平臺(tái),是世界上第一家運(yùn)行在Windos平臺(tái)的EDA(電子設(shè)計(jì)自動(dòng)化)軟件。Protel99SE是由Protel99版本發(fā)展而來(lái)的,是基于Windos環(huán)境下的EDA軟件。Protel99SE主要的功能模塊

電路原理圖(Schematic)設(shè)計(jì)模塊。該模塊主要包括設(shè)計(jì)原理圖的原理圖編輯器,用于修

改、生成原件符號(hào)的元件庫(kù)編輯器以及各種報(bào)表的生成器。

印刷電路板(PCB)設(shè)計(jì)模塊。該模塊主要包括用于設(shè)計(jì)電路板的PCB編輯器,用于PCB自動(dòng)布線的Route模塊。用于修改、生成元件封裝的元件封裝庫(kù)編輯器以及各種報(bào)表的生成器。

可編程規(guī)律器件(PLD)設(shè)計(jì)模塊。該模塊主要包括具有語(yǔ)法意識(shí)的文本編輯器、用于編譯和仿真設(shè)計(jì)結(jié)果的PLD模塊。

電路仿真(Simulate)模塊。該模塊主要包括一個(gè)功能強(qiáng)大的數(shù)/模混合信號(hào)電路仿真器,能提供連續(xù)的模擬信號(hào)和離散的數(shù)字信號(hào)仿真。4.3PCB板的設(shè)計(jì)制作

印制電路板(PCB)是電子產(chǎn)品中電路元件和器件的支撐件.它提供電路元件和器件之間的電氣連接,是從原理圖到實(shí)際產(chǎn)品必經(jīng)的一道設(shè)計(jì)工序。PCB設(shè)計(jì)的好壞對(duì)抗干擾能力影響很大。要使電子電路獲得最正確性能,元器件的布局及導(dǎo)線的布設(shè)是很重要的。為了設(shè)計(jì)質(zhì)量好、造價(jià)低的PCB.應(yīng)遵循以下一般原則:

布局(1)首先,要考慮PCB尺寸大小。PCB尺寸過(guò)大時(shí),印制線條長(zhǎng),成本也增加;過(guò)小,元器件排列太密集,則會(huì)增加布線難度,還會(huì)引起相鄰線的干擾。在確定PCB尺寸后,再確定特別元件的位置。最終,根據(jù)電路的功能單元,對(duì)電路的全部元器件進(jìn)行布局。

(2)某些元器件或?qū)Ь€之間可能有較高的電位差,應(yīng)加大它們之間的距離,以免放電引出意外短路。帶高電壓的元器件應(yīng)盡量布置在調(diào)試時(shí)手不易觸及的地方。(3)重量超過(guò)15g的元器件、應(yīng)當(dāng)用支架加以固定,然后焊接。

(4)以每個(gè)功能電路的核心元件為中心,圍繞它來(lái)進(jìn)行布局。元器件應(yīng)均勻、整齊、緊湊地排列在PCB上.盡量減少和縮短各元器件之間的引線和連接。

(5)應(yīng)留出印制扳定位孔及固定支架所占用的位置。

2)布線(1)輸入輸出端用的導(dǎo)線應(yīng)盡量避免相鄰平行。最好加線間地線,以免發(fā)生反饋藕合。

(2)電源線和地線的寬度應(yīng)盡量的大,一般在2-3mm以上。(3)PCB布線不可以走成直角,以免產(chǎn)生阻抗突變。

(4)盡量避免使用大面積銅箔,否則,長(zhǎng)時(shí)間受熱時(shí),易發(fā)生銅箔膨脹和脫落現(xiàn)象。3)焊盤(pán)焊盤(pán)中心孔要比器件引線直徑稍大一些。焊盤(pán)太大易形成虛焊。焊盤(pán)外徑D一般不小于(d+1.2)mm,其中d為引線孔徑。對(duì)高密度的數(shù)字電路,焊盤(pán)最小直徑可取(d+1.0)mm。5仿真及調(diào)試過(guò)程5.1硬件調(diào)試過(guò)程

本次設(shè)計(jì)的硬件電路主要由單片機(jī)89C58RD+、MAX232和LM386N1的外圍電路組成,在調(diào)試電路的過(guò)程中也碰見(jiàn)了一些問(wèn)題。問(wèn)題一:?jiǎn)纹瑱C(jī)無(wú)法正常下載程序。調(diào)試步驟:

(1)檢查單片機(jī)和串口電路是否連接錯(cuò)。發(fā)現(xiàn)單片機(jī)的18、19腳的印制線接在了17、18腳上,導(dǎo)致晶振無(wú)法正常工作。出現(xiàn)錯(cuò)誤原因則是制作PCB板時(shí),制作板子的人將印制線連錯(cuò)。解決方法:把17腳的印制線用小刀切斷,再將19腳與晶振用導(dǎo)線連接起來(lái)。(2)檢查串口的接口是否連接正確。發(fā)現(xiàn)串口連接線的數(shù)據(jù)接收和發(fā)送兩端接反了,導(dǎo)致單片機(jī)無(wú)法接受到數(shù)據(jù)。解決方法:將串口DB9端拆開(kāi),把連接2和3腳的數(shù)據(jù)線交換。(3)檢查焊接電路是否有虛焊和漏焊。(4)檢查串口助手的芯片選擇是否正確。

MAX232工作電壓如表6-1所示。表6-1

管腳電壓值(V)管腳電壓值(V)16.6794.7028.7810032.52114.7744.13120.445-4.2513-9.856-8.1614-7.6078.2615080164.79

問(wèn)題二:下載音頻程序后無(wú)法播放音樂(lè)。調(diào)試步驟:

檢查電源是否正常接入電路中。

利用示波器測(cè)試單片機(jī)輸出端是否有信號(hào)輸出,發(fā)現(xiàn)信號(hào)輸出正常,說(shuō)明單片機(jī)正常工作。

利用示波器測(cè)試音頻放大電路輸出端是否有信號(hào)輸出,發(fā)現(xiàn)信號(hào)輸出正常,說(shuō)明音頻放大電路工作正常,同時(shí)說(shuō)明是喇叭部分出現(xiàn)了問(wèn)題。故障原因:焊接時(shí)將發(fā)聲器件燒壞了,導(dǎo)致發(fā)不出聲音。解決方案:重新?lián)Q一個(gè)8歐姆喇叭,即可正常播放音樂(lè)。5.2軟件仿真及調(diào)試過(guò)程

本次設(shè)計(jì)的軟件部分由時(shí)間顯示程序和音樂(lè)播放程序組成。

時(shí)間顯示程序仿真

對(duì)于時(shí)間顯示程序,我采用了Preteus軟件來(lái)仿真。首先進(jìn)入Preteu界面,設(shè)計(jì)一個(gè)簡(jiǎn)單的仿真電路,及一個(gè)單片機(jī)的基本外圍電路,在P0.0-P0.7接一個(gè)4位共陰數(shù)碼管和排阻,如圖6-1。最終,把程序調(diào)入單片機(jī)中,開(kāi)始運(yùn)行。

1)調(diào)試過(guò)程中所遇到的問(wèn)題:運(yùn)行程序時(shí)LED4位共陰數(shù)碼管顯示程亂碼。原因分析:數(shù)碼管初始設(shè)置有錯(cuò)。

解決方案:重新設(shè)置數(shù)碼管顯示參數(shù),正確的設(shè)置為{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。2)數(shù)碼管顯示的時(shí)間與真正的時(shí)間進(jìn)度不一致。

原因分析:定時(shí)器初值設(shè)置有誤。本次設(shè)計(jì)的晶振為6MHZ,而程序中的初值卻設(shè)置成了12MHZ晶振所采用的值5

溫馨提示

  • 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)論