高書陽
(湖北方源東力電力科學研究有限公司,湖北 武漢 430000)
鍵盤分為單列、雙鍵盤,是20 世紀50 年代,日本從美國進口的鍵盤。1959 年雅馬哈公司生產的第一個垂直鍵盤在世界上被稱為“伊萊克特拉”器官鍵盤。1980 年,通過集成電路的不斷發(fā)展,電子琴開始向小型化發(fā)展,如雅馬哈等廠商便攜式單鍵盤(portatone portasound)。1983 年雅馬哈DX7合成電鋼琴。1986年有HX先進的電子出版的歷史。最常見和最熟悉的鍵盤是日本1991 年后生產的EL,ELS 系列和雙便攜Ddk7 的。
在1958 年,中國北京郵電學院已經開發(fā)出了一個單一的電子管。由于種種原因,1977 年,中國生產了大量的電子琴。在1989 年,中國有200 萬套兒童電子琴,輸出39 萬套,電子琴在中國快速的發(fā)展。[1]
隨著現(xiàn)代科技的不斷發(fā)展,電子琴也在日益成長,它是一種新型的鍵盤樂器,在如今的樂器里面擔任著重要的角色。單片機具有強大的功能,現(xiàn)代生活中人們隨處可以看到它的身影。這個設計主要是以STC89C51 單片機為主要控制器,設計的一個電子琴。用單片機作為主要的控制中心,與鍵盤、揚聲器等元件組成核心主控制模塊,在主控模塊上設有8 個按鍵。[2]
基于單片機電子琴的硬件組成:可以通過單片機制造出不同的頻率來獲得我們需要的音階,最后能夠隨意的進行演奏,并且分別從原理圖、主要芯片、各模塊原理及各模塊的程序的調試來詳細闡述。
對于單片機來講,可以很方便的產生不同的頻率,我們能夠利用單片機的定時/計數器T0產生不同的頻率信號,所以就可以彈奏出不同的歌曲了。
彈奏的歌曲通過揚聲器播放出來。電路包括:單片機、鍵盤以及單片機周邊最小系統(tǒng)和晶振電路。
2.1.1 各部分說明
(1)八個按鍵對應八個音符,用來演奏樂曲。
(2)單片機通過一系列信號的輸出來驅動控制每個部分的正常工作。
2.1.2 系統(tǒng)工作過程
單片機在CPU 中產生音頻脈沖,CPU 隨時對輸入的信號進行處理。閱讀相應的寄存器,CPU 將處理過的讀值通過I/O 端口使用揚聲器輸出播放音樂。
單片機的功能比較強大,使用靈活,可實現(xiàn)軟件編程的算法和控制邏輯。由于低功率單芯片,小體積、技術成熟和成本低廉,所以廣泛應用于各種領域,且具有抗干擾性能。[3]
2.2.1 發(fā)聲模塊
發(fā)聲模塊是本設計的最主要的部分。
基本方案:聲音電路是電路部件的核心設計,它擔當著把單片機所產生的語音信號放大并輸出重要的作用,并且該設計是由兩個S8050 晶體管驅動構成聲音電路。S8050是一個功率晶體管放大器管,是NPN 型晶體管,而判讀三極管有以下方法:
1.判斷三極管的基極。對于NPN 型三極管,用黑表筆接在某一個電極,紅表筆連接到其他兩個電極,如果測得的電阻值是交換表筆后,兩個測得的電阻值都較大,這樣就可以分析黑筆的第一測量被連接到電極基部;如果測量值和一個小的值有很大的區(qū)別,則黑筆的第一測量沒有連接到電極基部,它應當更換另一電極重量度量。[4]
2.測量三極管發(fā)射極e 和集電極c。晶體管基極由切換表筆兩次測量E、C 之間的電阻后確定,如果兩個測量不相等,其中較小的一個所測量的電阻值是紅色筆,黑色筆e極與c 極連接。對于PNP 型晶體管,類似于NPN 方法,但是測試的相反的效果e..之間進行測量時導致角極端抗性。注意由于晶體管V(BR)CEO 是非常小的,很容易擊穿發(fā)射結。當確定了晶體管的管腳,就可以使用兩個晶體管形成一個達林頓配置。首先,單片機P1.0 口輸出高電平由兩個達林頓晶體管組成,可以形成為導通,而且電流和某些擴增接通之后,聲音更清晰(圖1)。

圖1 聲音驅動電路
2.2.2 編程軟件模塊
方案1:采用匯編語言編程
與一些助記符字符的匯編語言指令有相應的表達意義,所以它相比機器語言來說使用起來更容易,但是它使用的CPU 資源,對于高級語言,似乎更加困難。
方案2:采用C語言編程
C 語言具有靈活性、豐富性、兼容性、新穎性等特征。進行深入分析主要特點,可以加深對C 語言的理解;利用這些功能,可以大大提高實際應用。[5]
2.2.3 最終方案
經過反復論證,最終確定了如下方案:
(1)采用STC89C51 單片機作為主要核心。
(2)采用達林頓效應放大音樂信號。
(3)采用C語言編程。
STC89C51 是一種性能高消耗低的CMOS8 位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲器。在一個芯片上,由于存在這靈巧的8 位CPU 和在系統(tǒng)可編程Flash,讓STC8 9C51 在許多嵌入式控制應用上提供了高度的靈活,十分有效的解決了方案難題。具有以下標準功能:8k 字節(jié)Flash、512 字節(jié)RAM、32 位I/O 口線、看門狗定時器、內置4KBE EPROM、MAX810 復位電路、三個16 位定時器/計數器、一個6 向量2 級中斷結構、全雙工串行口。另外STC89X51可降至0Hz 靜態(tài)邏輯操作,支持2 種軟件可選擇節(jié)電模式。在空閑模式下,CPU 停止,允許RAM、定時器/計數器、串行口中斷工作。掉電保護方式下,RAM 內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。最高運作頻率35Mhz,可選6T/12T(圖2)。[6]

圖2 STC89C51 單片機引腳圖
單片機是一種新型51 內核的單片機。片內含有Flash程序存儲器、SRAM、UART、SPI、PWM 等模塊。
2.3.1 STC89C51 主要功能、性能參數
(1)內置標準51 內核,機器周期:增強型為6 時鐘,普通型為12 時鐘;
(2)工作頻率范圍:0~40MHZ,相當于普通8051 的0~80MHZ;
(3)STC89C51RC 對應Flash 空間:4KB;
(4)內部存儲器(RAM):512B;
(5)定時器計數器:3 個16 位;
(6)通用異步通信口(UART)1 個;
(7)中斷源:8 個;
(8)有ISP(在系統(tǒng)可編程)IAP(在應用可編程),無需專用編程器仿真器;
(9)通用IO 口:3236 個;
(10)工作電壓:3.8~5.5V;
(11)外形封裝:40 腳PDIP、44 腳PLCC 和PQFP 等。
2.3.2 STC89C51 單片機最小系統(tǒng)
最小系統(tǒng)包括微處理器和所需的電源、時鐘、復位和其他組件,從而使微處理器始終在正常使用中。電源和時鐘電路允許通過搜索系統(tǒng)的最小系統(tǒng)的一個必要條件是,擴展的存儲器和A/D 擴張的核心部分的運行要在裝置中,因此MCU 需要執(zhí)行更復雜的功能。
STC89C51ROM/EPROM 芯片,芯片至少有簡單和可靠的系統(tǒng)配置。因為被連接到2-3 中時要使用STC89C52 芯片配置的應用系統(tǒng)中的一個,所以只要在MCU 時鐘和復位,在所述集成電路圖案的結構中,應用程序就可以使用較小的控制單元的最小數量(圖3)。[7]

圖3 單片機最小系統(tǒng)原理框圖
中斷技術主要用于實時監(jiān)視和控制,單片機的中斷請求源提交服務請求時,會及時響應和快速治療反應。這是通過芯片實現(xiàn)中斷系統(tǒng)引起的。當中斷請求源中斷請求時,如果中斷請求被允許,當前正在執(zhí)行的微控制器會暫停主程序,并中斷服務處理器來執(zhí)行中斷請求。中斷服務請求后中斷服務會處理程序,并在此之后返回到原來的地方懸掛程序(斷點),以繼續(xù)中斷的主程序(圖4)。

圖4 中斷響應和處理過程
如果沒有中斷單片機系統(tǒng),單片機大量的時間,在是否有輪詢操作的服務請求查詢中被浪費了。中斷技術完全消除了微控制器等待現(xiàn)象,這大大提高了微控制器和實時的效率。
本設計采用STC89C51 單片機作為主控制器,外部加上三極管驅動放音設備(系統(tǒng)總體框圖5 所示)。

圖5 系統(tǒng)總體框圖

圖6 89C51 復位電路
最小系統(tǒng)包括微處理器和所需的電源、時鐘、復位和其他組件,從而使微處理器始終在使用中正常運行。擴展的存儲器和A/D 擴張核心部分運行的裝置為電源和時鐘電路的一個必要條件是允許通過搜索系統(tǒng)的最小系統(tǒng),因此MCU 執(zhí)行更復雜的功能。[8]
車削放大器、引腳RXD 和TXDSTC89C51 內部振蕩器的形成是一個放大器的輸入和輸出。它可能是由內部或外部時鐘發(fā)生器來形成。內部時鐘這里不詳細介紹,外部時鐘電路、接地RXD、TXD 連接外部振蕩器。外部振蕩器信號沒有特殊要求,只需要12MHz 晶體或11.0592MHZ 常用頻率的脈沖寬度。
電子琴設有8 個按鍵,8 個按鍵分別代表8 個音符,包括中音段的全部音符,可通過軟硬件設計(如圖7)。

圖7 按鍵模塊
播放這塊是由2 個三極管組成,三級管將信號放大,然后傳輸到喇叭,喇叭幾乎不存在一點噪聲,音響效果很好。
下圖8 是該模塊電路:

圖8 播放模塊
該晶體管是一個電流放大器,元件中有三個極,被稱為集電極C,基極B,發(fā)射極(E.NPN 和PNP)。我們把NPN 晶體管共發(fā)射極放大電路作為一個例子來解釋所述晶體管放大器電路的基本原理。
3.5.1 電流放大

圖9 三極管引腳介紹
NPN 硅晶體管對于下面的分析,如圖8 所示。目前的基B 的發(fā)射極E 的流量被稱為基本電流Ib;從集電極C 與發(fā)射極E 中的流量被稱為電流集電極電流Ic。這兩個是流出的發(fā)射器的電流方向,發(fā)射極E 可以通過電流方向箭頭來表示。放大晶體管是這樣的:集電極電流由基極電流控制限制(假設電源可以提供足夠的電流),基極電流微小的變化會引起集電極電流的巨大變化,而變化會滿足一定的比例關系:集電極電流的變化的量的β 倍的電流變化是β 倍放大的變化量的基極電流,所以我們稱之為放大晶體管β(β 通常比1 大得多,例如:數十、數百個)。如果我們改變其中一點并施加到基極發(fā)射極的信號,這將導致在基本電流Ib 的變化,1b 中的變化會擴增,導致在IC 中的顯著變化。如果流過電阻R 的集電極電流Ic 發(fā)生變化,根據公式U=R 上的電壓,我可以認為電阻兩端的電壓會發(fā)生很大的變化。我們再將這個電壓的電阻器取出,會得到放大的電壓信號。[9-10]
3.5.2 偏置電路
在實際的晶體管放大電路使用中,還需要添加相應的偏置電路。有幾個原因:第一是由于非線性BE 結型晶體管(相當于一個二極管),基極電流在一定程度上必須輸入電壓。當基極-發(fā)射極電壓小于0.7V 時,基極電流可以被認為是零。但在實踐中被放大的信號通常比0.7V小,如果沒有偏置,這樣的小信號不足以引起基極電流的變化(因為小于0.7V時,基極電流為0)。如果我們讓晶體管加適當的電流基極(稱為偏置電流,電阻Rb 上圖中用于提供該電流,因此它被稱為基極偏置電阻器),那么當疊加有一個偏置小信號時,小信號將導致基極電流的變化,基極電流變化后,輸出將被放大。另一個原因是,輸出信號的范圍要求,如果不存在偏差,那么只有那些附加信號放大,而降低的信號是無效的(因為沒有收集器偏置電流為零,不能減少)。并加入預先偏移以便當輸入基極電流減小時,集電極電流可以減小一定集電極電流;當輸入基極電流增加時,集電極電流增大。信號和增加的信號可以被減小,從而放大電流。
3.5.3 作用開關
下面說說三極管飽和。圖像上面,因為由電阻Rc 的限制(Rc 為一個固定值,則U/RC,其中U 是電源電壓的最大電流),集電極電流不能無限期向下增加。當基極電流增加時,集電極電流不能繼續(xù)增加,該晶體管進入飽和。通常它確定晶體管是否飽和標準:磅*β>IC。后進入與集電極-發(fā)射極的晶體管的飽和電壓將是小的,它可以作為一個開關閉合來理解。這樣我們就可以得到該晶體管作為開關:當基極電流是零,晶體管集電極電流是零(這就是所謂的晶體管斷開),等效開關關斷;當基極電流是大的,從而使晶體管飽和,相當于開關閉合。如果三極管和飽和度截止主要工作,那么我們通常把該晶體管叫做開關。
一般情況下,單芯片不像其他專業(yè)的儀器,可以起到不包含相應的幅度共振頻率很多聲音的聲音。SCM 播放音樂的基本音調頻率。因此,微控制器是比較簡單的播放音樂,只是可以清楚地“音”和“打”的兩個概念就可以了。間距是指一個音符唱多高的頻率。
我們知道一個音符的頻率后,他們微控制器可以發(fā)出對應于振蕩頻率的信號,產生相應的音符的聲音。通過單片機的定時器定時中斷,最終單片機I/O 端口設置為高或低的來回,所以揚聲器將聲音放在單片機的中斷服務程序。通過敲打所需的時間,每注都計算,使用循環(huán)延遲控制方法,實現(xiàn)了音符唱很長一段時間,從而構成了第一個完整的音樂。
主間距由所述聲音的頻率來確定。和頻率純音及音高液壓電梯一樣強度,聲音的純音頻率、高頻低頻純音在體積增大增加的生長聲音的強度降低。
因為出現(xiàn)在音頻聲音的頻率結構,它也取決于結構和語調。一般情況下,比低頻音調響度和響度的2000Hz 的純音低增長高頻率的聲音超過3000 赫茲的純音的下降。例如,在音樂往往定位標準中C 高音A,頻率f=440Hz,與他們的聲音其余部分進行比較。F1 和用于兩個音符F2 中,如果兩個音符間的頻率差加倍,即當F2=2*F1,F(xiàn)2 稱為比F1 以上的八度。
一個八度僅有的區(qū)別,在音符1 音樂學說和注2、注2和注3......等等這一個八度之間的差異。在一個八度,有12個半音。由于聽覺效果,其中12 個規(guī)模大致關系來劃分的數量。只知道12 個音符球場,這是它的基本頻率,就可以得到其他基調頻率音符之間的關系八度。
高音頻率標準為F=440Hz 的,其相應的周期為:T=1/F=四百四十零分之一=2272us。要求單片機I/O 口輸出周期T=2272us 方波脈沖,即T=T/2=二分之二千二百七十二=1136us。
換句話說,單片機的定時器中斷起飛時間1136us。如果使用定時器微控制器工作1 時,振蕩器頻率信號是第十二計數脈沖。提供外部晶體振蕩器的頻率為f,用下面的公式來確定定時器預設的初始值:

KEILC51Keil 公司是一家美國公司,生產的51 系列兼容單片機C 語言軟件開發(fā)系統(tǒng),與匯編、C 語言函數相比,對結構、可讀性、可維護性等有明顯的優(yōu)勢,因而易于使用。二手匯編語言,然后用C 開發(fā),更有深刻的體會。KEILC51軟件提供了豐富的庫函數、功能強大的集成開發(fā)、調試工具和一個完整的Windows 界面。另外重要的一點,只要看看生成編譯的匯編代碼,就能體會到通過的KeilC51 生成的目標代碼的效率是非常高的,多數生成的匯編代碼的語句是非常緊湊的,易于理解。在大型軟件的開發(fā)中,可以更好地體現(xiàn)高級語言的優(yōu)勢。下面詳細說明各部分的功能和使用KeilC51 開發(fā)系統(tǒng)(如圖10 所示的KeilC 軟件界面)。

圖10 系統(tǒng)程序流程圖
Protel99SE 是PORTEL 公司在20 世紀80 年代后期推出的EDA 軟件。把Protel99SEEDA 設計軟件用在Windows9X/2000/NT 操作系統(tǒng)上,采用設計庫管理模式的網絡設計,具有很強的開放的數據交換能力和3D 仿真功能,是一個32位的設計軟件,可以完成電路原理圖設計、印刷電路板的設計和可編程邏輯器件設計等,可設計為信號層32,16 的功率地層和16 加工層。
用Protel99SE 軟件功能:
(1)可生成30 種電連接網表格式;
(2)強大的全球編輯功能;
(3)選擇在示意的設備的水平,在同一裝置的PCB 也將被選擇;
(4)運行原理圖和PCB,開放的原理圖和PCB 圖之間允許雙向跨找到組件、銷、網;
(5)可以有成分標簽的正面評價(從原理圖、PCB),也可以將意見(PCB 電路圖)保持電氣原理圖和PCB 設計的一致性;
(6)為了滿足國際需求計劃(包括離職的國家標準標題欄,GB4728 國標庫),*易于使用數字-模擬混合仿真(SPICE3F5 兼容);
(7)按照政治學PLD 的設計模式支持中國大學生,生產標準的JED下載文件;*的PCB可以被設計為32的信號層,電源16-16 形成處理層;
(8)“基于規(guī)則”強大的設計環(huán)境,包括在線和批處理設計規(guī)則檢查線;
(9)智能銅、鈾可以自動重鋪路面覆蓋;
(10)多個行業(yè)標準的印刷電路板的設計模型;
(11)可以導入和導出DXF,DWG 文件格式,AutoCAD等軟件和交流信息;
(12)智能包裝導航系統(tǒng)(與復雜的PGA,BGA 封裝有用的結構);
(13)輕松打印預覽功能,不能直接改變控制PCB 文檔打印;
(14)可以看到主板的一些獨特的3D 顯示的效果;
(15)有效CAM軟件可以讓您輕松實現(xiàn)輸出Gerber文件、材料清單、鉆孔文件、貼片機、測試點報告;
(16)算法時,傳輸線和完成驗證的精確仿真,特征信號在PCB 的開頭是完整性數據;
(17)測量儀器、促進反射和串擾仿真波形顯示相結合的結果;
工作用的Protel99SE 接口是標準的Windows 界面,主要包括:標題欄、主菜單、標準工具欄。繪圖工具欄上,狀態(tài)欄按鈕附近,預覽控制按鈕的目標,在預覽窗口中模擬控制按鈕,選擇對象窗口,最后選圖像編輯窗口。
按下按鍵,系統(tǒng)檢測到有按鍵值輸入,通過單片機產生相對應的頻率,再利用揚聲器播放出聲音。
這是本設計中比較難的部分,需要經過反復調試,以達到預期的效果,下面的硬件和軟件將是不在話下。兩個部分描述了調試的過程中,遇到的調試過程和解決方法。
程序主要是從一個音樂播放器沒有任何功率放大部,也沒有按鈕的一部分。在此基礎上,它第一要修改的是,在保留原來的音調產生程序的前提下,所進行的主程序的設計,首先端口初始化,直到按下該按鈕輸入的一部分的周期,防止抖動到程序中,如果沒有晃動,再進入音樂播放器,直到松開按鈕,再次按下按鈕,進入等待的部分。
不斷改進KEIL 軟件后生成hex 文件,然后輸入開發(fā)板程序,并通過STC-ISP 刻錄軟件刻錄,最終將它完成。
在節(jié)目一開始是簡單的中斷延遲,在歌曲的串聯(lián)方面需要大量的工作,連接互聯(lián)網之后,找了很多資料,選用一個程序來做音樂播放器,他也是基于在中斷后可以立即執(zhí)行播放,而且他編輯歌曲的靈活性,有很大的發(fā)展空間,所以我用他完成計劃的一部分。

圖11 實物圖
因此,主要考慮的是如何打一個音節(jié)進入這個等待狀態(tài)。對于方案保護,預防和治療抖動部分的主要手段是扣子,所以待機按鈕被按下時,程序使用一個短暫的延遲,確定按鈕是否被再次按下,然后輸入播放器。
(1)承插焊接安裝的組件應該遵循先小后大,先輕后重,第一個高后一個低,在外面先的原則,這是一個很好的組裝順利進行。
(2)陶瓷電容、電解電容、晶體管和垂直安裝其他組件,不能太長,否則降低部件的穩(wěn)定性;但不能太短,以免焊接期間將組件過熱的損壞。電路板一般要求2 毫米,并注意電解電容的極性,不能插錯。
(3)IC,焊接過程中,我們必須先了解鉛腳的順序,并與電路板焊盤定位,經核實后,第一個固定IC,然后確認焊接剩下的引腳后重復檢查。由于IC 引線腳密集,焊接檢查虛焊、連焊的現(xiàn)象后,還要保證焊接質量。
(4)烙鐵應在插入插頭,電烙鐵需要進行加熱。
(5)焊接時,與電路板、電烙鐵和板焊接角度優(yōu)選為45 度,形成90 度的焊料和烙鐵角度。
(6)焊接時,焊烙鐵不宜過長,以免造成泄漏或過度焊錫;時間也不要太短,以免引起虛焊。
(7)元素盡可能的要直,不要延長太久,1 毫米最好,最后可以切斷多余的。
(8)完成后焊接,優(yōu)選在圓形錐的形式焊接,使其具有金屬光澤。
(9)設計安裝在三節(jié)AA 電池,確保4.5V~5.5V 之間的電壓,首先檢測電路板有無焊接短路,然后通電。確保萬無一失!