版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目錄</b></p><p><b> 目錄I</b></p><p><b> 摘要1</b></p><p><b> 第1章 引言2</b></p><p> 1.1 電子琴概述2</p>
2、<p> 1.2 本設(shè)計(jì)任務(wù)3</p><p> 1.3 系統(tǒng)主要功能3</p><p> 第2章 電子琴硬件設(shè)計(jì)4</p><p> 2.1 系統(tǒng)的硬件構(gòu)成4</p><p> 2.2 AT89S52單片機(jī)及其引腳說(shuō)明5</p><p> 2.2.1 主要特性:7</p>
3、;<p> 2.2.2 管腳說(shuō)明:8</p><p> 2.3 電子琴實(shí)現(xiàn)原理11</p><p> 第3章 系統(tǒng)的軟件設(shè)計(jì)14</p><p> 3.1 系統(tǒng)主程序設(shè)計(jì)流程圖14</p><p> 3.2 系統(tǒng)主程序設(shè)計(jì)(見(jiàn)附錄214</p><p> 第4章 結(jié) 束 語(yǔ)15&l
4、t;/p><p><b> 參考文獻(xiàn)16</b></p><p><b> 附 錄117</b></p><p><b> 附 錄218</b></p><p><b> 摘要</b></p><p> 單片機(jī)自
5、問(wèn)世以來(lái),性能不斷提高和完善,其資源又能滿足很多應(yīng)用場(chǎng)合的需要,加之單片機(jī)具有集成度高、功能強(qiáng)、速度快、體積小、功耗低、使用方便、價(jià)格低廉等特點(diǎn),因此,在工業(yè)控制、智能儀器儀表、數(shù)據(jù)采集和處理、通信系統(tǒng)、高級(jí)計(jì)算器、家用電器等領(lǐng)域的應(yīng)用日益廣泛,并且正在逐步取代現(xiàn)有的多片微機(jī)應(yīng)用系統(tǒng)。單片機(jī)的發(fā)展?jié)摿υ絹?lái)越被人們所重視。雖然當(dāng)前市場(chǎng)上的電子琴很完備,也很精美,但是畢竟由于價(jià)格原因無(wú)法進(jìn)入平常百姓家,而且龐大的身體也讓人的攜帶變得異常麻煩
6、。所以這里我們可以用單片機(jī)芯片實(shí)現(xiàn)簡(jiǎn)單的一個(gè)電子琴,雖然功能比不上市場(chǎng)上的,但是至少體積小,便于攜帶,而且價(jià)格便宜。用8個(gè)按鈕可以表示8個(gè)不同的音,互相混淆就可以形成不同的音樂(lè),且可以隨便彈奏想要表達(dá)的音樂(lè)。這種電子琴可以作為玩具供小孩子使用,至少可以讓承受不起市場(chǎng)上電子琴的人也可以有一個(gè)小小的接觸。CMOS工藝制成的各種單片機(jī),由于功耗低,使用的溫度范圍大,抗干擾能力強(qiáng)、能滿足一些特殊要求的應(yīng)用場(chǎng)合,更加擴(kuò)大了單片機(jī)的應(yīng)用范圍,也進(jìn)一
7、步促使單片機(jī)性能得到不斷地發(fā)展。而現(xiàn)在單片機(jī)在農(nóng)業(yè)上也有了很多的應(yīng)用。</p><p> 關(guān)鍵詞:AT89S52、驅(qū)動(dòng)電路、控制</p><p><b> 第1章 引言</b></p><p><b> 1.1 電子琴概述</b></p><p> 雖然當(dāng)前市場(chǎng)上的電子琴很完備,也很精美,但
8、是畢竟由于價(jià)格原因無(wú)法進(jìn)入平常百姓家,而且龐大的身體也讓人的攜帶變得異常麻煩。所以這里我們可以用單片機(jī)芯片實(shí)現(xiàn)簡(jiǎn)單的一個(gè)電子琴,雖然功能比不上市場(chǎng)上的,但是至少體積小,便于攜帶,而且價(jià)格便宜。用7個(gè)按鈕可以表示7個(gè)不同的音符,互相混淆就可以形成不同的音樂(lè),且可以隨便彈奏想要表達(dá)的簡(jiǎn)單音樂(lè)。這種電子琴可以作為玩具供小孩子使用,至少讓不愿意購(gòu)買(mǎi)市場(chǎng)上電子琴的人也可以有一個(gè)小小的接觸。</p><p> 電子樂(lè)器的結(jié)
9、構(gòu)較為復(fù)雜,音源是由晶體管產(chǎn)生的電振動(dòng),并通過(guò)音色回路而產(chǎn)生各種音色;同時(shí)由周波數(shù)調(diào)制產(chǎn)生顫音效果,由振幅調(diào)制產(chǎn)生各種樂(lè)器的音效。電子琴的外形很像普通鍵盤(pán)樂(lè)器,只是某些種類多一排腳踏鍵盤(pán),而且手觸鍵盤(pán)也往往分為兩層。鍵盤(pán)式電子琴聲音豐富、優(yōu)美,有變音裝置,能發(fā)出多種不同的音色,可以作為獨(dú)特的樂(lè)器進(jìn)行演奏,還能代替?zhèn)鹘y(tǒng)的風(fēng)琴、鋼琴供音樂(lè)課教學(xué)。</p><p> 傳統(tǒng)樂(lè)器的聲音是通過(guò)機(jī)械的方法產(chǎn)生的,電子琴的聲音
10、是用“電”產(chǎn)生的。振蕩器是根據(jù)需要產(chǎn)生一定頻率的振蕩信號(hào),振蕩信號(hào)通過(guò)分頻器分解成不同頻率的信號(hào)輸送到放大器,放大器將信號(hào)放大,推動(dòng)揚(yáng)聲器發(fā)出聲音。鍵盤(pán)實(shí)際是一些開(kāi)關(guān),如果沒(méi)有鍵盤(pán),許多種頻率的信號(hào)一齊進(jìn)到放大器里,通過(guò)揚(yáng)聲器發(fā)出的聲音就會(huì)亂七八糟,不成音樂(lè)。按下鍵盤(pán)的一支鍵,就等于接通一只開(kāi)關(guān),只允許某一種頻率的信號(hào)通過(guò)到放大器里去,揚(yáng)聲器就發(fā)出一個(gè)音來(lái)。這樣,按照一定的演奏規(guī)律來(lái)按鍵,就能奏出美妙的音樂(lè)來(lái)。電源的任務(wù)是給各部分供電。
11、這次的電子琴是由7個(gè)按按鈕,設(shè)計(jì)成7音符。然后再用一個(gè)模擬音頻放大模塊來(lái)使音樂(lè)播出的聲音變大。用戶可通過(guò)這7個(gè)鍵的隨意組合來(lái)產(chǎn)生一首簡(jiǎn)單的音樂(lè)。</p><p><b> 1.2 本設(shè)計(jì)任務(wù)</b></p><p> (1)由7個(gè)按鈕組成電子琴的按鈕,設(shè)計(jì)成7個(gè)不同中音符。</p><p> (2)可隨意彈奏想要表達(dá)的簡(jiǎn)單音樂(lè)。</
12、p><p> 1.3 系統(tǒng)主要功能</p><p> 這次的電子琴是由AT89S52單片機(jī)、7按鈕按鍵構(gòu)成,設(shè)計(jì)成7個(gè)中音。然后再用一個(gè)音頻放大模塊(用二個(gè)三極管和電阻組成模擬電路形成一個(gè)簡(jiǎn)單的模擬放大模塊)來(lái)使音樂(lè)播出的聲音變大。用戶可通過(guò)這7個(gè)鍵的隨意組合來(lái)產(chǎn)生不再相同的音符。所以使用很簡(jiǎn)單。</p><p> 第2章 電子琴硬件設(shè)計(jì)</p>&
13、lt;p> 2.1 系統(tǒng)的硬件構(gòu)成</p><p> 電子琴硬件仿真圖如圖2-1所示。它由以下幾個(gè)部件組成:</p><p> 單片機(jī)AT89S52、電源、7個(gè)按鈕、由三極管以及電阻模擬構(gòu)成音頻放大模塊(電路)。</p><p> 電源部分:電源部分有二部分組成。一部分是由220V的市電通過(guò)變壓、整流穩(wěn)壓來(lái)得到+5V電壓,維持系統(tǒng)的正常工作;</
14、p><p><b> 系統(tǒng)板硬件連線 :</b></p><p> (1) 把“單片機(jī)系統(tǒng)”區(qū)域中的P3.7端口用導(dǎo)線連接到“音頻放大模塊”區(qū)域中的SPK IN端口上;</p><p> ?。?) 把“單片機(jī)系統(tǒng)”區(qū)域中的P1.0-P1.7端口用8芯排線連接到鍵盤(pán)區(qū)域中的按鈕端口上;</p><p> 圖2-1
15、電子琴硬件仿真圖</p><p> 2.2 AT89S52單片機(jī)及其引腳說(shuō)明</p><p> AT89S52是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4kBytesISP(In-system programmable)的可反復(fù)擦寫(xiě)1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)
16、集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。</p><p> AT89S52具有如下特點(diǎn):40個(gè)引腳,4k Bytes Flash片內(nèi)程序存儲(chǔ)器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,
17、看門(mén)狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器</p><p> 圖2-2 AT89S52引腳圖</p><p> 1.中央處理器(CPU)</p><p> 中央處理器是單片機(jī)的核心,完成運(yùn)算和控制功能。MCS-51的CPU能處理8位二進(jìn)制數(shù)或代碼。</p><p> 2.內(nèi)部數(shù)據(jù)存儲(chǔ)器(內(nèi)部RAM)</p><p>
18、; AT89S52芯片中共有256個(gè)RAM單元,但其中后128單元被專用寄存器占用,能作為寄存器供用戶使用的只是前128單元,用于存放可讀寫(xiě)的數(shù)據(jù)。因此通常所說(shuō)的內(nèi)部數(shù)據(jù)存儲(chǔ)器就是指前128單元,簡(jiǎn)稱內(nèi)部RAM。</p><p> 3.內(nèi)部程序存儲(chǔ)器(內(nèi)部ROM)</p><p> AT89S52共有4KB掩膜ROM,用于存放程序、原始數(shù)據(jù)或表格,因此稱之為程序存儲(chǔ)器,簡(jiǎn)稱內(nèi)部ROM
19、。</p><p><b> 4.定時(shí)器/計(jì)數(shù)器</b></p><p> AT89S52共有2個(gè)16位的定時(shí)器/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能,并以其定時(shí)或計(jì)數(shù)結(jié)果對(duì)計(jì)算機(jī)進(jìn)行控制。</p><p><b> 5.并行I/O口</b></p><p> AT89S52共有四個(gè)8位的I/O口(
20、P0、P1、P2、P3),以實(shí)現(xiàn)數(shù)據(jù)的并行輸入輸出。在實(shí)訓(xùn)中我們已經(jīng)使用了P1口,通過(guò)P1口連接8個(gè)發(fā)光二極管。</p><p><b> 6.串行口</b></p><p> AT89S52單片機(jī)有一個(gè)全雙工的串行口,以實(shí)現(xiàn)單片機(jī)和其它設(shè)備之間的串行數(shù)據(jù)傳送。該串行口功能較強(qiáng),既可作為全雙工異步通信收發(fā)器使用,也可作為同步移位器使用。</p>&l
21、t;p><b> 7.中斷控制系統(tǒng)</b></p><p> AT89S52單片機(jī)的中斷功能較強(qiáng),以滿足控制應(yīng)用的需要。AT89S52共有5個(gè)中斷源,即外中斷2個(gè),定時(shí)/計(jì)數(shù)中斷2個(gè),串行中斷1個(gè)。全部中斷分為高級(jí)和低級(jí)共二個(gè)優(yōu)先級(jí)別。</p><p> 此外,AT89S52設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過(guò)軟件設(shè)置省電模式??臻e模式下,CPU暫停工作
22、,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。</p><p> 2.2.1 主要特性:</p><p> ? AT89S52CPU與MCS-51 兼容</p><p> ? 4K字節(jié)可編程F
23、LASH存儲(chǔ)器(壽命:1000寫(xiě)/擦循環(huán))</p><p> ? 全靜態(tài)工作:0Hz-24KHz</p><p> ? 三級(jí)程序存儲(chǔ)器保密鎖定</p><p> ? 128*8位內(nèi)部RAM</p><p> ? 32條可編程I/O線</p><p> ? 兩個(gè)16位定時(shí)器/計(jì)數(shù)器</p><
24、;p><b> ? 6個(gè)中斷源</b></p><p><b> ? 可編程串行通道</b></p><p> ? 低功耗的閑置和掉電模式</p><p> ? 片內(nèi)振蕩器和時(shí)鐘電路</p><p> 2.2.2 管腳說(shuō)明:</p><p><b>
25、 VCC:供電電壓</b></p><p><b> GND:接地。</b></p><p> P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0
26、輸出原碼,此時(shí)P0外部必須被拉高。P0口有三個(gè)功能:</p><p> A、外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)作數(shù)據(jù)總線(如圖1中的D0~D7為數(shù)據(jù)總線接口) </p><p> B、外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)作地址總線(如圖1中的A0~A7為地址總線接口)</p><p> C、不擴(kuò)展時(shí),可做一般的I/O使用,但內(nèi)部無(wú)上拉電阻,作為輸入或輸出時(shí)應(yīng)在外部接上拉電阻。</p&
27、gt;<p> 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口作為第八位地址接收。</p><p> P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被
28、寫(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)。</p><p> A、擴(kuò)
29、展外部存儲(chǔ)器時(shí),當(dāng)作地址總線使用 </p><p> B、做一般I/O口使用,其內(nèi)部有上拉電阻;</p><p> P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p> P3口也
30、可作為AT89S52的一些特殊功能口,如表2-2-1所示:</p><p> 表2-2-1 AT89S52 P3口功能表</p><p> P3口引腳特殊功能</p><p> P3.0RXD(串行輸入口)</p><p> P3.1TXD(串行輸出口)</p><p> P3.2 (外部中斷0)&
31、lt;/p><p> P3.3 (外部中斷1)</p><p> P3.4T0(定時(shí)器0外部輸入)</p><p> P3.5T1(定時(shí)器1外部輸入)</p><p> P3.6WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)</p><p> P3.7RD(外部數(shù)據(jù)存儲(chǔ)器讀先通)</p><p>
32、 P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。使P3端口各線處于第二功能的條件是:</p><p> A、串行I/O處于運(yùn)行狀態(tài)(RXD,TXD);</p><p> B、打開(kāi)了處部中斷(INT0,INT1);</p><p> C、定時(shí)器/計(jì)數(shù)器處于外部計(jì)數(shù)狀態(tài)(T0,T1)</p><p> D、執(zhí)行讀寫(xiě)外部RAM的指令(R
33、D,WR)</p><p> EA/VPP 訪問(wèn)和存儲(chǔ)器控制信號(hào):</p><p> 1、接高電平時(shí): CPU讀取內(nèi)部程序存儲(chǔ)器(ROM),擴(kuò)展外部ROM:當(dāng)讀取內(nèi)部程序存儲(chǔ)器超過(guò)0FFFH(8051)1FFFH(8052)時(shí)自動(dòng)讀取外部ROM。 </p><p> 2、接低電平時(shí):CPU讀取外部程序存儲(chǔ)器(ROM)。 </p><p>
34、; RST 復(fù)位信號(hào):當(dāng)輸入的信號(hào)連續(xù)2個(gè)機(jī)器周期以上高電平時(shí)即為有效,用以完成單片機(jī)的復(fù)位初始化操作。</p><p> XTAL1和XTAL2 外接晶振引腳:</p><p> 當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí),此二引腳用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時(shí)鐘時(shí),用于接外部時(shí)鐘脈沖信號(hào)。</p><p> AT89S52系列單片機(jī)串行端口說(shuō)明:</p>
35、<p> AT89S52系列單片機(jī)片內(nèi)有一個(gè)串行I/O端口,通過(guò)引腳RXD(P3.0)和TXD(P3.1)可與外設(shè)電路進(jìn)行全雙工的串行異步通信。</p><p> 串行端口的基本特點(diǎn):</p><p> AT89S52單片機(jī)的串行端口有4種基本工作方式,通過(guò)編程設(shè)置,可以使其工作在任一方式,以滿足不同應(yīng)用場(chǎng)合的需要。其中,方式0主要用于外接移位寄存器,以擴(kuò)展單片機(jī)的I/
36、O電路;方式1多用于雙機(jī)之間或與外設(shè)電路的通信;方式2,3除有方式l的功能外,還可用作多機(jī)通信,以構(gòu)成分布式多微機(jī)系統(tǒng)。串行端口有兩個(gè)控制寄存器,用來(lái)設(shè)置工作方式、發(fā)送或接收的狀態(tài)、特征位、數(shù)據(jù)傳送的波特率(每秒傳送的位數(shù))以及作為中斷標(biāo)志等。</p><p> 串行端口有一個(gè)數(shù)據(jù)寄存器SBUF(在特殊功能寄存器中的字節(jié)地址為99H),該寄存器為發(fā)送和接收所共同。發(fā)送時(shí),只寫(xiě)不讀;接收時(shí),只讀不寫(xiě)。在一定條件下
37、,向陽(yáng)UF寫(xiě)入數(shù)據(jù)就啟動(dòng)了發(fā)送過(guò)程;讀SBUf就啟動(dòng)了接收過(guò)程。串行通信的波特率可以程控設(shè)定。在不同工作方式中,由時(shí)鐘振蕩頻率的分頻值或由定時(shí)器Tl的定時(shí)溢出時(shí)間確定,使用十分方便靈活。</p><p> 2.3 電子琴實(shí)現(xiàn)原理</p><p> 1.主要分為二個(gè)部分:</p><p> ?。?) 8個(gè)按鈕鍵盤(pán)識(shí)別;</p><p>
38、(2)不同音符產(chǎn)生的方法;</p><p><b> 揚(yáng)聲器發(fā)生原理:</b></p><p> 只要讓揚(yáng)聲器(speaker)通過(guò)會(huì)產(chǎn)生大小變化的電流,就能使揚(yáng)聲器發(fā)出聲音。因此,若以程序不斷地輸出1->0->1->0->...就可令揚(yáng)聲器發(fā)出聲音。由于MCS-51系列的輸出端口電流不夠頭。所以必須加上晶體管把電流放大后再驅(qū)動(dòng)揚(yáng)聲器如圖2
39、-3-1,只要半周期T的時(shí)間,即看可改變輸出頻率。</p><p> 圖 2-3-1 揚(yáng)聲器圖</p><p> 2.決定程序中延時(shí)參數(shù)的方法:</p><p> 一首音樂(lè)是許多不同的音階組成的,而每個(gè)音階對(duì)應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂(lè)了,當(dāng)然對(duì)于單片機(jī)來(lái)產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的定時(shí)/計(jì)數(shù)器T
40、0來(lái)產(chǎn)生這樣方波頻率信號(hào),因此,我們只要把一首歌曲的音階對(duì)應(yīng)頻率關(guān)系弄正確即可?,F(xiàn)在以單片機(jī)12MHZ晶振為例,例出高中低音符與單片機(jī)計(jì)數(shù)T0相關(guān)的計(jì)數(shù)值如下表2-3-2所示:</p><p> 如表2-3-2 高中低音代碼表</p><p> C調(diào)各音的頻率如表所列,根據(jù)此頻率表可計(jì)算出程序所需的延時(shí)參數(shù)。現(xiàn)以</p><p><b> 中音的DO
41、說(shuō)明如下</b></p><p> (1)DO的頻率為262HZ,所以</p><p> 周期T=1/f=1/262s=3816us 半周期:t=T/2=1908us</p><p><b> ?。?)若以程序:</b></p><p> MOVR6,#date; 用時(shí)2us
42、 </p><p> ACALL DELAY: 用時(shí)2us</p><p> DELAY:MOVB,R6; 用時(shí)2us</p><p> MOV R7,#06 用時(shí)2us</p><p> DL:DJNZR7,$ 用時(shí)2us</p><p> DJNZR
43、6,DL 用時(shí)2us</p><p> MOVR6,B 用時(shí)2us</p><p> RET 用時(shí)1us</p><p> 來(lái)達(dá)成延時(shí)t的目的,則因t=1908us,且</p><p> MOV R6,#data</p><p> ACALL DELAY</p&g
44、t;<p><b> MOVB,R6</b></p><p><b> MOVR6,B</b></p><p><b> RET</b></p><p> 這5個(gè)指令共耗時(shí)9us,所以在DELAY子程序中,循環(huán)的部分只能是:</p><p> 1
45、908us-9us=1899us</p><p> 循環(huán)的部分每執(zhí)行一次耗時(shí)15us,故要延時(shí)1899us需要重復(fù)執(zhí)行18899/15=126次,即R6=126就可以產(chǎn)生所需的DO音調(diào)。</p><p> 其它音符的R6值也可以用上述相同方法算出相應(yīng)的數(shù)值。</p><p> 可借用公式:R值=(500000/f-9)/15</p><p&
46、gt; 下面我們要為這個(gè)音符建立一個(gè)表格,有助于單片機(jī)通過(guò)查表的方式來(lái)獲得相應(yīng)的數(shù)據(jù):</p><p> 低音0-19之間,中音在20-39之間,高音在40-59之間</p><p> 第3章 系統(tǒng)的軟件設(shè)計(jì)</p><p> 本系統(tǒng)的軟件系統(tǒng)主要可分為主程序、定時(shí)計(jì)數(shù)中斷程序、時(shí)間調(diào)整或定鬧設(shè)置程序三大模塊。在程序設(shè)計(jì)過(guò)程中,加強(qiáng)了部分軟件抗干擾措施。&l
47、t;/p><p> 3.1 系統(tǒng)主程序設(shè)計(jì)流程圖</p><p> 圖3-1 系統(tǒng)主程序流程圖</p><p> 3.2 系統(tǒng)主程序設(shè)計(jì)(見(jiàn)附錄2</p><p><b> 第4章 結(jié) 束 語(yǔ)</b></p><p> 這次的單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)對(duì)我們來(lái)說(shuō)真的好難,只學(xué)了理論,從未接觸任何實(shí)踐
48、,程序也還沒(méi)完全得心應(yīng)手,甚至可以說(shuō)一些小的程序編寫(xiě)可能還要花費(fèi)我們很多時(shí)間。突然說(shuō)要自己親手設(shè)計(jì)一個(gè)硬件應(yīng)用系統(tǒng),一下子感覺(jué)實(shí)在難啊,根本不知道從何下手。后來(lái)實(shí)沒(méi)有頭緒,只有去網(wǎng)上查找相關(guān)的設(shè)計(jì)或者到書(shū)上去找例子,從而來(lái)讓自己有個(gè)如何去做的思路。通過(guò)在網(wǎng)上和書(shū)上很多例子的參考,基本了解了設(shè)計(jì)報(bào)告的結(jié)構(gòu)和寫(xiě)法,同時(shí)也讓我知道了單片機(jī)的功能真的是如此的強(qiáng)大,幾乎應(yīng)用于我們身邊的每時(shí)每刻。</p><p> 這次我
49、主要的設(shè)計(jì)是一個(gè)游戲型的基于AT89S52單片機(jī)的簡(jiǎn)單電子琴,采用8個(gè)鍵分別代表8個(gè)音,通過(guò)對(duì)按鍵的隨意按擊從而產(chǎn)生不同的音樂(lè),主要是通過(guò)每個(gè)按鍵所產(chǎn)生的頻率不同來(lái)使得發(fā)出的各個(gè)音不同,從而產(chǎn)生一首簡(jiǎn)單的音樂(lè),雖然顯得單一,但是至少很簡(jiǎn)單。這次主要參考了網(wǎng)上的一些實(shí)例,再加上了一些自己的補(bǔ)充。我主要針對(duì)了這個(gè)設(shè)計(jì)的原理和程序的編寫(xiě)以及硬件的設(shè)計(jì),從而來(lái)更好的提出設(shè)計(jì)的方法和創(chuàng)新。雖然現(xiàn)在講創(chuàng)新很難,但是相信對(duì)設(shè)計(jì)看多了,也安全熟悉了,講
50、創(chuàng)新肯定也就不會(huì)再難。</p><p> 本次設(shè)計(jì)電子琴程序設(shè)計(jì)不是很難,對(duì)于現(xiàn)在的我來(lái)說(shuō)用自己的所學(xué)知識(shí)以及和同學(xué)們一起探討程序能簡(jiǎn)單的編譯出來(lái),所以主要的還是以基礎(chǔ)為主。根據(jù)每個(gè)程序的功能各不相同來(lái)使程序簡(jiǎn)化。</p><p> 最后,通過(guò)這次的自主完成單片機(jī)的應(yīng)用系統(tǒng)設(shè)計(jì),雖說(shuō)不完全是自己完成,但是至少有一點(diǎn),讓我們學(xué)會(huì)了如何去完成一個(gè)設(shè)計(jì)報(bào)告,相信對(duì)以后的硬件設(shè)計(jì)也會(huì)有很大的幫
51、助。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 樊明龍、任麗靜.《單片機(jī)原理與應(yīng)用》化學(xué)工業(yè)出版社,2005</p><p> [2] 余永權(quán).《ATMEL89系列單片機(jī)應(yīng)用技術(shù)》北京航空航天大學(xué)出版社,2005</p><p> [3] 付家才.《單片機(jī)控制工程實(shí)踐技術(shù)》化學(xué)工業(yè)出版
52、社,2006</p><p> [4] 蔡朝洋.《單片機(jī)控制實(shí)習(xí)與專題制作》北京航天航空大學(xué)出版社,2006 </p><p><b> 附 錄1</b></p><p><b> 電路原理圖</b></p><p><b> 附 錄2</b></p&g
53、t;<p><b> 全部源程序代碼:</b></p><p><b> ORG 0000H</b></p><p> ORL P1,#11111111B ;P1口置1(即開(kāi)關(guān)全部斷開(kāi))</p><p> ORL P3,#11111111B ;P3口置1(即開(kāi)關(guān)全部斷開(kāi))</p>
54、<p> TEST:JNB P1.0,DO ;判斷P1.0開(kāi)關(guān)是否按下,如果按下,則跳到DO</p><p> JNB P1.1,RE ;判斷P1.0開(kāi)關(guān)是否按下,如果按下,則跳到RE</p><p> JNB P1.2,MI ;判斷P1.2開(kāi)關(guān)是否按下,如果按下,則跳到MI</p><p> JNB P1.3,FA ;
55、判斷P1.3開(kāi)關(guān)是否按下,如果按下,則跳到FA</p><p> JNB P1.4,SO ;判斷P1.4開(kāi)關(guān)是否按下,如果按下,則跳到SO</p><p> JNB P1.5,LA ;判斷P1.5開(kāi)關(guān)是否按下,如果按下,則跳到LA</p><p> JNB P1.6,SI ;判斷P1.6開(kāi)關(guān)是否按下,如果按下,則跳到SI</p>
56、;<p> JNB P1.7,DOH ;判斷P1.7開(kāi)關(guān)是否按下,如果按下,則跳到DOH</p><p> AJMP TEST ;跳到TEST</p><p> DO:MOV R6,#127 ;中音1</p><p> AJMP OUTPUT </p><p> RE:MOV R6,#113
57、 ;中音2</p><p> AJMP OUTPUT</p><p> MI:MOV R6,#100 ;中音3</p><p> AJMP OUTPUT</p><p> FA:MOV R6,#95 ;中音4</p><p> AJMP OUTPUT </p>&l
58、t;p> SO:MOV R6,#85 ;中音5</p><p> AJMP OUTPUT</p><p> LA:MOV R6,#75 ;中音6</p><p> AJMP OUTPUT</p><p> SI:MOV R6,#67 ;中音7</p><p> AJMP O
59、UTPUT</p><p> DOH:MOV R6,#63</p><p> AJMP OUTPUT</p><p> OUTPUT:CLR P3.7 ;清零P3.7口</p><p> ACALL DELAY ;調(diào)用延時(shí)</p><p> SETB P3.7 ;P3.7口置
60、1(開(kāi)啟聲音)</p><p> ACALL DELAY</p><p><b> AJMP TEST</b></p><p> DELAY: MOV B,R6</p><p> DL:MOV R7,#6</p><p><b> DJNZ R7,$</b>&
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的電子琴設(shè)計(jì)
- 基于單片機(jī)的電子琴畢業(yè)設(shè)計(jì)
- 單片機(jī)畢業(yè)設(shè)計(jì)電子琴
- 畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的微型電子琴設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的簡(jiǎn)易電子琴
- 畢業(yè)設(shè)計(jì)----基于單片機(jī)的電子琴設(shè)計(jì)
- 基于單片機(jī)的電子琴設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的電子琴系統(tǒng)設(shè)計(jì)_畢業(yè)設(shè)計(jì)
- 電子信息畢業(yè)設(shè)計(jì)論文 基于單片機(jī)的電子琴設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的簡(jiǎn)單電子琴設(shè)計(jì)
- 基于單片機(jī)的電子琴設(shè)計(jì)畢業(yè)論文
- 電子琴畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 基于51單片機(jī)的簡(jiǎn)易電子琴設(shè)計(jì)說(shuō)明
- 基于51單片機(jī)的簡(jiǎn)易電子琴設(shè)計(jì)說(shuō)明
- 電子琴課程設(shè)計(jì)--基于單片機(jī)的電子琴設(shè)計(jì)
- 電子琴畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)
- 電子琴課程設(shè)計(jì)--基于單片機(jī)的電子琴設(shè)計(jì)
- 基于單片機(jī)的電子琴設(shè)計(jì)
- 電子琴課程設(shè)計(jì)-- 基于單片機(jī)的電子琴設(shè)計(jì)
- 畢業(yè)論文--基于單片機(jī)的簡(jiǎn)單電子琴設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論