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