版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘要</b></p><p> 隨著科學(xué)技術(shù)的不斷發(fā)展,單片機(jī)的應(yīng)用日益成熟。單片機(jī)集成度高、處理功能強(qiáng)大、價(jià)格低廉使其在各個(gè)領(lǐng)域得到廣泛應(yīng)用。同時(shí)電子琴作科學(xué)技術(shù)與音樂共同發(fā)展的產(chǎn)物,在這個(gè)電子信息化的時(shí)代,為音樂的大眾化做出了不可代替的貢獻(xiàn)。</p><p> 本文主要介紹一種基于51單片機(jī)的簡易電子琴設(shè)計(jì)方案。它采用了STC公司
2、出品的一款低功耗、高性能單片機(jī)STC89C52芯片作為主控單元,與4*4矩陣鍵盤、復(fù)位電路、LED雙位數(shù)碼顯示器、揚(yáng)聲器等組成主控核心模塊。文章詳細(xì)論述了電子琴硬件設(shè)計(jì)和軟件結(jié)構(gòu)設(shè)計(jì)流程,采用了Altium Designer 09畫出原理圖、PCB圖,通過Keil編程軟件對(duì)電子琴進(jìn)行軟件編程,然后進(jìn)行軟硬件的調(diào)試運(yùn)行并將程序燒錄到STC89C52芯片中。此系統(tǒng)運(yùn)行比較穩(wěn)定,具有硬件設(shè)計(jì)電路簡單、清晰,成本低,軟件功能完善,控制系統(tǒng)牢靠,
3、性價(jià)比高等優(yōu)點(diǎn),具有一定的實(shí)用和參考價(jià)值。</p><p> 關(guān)鍵詞:STC89C52;電子琴;矩陣鍵盤</p><p><b> Abstract</b></p><p> Along with the development of science and technology, the application of SCM incre
4、asingly mature. Single chip microcomputer high level of integration, processing powerful, low prices make it is widely used in various fields. At the same time the keyboards for science and technology and music common de
5、velopment of the product, in the electronic information era, for music's popular do can't replace contribution. </p><p> This paper mainly introduces a kind of simple keyboard based on 51 SCM design
6、 scheme. It uses the STC product of our company a low power consumption, high performance microprocessor STC89C52 chips as the master unit, and 4 * 4 matrix keyboard and reset circuit, LED digital display, a double maste
7、r core module and other components of the speaker. This paper discusses the design of hardware and software structure keyboard design process, the use of a Altium Designer 09 draw a diagram, PCB figure, </p><p
8、> Key words : stc89c52; keyboard; matrix keyboard</p><p><b> 目錄</b></p><p><b> 摘要I</b></p><p> AbstractII</p><p><b> 1 緒論1</
9、b></p><p> 1.1 設(shè)計(jì)的目的和意義1</p><p> 1.2 設(shè)計(jì)的主要內(nèi)容1</p><p><b> 2 系統(tǒng)概述1</b></p><p> 2.1 系統(tǒng)工作原理1</p><p> 2.2 系統(tǒng)結(jié)構(gòu)組成1</p><p>
10、 2.2.1 電源電路2</p><p> 2.2.2 控制部分2</p><p> 2.2.3 顯示部分2</p><p> 2.2.4 發(fā)聲部分2</p><p> 2.3 主要芯片及元件的介紹2</p><p> 2.3.1 STC89C52單片機(jī)簡介2</p><p&g
11、t; 2.3.2 芯片引腳介紹4</p><p> 2.3.3 STC89C52時(shí)鐘介紹7</p><p> 2.3.4 雙位LED數(shù)碼顯示器簡介7</p><p> 3 硬件電路的設(shè)計(jì)9</p><p> 3.1 電源電路的設(shè)計(jì)9</p><p> 3.2 復(fù)位電路的設(shè)計(jì)10</p>
12、;<p> 3.2.1 復(fù)位操作10</p><p> 3.2.2 復(fù)位信號(hào)及其產(chǎn)生11</p><p> 3.3 鍵盤控制電路12</p><p> 3.3.1 矩陣式鍵盤的概述12</p><p> 3.3.2 矩陣式鍵盤按鍵識(shí)別原理及方法12</p><p> 3.4 顯示電路
13、13</p><p> 4 系統(tǒng)軟件設(shè)計(jì)14</p><p> 4.1 如何利用單片機(jī)實(shí)現(xiàn)音樂節(jié)拍14</p><p> 4.2 如何用單片機(jī)產(chǎn)生音頻脈沖15</p><p> 4.2.1 音符和頻率的關(guān)系15</p><p> 4.2.2 定義初值16</p><p>
14、 4.3 音樂發(fā)生程序流程圖18</p><p><b> 結(jié) 論19</b></p><p><b> 參考文獻(xiàn)20</b></p><p> 附錄一 電子琴源程序21</p><p> 附錄二 原理圖25</p><p> 附錄三 PCB圖26<
15、;/p><p> 附錄四 實(shí)物圖27</p><p><b> 致 謝28</b></p><p><b> 1 緒論</b></p><p> 1.1 設(shè)計(jì)的目的和意義</p><p> 單片機(jī)又稱單片微型計(jì)算機(jī),英文字母的縮寫MCU。自上世紀(jì)70年代問世以來
16、,因其較高的性價(jià)比備受人們的親睞,單片機(jī)廣泛應(yīng)用于工業(yè)自動(dòng)化,自動(dòng)檢測(cè)系統(tǒng)、汽車電子設(shè)備、家用電器和各種終端及計(jì)算機(jī)外部設(shè)備等等。單片機(jī)芯片具有體積小、攜帶方便、低功耗、速度快、可靠性能高、抗干擾能力強(qiáng)和價(jià)格低廉等等等優(yōu)點(diǎn),通常在其外部配置一些外圍電路就可構(gòu)成一整套完整的控制系統(tǒng)。</p><p> 單片機(jī)(Microcontroller,又嵌入式微控制器),就是在一塊硅片上集成了各種部件的微型計(jì)算機(jī)。這些部件
17、包括中央處理單元 (CPU),數(shù)據(jù)存儲(chǔ)器(RAM),程序存儲(chǔ)器(ROM), 定時(shí)器/計(jì)數(shù)器,多種I/O接口電路和中斷系統(tǒng)等等。</p><p> 本文設(shè)計(jì)是以STC89C52單片機(jī)為核心的簡易電子琴,重點(diǎn)用到了單片機(jī)定時(shí)器可以產(chǎn)生不同的脈沖,不同的脈沖經(jīng)驅(qū)動(dòng)電路放大后可以產(chǎn)生不同頻率音階,從而可以彈出美妙的音樂。本系統(tǒng)是簡易的電子琴,運(yùn)用4*4矩陣鍵盤充當(dāng)電子琴的按鍵,一個(gè)按鍵代表一個(gè)音階,并采用矩陣鍵盤行掃描
18、法,通過程序來控制音階的發(fā)生。</p><p> 1.2 設(shè)計(jì)的主要內(nèi)容</p><p> 本文介紹了簡易電子琴的設(shè)計(jì)和制作方案的確定以及設(shè)計(jì)流程,詳細(xì)闡述了簡易電子琴的硬件設(shè)計(jì)和軟件設(shè)計(jì)。本設(shè)計(jì)主要包括:電源電路、復(fù)位電路、顯示單元和4*4矩陣鍵盤。該系統(tǒng)具有運(yùn)行穩(wěn)定性好、可靠度高等優(yōu)點(diǎn),具有一定的參考價(jià)值。</p><p><b> 2 系統(tǒng)
19、概述</b></p><p> 2.1 系統(tǒng)工作原理</p><p> 根據(jù)方案的要求,將程序?qū)懭隨TC89C52單片機(jī)芯片。利用不同的音階的頻率不一樣,用單片機(jī)來模擬電子琴,可以使單片機(jī)的定時(shí)器工作在計(jì)數(shù)器模式下,工作方式設(shè)為方式1,改變TH0和TH1來產(chǎn)生不同的頻率,從而產(chǎn)生不同的音階。 P1口接4*4矩陣鍵盤行和列,用行掃描法讀取P1口外接的鍵盤,若有鍵按下:雙位數(shù)
20、碼顯示管顯示01~16;若沒有鍵按下則顯示00,當(dāng)按下復(fù)位鍵的開關(guān)后,雙位數(shù)碼顯示管顯示00。單片機(jī)P3.7作為音頻放大電路的輸入。</p><p> 2.2 系統(tǒng)結(jié)構(gòu)組成</p><p> 如圖1所示該系統(tǒng)主要包括電源電路、控制部分、顯示部分和發(fā)聲部分</p><p> 圖1 系統(tǒng)結(jié)構(gòu)組成</p><p> 2.2.1 電源電
21、路</p><p> 由于電子制作一般都是用直流電源,故做此電源將220V的市交流電轉(zhuǎn)為所需要的直流電壓。220V市電先經(jīng)變壓器降壓,然后經(jīng)過二極管橋式整流,電容濾波后送入LM317的輸入端,在LM317的輸出端直流電壓,當(dāng)調(diào)節(jié)滑動(dòng)變阻器的時(shí)候可以調(diào)節(jié)輸出的直流電壓的大小。</p><p> 2.2.2 控制部分</p><p> 控制部分主要由4*4矩陣鍵
22、盤組成。電子琴需要16個(gè)鍵,為了減少占用I/O端口,通常采用矩陣型鍵盤。將按鍵排成行和列,按鍵位于行和列的交叉點(diǎn)上。這樣一個(gè)端口就可以連接4*4的矩陣鍵盤了。</p><p> 2.2.3 顯示部分</p><p> 顯示部分是一個(gè)雙位數(shù)碼顯示管,可以顯示00~16。當(dāng)有按鍵按下的時(shí)候,數(shù)碼顯示管就會(huì)顯示相應(yīng)的數(shù)字。復(fù)位時(shí)為00。</p><p> 2.2.
23、4 發(fā)聲部分</p><p> 用喇叭來作為發(fā)聲元件,用8550三極管來驅(qū)動(dòng)喇叭發(fā)聲。</p><p> 2.3 主要芯片及元件的介紹</p><p> 2.3.1 STC89C52單片機(jī)簡介</p><p> STC89C52是由STC公司生產(chǎn)一款功耗低、性能高的8位微控制器,兼容MSC51指令系統(tǒng),8K可反復(fù)擦寫Flash
24、ROM。在單塊芯片上,具有8位CPU和可編程的Flash,使得STC89C52能為大多數(shù)嵌入式控制體統(tǒng)提供靈活度且有效的解決方案。STC89C52具有以下功能部件和特征:</p><p> ?。?)8位微處理器(CPU)。</p><p> ?。?)數(shù)據(jù)存儲(chǔ)器(512B RAM)。</p><p> ?。?)程序存儲(chǔ)器(4K EEPROM)。</p>
25、<p> ?。?)4個(gè)可編程并行I/O口,256*8bit內(nèi)部RAM。</p><p> ?。?)一個(gè)全雙工串行口。</p><p> (6)三個(gè)16位定時(shí)器/計(jì)數(shù)器,時(shí)鐘頻率為0~24MHZ。</p><p> ?。?)MAX810復(fù)位電路。</p><p> ?。?)兩個(gè)串行中斷,可編程UART串行通道。</p>
26、<p> ?。?)兩個(gè)外部中斷,共有6個(gè)中斷源。</p><p> ?。?0)兩個(gè)讀寫中斷串口,3級(jí)加密位。</p><p> ?。?1)一個(gè)看門狗定時(shí)器。</p><p> ?。?2)低功耗空閑和掉電模式,可以軟件設(shè)置睡眠和喚醒功能。</p><p> (13)工作電壓為5.5V~3.3V(5V單片機(jī))。</p>
27、<p> ?。?4)工作頻率0~40MHz,相當(dāng)于普通8051的0~80MHZ,實(shí)際的頻率可以達(dá)到48MHZ。</p><p> ?。?5)工作溫度為:-40~85℃(工業(yè)級(jí)),0~75℃(商業(yè)級(jí))。</p><p> (16)封裝:LQFP-44,PDIP-40,PQFP-44。</p><p> 圖2 SCT89C52雙列直插式引腳圖</
28、p><p> 2.3.2 芯片引腳介紹</p><p><b> ?。?)電源引腳 </b></p><p> 電源引腳用于是接入單片機(jī)的工作電源。</p><p> Vcc(pin 40):電源接入,接+5V電源。</p><p> Vss(pin 20):接數(shù)字地。</p>
29、<p><b> ?。?)時(shí)鐘引腳</b></p><p> XTAL1(pin 19):片內(nèi)振蕩電路的輸入端。當(dāng)使用片內(nèi)振蕩器時(shí),此引腳接微調(diào)電容和石英晶體;當(dāng)采用外接時(shí)鐘源時(shí),引腳接振蕩器信號(hào)。</p><p> XTAL2(pin 20):片內(nèi)振蕩電路的輸出端。當(dāng)使用片內(nèi)振蕩器時(shí),和pin 19的接法一樣;當(dāng)采用外部時(shí)鐘源時(shí),此引腳懸空。<
30、/p><p><b> ?。?)控制引腳</b></p><p> RST (pin 9):復(fù)位信號(hào)輸入端,引腳上出現(xiàn)2個(gè)機(jī)器周期的高電平時(shí)單片機(jī)復(fù)位。Vpp具有第二引腳功能,當(dāng)對(duì)片內(nèi)Flash進(jìn)行編程時(shí),此引腳接入編程電壓。</p><p> ALE/PROG(pin 30):用于地址鎖存。若訪問外部程序存儲(chǔ)器(ROM)和數(shù)據(jù)存儲(chǔ)器(RAM)
31、,ALE將用于鎖存低8位的地址。此時(shí),ALE仍會(huì)以時(shí)鐘振蕩頻率的1/6輸出一個(gè)固定的脈沖信號(hào),因此它可用于對(duì)外輸出時(shí)鐘或定時(shí)。但是要注意:每次訪問外部數(shù)據(jù)存儲(chǔ)器(RAM)時(shí)需要跳過一個(gè)ALE脈沖。 進(jìn)行Flash存儲(chǔ)器編程時(shí),此引腳還可用于輸入編程脈沖(PROG)。此外,還可通過對(duì)特殊功能寄存器(SFR)中的8EH單元的D0位置位,可以禁止ALE操作。該位置位后,只有MOVX和MOVC指令才能把ALE激活。此外,該引腳將會(huì)被拉高,單片機(jī)
32、執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無效。</p><p> PSEN(pin 29):片外存儲(chǔ)器讀選通信號(hào),低電平有效。</p><p> EA/Vpp(pin 31):程序存儲(chǔ)器的內(nèi)部讀選通。接低電平從外部存儲(chǔ)器讀取指令,若接高電平從內(nèi)部程序存儲(chǔ)器讀取指令。</p><p> (4)并行I/O口引腳(32根)</p><p> ST
33、C89C52有4組8位可編程的I/O口,分別為P0、P1、P2、P3口,共32根。</p><p> P0口(pin 39~pin 32):8位雙向I/O口線,分別為P0.0~P0.7。P0口是一個(gè)漏極開路的I/O口。作為輸出口,每一位均可以驅(qū)動(dòng)8個(gè)TTL負(fù)載。當(dāng)對(duì)P0端口寫入“1”的時(shí)侯,該引腳可以用作高阻抗輸入。當(dāng)訪問外部程序存儲(chǔ)器或者數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為地址總線(低8位)和數(shù)據(jù)分時(shí)復(fù)用。在這種模式
34、下,P0不需要外加上拉電阻。P0口也可以作為I/O口使用,也可以用來接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié),此時(shí)需要加10K~4.7K的外部上拉電阻。</p><p> P1口(pin 1~pin 8):8位準(zhǔn)雙向I/O口線,分別為P1.0-P1.7?!1 口內(nèi)部具有上拉電阻,P1口輸出緩沖器能夠驅(qū)動(dòng)4個(gè)TTL邏輯電平。若對(duì)P1 口寫入“1”的時(shí)候,內(nèi)部上拉電阻就會(huì)把端口拉高,此時(shí)可以用作輸入口。當(dāng)作為輸入
35、口使用時(shí),被外部拉低的引腳因?yàn)槠鋬?nèi)部電阻,將輸出電流。</p><p> 此外,P1.0和P1.2分別可以作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入和定時(shí)器/計(jì)數(shù)器2 的觸發(fā)輸入。具體如下表1所示。 在Flash編程和校驗(yàn)時(shí),P1口用于接收低8位地址。</p><p> 表1 P1口引腳第二功能</p><p> P2 口(pin 21~pin 28):8位雙向I/O
36、口線,分別為P2.0~P2.7。P2 輸出緩沖器能夠驅(qū)動(dòng)4個(gè)TTL邏輯電平。當(dāng)對(duì)P2 端口寫入“1”的時(shí)候,內(nèi)部上拉電阻就會(huì)把端口拉高,此時(shí)就可以作為輸入口使用。當(dāng)作為輸入使用時(shí),被外部拉低的引腳因?yàn)槠鋬?nèi)部電阻, 就會(huì)輸出電流。</p><p> 在訪問其外部ROM或用16位地址讀取外部RAM時(shí),P2 口就會(huì)送出高八位地址。此時(shí),P2 口利用內(nèi)部上拉發(fā)送“1”。當(dāng)使用 8位地址,訪問其外部數(shù)據(jù)存儲(chǔ)器(RAM)時(shí)
37、,P2口將會(huì)輸出P2鎖存器的內(nèi)容。在Flash編程或者校驗(yàn)時(shí),P2口也用于接收高8位地址和某些控制信號(hào)。</p><p> P3口(pin 10~pin 17): 8位雙向I/O口線,分別為P3.0~P3.7。P3口其內(nèi)部具有上拉電阻,P2口輸出緩沖器能夠驅(qū)動(dòng)4 個(gè) TTL 邏輯電平。當(dāng)對(duì)P3 口寫入“1”的時(shí)候,內(nèi)部上拉電阻就會(huì)把端口拉高,此時(shí)就可以作為輸入口使用。當(dāng)作為輸入使用時(shí),被外部拉低的引腳因?yàn)槠鋬?nèi)部
38、電阻,將會(huì)輸出電流。P3口也作為STC8C52具有第二功能的引腳使用,如下表2所示。當(dāng)然,在Flash編程和校驗(yàn)時(shí),P3口也接收某些控制信號(hào)。</p><p> 表2 P3口引腳第二功能</p><p> 2.3.3 STC89C52時(shí)鐘介紹</p><p> STC89C52內(nèi)部有一個(gè)高增益的反相放大器,此放大器用于構(gòu)成振蕩器,其引腳TXD和RXD分別是
39、這個(gè)放大器的輸出端和輸入端。STC89C52的時(shí)鐘可以由內(nèi)部方式產(chǎn)生,也可以由外部方式產(chǎn)生。其內(nèi)部方式的時(shí)鐘電路如圖3(a)所示,在TXD和RXD引腳上接定時(shí)元件,其內(nèi)部振蕩器就會(huì)產(chǎn)生自激振蕩。定時(shí)元器件一般采用石英晶體和電容組成并聯(lián)諧振回路。晶體振蕩頻率選擇范圍為:1.2~12MHz,電容值范圍為:5~30pF,電容頻率起到微調(diào)的作用。</p><p> 時(shí)鐘采用外部方式連接的電路如圖3(b)所示,TXD接外
40、部振蕩器,RXD接地。對(duì)外部振蕩信號(hào)沒有特殊要求,只需要保證脈沖的寬度,所以一般采用頻率低于12MHz的方波信號(hào)。片內(nèi)時(shí)鐘發(fā)生器把振蕩頻率兩分頻,產(chǎn)生一個(gè)兩相時(shí)鐘P1和P2,供STC89C52單片機(jī)使用。</p><p> ?。╝)內(nèi)部方式時(shí)鐘電路 (b)外部方式時(shí)鐘電路</p><p><b> 圖3 時(shí)鐘電路</b></p><
41、;p> 2.3.4 雙位LED數(shù)碼顯示器簡介</p><p> 數(shù)碼管能在低電壓、小電流驅(qū)動(dòng)下發(fā)光,能夠與CMOS、TTL電路兼容。它的發(fā)光響應(yīng)時(shí)間非常短,通常小于0.1s,其高頻特性好,單色性好,亮度比較高。LED使用壽命很長,通常在10萬小時(shí)以上,甚至可以達(dá)到100萬小時(shí)以上,且其成本很低。LED數(shù)碼管已被廣泛運(yùn)用于計(jì)算機(jī)的數(shù)顯器件、數(shù)控裝置等等。</p><p> 根據(jù)
42、LED數(shù)碼管顯示位數(shù)的多少,可以把數(shù)碼管劃分為一位、雙位、多位LED數(shù)碼管顯示器。一位的LED我們通常稱為LED數(shù)碼管,兩位以上(包括兩位)我們一般稱為顯示器。雙位LED顯示器是把兩只數(shù)碼管封裝成一體,它亮度均勻,一致性好,光衰低,可靠性高而且結(jié)構(gòu)緊湊、成本比較低(與兩只一位的數(shù)碼管相比較)。本系統(tǒng)采用的是七段雙位的數(shù)碼顯示器,7段數(shù)碼顯示器由7段發(fā)光二極管的線段組成,并且按照“日”字形排列。管腳排列如圖4所示。若將7個(gè)LED的陽極連在
43、一起,稱之為共陽極接法,反之為共陰極接法。雙位數(shù)碼顯示器將共陽極用作片選,而在a~g各段上加上不同的電壓,各段的發(fā)光情況將會(huì)不同,從而會(huì)形成不同的發(fā)光字符。加在引腳上的電壓可以用數(shù)字量來表示,若某一段的陽極為數(shù)字量為“1”,則這個(gè)段就會(huì)發(fā)光;若為0,就不會(huì)發(fā)光。數(shù)字量與段的對(duì)應(yīng)關(guān)系如表3所示。</p><p> 表3 七段共陽LED字形碼</p><p> 圖 4 七段結(jié)構(gòu)及外形圖
44、 </p><p> 3 硬件電路的設(shè)計(jì)</p><p> 3.1 電源電路的設(shè)計(jì)</p><p> 本系統(tǒng)采用的是小功率可調(diào)直流穩(wěn)壓電源。這種電源是用穩(wěn)壓器件LM317制作成的直流穩(wěn)壓電源,它的效果很好,而且輸出的是可調(diào)的電壓,故它的適應(yīng)范圍也很廣。如圖5所示,它是由電源變壓器T1,二極管橋式整流電路,濾波電容和一個(gè)LM317組成的。220V交流市電
45、經(jīng)過電源變壓器T1降壓,變成電壓較低的交流電,再經(jīng)過二極管橋式整流電路,電容濾波后送入LM317的輸入端,則LM317的輸出端將輸出穩(wěn)定的直流電壓。LM317還有一個(gè)腳是調(diào)整端,通常情況下,為了保證穩(wěn)壓器的輸出性能,的阻值一般應(yīng)小于240Ω。此電源為可調(diào)電源,故我們?cè)谡{(diào)整端和地之間接一個(gè)可調(diào)電阻,當(dāng)我們改變的電阻阻值時(shí)就可以改變輸出電壓的值了。輸出電壓的計(jì)算公式如下:</p><p> U0=1.25(1+R3
46、/R2)</p><p> C1是用于濾除由市交流電引入的高頻干擾,通常選用的是瓷片電容。C2是一個(gè)電容濾波電路,C3則用于旁路基準(zhǔn)電壓的紋波電壓,它主要用于提高穩(wěn)壓電源的紋波抑制性能。在使用的過程當(dāng)中,如果負(fù)載是500~500pF的容性負(fù)載,穩(wěn)壓器的輸出端就會(huì)發(fā)生自激現(xiàn)象,電解電容C4就是用來進(jìn)一步改善輸出電壓的波紋而設(shè)置的。D3D4都是保護(hù)二極管,當(dāng)輸入電路發(fā)生短路的時(shí)候,C4會(huì)放電電流反向流經(jīng)LM317,
47、有可能會(huì)被沖擊損壞,D3可以旁路反向電流,從而保護(hù)了LM317。同樣的道理,如果輸出端短路的話,C3上的放電電流就會(huì)被D4短路,從而起到保護(hù)的作用。圖5中的R2與D2是用來指示工作的,當(dāng)插上220V的交流電時(shí),經(jīng)過變壓 、整流、濾波、穩(wěn)壓等正常工作時(shí),發(fā)光二級(jí)管D2就會(huì)發(fā)光,而R1用來為D2限流。</p><p><b> 圖5 電源電路圖</b></p><p>
48、; 3.2 復(fù)位電路的設(shè)計(jì)</p><p> 3.2.1 復(fù)位操作</p><p> 復(fù)位是單片機(jī)初始化的操作。它的主要功能就是把PC初始為0000H,從而使單片機(jī)從0000H單元開始執(zhí)行程序。除此之外,當(dāng)由于程序運(yùn)行出現(xiàn)出錯(cuò)或操作錯(cuò)誤致使系統(tǒng)處于死鎖狀態(tài)時(shí),為了擺脫困境,可以按復(fù)位鍵重新啟動(dòng)。</p><p> 復(fù)位操作除PC有影響外,還對(duì)其他一些寄存
49、器存在影響,它們的復(fù)位狀態(tài)如表4所示。</p><p> 表4 些寄存器的復(fù)位狀態(tài)</p><p> 3.2.2 復(fù)位信號(hào)及其產(chǎn)生</p><p> RST(pin 9)引腳是復(fù)位信號(hào)的輸入端。此引腳高電平有效,其有效時(shí)間應(yīng)為二個(gè)機(jī)器周期(即24個(gè)振蕩周期)以上。如果使用頗率為6MHz的晶振,那么復(fù)位信號(hào)需要持續(xù)時(shí)間超過4us才能完成復(fù)位操作。產(chǎn)生復(fù)位信號(hào)
50、的電路邏輯圖如圖6所示:</p><p> 圖6 復(fù)位信號(hào)的電路邏輯圖</p><p> 單片機(jī)的整個(gè)復(fù)位電路包括芯片內(nèi)、外兩個(gè)部分。RST通過一個(gè)施密特觸發(fā)器與復(fù)位電路連接在一起,而片內(nèi)復(fù)位電路則在每個(gè)機(jī)器周期的S5P2時(shí)對(duì)施密特觸發(fā)器的輸出進(jìn)行采樣,這樣才能得到內(nèi)部復(fù)位操作所需要的信號(hào)。</p><p> 復(fù)位操作一般有上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位兩種。將
51、外部復(fù)位電路的電容充電就可以實(shí)現(xiàn)上電自動(dòng)復(fù)位了,如圖7(a)所示。因此,接通電源就可以實(shí)現(xiàn)系統(tǒng)的復(fù)位初始化了。</p><p> 按鍵手動(dòng)復(fù)位有電平方式和脈沖兩種方式。其中,按鍵電平復(fù)位是通過RST端經(jīng)電阻與電源Vcc接通而實(shí)現(xiàn)的,其電路如圖7(b)所示;利用RC微分電路產(chǎn)生的正脈沖來實(shí)現(xiàn)按鍵脈沖復(fù)位,如圖7(c)所示:</p><p> (a)上電復(fù)位 (b)按鍵電
52、平復(fù)位 (c)按鍵脈沖復(fù)位</p><p><b> 圖7 復(fù)位電路</b></p><p> 上述電路圖中的電阻、電容參數(shù)適用于6MHz的晶振,能夠保證復(fù)位信號(hào)的高電平持續(xù)時(shí)間在2個(gè)機(jī)器周期以上。</p><p> 本系統(tǒng)的復(fù)位電路采用的是圖7(b)上電復(fù)位方式。電阻為2.2K,電容為10uF、晶振為12MHz。&
53、lt;/p><p> 3.3 鍵盤控制電路</p><p> 3.3.1 矩陣式鍵盤的概述</p><p> 本系統(tǒng)采用的是非編碼鍵盤中的矩陣鍵盤。矩陣鍵盤也稱為行列式鍵盤,一般用于按鍵數(shù)目較多的場合。它是由行和列組合而成,一組是行線,另一組是列線,按鍵就位于行和列的交叉點(diǎn)。如圖8所示,一個(gè)4*4的矩陣鍵盤,有16個(gè)按鍵,我們分別用著16個(gè)鍵來模擬電子琴的按鍵
54、:低音 3、 4、 5、 6、 7;中音 1、 2、 3、 4、 5、 6、 7 ;高音 1、 2、 3、 4 ??梢院苊黠@地看出,較獨(dú)立鍵盤而言,矩陣式鍵盤節(jié)省了I/O口線。 </p><p> 圖8 4*4矩陣式鍵盤接口</p><p> 3.3.2 矩陣式鍵盤按鍵識(shí)別原理及方法</p><p> 若矩陣鍵盤中沒有按鍵按下,那么鍵盤的行線就會(huì)處于高電
55、平;若有鍵按下時(shí),行線電平的狀態(tài)由和它相連的列線的電平?jīng)Q定。假設(shè)列線電平為低電平那么行線電平則為低電平;反之,同理。這一點(diǎn)就是識(shí)別矩陣式鍵盤哪個(gè)按鍵按下的關(guān)鍵所在。由于矩陣式鍵盤的行線和列線被多鍵共用,所以各按鍵會(huì)相互影響,因此必須將行線和列線的信號(hào)配合,才能確定閉合鍵的位置所在。矩陣式鍵盤一般有兩種識(shí)別方法,它們分別是掃描法和線反轉(zhuǎn)法。</p><p> 首先,我們來介紹一下掃描法。它識(shí)別按鍵可以分為兩步:第
56、一步,識(shí)別有沒有按鍵按下;第二步,若有鍵按下,確定按下鍵的具體位置。舉個(gè)簡單的例子來說明這個(gè)過程。</p><p> 第一步,識(shí)別有沒有按鍵按下。先將所有的列線都置為0電平,接著檢查各行線是不是都是高電平,若不全是高電平,說明有按鍵按下,否則就沒有。例如,當(dāng)按鍵2被按下,第一行的行線為低電平,但是我們不能確定是哪個(gè)鍵被按下了,若是同一行的1、3、4鍵被按下,第一行也會(huì)呈現(xiàn)低電平,因此我們只能得出第一行有鍵被按下
57、。</p><p> 第二步,確定哪個(gè)鍵被按下。采用掃描法,在某個(gè)時(shí)刻只讓一條列線處于低電平,其他所有列線都處于高電平。當(dāng)?shù)?列為低電平的時(shí)候,其他各列均處于高電平時(shí),因?yàn)槭?鍵被按下,所以第1行仍高電平。而當(dāng)?shù)诙袨榈碗娖降臅r(shí)候,其他各列均為高電平,第1行的行處于低電平,故可以判斷第1行第二列的交叉處有鍵被按下,即2號(hào)鍵被按下。</p><p> 綜上所述,掃描法的思想就是,先把某一
58、列置為低電平,其他的各列均為高電平,然后檢查各行線的變化,若某行線為低電平,則可以確定被按下的鍵處于此行此列的交叉點(diǎn)上。本系統(tǒng)采用的就是掃描法。</p><p> 其次,我們?cè)俸唵蔚慕榻B一下線反轉(zhuǎn)法。掃描法要一列一列的去掃描查詢,若被按下的鍵處于最后一列時(shí),需要經(jīng)過多次才能獲得正確的行列值。而線反轉(zhuǎn)法則很簡練,不論是哪個(gè)鍵被按下,均只需要兩步就可以知道是哪個(gè)鍵被按下了。具體操作步驟如下:</p>
59、<p> 第一步,讓行線編程為輸入線,列線均為輸出線,并使輸出線全部為低電平,那么行線中電平由高變?yōu)榈偷男?,就是按鍵所在的行。</p><p> 第二部,把行線全部變成為輸出線,列線編程為輸入線,并使輸出線全部為低電平,則列線中由高電平變?yōu)榈碗娖降牧?,就是按鍵所在的列。</p><p> 綜上所述,可以確定按鍵所在的行和列,從而得出按鍵所在位置。因此,線反轉(zhuǎn)法非常的簡單適用
60、,但是在實(shí)際的編程中不要忘記還要進(jìn)行按鍵去抖動(dòng)處理。</p><p><b> 3.4 顯示電路</b></p><p> 本系統(tǒng)采用的顯示電路是LED數(shù)碼顯示器,由于LED屬于電流控制器件,使用時(shí)需要加限流電阻,本次設(shè)計(jì)中只用了一個(gè)雙位數(shù)碼顯示器,外加兩個(gè)9012三極管驅(qū)動(dòng)數(shù)碼管,此電路比較簡單不于詳細(xì)闡,具體電路圖如圖9。</p><p&
61、gt;<b> 圖9 顯示電路</b></p><p><b> 4 系統(tǒng)軟件設(shè)計(jì)</b></p><p> 本系統(tǒng)主要是要實(shí)現(xiàn)由單片機(jī)控制的簡單的音樂發(fā)生器,矩陣鍵盤代表16個(gè)不同的音階,用戶可以根據(jù)樂譜在鍵盤上彈奏出音樂,通過喇叭將音樂播放出來。</p><p> 4.1 如何利用單片機(jī)實(shí)現(xiàn)音樂節(jié)拍<
62、/p><p> 物體規(guī)則震動(dòng)發(fā)出的聲音稱為樂音,音樂聽起來有高、有低,這就是音高,發(fā)聲物體的振動(dòng)頻率決定著音高。頻率低聲音就會(huì)低,頻率高聲音就會(huì)高。不同的音高的樂音分別用1、2、3、4、5、6、7來表示,這七個(gè)樂音名分別念成:DO、RE、ME、FA、SO、LA、SI,這就是唱曲時(shí)樂音的發(fā)音,我們把它稱作唱名。音持續(xù)的時(shí)間長短,通常用節(jié)拍來表示。一首歌通常有不同的音符表示,不同的音符對(duì)應(yīng)著不同的頻率,不同頻率的組合加
63、上節(jié)拍就構(gòu)成了音樂。</p><p> 除了音符以外,節(jié)拍也是音樂中非常重要的一部分。</p><p> 節(jié)拍實(shí)際上就是音持續(xù)時(shí)間的長短,在單片機(jī)中我們可以利用延時(shí)來實(shí)現(xiàn)。如果是四分之一節(jié)拍就延時(shí)0.4s,那么一拍就延時(shí)1.6s。只需要知道四分之一節(jié)拍需要延時(shí)多久,其他的節(jié)拍就是它延時(shí)的倍數(shù)了。如果要單片機(jī)自己放音樂就要在程序中設(shè)置節(jié)拍的延時(shí)時(shí)間,但是此系統(tǒng)是簡易的電子琴,只需要用戶自
64、己彈奏時(shí)把握節(jié)拍就可以了,不需要程序設(shè)置。對(duì)于不同的曲調(diào)我們可以由單片機(jī)的定時(shí)器/計(jì)數(shù)器來實(shí)現(xiàn)音樂,一個(gè)節(jié)拍為單位(C調(diào)),如表5所示:</p><p><b> 表5 音樂節(jié)拍表</b></p><p> 4.2 如何用單片機(jī)產(chǎn)生音頻脈沖</p><p> 4.2.1 音符和頻率的關(guān)系</p><p> 用
65、單片機(jī)播放音樂亦或是彈奏電子琴,實(shí)際上就是按照一定的頻率,輸出一連串的方波。為了輸出適合的方波,首先我們應(yīng)該知道音符與頻率之間的關(guān)系。注意觀察一下幾個(gè)6(LA)的頻率,它們都是整數(shù),很容易看出成2倍的關(guān)系。其它的音符也是一樣的。如220、440等這些頻率,它們?cè)谇冁I上的位置是統(tǒng)一的,不論是電子琴、鋼琴還是手風(fēng)琴,都是一樣的。包含黑鍵和白鍵在內(nèi)的所有音符的頻率數(shù)值都是成“等比數(shù)列”的關(guān)系,因此它們之間有一個(gè)公比q,可以按照“2倍”的規(guī)律推
66、算出來。例如:已知最低音的6(LA)的頻率是220Hz,我們?cè)O(shè)它的公比為q,則可以推出7(SI)的頻率為220*q*q 。因?yàn)?(LA)、7(SI)之間隔了一個(gè)黑鍵,所以要乘以兩個(gè)q。以此類推,兩個(gè)6之間,一共有12個(gè)琴鍵,可以得出:</p><p> 220*q*q*q*q*q*q*q*q*q*q*q*q = 440。</p><p> 馬上就可以得出,12個(gè)q相乘,等于:</
67、p><p> 440 ÷ 220 = 2。</p><p> 可以求出q = 2,q的12次方根 為:1.059463094。用這個(gè)公比q,和已知的220進(jìn)行計(jì)算,我們就可以得出全部琴鍵所對(duì)應(yīng)的頻率,如表6所示</p><p> 表6 音符和頻率的關(guān)系</p><p> 4.2.2 定義初值</p><
68、p> 用單片機(jī)來模擬產(chǎn)生音符,只需要計(jì)算出音頻的周期T=1/f,利用音頻的變化來產(chǎn)生不同的電平,從而驅(qū)動(dòng)喇叭發(fā)聲。</p><p> 利用STC89C52的內(nèi)部定時(shí)器使它工作在計(jì)數(shù)器的模式下,工作方式設(shè)為“1”,改變TH0和TH1來產(chǎn)生不同的頻率,從而產(chǎn)生不同的音階。比如:頻率為中音DO(532Hz),它的周期為:T=1/532=1912us,所以計(jì)數(shù)器只需要計(jì)數(shù):956us/1us=956次,每一次計(jì)
69、數(shù)956次時(shí)將I/O口反向,我們就可以得到我們所需要的音階中音(DO)了。計(jì)數(shù)脈沖和頻率的關(guān)系式:</p><p><b> N=fi÷2÷fr</b></p><p> 上式中的N為計(jì)數(shù)值,fi為機(jī)器頻率,fr為想要產(chǎn)生的頻率。</p><p> 計(jì)數(shù)的初值T求法如下:</p><p> T
70、=65536-N=65536-fi÷2÷fr</p><p> 例如:K=65536,fi=1MHz,求低音DO(261Hz),中音DO(523Hz),高音DO(1046Hz)的計(jì)數(shù)值。</p><p> T=65536-N=65536-fi÷2÷fr=65536-1000000÷2÷fr=65536-50000/fr<
71、/p><p> 低音DO(261Hz)的T=65536-50000/261=63627</p><p> 中音DO(523Hz)的T=65536-50000/523=64580</p><p> 高音DO(1046Hz)的T=65536-50000/1046=65059</p><p> 采用12MHz的晶振,音符與計(jì)數(shù)值T0的關(guān)系如表6
72、所示。本系統(tǒng)主要用到的音符為低音:3、4、5、6、7,中音:1、2、3、4、5、6、7,高音1、2、3、4;用到頻率分別為:64021,64103,64260,64400, 64524, 64580,64684,64777, 64820,64898,64968,65030, 65058,65110,65157,65178。 </p><p> 4.3 音樂發(fā)聲程序流程圖 </p><p&
73、gt; 主程序流程圖和T0中斷服務(wù)程序流程圖如圖10所示</p><p><b> 結(jié) 論</b></p><p> 經(jīng)過這幾個(gè)月的努力,終于按照畢業(yè)設(shè)計(jì)進(jìn)度要求如期完成了基于單片機(jī)的簡易電子琴制作的硬件設(shè)計(jì)和軟件編寫任務(wù)。在整個(gè)畢業(yè)設(shè)計(jì)完成的過程當(dāng)中,碰到了不少的困難,但在老師的細(xì)心指導(dǎo)以及自己的不懈努力下,最終還是取得了一定的成果。</p>&
74、lt;p> 這段時(shí)間制作這個(gè)畢業(yè)設(shè)計(jì),首先使我對(duì)STC89C52單片機(jī)有更深入的了解,,一開始設(shè)計(jì)整個(gè)系統(tǒng)的時(shí)候沒有具體的思路,就上網(wǎng)找了好多關(guān)于電子琴設(shè)計(jì)的資料,查閱后開始自己設(shè)計(jì)。電路圖設(shè)計(jì)完成后,就是焊電路板了,在焊接的時(shí)候遇到了好多的困難,總是把有些線搞混,錯(cuò)綜復(fù)雜的導(dǎo)線使我暈頭轉(zhuǎn)向,從而增加我焊接的難度。 焊完之后發(fā)現(xiàn)自己元器件的排布的不是很合適,使電路板上有許多的飛線。最后就是編寫程序調(diào)試了,本來還以為編程會(huì)很簡單的
75、,等到實(shí)際操作起來才知道很復(fù)雜,沒有想像中的那么得心應(yīng)手,理解流程是有思維的前提.不過經(jīng)過自己的不懈努力,老師的精心指導(dǎo)下和同學(xué)的悉心幫助,花費(fèi)的時(shí)間與精力終于沒有白費(fèi),效果漸漸地出現(xiàn)了。程序編完之后并不意味著可以實(shí)現(xiàn)系統(tǒng)的功能,還要繼續(xù)調(diào)試。在這個(gè)過程中遇到了一個(gè)非常棘手的問題,一開始數(shù)碼顯示管的驅(qū)動(dòng)三極管用的是8550,怎么都不能使數(shù)碼顯示管顯示數(shù)值,測(cè)試它的引腳全部正常。最后沒辦法了就一個(gè)一個(gè)元件測(cè)試,都沒問題,就一個(gè)一個(gè)元件替換
76、,最終發(fā)現(xiàn)是三極管的問題,最后把8550換成了9012。</p><p> 經(jīng)過這次的畢業(yè)設(shè)計(jì),我在理論的基礎(chǔ)上更深刻的掌握了單片機(jī)的深層內(nèi)容和單片機(jī)在實(shí)際生活中的應(yīng)用,加強(qiáng)了自己的動(dòng)手能力和思維能力,還有在軟件方面的編程能力,也讓我受益匪淺。這些問題的發(fā)現(xiàn)將為我以后的工作找明道路,經(jīng)過這次的畢業(yè)設(shè)計(jì),使我對(duì)本專業(yè)的學(xué)習(xí)更加充滿了信心。</p><p><b> 參考文獻(xiàn)&l
77、t;/b></p><p> [1] 張毅剛.單片機(jī)原理及應(yīng)用[M].北京:高等教育出版社,2009.</p><p> [2] 王港元.電子電工實(shí)踐指導(dǎo)[M].江西:科學(xué)技術(shù)出版社,2005.</p><p> [3] 何立民.MCS-51單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:航空航天大學(xué)出版社,1998.</p><p> [4]
78、 曹玲芝.電子信息工程專業(yè)英語[M].武漢:華中科技大學(xué)出版社,2007.</p><p> [5] 王俊峰.理工科學(xué)生怎樣搞畢業(yè)設(shè)計(jì)[M].北京:電子工業(yè)出版社,2004.</p><p> [6] 史久規(guī).基于Altium Designer 的原理圖與PCB設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2011.</p><p> [7] 高鋒編.單片微機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)
79、及使用技術(shù)[M].北京:機(jī)械工業(yè)出版社,2004.</p><p> [8] 胡漢才.單片機(jī)原理及系統(tǒng)設(shè)計(jì)[M].北京:清華大學(xué)出版社,2002.</p><p> [9] 胡漢才.單片機(jī)原理及其接口技術(shù)[M].北京:清華大學(xué)出版社, 2004.</p><p> [10] 馬忠梅.單片機(jī)C語言應(yīng)用程序設(shè)計(jì)[M]. 北京:航空航天大學(xué)出版社 ,2007.<
80、;/p><p> [11] 徐愛軍.單片機(jī)高級(jí)語言C51應(yīng)用程序設(shè)計(jì)[M].北京:電子工業(yè)出版社,1997.</p><p> 附錄一 電子琴源程序</p><p> #include <reg52.h> </p><p> #include <intrins.h></p><p> #
81、define uint unsigned int </p><p> #define uchar unsigned char</p><p> sbit SPK = P3^7; /*P3.7外接揚(yáng)聲器*/</p><p> sbit shiwei = P2^7;</p><p> sbit gewei
82、= P2^6;</p><p> uint FreqTemp;</p><p> char Key_Value=-1;</p><p> uchar code tabledu[]={</p><p> ~0x3f,~0x06,~0x5b,~0x4f,</p><p> ~0x66,~0x6d,~0x7d,~0
83、x07,</p><p> ~0x7f,~0x6f,~0x77,~0x7c,</p><p> ~0x39,~0x5e,~0x79,~0x71};</p><p> unsigned int code Freqtab[] = { /*定時(shí)半周期的初始值*/</p><p> 64021,64103,64260,64400,
84、 /*低音3 4 5 6*/</p><p> 64524,64580,64684,64777, /*低音7,中音1 2 3*/</p><p> 64820,64898,64968,65030, /*中音4 5 6 7*/</p><p> 65058,65110,65157,65178}; /*高音1 2 3 4*/</p
85、><p> void delay_ms(uint z)</p><p> {uint x,y;</p><p> for(x=z;x>0;x--)</p><p> for(y=123;y>0;y--);</p><p> } </p>
86、<p> /*函數(shù)功能 : 用掃描法讀 P1 外接 4×4 鍵盤*/</p><p> /*函數(shù)返回 : 有按下鍵:返回1~15、如無鍵按下:返回00*/</p><p> uchar Keyscan(void) </p><p><b> { </b></p><p> uchar i,
87、 j, temp, Buffer[4] = {0xfe, 0xfd, 0xfb, 0xf7}; </p><p> for(j = 0; j < 4; j++) /*循環(huán)四次,掃描四行*/</p><p><b> { </b></p><p> P1 = Buffer[j]; /
88、*在低四位分別輸出一個(gè)低電平*/</p><p><b> _nop_(); </b></p><p> temp = 0x80; /*計(jì)劃先讀出P1.7位*/</p><p> for(i = 0; i < 4; i++) /*循環(huán)四次,檢查四列*/</p>&l
89、t;p><b> { </b></p><p> if(!(P1 & temp)) /*從高四位,截取1位*/</p><p><b> { </b></p><p> return (i + j * 4); /*返回取得的按鍵*/</
90、p><p><b> }</b></p><p> temp >>= 1; </p><p><b> }</b></p><p><b> }</b></p><p> return 16;
91、 /*沒有鍵按下就返回00*/</p><p><b> } </b></p><p> /*函數(shù)功能 : 將參數(shù)分成十位、個(gè)位,分別顯示到P2 */ </p><p> void Display()</p><p><b> {</b></p><p> shi
92、wei=0;P0=tabledu[(Key_Value+1)/10];delay_ms(5);shiwei=1;P0=0x00;</p><p> gewei=0;P0=tabledu[(Key_Value+1)%10];delay_ms(5);gewei=1;P0=0x00;</p><p><b> }</b></p><p> vo
93、id shaomiao()</p><p><b> {</b></p><p> uchar Key_Temp1, Key_Temp2; /*讀出的鍵值*/</p><p> Key_Temp1 = Keyscan(); /*讀入按鍵*/</p><p> if(Key_Temp1
94、 != 16) /*有鍵按下*/</p><p><b> { </b></p><p> delay_ms(5); /*延時(shí)消抖*/</p><p> Key_Temp2 = Keyscan(); /*再讀一次*/</p><p> i
95、f (Key_Temp1 == Key_Temp2) /*兩次相等*/</p><p> { Key_Value = Key_Temp1; /*就確認(rèn)下來*/</p><p> FreqTemp = Freqtab[Key_Value]; /*根據(jù)鍵值,取出定時(shí)半周期的初始值*/</p><p> TR0 = 1;
96、 /*啟動(dòng)定時(shí)器,發(fā)音*/</p><p> while (Keyscan() < 16); /*等待釋放*/</p><p> SPK = 1; /*停止發(fā)音*/</p><p><b> } </b></p><p&
97、gt;<b> }</b></p><p> TR0 = 0; /*暫不發(fā)音*/</p><p><b> }</b></p><p> void init()</p><p><b> {</b></p>
98、<p> TMOD = 0x01; /*T0定時(shí)方式1*/</p><p> ET0 = 1; /*允許T0中斷*/</p><p> TR0 = 0; /*暫不發(fā)音*/</p><p> EX0 = 1;
99、 /*允許X0中斷*/</p><p><b> EA = 1;</b></p><p><b> }</b></p><p> /* 主函數(shù) */ </p><p> void main(void) </p><p><b>
100、 {</b></p><p><b> init(); </b></p><p><b> while(1) </b></p><p><b> {</b></p><p> Display(); /*
101、顯示*/ </p><p> shaomiao();</p><p><b> } </b></p><p><b> }</b></p><p> void T0_INT(void) interrupt 1</p><p><b> {</b>
102、;</p><p> TL0 = FreqTemp; /*載入定時(shí)半周期的初始值*/</p><p> TH0 = FreqTemp >> 8;</p><p> SPK = ~SPK; /*發(fā)音*/</p><p><b> }</b>&
103、lt;/p><p><b> 附錄二 原理圖</b></p><p><b> 附錄三 PCB圖</b></p><p><b> 附錄四 實(shí)物圖</b></p><p><b> 致 謝</b></p><p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課設(shè)設(shè)計(jì)論文基于stc89c51單片機(jī)的簡易電子琴設(shè)計(jì)
- 基于89c51單片機(jī)的簡易電子琴設(shè)計(jì)
- 基于89c51單片機(jī)的簡易電子琴設(shè)計(jì)
- 計(jì)算機(jī)硬件課程設(shè)計(jì) 電子琴
- 畢業(yè)設(shè)計(jì)—基于stc89c52單片機(jī)的電子琴
- 基于stc89c51單片機(jī)智能小車控制
- 基于51單片機(jī)簡易電子琴設(shè)計(jì)
- 基于51單片機(jī)的電子琴設(shè)計(jì)
- 基于STC89C51單片機(jī)的數(shù)字電壓表設(shè)計(jì).pdf
- c51單片機(jī)課程設(shè)計(jì)——電子琴
- c51單片機(jī)課程設(shè)計(jì)——電子琴
- stc89c51
- 基于at89c52單片機(jī)的簡易電子琴設(shè)計(jì)
- 基于stc89c51單片機(jī)作息時(shí)間控制鐘控制系統(tǒng)
- 單片機(jī)課程設(shè)計(jì)--基于51單片機(jī)的簡易電子琴
- 58.基于c51單片機(jī)電子琴設(shè)計(jì)
- 51單片機(jī)課程設(shè)計(jì)--簡易電子琴
- 聲光電子琴畢業(yè)論文--基于51單片機(jī)簡易電子琴設(shè)計(jì)
- 基于單片機(jī)stc89c51制作的電子萬年歷 畢業(yè)論文
- 基于51單片機(jī)的液晶顯示電子琴設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論