宋曉倩
遼寧錦州渤海大學
?
基于單片機的簡易電子琴設計
宋曉倩
遼寧錦州渤海大學
電子琴的制作方法包括集成電路以及單片機兩種,本文設計了基于芯片8255和8253的電子琴設計,這是一種簡單的電子琴,可以進行簡單的音樂發音,而且這種軟件可以通過各種仿真和調試。有利于音調的發音以及歌曲更好的調試。
電子琴 音調 仿真調試
人們希望通過組織的音樂來表達自己的思想,表達自己的情感和生活,因為出現了各種各樣的電子樂器,包括各種電子琴,電子琴的領域非常廣闊而且可以更好的進行表現,但是電子琴的體積一般不能進行攜帶,單片機在人們的生活中具有重要的地位和意義,要設計一種簡單的電子琴,而且這種電子琴是簡單攜帶而且經濟實用的,本文設計了以單片機為基礎的電子琴。電子琴在現代社會來說是一種新鮮的產物,他在現代音樂中占有重要的地位。電子琴單片機的控制功能比較強大,在當前人們的生活中得到了廣泛的運用,本文的主要內容是通過芯片作為控制軟件,這是一種簡單的電子琴,通過按動STAR ES598PCI單片機的1到7號鍵我們可以更好地調整單片機的音調。逐漸產生不同頻率的波形,最終輸出到單片機的蜂鳴器上,這樣可以更好地控制蜂鳴器的發聲也有利于電子琴更好的演奏,可以事先設置樂譜有利于電子琴的回放以及用戶演奏的重放,用戶通過DOS界面可以選擇電子琴的回放功能。圖1為系統框圖。

圖1 簡易電子琴系統設計框圖
圖2為系統接線圖。
2.1芯片8253的作用
芯片8253為一種可編程定時計數器,在本實驗中有利于輸出頻率和限制輸出聲音頻率的大小,8253是可實現重新嵌入軟件代碼的定時器/計數器功能的芯片,不僅達到了可計數的效果,而且能夠實現定時,它是在方波發生器的工作模式下通過OUT引腳可以獲得方波輸出,通過改變不同的頻率來實現不同的發聲。表1為頻率與計數初始值的關系。

表1 頻率與計數初始值

圖2 簡易電子琴系統設計接線圖
2.2芯片8255的作用
8255芯片有40個引腳,在設計過程中分別接收到按鍵1-7的數據輸入后。又可操作蜂鳴器的開關和8255芯片工作。這種芯片是一種并行接口以及獨立的數據端口,端口之間可以進行端口輸入和輸出,內部有3種工作方式,即方式0、 方式1和方式2,而C口能進行信號的聯絡,通過使用8255A芯片A口,作為一種很基礎的輸入方法。通過輸出線可以和芯片進行連接,然后讓計數器正常地進行工作。有利于蜂鳴器發聲控制。并且在蜂鳴器的另一個輸入端會配備相應的放大電路裝置,所以,不必考慮關于蜂鳴器的程序驅動電流和裝置電壓。只需按照規定的范圍輸出的驅動電流即可。
2.3基于蜂鳴器實現的作用
蜂鳴器的接收端會根據收到不同的頻率生成相應的聲音,輸入和輸出的頻率會收到振蕩電路的影響。蜂鳴器最終會發出不同的頻率的聲音。圖3為蜂鳴器電路圖。

圖3 蜂鳴器電路圖
程序包括DOS功能界面,用戶在演奏的時候可以根據按鍵輸入二進制數,然后將對應的技術圖紙存入到計數器中,通過芯片可以產生相應的頻率就可以判斷蜂鳴器是否發聲,用戶點擊回放功能會自動進行演奏,其主要的工作原理和實現原理具有類似的特點,并不基于用戶輸入的進行頻率判斷,而是需要通過使用芯片二號計數器進行輸入進行頻率判斷。
對于整套電路設計來說,一旦接通電路則需要通過軟件編碼方式采集到8255芯片的口輸入信號源,如果沒有按下數據就不能夠檢測到數據,沒有接通開關的話可能會通過PC口輸入低電平,而且芯片二號計數器也不會協同工作,蜂鳴器的發生端并不發聲,如果按下電路的總開關啟動按鈕程序就會采集數據,按鈕值與A口并不同,會對8255A的C口輸出數據進行修改,那么PC輸出高電平,這樣二號數據器就可以正常工作。通過的對應輸入的數據和事件可以得到技術支持。這個技術只可以發送給8253的通道2,芯片2號通道工作方式3下,可以獲得滿足頻率電波的需求。這種電波經過電路端的放大設備就可以讓揚聲器頻頻發出聲音,在這對樂譜進行設計的時候會設計兩張表。一張為平面表,主要是記錄對應的頻率值。另一張是時間表可以存放音符。而且頻率表與時間表的表象不能錯位,當進行重復驗證或停止演奏情況下,頻率表應該歸零。如果用戶需要選擇回放。這樣對C口的輸出數據可以進行修改。那么PC0會輸入高電平,這個時候既數據正常地進行工作。可以將列表中的頻率直接寫入到數據中。通過單位時間以及調試參數相乘就可以獲得時間。這個時間就是音符的演奏時間。
8253芯片的2號計數器由于實現了數據控制可以發出一定頻率的信號。蜂鳴器會演奏,頻率表顯示特殊符號,當其檢測到這種特殊符號便會輸出相應的數據。最終8253的2號計數器會停止工作。蜂鳴器也不會發聲的,這個時候的回放會結束。圖4為軟件流程圖。
4.1硬件調試
為了連接需要硬件芯片的調試。因為設計方案簡單,而且在調試中并沒有問題存在,最有可能遇到的問題是芯片信號到底是通過單片機連接還是通過接口連接。信號可以通過接線板得到。片選信號可以通過CS1給出,因為單片機上的蜂鳴器和一般的發音蜂鳴器不一樣,在對蜂鳴器進行測試的時候自然會對方波頻率產生影響,所以在對蜂鳴器進行測試的時候會有影響。導致發出的聲音不滿意。需要對聲音頻率進行調試,調試過程使得獲取更佳的音質效果。
4.2軟件調試
軟件調試主要是通過人機交互方式和回放功能上的測試,在DOS界面下選擇菜單進行人機交互,通過用戶對菜單項進行程序的調整,通在程序設計,軟件功能之間互不干擾,但是忽視了寄存器初值的設置問題,如果忽略了計算機的處理工作,沒有進行初始化操作可能會導致實驗中出現錯誤,所以在程序不斷完善的過程中需要通過大量的測試解決問題。本文將頻率和節拍進行了分開存儲,通過程序可以更好地讀取表中的數據。有利于蜂鳴器更好地進行演奏。
本文操作了STAR ES598PCI這種單片機的一到七號鍵,通過單片機8255和8253可以調整音調,因為這種芯片產生不同的頻率分布,而且會輸出到蜂鳴器,所以對于不同的開關會發出一到七級的音階,有利于電子琴的演奏,可以通過設置的樂譜音樂回放。通過電子琴可以獲得回放功能,人機交互的軟件實現模式有利于電子琴全部功能的實現,而且使用效果也很好,能夠實現完整的歌曲彈奏。
[1] 孫萬麟. 基于AT89C51單片機的電子琴設計[J].電腦知識與技術,2010(20)
[2] 黃亮.基于AT89C2051單片機的電子琴電路的設計[J].電子制作,2006(05)
[3] 盛青松.基于AT89C51可彈奏電子琴的設計[J].科技信息,2010(32)
[4] 劉樂喜.微機計算機接口技術及應用[M].北京:華中科技大學出版社,2005
[5] 石東海.單片機數據通信技術從入門到精通[M].西安:西安電子科技大學出版社,2002