湖南商學(xué)院課程設(shè)計(jì)
課程設(shè)計(jì)(實(shí)習(xí))評(píng)審表
| | | | | |
| |
| 設(shè)置“+”、“-”兩個(gè)按鍵,當(dāng)按下“+”,聲音增大;按下“-”,聲音減小。 |
|
|
|
|
|
| |
| | |
課程設(shè)計(jì)(實(shí)習(xí))作品驗(yàn)收表
| 設(shè)置“+”、“-”兩個(gè)按鍵,當(dāng)按下“+”,聲音增大;按下“-”,聲音減小。 |
| | |
| |
| |
設(shè)計(jì)任務(wù)與要求: (1)設(shè)置“+”、“-”兩個(gè)按鍵,當(dāng)按下“+”,聲音增大;按下“-”,聲音減小; (2)根據(jù)應(yīng)用系統(tǒng)結(jié)構(gòu)規(guī)模的要求,掌握在單片機(jī)外部擴(kuò)展系統(tǒng)硬件設(shè)計(jì)的基本過(guò)程:例如硬件接口的設(shè)計(jì),正確合理選用所需元器件,繪制應(yīng)用系統(tǒng)與單片機(jī)連接的電路圖等項(xiàng)工作。首先畫(huà)出程序總體流程圖,然后進(jìn)行各控制模塊程序的設(shè)計(jì)、編寫(xiě)系統(tǒng)程序。 (3)掌握如何應(yīng)用單片機(jī)仿真軟件來(lái)開(kāi)發(fā)應(yīng)用系統(tǒng)及仿真調(diào)試的過(guò)程,先進(jìn)行各模塊調(diào)試,然后進(jìn)行各程序模塊的聯(lián)調(diào),最后與硬件一起進(jìn)行聯(lián)調(diào),反復(fù)檢測(cè)和修改直至開(kāi)發(fā)結(jié)束。 |
作品完成情況: 理論聯(lián)系實(shí)踐,實(shí)踐離不開(kāi)理論,由于之前沒(méi)實(shí)際做過(guò)什么設(shè)計(jì),所以在做這個(gè)課程設(shè)計(jì)時(shí)遇到過(guò)很多的問(wèn)題. 由于單片機(jī)系統(tǒng)復(fù)雜,容易出現(xiàn)很多問(wèn)題。但還是經(jīng)過(guò)多次編程以及調(diào)試后得到了想要的結(jié)果。
|
驗(yàn)收情況: 驗(yàn)收教師簽名:___________ 年 月 日 |
注:1. 除“驗(yàn)收情況”欄外,其余各欄均由學(xué)生在作品驗(yàn)收前填寫(xiě)。
- “驗(yàn)收情況”欄由驗(yàn)收小組按實(shí)際驗(yàn)收的情況如實(shí)填寫(xiě)。
目錄
一 、緒論二十世紀(jì)九十年代以來(lái),計(jì)算機(jī)、信息、電子、控制、通信等技術(shù)得到迅速發(fā)展,促使了社會(huì)生產(chǎn)力的提高,也使人們的生產(chǎn)方式和生活方式產(chǎn)生了日新月異的變化。隨著人們生活水平的提高及對(duì)音樂(lè)的喜愛(ài),對(duì)音樂(lè)播放器的品質(zhì),功能,品種等提出了越來(lái)越多的要求,表現(xiàn)在對(duì)控制系統(tǒng)性能、可靠性等要求越來(lái)越高。而品質(zhì)的提高,功能的更新,可靠性的增強(qiáng),品種的變化無(wú)不于產(chǎn)品的核心控制部分水平的提高密不可分。家用音樂(lè)播放器產(chǎn)品及其它有關(guān)消費(fèi)電器產(chǎn)品都是一些開(kāi)環(huán)或閉環(huán)控制系統(tǒng),都由核心控制部分,執(zhí)行部分與人機(jī)界面三部分組成。而最為重要的控制部分一般是由單片機(jī)來(lái)執(zhí)行完成的,這就必將導(dǎo)致和促進(jìn)單片機(jī)在音樂(lè)領(lǐng)域應(yīng)用的發(fā)展,F(xiàn)在這些由單片機(jī)實(shí)現(xiàn)的音樂(lè)播放器的功能越來(lái)越強(qiáng)、費(fèi)用越來(lái)越低。例如,就市場(chǎng)上的mp3目前的功能越來(lái)越強(qiáng)大體積卻越來(lái)越小,價(jià)格也逐漸便宜,被大多數(shù)人所能接受。但這些音樂(lè)播放器也或多或少的存在著一些問(wèn)題,解決這些問(wèn)題,還除智能化的單片機(jī)莫屬。
二 、課程設(shè)計(jì)目的及要求2.1 課程設(shè)計(jì)目的
《單片機(jī)原理與應(yīng)用》是電子信息工程專業(yè)的一門重要專業(yè)課,對(duì)應(yīng)用能力和動(dòng)手能力要求很高,課程設(shè)計(jì)環(huán)節(jié)是學(xué)生學(xué)習(xí)該課程后進(jìn)行的一項(xiàng)必不可少的基本訓(xùn)練。
本著以下目的,制定《單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)》實(shí)施方案。
- 使學(xué)生增進(jìn)對(duì)單片機(jī)的感性認(rèn)識(shí),加深對(duì)單片機(jī)理論方面的理解,鞏固學(xué)生所學(xué)理論知識(shí);
- 使學(xué)生掌握單片機(jī)的內(nèi)部功能模塊的應(yīng)用,培養(yǎng)學(xué)生系統(tǒng)設(shè)計(jì)的思想;
- 培養(yǎng)學(xué)生的軟件設(shè)計(jì)能力,提高學(xué)生的動(dòng)手能力;
- 培養(yǎng)學(xué)生查閱相關(guān)資料、撰寫(xiě)文檔的能力和自學(xué)、科研的能力
2.2 課程設(shè)計(jì)要求
1、基本要求
學(xué)生每人一題,要求根據(jù)課題要求,通過(guò)查閱資料等,獨(dú)立完成課題的方案設(shè)計(jì)、電路設(shè)計(jì)、系統(tǒng)流程圖設(shè)計(jì)、仿真分析、調(diào)試和指標(biāo)測(cè)試,撰寫(xiě)設(shè)計(jì)報(bào)告。
2、具體要求
從應(yīng)用系統(tǒng)的設(shè)計(jì)的任務(wù)出發(fā),應(yīng)當(dāng)通過(guò)設(shè)計(jì)工作的各個(gè)環(huán)節(jié),達(dá)到以下教學(xué)要求:
(1)根據(jù)應(yīng)用系統(tǒng)的要求,初步掌握總體結(jié)構(gòu)的方法和構(gòu)思,從中選擇一種最佳的設(shè)計(jì)方案。
(2)根據(jù)應(yīng)用系統(tǒng)結(jié)構(gòu)規(guī)模的要求,掌握在單片機(jī)外部擴(kuò)展系統(tǒng)硬件設(shè)計(jì)的基本過(guò)程:例如硬件接口的設(shè)計(jì),正確合理選用所需元器件,繪制應(yīng)用系統(tǒng)與單片機(jī)連接的電路圖等項(xiàng)工作。
(3)根據(jù)設(shè)計(jì)任務(wù)和要求,首先畫(huà)出程序總體流程圖,然后進(jìn)行各控制模塊程序的設(shè)計(jì)、編寫(xiě)系統(tǒng)程序。
(4)掌握如何應(yīng)用單片機(jī)仿真軟件來(lái)開(kāi)發(fā)應(yīng)用系統(tǒng)及仿真調(diào)試的過(guò)程,先進(jìn)行各模塊調(diào)試,然后進(jìn)行各程序模塊的聯(lián)調(diào),最后與硬件一起進(jìn)行聯(lián)調(diào),反復(fù)檢測(cè)和修改直至開(kāi)發(fā)結(jié)束。
3、音樂(lè)調(diào)音主要器件相關(guān)知識(shí)介紹3.1 AT89S52AT89S52是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89S52是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案
芯片流程圖
單片機(jī)89S52采用40Pin封裝的雙列直接。下圖是它們的引腳配置:40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用。現(xiàn)在我們對(duì)這些引腳的功能加以說(shuō)明:
·20:接地腳。
·40:正電源腳,工作時(shí),接+5V電源。
·19:時(shí)鐘XTAL1腳,片內(nèi)振蕩電路的輸入端。
·18:時(shí)鐘XTAL2腳,片內(nèi)振蕩電路的輸出端。
8051的時(shí)鐘有兩種方式,一種是片內(nèi)時(shí)鐘振蕩方式 但需在18和19腳外接石英晶體(2-12MHz)和振蕩電容,振蕩電容的值一般取10p-30p。另外一種是外部時(shí)鐘方式,即將XTAL1接地,外部時(shí)鐘信號(hào)從XTAL2腳輸入。
輸入輸出(I/O)引腳:
Pin39-Pin32為P0.0-P0.7輸入輸出腳。
Pin1-Pin8為P1.0-P1.7輸入輸出腳。
芯片引腳簡(jiǎn)要說(shuō)明
Vcc (40) :+5V 電源
Vss (20) :接地
P0 口(32~39):為8位雙向三態(tài)I/O口
P1口(8~1):是帶內(nèi)部上拉電阻結(jié)構(gòu)的8位準(zhǔn)雙向I/O口
P2口(28~21):也是帶內(nèi)部上拉電阻結(jié)構(gòu)的8位準(zhǔn)雙向I/O口
P3(17~ 10):也是帶內(nèi)部上拉電阻結(jié)構(gòu)的8位準(zhǔn)雙向I/O口,但在整個(gè)系統(tǒng)中,對(duì)相應(yīng)的口鎖存器置“1” 后,這8個(gè)腳還具有第二功能。
RST/VPD (9):復(fù)位信號(hào)線
ALE/PROG (30):地址鎖存有效信號(hào)線
PSEN(29):外部程序存儲(chǔ)器讀選通信號(hào)線
EN/VPP(31):內(nèi)部和外部程序存儲(chǔ)器的選擇線
XTAL1(19) 和XTAL2(18):接外部石英晶體
XTAL1(19) 和XTAL2(18):接外部石英晶體
I/O端口:
8051共有4 I/O端口,為P0,P1,P2,P3;4個(gè)I/O口都是雙向的,且每個(gè)口都具有鎖存器。每個(gè)端口有8條線,共計(jì)32條I/O線。
P0.0~P0.7;P1.0~P1.7;P2.0~P2.7;P3.0~P3.7
1. P0 有三個(gè)功能
1)。外部擴(kuò)充存儲(chǔ)器時(shí),作數(shù)據(jù)總線(D0~D7)
2)。外部擴(kuò)充存儲(chǔ)器時(shí),作地址總線(A0~A7)
3)。不擴(kuò)充時(shí),作一般I/O使用,內(nèi)部無(wú)上拉電阻,作為輸出/輸入使用時(shí)應(yīng)加上拉電阻
2. P1只作I/O口使用,有內(nèi)部上拉電阻。
3. P2有兩個(gè)功能
1)。擴(kuò)充外部存儲(chǔ)器時(shí),作地址總線(A8~A15)使用。
2)。作一般I/O口使用,有內(nèi)部上拉電阻。
3.2蜂鳴器(如下圖2.3-1)
圖2.3-1
此電路當(dāng)BEEP孔懸空時(shí),三極管導(dǎo)通,喇叭內(nèi)部無(wú)震蕩電路,音膜不動(dòng)。當(dāng)BEEP孔接在單片機(jī)時(shí),引腳高地電平不斷的變化,音膜被拉動(dòng),發(fā)出聲音。
四、 音樂(lè)調(diào)音器設(shè)計(jì)原理4.1單片機(jī)發(fā)聲的基本原理
眾所周知,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來(lái)控制單處機(jī)某個(gè)口線的“高”電平或低電平,則在該口線上就能產(chǎn)生一定頻率形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時(shí)程序控制“高”“低”電平的持續(xù)時(shí)間,就能改變輸出頻率,從而改變音調(diào)。音符的節(jié)拍我們可以用定時(shí)器T0來(lái)控制,送入不同的初值,就可以產(chǎn)生不同的定時(shí)時(shí)間。便如某歌曲的節(jié)奏為每分鐘94拍,即一拍為0.64秒。但是,由于T0的最大定時(shí)時(shí)間只能為131毫秒,因此不可能直接用改變T0的時(shí)間初值來(lái)實(shí)現(xiàn)不同節(jié)拍。我們可以用T0來(lái)產(chǎn)生10毫秒的時(shí)間基準(zhǔn),然后設(shè)置一個(gè)中斷計(jì)數(shù)器,通過(guò)判別中斷計(jì)數(shù)器的值來(lái)控制節(jié)拍時(shí)間的長(zhǎng)短。。例如對(duì)1/4拍音符,定時(shí)時(shí)間為0.16秒,相應(yīng)的時(shí)間常數(shù)為16(即10H);對(duì)3拍音符,定時(shí)時(shí)間為1.92秒,相應(yīng)時(shí)間長(zhǎng)數(shù)為192(即C0H)。我們將每一音符的時(shí)間常數(shù)和其相應(yīng)的節(jié)拍常數(shù)作為一組,按順序?qū)?lè)曲中的所有常數(shù)排列成一個(gè)表,然后由查表程序依次取出,產(chǎn)生音符并控制節(jié)奏,就可以實(shí)現(xiàn)演奏效果。此外,結(jié)束符和體止符可以分別用代碼00H和FFH來(lái)表示,若查表結(jié)果為00H,則表示曲子終了;若查表結(jié)果為FFH,則產(chǎn)生相應(yīng)的停頓效果。為了產(chǎn)生手彈的節(jié)奏感,在某些音符(例如兩個(gè)相同音符)音插入一個(gè)時(shí)間單位的頻率略有不同的音符。
4.2設(shè)計(jì)的相關(guān)音樂(lè)說(shuō)明1要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),然后將此周期除以2,即為半周期時(shí)間。利用半周期時(shí)間定時(shí)這個(gè)半周期時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出的I/O反向,然后重復(fù)計(jì)時(shí)此半周期再對(duì)I/O反向,就可以在I/O腳上得到此頻率的脈沖。
2利用8051的內(nèi)部定時(shí)器使其工作在記數(shù)模式MODE1下,改變記數(shù)值TH0及 TL0以產(chǎn)生不同的方法。
3 記數(shù)脈沖值與頻率的關(guān)系公式如:N=Fi/2/Fr。N:記數(shù)值:Fi:內(nèi)部計(jì)時(shí)依次為1us,故其頻率為1 MHZ; Fr:要產(chǎn)生的頻率;
4 其記數(shù)值的求法如:T=65536-N=65536-Fi/2/Fr。例:設(shè)K=65536,F=1000000=Fi=1 MHZ。求低音DO(26HZ),中音DO(523HZ),高音DO(1046HZ)的記數(shù)值。
5 調(diào)音量主要就是調(diào)節(jié)占空比。占空比越大,音量越高,反之,占空比越小,音量越小。
5 音樂(lè)編碼表
每個(gè)音符都對(duì)應(yīng)了一個(gè)T值,12M晶振時(shí)各音符的T值如下表1:
表1: 12M晶振時(shí)對(duì)應(yīng)的T值表
每個(gè)音符的發(fā)音長(zhǎng)度,各調(diào)節(jié)拍與時(shí)間的設(shè)定如下表2所示:
表2: 調(diào)值與節(jié)拍延時(shí)時(shí)間關(guān)系表
4.3音樂(lè)調(diào)音器硬件電路圖
4.4 主程序#include
sbit BEEP=P3^7;
sbit key1=P2^2;
sbit key2=P2^5;
bit bz;
char b;
char m=5;
void Delay(unsigned int ms)
{
while(ms--);
}
void init()
{
EA=1;
TMOD=0X01;
TH0=(64536)/256;
TL0=(64536)%256;
ET0=1;
TR0=1;
}
void main()
{
init();
while(1)
{
if((key1==0)&&(bz==0))
{ Delay(11);
if(key1==0)
{ bz=1;
if(m<10) m++;
}}
if((key2==0)&&(bz==0))
{ Delay(11);
if(key2==0)
{ bz=1;
if(m>0) m--;}}
if((key1==1)&&(key2==1))
bz=0 ; }
}
void to() interrupt 1
{
TH0=(64536)/256;
TL0=(64536)%256;
b++;
if(b==10) b=0;