欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1793|回復: 0
打印 上一主題 下一主題
收起左側

電子琴設計論文

[復制鏈接]
跳轉到指定樓層
樓主
ID:358295 發(fā)表于 2018-6-28 16:56 來自觸屏版 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
1 引言
1.1 目的和意義
單片微型計算機是大規(guī)模集成電路技術發(fā)展的產物,屬第四代電子計算機,它具有高性能、高速度、體積小、價格低廉、穩(wěn)定可靠、應用廣泛的特點。它的應用必定導致傳統(tǒng)的控制技術從根本上發(fā)生變革。因此,單片機的開發(fā)應用已成為高科技和工程領域的一項重大課題。
    電子琴是現代電子科技與音樂結合的產物,是一種新型的鍵盤樂器。它在現代音樂扮演著重要的角色,單片機具有強大的控制功能和靈活的編程實現特性,它已經溶入現代人們的生活中,成為不可替代的一部分。本文的主要內容是用AT89S51單片機為核心控制元件,設計一個電子琴。以單片機作為主控核心,與鍵盤、揚聲器等模塊組成核心主控制模塊,在主控模塊上設有16個按鍵和揚聲器。
    本文主要對使用單片機設計簡易電子琴進行了分析,并介紹了基于單片機電子琴統(tǒng)硬件組成。利用單片機產生不同頻率來獲得我們要求的音階,最終可隨意彈奏想要表達的音樂。并且本文分別從原理圖,主要芯片,各模塊原理及各模塊的程序的調試來詳細闡述。本系統(tǒng)是簡易電子琴的設計,按下鍵盤矩陣中的按鍵會使揚聲器播放對應的音符。通過設計本系統(tǒng)可了解單片機的基本功能。對單片機的了解有一個小的飛躍。
1.2 本系統(tǒng)主要研究內容
1.由4X4組成16個按鈕矩陣,設計成16個音對應音樂音符。
2.每按一個鍵,單片機檢測按下的那個鍵并查表查找相應的音符,輸出到音頻處理模塊驅動喇叭發(fā)出音符。
3.設計控制器的硬件電路原理圖,合理選擇元器件;編寫使用說明書,說明使用方法。
4.設計在實驗板上實現該功能的程序并進行調試。
1.3 主要芯片簡介
AT89S51是一個低功耗,高性能CMOS 8位單片機,片內含4k Bytes ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳結構,芯片內集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89S51可為許多嵌入式控制應用系統(tǒng)提供高性價比的解決方案。
AT89S51具有如下特點:40個引腳(引腳圖如圖1-2所示),4k Bytes Flash片內程序存儲器,128 bytes的隨機存取數據存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數器,2個全雙工串行通信口,看門狗(WDT)電路,片內時鐘振蕩器。            
此外,AT89S51設計和配置了振蕩頻率可為0Hz并可通過軟件設置省電模式。空閑模式下,CPU暫停工作,而RAM定時計數器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結振蕩器而保存RAM的數據,停止芯片其它功能直至外中斷激活或硬件復位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應不同產品的需求。
2 系統(tǒng)分析
2.1 系統(tǒng)組成
本系統(tǒng)只要以51單片機為主控核心,與矩陣鍵盤、揚聲器一起組合而成。具體如下:

圖一電路方框圖
2.2 系統(tǒng)工作原理
本系統(tǒng)掃描鍵盤矩陣、顯示按鍵、揚聲器發(fā)出對應音符。
4X4行列式鍵盤識別及顯示原理如下:
組成鍵盤的按鍵有機械式、電容式、導電橡膠式、薄膜式多種,但不管什么形式,其作用都是一個使電路接通與斷開的開關。目前微機系統(tǒng)中使用的鍵盤按其功能不同,通常可分為編碼鍵盤和非編碼鍵盤兩種基本類型。
    編碼鍵盤:鍵盤本身帶有實現接口主要功能所需的硬件電路。不僅能自動檢測被按下的鍵,并完成去抖動、防串鍵等功能,而且能提供與被按鍵功能對應的鍵碼(如ASCII碼)送往CPU。所以,編碼鍵盤接口簡單、使用方便。但由于硬件電路較復雜,因而價格較貴。
    非編碼鍵盤:鍵盤只簡單地提供按鍵開關的行列矩陣。有關按鍵的識別、鍵碼的確定與輸入、去抖動等功能均由軟件完成。目前微機系統(tǒng)中,一般為了降低成本大多數采用非編碼鍵盤。
    鍵盤接口必須具有去抖動、防串鍵、按鍵識別和鍵碼產生4個基本功能。
    (1)去抖動:每個按鍵在按下或松開時,都會產生短時間的抖動。抖動的持續(xù)時間與鍵的質量相關,一般為5—20ms。所謂抖動是指在識別被按鍵是必須避開抖動狀態(tài),只有處在穩(wěn)定接通或穩(wěn)定斷開狀態(tài)才能保證識別正確無誤。去抖問
題可通過軟件延時或硬件電路解決。
    (2)防串鍵:防串鍵是為了解決多個鍵同時按下或者前一按鍵沒有釋放又有新的按鍵按下時產生的問題。常用的方法有雙鍵鎖定和N鍵輪回兩種方法。雙鍵鎖定,是當有兩個或兩個以上的按鍵按下時,只把最后釋放的鍵當作有效鍵并產生相應的鍵碼。N鍵輪回,是當檢測到有多個鍵被按下時,能根據發(fā)現它們的順序依次產生相應鍵的鍵碼。
    (3)被按鍵識別:如何識別被按鍵是接口解決的主要問題,一般可通過軟硬結合的方法完成。常用的方法有行掃描法和線反轉法兩種。行掃描法的基本思想是,由程序對鍵盤逐行掃描,通過檢測到的列輸出狀態(tài)來確定閉合鍵,為此,需要設置入口、輸出口一個,該方法在微機系統(tǒng)中被廣泛使用。線反轉法的基本思想是通過行列顛倒兩次掃描來識別閉合鍵,為此需要提供兩個可編程的雙向輸入/輸出端口。
    (4)鍵碼產生:為了從鍵的行列坐標編碼得到反映鍵功能的鍵碼,一般在內存區(qū)中建立一個鍵盤編碼表,通過查表獲得被按鍵的鍵碼。
用AT89S51的并行口P3接4×4矩陣鍵盤,以P3.0-P3.3作輸入線,以P3.4-P3.7作輸出線.


3 系統(tǒng)硬件設計
3.1 系統(tǒng)硬件總體設計
本系統(tǒng)由鍵盤矩陣、揚聲器這幾個部分組成,揚聲器發(fā)出對應音符。硬件總體設計圖如下:

圖二電路原理圖
3.2子系統(tǒng)(模塊)一
矩陣掃描揚聲器發(fā)出對應音符模塊如下:

圖三矩陣掃描揚聲器
3.3子系統(tǒng)(模塊)二
矩陣鍵盤模塊圖如下:

圖四矩陣鍵盤
4 系統(tǒng)軟件設計
4.1 系統(tǒng)軟件總體設計
本系統(tǒng)的軟件流程圖如下:

圖五軟件流程圖
4.2子系統(tǒng)
一首音樂是許多不同的音階組成的,而每個音階對應著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構成我們所想要的音樂了,當然對于單片機來產生不同的頻率非常方便,我們可以利用單片機的定時/計數器T0來產生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應頻率關系正確即可。
利用AT89C51的內部定時器使其工作計數器模式(MODE1)下,改變計數值TH0及TL0以產生不同頻率的方法產生不同音階,例如,頻率為523Hz,其周期T=1/523=1912μs,因此只要令計數器計時956μs/1μs=956,每計數956次時將I/O反相,就可得到中音DO(523Hz)。
計數脈沖值與頻率的關系式(如式2-1所示)是:
N=fi÷2÷fr 2-1
式中,N是計數值;fi是機器頻率(晶體振蕩器為12MHz時,其頻率為1MHz);fr是想要產生的頻率。
其計數初值T的求法如下:
T=65536-N=65536-fi÷2÷fr
例如:設K=65536,fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的計數值。
T=65536-N=65536-fi÷2÷fr=65536-1000000÷2÷fr=65536-500000/fr
低音DO的T=65536-500000/262=63627
中音DO的T=65536-500000/523=64580
高音DO的T=65536-500000/1046=65059
本系統(tǒng)按鍵發(fā)出對應音符模塊軟件流程圖如下:

圖六音符模塊軟件流程圖





5 系統(tǒng)使用說明
5.1 系統(tǒng)安裝及配置說明
5.1.1        系統(tǒng)運行環(huán)境
WINDOWS XP   PROTEUS 7.1 SP2  Keil uv3 2.12
5.1.2        系統(tǒng)安裝及配置
安裝Protues 和keil uVsision3。
5.2 系統(tǒng)操作說明
(1)Keil下編譯,產生目標HEX文件,Proteus下Programme Files選擇產生的HEX文件,點擊運行開始模擬。
(2)按任意鍵盤,揚聲器發(fā)出相應的音符。

6 結論
本次的課程設計,使關于51系列單片機的,在平時課程的學習中,我們僅限于理論知識的講解,即使知識是很扎實的,實際應用并不是這樣的。開始時我也覺得自己的理論知識已經夠了,但當我拿到課題時,在腦海里想的是非常好的,但真正編程和控制時,理論和實際結合不到一起,甚至于51芯片的使用我都感覺很迷茫,還是經過搜集大量資料才將理論與實際結合到一起了。通過這次課程設計,我們學到了不少課本上沒有的知識,也鍛煉了自己的動手能力,將以前學過的零散的知識串到一起。經過我們長時間的設計及調試,本系統(tǒng)基本能實現按下鍵盤矩陣中的按鍵會使數碼管顯示當前按鍵,揚聲器播放對應的音符。但由于仿真系統(tǒng)原因,本設計音頻效果不是很好。不足之處有:1.可彈奏的音符數較少,只能在一定范圍內滿足用戶需要。可通過改進鍵盤識別模塊和發(fā)生模塊來增加其復雜度。2.音量不可調。
通過這次課程設計——電子琴設計,使我又重新開始復習了匯編語言,因為匯編語言是前段時間學習的,從學完就再也沒用過,所以開始很陌生,我又找了有關資料來了解,才有了一點眉目。剛開始以為可以用匯編很容易就寫出來,但是用匯編時才發(fā)現原來都不怎么熟練,編了一會程序發(fā)現只有一種感覺——舉步維艱啊!對于單片機,我們課本學習的是80C51,但是這次做課程設計用的是89C51,這樣不僅使我們掌握了80C51,而且對89C51也有了一定的了解了,在課堂上學習的都理論的,跟實際永遠有一定的差距,不實踐就不會發(fā)現問題。通過這次課程設計使我把課堂上學習的東西都用到了實踐中,例如:定時/計數器的應用與中斷。學習的時候不怎么理解,但是在實踐中應用了以后就自然了解了。這次課程設計使我受益匪淺,而且都是實際的東西。
通過本次設計實驗,使我對所學51系列的單片機從理論知識到實踐硬件的應用以及匯編語言知識的回顧,更加熟悉了89C51單片機的每一個引腳的輸出和各項功能,而且對硬件電路的布線以及焊接能力有了很大的進步。我們的綜合設計主要涉及硬件和軟件兩方面的內容,通過這些我們的硬件和軟件開發(fā)能力都獲得了提高。首先硬件方面,基本了解了電子產品的開發(fā)流程和所要做的工作;基本掌握了Proteus繪制原理圖的方法,并設計了一個單片機最小系統(tǒng)。通過開發(fā)板的設計和硬件搭建的過程,使我們對51系單片機的接口有了更深層次的理解,熟悉了一些單片機常用的外圍電路引腳和連接方法,如LED數碼管,鍵盤等。并且我們學會了分析問題解決問題的能力,加深了對所學理論知識的理解和運用。我們的動手能力得到了很大的提高,創(chuàng)新意識得到了鍛煉。

參考文獻
[1] 彭偉.單片機C語言程序設計實訓100例.電子工業(yè)出版社.2009
[2] 吳運昌.模擬電子線路基礎.廣州:華南理工大學出版社,2004
[3] 閻石.數字電子技術基礎.北京:高等教育出版社,1997
[4] 張曉麗等.數據結構與算法.北京:機械工業(yè)出版社,2002
[5] 馬忠梅等. ARM&Linux嵌入式系統(tǒng)教程.北京:北京航空航天大學出版社,2004
[6] 李建忠.單片機原理及應用.西安:西安電子科技大學,2002
[7] 韓志軍等.單片機應用系統(tǒng)設計[M].機械工業(yè)出版社,2004
[8] 周潤景等. Proteus在MCS-51&ARM7系統(tǒng)中的應用百例[M].電子工業(yè)出版社,2006
[9] 馬忠梅等.單片機的C語言應用程序設計[M].北京航空航天大學出版社,2006
[10] 劉樹中,孫書膺,王春平.單片機和液晶顯示驅動器串行接口的實現[J].微計算機信息,2007
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表