久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 36290|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

基于51單片機(jī)簡(jiǎn)易電子琴設(shè)計(jì)報(bào)告下載

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主

基于51單片機(jī)簡(jiǎn)易電子琴設(shè)計(jì)

一、引言

隨著社會(huì)的發(fā)展進(jìn)步,音樂逐漸成為我們生活中很重要的一部分,有人曾說喜歡音樂的人不會(huì)向惡。我們都會(huì)抽空欣賞世界名曲,作為對(duì)精神的洗禮。因此,我設(shè)計(jì)的是一個(gè)基于單片機(jī)的簡(jiǎn)易電子琴。

單片機(jī)算術(shù)運(yùn)算功能強(qiáng),軟件編程靈活、自由度大,可用軟件編程實(shí)現(xiàn)各種算法和邏輯控制。由于其功耗低、體積較小、技術(shù)成熟和成本低等優(yōu)點(diǎn),在各個(gè)領(lǐng)域應(yīng)用廣泛。而且抗干擾性能好。

電子琴是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,已溶入現(xiàn)代人的生活中。我設(shè)計(jì)的電子琴是以AT89C51單片機(jī)為核心控制元件。電子琴使用簡(jiǎn)單,深受廣大熱愛音樂者喜愛。

二、項(xiàng)目概述

此設(shè)計(jì)鍵盤用于彈奏音樂,八個(gè)按鍵8種音符。單片機(jī)通過輸出各種電脈沖信號(hào)開驅(qū)動(dòng)控制各部分正常工作。

單片機(jī)要產(chǎn)生音頻脈沖,主要處理過程是在CPU中完成的,CPU會(huì)隨時(shí)對(duì)音符輸入信號(hào)進(jìn)行讀取數(shù)據(jù)的操作。在讀取了相應(yīng)的寄存器的值后,CPU將讀取的值進(jìn)行處理,再通過I/O口把音樂通過揚(yáng)聲器播放出來。

據(jù)設(shè)計(jì)要求,本系統(tǒng)主要由控制器模塊和輸入模塊構(gòu)成。

2.1主要設(shè)計(jì)內(nèi)容

發(fā)生電路是這次設(shè)計(jì)電路中最重要的組成部分,他承載著把單片機(jī)所產(chǎn)生的聲音信號(hào)放大并輸出的重要作用,而我的設(shè)計(jì)中的發(fā)聲電路主要是由兩個(gè)S8550組成。S8550是一種小功率的放大管,屬于NPN型號(hào)三極管,而對(duì)三極管引腳的判斷有以下方法。

判斷三極管的基極。對(duì)于NPN型號(hào)的三極管,用黑表筆接某一個(gè)電極,紅表筆分別接另外兩個(gè)電極,若測(cè)量電阻值兩個(gè)都小,調(diào)換表筆后被測(cè)電阻值都較大,則可判斷第一次測(cè)量中黑表筆所接的是基極;如果測(cè)量值一大一小,相差很大,則第一次測(cè)量中黑表筆接的不是基極,應(yīng)該更換其他電極重測(cè)。

測(cè)量三極管發(fā)射極e和集電極c。三極管基極確定后,通過交換表筆,兩次測(cè)量e,c極間的電阻,如果兩次測(cè)量結(jié)果不相等,其中測(cè)得電阻值較小的一次為紅表筆的是e極黑表筆接的是c極。對(duì)于PNP型號(hào)的三極管,方法與NPN的相似,只是紅黑表筆的作用相反,在測(cè)量e,c極間電阻時(shí)要注意,由于三極管的V(BR)CEO很小,很容易將發(fā)射結(jié)擊穿。

當(dāng)我們?nèi)龢O管的管腳判斷結(jié)束以后,我們就可以用兩個(gè)三極管構(gòu)成一個(gè)達(dá)林頓結(jié)構(gòu)。首先當(dāng)單片機(jī)P1.0口輸出一個(gè)高電平,由兩個(gè)三極管構(gòu)成的達(dá)林頓能導(dǎo)通,導(dǎo)通后又能對(duì)電流又一定的放大作用,這樣傳到揚(yáng)聲器時(shí)信號(hào)能讓我們聽的更清楚。

圖1

圖2

鍵盤用于彈奏音樂,八個(gè)按鍵8種音符。單片機(jī)通過輸出各種電脈沖信號(hào)開驅(qū)動(dòng)控制各部分正常工作。

系統(tǒng)工作過程:?jiǎn)纹瑱C(jī)要產(chǎn)生音頻脈沖,主要處理過程是在CPU中完成的,CPU會(huì)隨時(shí)對(duì)音符輸入信號(hào)進(jìn)行讀取數(shù)據(jù)的操作。在讀取了相應(yīng)的寄存器的值后,CPU將讀取的值進(jìn)行處理,再通過I/O口把音樂通過揚(yáng)聲器播放出來。

2.2、實(shí)施計(jì)劃

2018.7.5-2018.7.6

方案設(shè)計(jì)、修改與仿真

2018.7.6-2018.7.7

上機(jī)調(diào)試

2018.7.7-2018.7.8

論文撰寫、修改并完成

2018.7.9-2018.7.12

論文答辯


表1

2.3原理圖

圖3原理圖 pcb圖 焊接圖

三、設(shè)計(jì)方案、方法及技術(shù)路線

3.1系統(tǒng)基本設(shè)計(jì)思路

此設(shè)計(jì)是用揚(yáng)聲器播放彈奏的曲子。電路包括:鍵盤、單片機(jī)以及單片機(jī)周邊最小系統(tǒng)和晶振電路。

3.2部分說明

(1)鍵盤用于彈奏音樂,八個(gè)按鍵8種音符。

(2)單片機(jī)通過輸出各種電脈沖信號(hào)驅(qū)動(dòng)控制各部分正常工作。

3.3統(tǒng)工作過程

單片機(jī)要產(chǎn)生音頻脈沖,主要處理過程是在CPU中完成的,CPU會(huì)隨時(shí)對(duì)音符輸入信號(hào)進(jìn)行讀取數(shù)據(jù)的操作。在讀取了相應(yīng)的寄存器的值后,CPU將讀取的值進(jìn)行處理,再通過I/O口把音樂通過揚(yáng)聲器播放出來。

3.4單元電路方案論證

根據(jù)設(shè)計(jì)要求,本系統(tǒng)主要由控制器模塊和輸入模塊構(gòu)成。為較好的實(shí)現(xiàn)各模塊的功能,我們分別設(shè)計(jì)了以下幾種方案并分別進(jìn)行了論證。

3.5控制器模塊

方案1:采用凌陽系列單片機(jī)為系統(tǒng)的控制器

凌陽系列單片機(jī)可以實(shí)現(xiàn)各種復(fù)雜的邏輯功能,模塊大,密度高,它將所有器件集成在一塊芯片上,減少了體積,提高了穩(wěn)定性。凌陽系列單片機(jī)提高了系統(tǒng)的處理速度,適合作為大規(guī)模實(shí)時(shí)系統(tǒng)的控制核心。

方案2:采用51系列作為系統(tǒng)控制器

單片機(jī)算術(shù)運(yùn)算功能強(qiáng),軟件編程靈活、自由度大,可用軟件編程實(shí)現(xiàn)各種算法和邏輯控制。由于其功耗低、體積較小、技術(shù)成熟和成本低等優(yōu)點(diǎn),在各個(gè)領(lǐng)域應(yīng)用廣泛。而且抗干擾性能好。

因51單片機(jī)價(jià)格比凌陽系列低得多,且本設(shè)計(jì)不需要很高的處理速度,從經(jīng)濟(jì)和方便使用角度考慮,本設(shè)計(jì)選擇了方案2。

3.6發(fā)聲模塊

發(fā)聲模塊是本設(shè)計(jì)的最主要的部分。

基本方案:發(fā)生電路是這次設(shè)計(jì)電路中最重要的組成部分,他承載著把單片機(jī)所產(chǎn)生的聲音信號(hào)放大并輸出的重要作用,而我的設(shè)計(jì)中的發(fā)聲電路主要是由兩個(gè)S8050三極管驅(qū)動(dòng)組成。S8050三極管是一種小功率的放大管,屬于NPN型號(hào)三極管,而對(duì)三極管引腳的判斷有以下方法。

1.判斷三極管的基極。對(duì)于NPN型號(hào)的三極管,用黑表筆接某一個(gè)電極,紅表筆分別接另外兩個(gè)電極,若測(cè)量電阻值兩個(gè)都小,調(diào)換表筆后被測(cè)電阻值都較大,則可判斷第一次測(cè)量中黑表筆所接的是基極;如果測(cè)量值一大一小,相差很大,則第一次測(cè)量中黑表筆接的不是基極,應(yīng)該更換其他電極重測(cè)。

2.測(cè)量三極管發(fā)射極e和集電極c。三極管基極確定后,通過交換表筆,兩次測(cè)量e,c極間的電阻,如果兩次測(cè)量結(jié)果不相等,其中測(cè)得電阻值較小的一次為紅表筆的是e極黑表筆接的是c極。對(duì)于PNP型號(hào)的三極管,方法與NPN的相似,只是紅黑表筆的作用相反,在測(cè)量e,c極間電阻時(shí)要注意,由于三極管的V(BR)CEO很小,很容易將發(fā)射結(jié)擊穿。

當(dāng)我們?nèi)龢O管的管腳判斷結(jié)束以后,我們就可以用兩個(gè)三極管構(gòu)成一個(gè)達(dá)林頓結(jié)構(gòu)。首先當(dāng)單片機(jī)P1.0口輸出一個(gè)高電平,由兩個(gè)三極管構(gòu)成的達(dá)林頓成能導(dǎo)通,導(dǎo)通后又能對(duì)電流又一定的放大作用,這樣傳到揚(yáng)聲器時(shí)信號(hào)能讓我們聽的更清楚。

圖4聲音驅(qū)動(dòng)電路

3.7編程軟件模塊

方案1:采用匯編語言編程

匯編語言指令是用一些具有相應(yīng)含義的助憶符來表達(dá)的,所以,它要比機(jī)器語言容易掌握和運(yùn)用,但另一方面,它要直接使用CPU的資源,相對(duì)高級(jí)程序設(shè)計(jì)語言來說,它又顯得難掌握。

方案2:采用C語言編程

C語言與其他高級(jí)語言相比,具有運(yùn)算符的豐富性、語法表述的靈活性、對(duì)軟硬件操作的兼容性、輸入輸出方式的新穎性等主要特征.深入分析研究這些特征,可以加深對(duì)C語言的認(rèn)識(shí);正確應(yīng)用這些特征,可以靈活高效地解決各種實(shí)際問題.

因?yàn)槲以诖髮W(xué)期間對(duì)匯編語言沒有深入的了解,而且在編程時(shí)一直用C語言,所以我選擇了方案2。

3.8最終方案

經(jīng)過反復(fù)論證,最終確定了如下方案:

(1)采用STC89C51單片機(jī)作為主控制器。

(2)采用達(dá)林頓效應(yīng)使音樂信號(hào)放大。

(3)采用C語言編程。

STC89C51是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C51為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,512字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,內(nèi)置4KBEEPROM,MAX810復(fù)位電路,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口。另外STC89X51可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率35Mhz,6T/12T可選。

圖5STC89C51單片機(jī)引腳圖

單片機(jī)是美國(guó)STC公司最新推出的一種新型51內(nèi)核的單片機(jī)。片內(nèi)含有Flash程序存儲(chǔ)器、SRAM、UART、SPI、PWM等模塊。

STC89C51主要功能、性能參數(shù)如下

(1)內(nèi)置標(biāo)準(zhǔn)51內(nèi)核,機(jī)器周期:增強(qiáng)型為6時(shí)鐘,普通型為12時(shí)鐘;

(2)工作頻率范圍:0~40MHZ,相當(dāng)于普通8051的0~80MHZ;

(3)STC89C51RC對(duì)應(yīng)Flash空間:4KB;

(4)內(nèi)部存儲(chǔ)器(RAM):512B;

(5)定時(shí)器\計(jì)數(shù)器:3個(gè)16位;

(6)通用異步通信口(UART)1個(gè);

(7)中斷源:8個(gè);

(8)有ISP(在系統(tǒng)可編程)\IAP(在應(yīng)用可編程),無需專用編程器\仿真器;

(9)通用I\O口:32\36個(gè);

(10)工作電壓:3.8~5.5V;

(11)外形封裝:40腳PDIP、44腳PLCC和PQFP等。

STC89C51單片機(jī)的引腳說明:

VCC:供電電壓。

GND:接地。

P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。

P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。

P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。

P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。

P3.0RXD(串行輸入口)

P3.1TXD(串行輸出口)

P3.2/INT0(外部中斷0)

P3.3/INT1(外部中斷1)

P3.4T0(記時(shí)器0外部輸入)

P3.5T1(記時(shí)器1外部輸入)

P3.6/WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)

P3.7/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)

P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。

I/O口作為輸入口時(shí)有兩種工作方式,即所謂的讀端口與讀引腳。讀端口時(shí)實(shí)際上并不從外部讀入數(shù)據(jù),而是把端口鎖存器的內(nèi)容讀入到內(nèi)部總線,經(jīng)過某種運(yùn)算或變換后再寫回到端口鎖存器。只有讀端口時(shí)才真正地把外部的數(shù)據(jù)讀入到內(nèi)部總線。上面圖中的兩個(gè)三角形表示的就是輸入緩沖器CPU將根據(jù)不同的指令分別發(fā)出讀端口或讀引腳信號(hào)以完成不同的操作。這是由硬件自動(dòng)完成的,不需要我們操心,1然后再實(shí)行讀引腳操作,否則就可能讀入出錯(cuò),為什么看上面的圖,如果不對(duì)端口置1端口鎖存器原來的狀態(tài)有可能為0Q端為0Q^為1加到場(chǎng)效應(yīng)管柵極的信號(hào)為1,該場(chǎng)效應(yīng)管就導(dǎo)通對(duì)地呈現(xiàn)低阻抗,此時(shí)即使引腳上輸入的信號(hào)為1,也會(huì)因端口的低阻抗而使信號(hào)變低使得外加的1信號(hào)讀入后不一定是1。若先執(zhí)行置1操作,則可以使場(chǎng)效應(yīng)管截止引腳信號(hào)直接加到三態(tài)緩沖器中實(shí)現(xiàn)正確的讀入,由于在輸入操作時(shí)還必須附加一個(gè)準(zhǔn)備動(dòng)作,所以這類I/O口被稱為準(zhǔn)雙向口。89C51的P0/P1/P2/P3口作為輸入時(shí)都是準(zhǔn)雙向口。

RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。

ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。

/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。

/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。

XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。

XTAL2:來自反向振蕩器的輸出。

STC89C51單片機(jī)最小系統(tǒng):

最小系統(tǒng)包括單片機(jī)及其所需的必要的電源、時(shí)鐘、復(fù)位等部件,能使單片機(jī)始終處于正常的運(yùn)行狀態(tài)。電源、時(shí)鐘等電路是使單片機(jī)能運(yùn)行的必備條件,可以將最小系統(tǒng)作為應(yīng)用系統(tǒng)的核心部分,通過對(duì)其進(jìn)行存儲(chǔ)器擴(kuò)展、A/D擴(kuò)展等,使單片機(jī)完成較復(fù)雜的功能。

STC89C51是片內(nèi)有ROM/EPROM的單片機(jī),因此,這種芯片構(gòu)成的最小系統(tǒng)簡(jiǎn)單﹑可靠。用STC89C52單片機(jī)構(gòu)成最小應(yīng)用系統(tǒng)時(shí),只要將單片機(jī)接上時(shí)鐘電路和復(fù)位電路即可,結(jié)構(gòu)如圖2-3所示,由于集成度的限制,最小應(yīng)用系統(tǒng)只能用作一些小型的控制單元。

圖6單片機(jī)最小系統(tǒng)原理框圖

中斷技術(shù)主要用于實(shí)時(shí)監(jiān)測(cè)與控制,要求單片機(jī)能及時(shí)地響應(yīng)中斷請(qǐng)求源提出的服務(wù)請(qǐng)求,并作出快速響應(yīng)、及時(shí)處理。這是由片內(nèi)的中斷系統(tǒng)來實(shí)現(xiàn)的。當(dāng)中斷請(qǐng)求源發(fā)出中斷請(qǐng)求時(shí),如果中斷請(qǐng)求被允許,單片機(jī)暫時(shí)中止當(dāng)前正在執(zhí)行的主程序,轉(zhuǎn)到中斷服務(wù)處理程序處理中斷服務(wù)請(qǐng)求。中斷服務(wù)處理程序處理完中斷服務(wù)請(qǐng)求后,再回到原來被中止的程序之處(斷點(diǎn)),繼續(xù)執(zhí)行被中斷的主程序。圖6為整個(gè)中斷響應(yīng)和處理過程。


圖7中斷響應(yīng)和處理過程

如果單片機(jī)沒有中斷系統(tǒng),單片機(jī)的大量時(shí)間可能會(huì)浪費(fèi)在查詢是否有服務(wù)請(qǐng)求發(fā)生的定時(shí)查詢操作上。采用中斷技術(shù)完全消除了單片機(jī)在查詢方式中的等待現(xiàn)象,大大地提高了單片機(jī)的工作效率和實(shí)時(shí)性。

四、電路系統(tǒng)設(shè)計(jì)

4.1硬件電路設(shè)計(jì)系統(tǒng)總體框圖

本設(shè)計(jì)采用STC89C51單片機(jī)作為主控制器,外部加上三極管驅(qū)動(dòng)放音設(shè)備。系統(tǒng)總體框圖如下:


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

4.2最小系統(tǒng)設(shè)計(jì)

最小系統(tǒng)包括單片機(jī)及其所需的必要的電源、時(shí)鐘、復(fù)位等部件,能使單片機(jī)始終處于正常的運(yùn)行狀態(tài)。電源、時(shí)鐘等電路是使單片機(jī)能運(yùn)行的必備條件,可以將最小系統(tǒng)作為應(yīng)用系統(tǒng)的核心部分,通過對(duì)其進(jìn)行存儲(chǔ)器擴(kuò)展、A/D擴(kuò)展等,使單片機(jī)完成較復(fù)雜的功能。

4.3時(shí)鐘電路

STC89C51內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,引腳RXD和TXD分別是此放大器的輸入端和輸出端。時(shí)鐘可以由內(nèi)部方式產(chǎn)生或外部方式產(chǎn)生。內(nèi)部時(shí)鐘在此不做詳細(xì)介紹。外部方式的時(shí)鐘電路如圖3所示,RXD接地,TXD接外部振蕩器。對(duì)外部振蕩信號(hào)無特殊要求,只要求保證脈沖寬度,一般采用頻率在12MHz或11.0592MHZ晶振。

圖9 89c51內(nèi)部時(shí)鐘電路

4.4復(fù)位電路

當(dāng)在89C51單片機(jī)的RST引腳引入高電平并保持2個(gè)機(jī)器周期時(shí),單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作(若該引腳持續(xù)保持高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài))。

復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。

最簡(jiǎn)單的上電自動(dòng)復(fù)位電路中上電自動(dòng)復(fù)位是通過外部復(fù)位電路的電容充放電來實(shí)現(xiàn)的。只要Vcc的上升時(shí)間不超過1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位。

除了上電復(fù)位外,有時(shí)還需要按鍵手動(dòng)復(fù)位。本設(shè)計(jì)就是用的按鍵手動(dòng)復(fù)位。按鍵手動(dòng)復(fù)位有電平方式和脈沖方式兩種。其中電平復(fù)位是通過RST(9)端與電源Vcc接通而實(shí)現(xiàn)的。按鍵手動(dòng)復(fù)位電路見圖4。時(shí)鐘頻率用11.0592MHZ時(shí)C取10uF,R取10kΩ。

圖10 89C51復(fù)位電路

4.5按鍵控制模塊

電子琴設(shè)有8個(gè)按鍵,8個(gè)按鍵分別代表8個(gè)音符,包括中音段的全部音符,通過軟硬件設(shè)計(jì)。

如下圖:

圖11按鍵模塊


4.6播放模塊

播放模塊是由2個(gè)三極管構(gòu)成,三級(jí)管將信號(hào)放大,然后傳輸?shù)嚼龋人鼛缀醪淮嬖谠肼暎繇懶Ч^好。

下圖是該模塊電路:


圖12播放模塊

三極管是電流放大器件,有三個(gè)極,分別叫做集電極C,基極B,發(fā)射極E。分成NPN和PNP兩種。我們僅以NPN三極管的共發(fā)射極放大電路為例來說明一下三極管放大電路的基本原理。

(1)電流放大

下面的分析僅對(duì)于NPN型硅三極管。如上圖所示,我們把從基極B流至發(fā)射極E的電流叫做基極電流Ib;把從集電極C流至發(fā)射極E的電流叫做集電極電流Ic。這兩個(gè)電流的方向都是流出發(fā)射極的,所以發(fā)射極E上就用了一個(gè)箭頭來表示電流的方向。三極管的放大作用就是:集電極電流受基極電流的控制(假設(shè)電源能夠提供給集電極足夠大的電流的話),并且基極電流很小的變化,會(huì)引起集電極電流很大的變化,且變化滿足一定的比例關(guān)系:集電極電流的變化量是基極電流變化量的β倍,即電流變化被放大了β倍,所以我們把β叫做三極管的放大倍數(shù)(β一般遠(yuǎn)大于1,例如幾十,幾百)。如果我們將一個(gè)變化的小信號(hào)加到基極跟發(fā)射極之間,這就會(huì)引起基極電流Ib的變化,Ib的變化被放大后,導(dǎo)致了Ic很大的變化。如果集電極電流Ic是流過一個(gè)電阻R的,那么根據(jù)電壓計(jì)算公式U=R*I可以算得,這電阻上電壓就會(huì)發(fā)生很大的變化。我們將這個(gè)電阻上的電壓取出來,就得到了放大后的電壓信號(hào)了。

(2)偏置電路

三極管在實(shí)際的放大電路中使用時(shí),還需要加合適的偏置電路。這有幾個(gè)原因。首先是由于三極管BE結(jié)的非線性(相當(dāng)于一個(gè)二極管),基極電流必須在輸入電壓大到一定程度后才能產(chǎn)生(對(duì)于硅管,常取0.7V)。當(dāng)基極與發(fā)射極之間的電壓小于0.7V時(shí),基極電流就可以認(rèn)為是0。但實(shí)際中要放大的信號(hào)往往遠(yuǎn)比0.7V要小,如果不加偏置的話,這么小的信號(hào)就不足以引起基極電流的改變(因?yàn)樾∮?.7V時(shí),基極電流都是0)。如果我們事先在三極管的基極上加上一個(gè)合適的電流(叫做偏置電流,上圖中那個(gè)電阻Rb就是用來提供這個(gè)電流的,所以它被叫做基極偏置電阻),那么當(dāng)一個(gè)小信號(hào)跟這個(gè)偏置電流疊加在一起時(shí),小信號(hào)就會(huì)導(dǎo)致基極電流的變化,而基極電流的變化,就會(huì)被放大并在集電極上輸出。另一個(gè)原因就是輸出信號(hào)范圍的要求,如果沒有加偏置,那么只有對(duì)那些增加的信號(hào)放大,而對(duì)減小的信號(hào)無效(因?yàn)闆]有偏置時(shí)集電極電流為0,不能再減小了)。而加上偏置,事先讓集電極有一定的電流,當(dāng)輸入的基極電流變小時(shí),集電極電流就可以減小;當(dāng)輸入的基極電流增大時(shí),集電極電流就增大。這樣減小的信號(hào)和增大的信號(hào)都可以被放大了。

(3)開關(guān)作用

下面說說三極管的飽和情況。像上面那樣的圖,因?yàn)槭艿诫娮鑂c的限制(Rc是固定值,那么最大電流為U/Rc,其中U為電源電壓),集電極電流是不能無限增加下去的。當(dāng)基極電流的增大,不能使集電極電流繼續(xù)增大時(shí),三極管就進(jìn)入了飽和狀態(tài)。一般判斷三極管是否飽和的準(zhǔn)則是:Ib*β〉Ic。進(jìn)入飽和狀態(tài)之后,三極管的集電極跟發(fā)射極之間的電壓將很小,可以理解為一個(gè)開關(guān)閉合了。這樣我們就可以拿三極管來當(dāng)作開關(guān)使用:當(dāng)基極電流為0時(shí),三極管集電極電流為0(這叫做三極管截止),相當(dāng)于開關(guān)斷開;當(dāng)基極電流很大,以至于三極管飽和時(shí),相當(dāng)于開關(guān)閉合。如果三極管主要工作在截止和飽和狀態(tài),那么這樣的三極管我們一般把它叫做開關(guān)管。

圖13三極管引腳介紹

4.7單片機(jī)發(fā)聲概述

一般來說,單片機(jī)不像其他專業(yè)樂器那樣能奏出多種音色的聲音,即不包含相應(yīng)幅度的諧振頻率。單片機(jī)演奏的音樂基本都是單音頻率。因此單片機(jī)演奏音樂比較簡(jiǎn)單,只需能清楚“音調(diào)”和“節(jié)拍”兩個(gè)概念即可。音調(diào)表示一個(gè)音符唱多高的頻率。節(jié)拍表示一個(gè)音符唱多長(zhǎng)的時(shí)間。

知道了一個(gè)音符的頻率后,便可以讓單片機(jī)發(fā)出相應(yīng)頻率的振蕩信號(hào),從而產(chǎn)生相應(yīng)的音符聲音。通過單片機(jī)的定時(shí)器進(jìn)行定時(shí)中斷,在中斷服務(wù)程序中將單片機(jī)上完結(jié)單片機(jī)I/O口來回置高電平或者是低電平的,從而讓揚(yáng)聲器發(fā)出聲音。通過節(jié)拍計(jì)算出每個(gè)音符所需要的時(shí)間,采用循環(huán)延時(shí)的方法來實(shí)現(xiàn)控制一個(gè)音符唱多長(zhǎng)的時(shí)間,從而構(gòu)成一首完整的音樂。

音調(diào)主要由聲音的頻率決定。對(duì)一定強(qiáng)度的純音,音調(diào)隨頻率的升降而升降;對(duì)一定頻率的純音、低頻純音的音調(diào)隨響度增加而下降,高頻純音的音調(diào)卻隨響度增加而上升。

音調(diào)的高低還與發(fā)聲體的結(jié)構(gòu)有關(guān),因?yàn)榘l(fā)聲體的結(jié)構(gòu)影響了聲音的頻率。大體上,2000赫茲以下的低頻純音的音調(diào)隨響度的增加而下降,3000赫茲以上高頻純音的音調(diào)隨響度的增加而上升。

例如,在音樂中常常把中音C上方的A音定位標(biāo)準(zhǔn)高音,其頻率F=440HZ,其余音均與其進(jìn)行比較。F1和F2為兩個(gè)音符,如果這兩個(gè)音符的頻率相差一倍時(shí),也即F2=2*F1時(shí),則稱F2比F1高一個(gè)頻程。

在音樂中音符1與音符2,音符2與音符3……等等之間正好相差一個(gè)倍頻程,在音樂學(xué)中稱它相差一個(gè)八度音。在一個(gè)八度內(nèi),有12個(gè)半音。由于人耳的聽覺效果,這12個(gè)音階的分度基本上是以對(duì)數(shù)的關(guān)系來劃分的。只要知道12個(gè)音符的音高,也就是其基本頻率,就可以根據(jù)音符之間的倍頻關(guān)系得到其他音符的基本音調(diào)頻率[3]。

以標(biāo)準(zhǔn)高音A的頻率F=440HZ,其對(duì)應(yīng)的周期為:T=1/F=1/440=2272us

因此需要在單片機(jī)I/O端口輸出周期為T=2272us的方波脈沖,也就是t=T/2=2272/2=1136us

也就是說,單片機(jī)上定時(shí)器的中斷出發(fā)時(shí)間為1136us。如果單片機(jī)采用定時(shí)器為工作方式1,它以振蕩器的十二分頻信號(hào)為計(jì)數(shù)脈沖。設(shè)外接晶振的振蕩器頻率為f,則定時(shí)器的預(yù)置初始值有以下公式來確定:

Temp=65536-(50000/CurrentFre)*10/(12000000/SYSTEM_OSC)

TH=Temp/256

TL=Temp%256

4.8編程軟件KeilC51

KeilC51是美國(guó)KeilSoftware公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會(huì)更加深刻。KeilC51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到KeilC51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢(shì)。下面詳細(xì)介紹KeilC51開發(fā)系統(tǒng)各部分功能和使用。Keil_c軟件界面如圖14:





圖14 Keil_c軟件界面

該軟件是一款集編程和仿真于一體的軟件,它支持匯編、C語言及二者的混合編程。

4.9畫圖軟件Protel99SE

Protel99SE是PORTEL公司在80年代末推出的EDA軟件。Protel99SE是應(yīng)用于Windows9X/2000/NT操作系統(tǒng)下的EDA設(shè)計(jì)軟件,采用設(shè)計(jì)庫管理模式,可以網(wǎng)設(shè)計(jì),具有很強(qiáng)的數(shù)據(jù)交換能力和開放性及3D模擬功能,是一個(gè)32位的設(shè)計(jì)軟件,可以完成電路原理圖設(shè)計(jì),印制電路板設(shè)計(jì)和可編程邏輯器件設(shè)計(jì)等工作,可以設(shè)計(jì)32個(gè)信號(hào)層,16個(gè)電源--地層和16個(gè)機(jī)加工層。

Protel99SE軟件的特點(diǎn):

可生成30多種格式的電氣連接網(wǎng)絡(luò)表;

強(qiáng)大的全局編輯功能;

在原理圖中選擇一級(jí)器件,PCB中同樣的器件也將被選中;

同時(shí)運(yùn)行原理圖和PCB,在打開的原理圖和PCB圖間允許雙向交叉查找元器件、引腳、網(wǎng)絡(luò)

既可以進(jìn)行正向注釋元器件標(biāo)號(hào)(由原理圖到PCB),也可以進(jìn)行反向注釋(由PCB到原理圖),以保持電氣原理圖和PCB在設(shè)計(jì)上的一致性;

滿足國(guó)際化設(shè)計(jì)要求(包括國(guó)標(biāo)標(biāo)題欄輸出,GB4728國(guó)標(biāo)庫);*方便易用的數(shù)模混合仿真(兼容SPICE3f5);

支持用CUPL語言和原理圖設(shè)計(jì)PLD,生成標(biāo)準(zhǔn)的JED下載文件;*PCB可設(shè)計(jì)32個(gè)信號(hào)層,16個(gè)電源-地層和16個(gè)機(jī)加工層;

強(qiáng)大的“規(guī)則驅(qū)動(dòng)”設(shè)計(jì)環(huán)境,符合在線的和批處理的設(shè)計(jì)規(guī)則檢查;

智能覆銅功能,覆鈾可以自動(dòng)重鋪;

提供大量的工業(yè)化標(biāo)準(zhǔn)電路板做為設(shè)計(jì)模版;

放置漢字功能;

可以輸入和輸出DXF、DWG格式文件,實(shí)現(xiàn)和AutoCAD等軟件的數(shù)據(jù)交換;

智能封裝導(dǎo)航(對(duì)于建立復(fù)雜的PGA、BGA封裝很有用);

方便的打印預(yù)覽功能,不用修改PCB文件就可以直接控制打印結(jié)果;

獨(dú)特的3D顯示可以在制板之前看到裝配事物的效果;

強(qiáng)大的CAM處理使您輕松實(shí)現(xiàn)輸出光繪文件、材料清單、鉆孔文件、貼片機(jī)文件、測(cè)試點(diǎn)報(bào)告等;

經(jīng)過充分驗(yàn)證的傳輸線特性和仿真精確計(jì)算的算法,信號(hào)完整性分析直接從PCB啟動(dòng);

反射和串?dāng)_仿真的波形顯示結(jié)果與便利的測(cè)量工具相結(jié)合;

Protel99SE的工作界面是一種標(biāo)準(zhǔn)的Windows界面,如圖所示,包括:標(biāo)題欄、主菜單、標(biāo)準(zhǔn)工具欄、繪圖工具欄、狀態(tài)欄、對(duì)象選擇按鈕、預(yù)覽對(duì)象方位控制按鈕、仿真進(jìn)程控制按鈕、預(yù)覽窗口、對(duì)象選擇器窗口、圖形編輯窗口。Protel99SE軟件界面如圖15。

圖15 Prtel99SE軟件界面




五、調(diào)試結(jié)果分析

這是本設(shè)計(jì)較為困難的一部分,需要經(jīng)過反反復(fù)復(fù)的調(diào)試,才能達(dá)到理想中的效果,以下將分文硬件與軟件兩部分介紹此次調(diào)試的過程,以及調(diào)試過程中遇到的困難和解決辦法。

程序主要取自一個(gè)音樂播放程序,但沒有功率放大部分,更沒有按鈕部分。在此基礎(chǔ)之上,首先是對(duì)其進(jìn)行一定的修改,在保留原來音調(diào)產(chǎn)生程序的前提下,進(jìn)行主程序的設(shè)計(jì),首先對(duì)所有端口進(jìn)行初始化操作,接著進(jìn)入不斷循環(huán)部分,直到按鍵按下,進(jìn)入防止抖動(dòng)程序,如果不是抖動(dòng),則進(jìn)入音樂播放程序,直到按鍵松開,再次進(jìn)入等待按鍵按下部分。

在keil軟件經(jīng)不斷改進(jìn)后,生成hex文件,再用開發(fā)板燒入程序,并通過stc-isp燒錄軟件燒錄后,最終得以完成。

程序在開始之初是用簡(jiǎn)單的中斷延遲來實(shí)現(xiàn),對(duì)于編歌曲來講需要很大的工作量,在網(wǎng)上查找大量的資料之后,找到了一個(gè)做音樂播放器的程序,他也是基于中斷延遲來實(shí)現(xiàn)播放功能,但是他對(duì)于歌曲編輯的靈活性,有很大的發(fā)展空間,所以我就采用了他的部分程序。

所以,主要考慮到的是如何在播放完一個(gè)音節(jié)后,進(jìn)入在此等待狀態(tài)。對(duì)于該段程序中的主要保護(hù)手段,就是按鈕防治抖動(dòng)部分,因此在等待按鈕按下后,采用一小段的延遲程序,再次判定是否有按鈕的按下,再進(jìn)入播放程序。

1)元器件的裝插焊接應(yīng)遵循先小后大,先輕后重,先低后高,先里后外的原則,這樣有利于裝配順利進(jìn)行。

2)在瓷介電容、電解電容及三極管等元件立式安裝時(shí),引線不能太長(zhǎng),否則降低元器件的穩(wěn)定性;但也不能過短,以免焊接時(shí)因過熱損壞元器件。一般要求距離電路板面2mm,并且要注意電解電容的正負(fù)極性,不能插錯(cuò)。

3)集成電路的焊接,在焊接時(shí),首先要弄清引線腳的排列順序,并與線路板上的焊盤引腳對(duì)準(zhǔn),核對(duì)無誤后,先固定IC,然后再重復(fù)檢查,確認(rèn)后再焊接其余腳位。由于IC引線腳較密,焊接完后要檢查有無虛焊,連焊等現(xiàn)象,確保焊接質(zhì)量。

4)焊錫之前應(yīng)該先插上電烙鐵的插頭,給電烙鐵加熱。

5)焊接時(shí),焊錫與電路板、電烙鐵與電路板的夾角最好成45度,這樣焊錫與電烙鐵夾角成90度。

6)焊接時(shí),焊錫與電烙鐵接觸時(shí)間不要太長(zhǎng),以免焊錫過多或是造成漏錫;也不要過短,以免造成虛焊。

7)元件的腿盡量要直,而且不要伸出太長(zhǎng),以1毫米為好,多余的可以剪掉。

8)焊完時(shí),焊錫最好呈圓滑的圓錐狀,而且還要有金屬光澤

9)設(shè)計(jì)裝上3節(jié)5號(hào)電池,確保電壓在4.5v~5.5v之間,首先檢測(cè)電路板有無焊接短路,然后通電。確保萬無一失!

六、總結(jié)

Protel使用常見問題

1、原理圖常見錯(cuò)誤:

(1)ERC報(bào)告管腳沒有接入信號(hào):

a、創(chuàng)建封裝時(shí)給管腳定義了I/O屬性;

b、創(chuàng)建元件或放置元件時(shí)修改了不一致的grid屬性,管腳與線沒有連上;

c、創(chuàng)建元件時(shí)pin方向反向,必須非pinname端連線。

(2)元件跑到圖紙界外:沒有在元件庫圖表紙中心創(chuàng)建元件。

(3)創(chuàng)建的工程文件網(wǎng)絡(luò)表只能部分調(diào)入pcb:生成netlist時(shí)沒有選擇為global。

(4)當(dāng)使用自己創(chuàng)建的多部分組成的元件時(shí),千萬不要使用annotate.

2、PCB中常見錯(cuò)誤:

(1)網(wǎng)絡(luò)載入時(shí)報(bào)告NODE沒有找到:

a、原理圖中的元件使用了pcb庫中沒有的封裝;

b、原理圖中的元件使用了pcb庫中名稱不一致的封裝;

c、原理圖中的元件使用了pcb庫中pinnumber不一致的封裝。如三極管:sch中pinnumber為e,b,c,而pcb中為1,2,3。

(2)打印時(shí)總是不能打印到一頁紙上:

a、創(chuàng)建pcb庫時(shí)沒有在原點(diǎn);

b、多次移動(dòng)和旋轉(zhuǎn)了元件,pcb板界外有隱藏的字符。選擇顯示所有隱藏的字符,縮小pcb,然后移動(dòng)字符到邊界內(nèi)。

(3)DRC報(bào)告網(wǎng)絡(luò)被分成幾個(gè)部分:

表示這個(gè)網(wǎng)絡(luò)沒有連通,看報(bào)告文件,使用選擇CONNECTEDCOPPER查找。

另外提醒朋友盡量使用WIN2000,減少藍(lán)屏的機(jī)會(huì);多幾次導(dǎo)出文件,做成新的DDB文件,減少文件尺寸。如果作較復(fù)雜得設(shè)計(jì),盡量不要使用自動(dòng)布線。

在當(dāng)今高新技術(shù)產(chǎn)業(yè)迅猛發(fā)展的時(shí)期,頻率計(jì)在計(jì)算機(jī)、通訊設(shè)備、音頻視頻等科研生產(chǎn)領(lǐng)域是不可缺少的測(cè)量?jī)x器。隨著數(shù)字電子技術(shù)的發(fā)展,單片機(jī)成為一項(xiàng)越來越普遍的東西,正受到越來越多的關(guān)注,本次設(shè)計(jì)以單片機(jī)為核心,設(shè)計(jì)合理,效果良好。

在本次設(shè)計(jì)的過程中,我深刻體會(huì)到了自己在專業(yè)知識(shí)的掌握上的不足,特別是在程序編寫上,遇到了許多問題,這使我不得不認(rèn)真的去學(xué)習(xí)程序編寫,去深入了解程序編寫的原理。由于本次設(shè)計(jì)涉及的知識(shí)面較廣,需要經(jīng)常通過網(wǎng)上查詢資料,隨時(shí)和老師、同學(xué)進(jìn)行交流,受益菲淺,并在老師的指導(dǎo)下,彌補(bǔ)了自己在許多知識(shí)面上的不足。這次設(shè)計(jì)更讓我認(rèn)識(shí)到了查閱資料自學(xué)的重要性,在今后的學(xué)習(xí)中,應(yīng)該多看一些專業(yè)方面的書籍,豐富自己的知識(shí),提高自己的專業(yè)水平,相信這一定會(huì)對(duì)以后走上工作崗位的我有很大的幫助。




全部資料51hei下載地址:
http://www.zg4o1577.cn/bbs/dpj-128650-1.html


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏7 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:569493 發(fā)表于 2019-6-23 18:30 | 只看該作者
你好在嗎我想問問這個(gè)的軟件分什么模塊
回復(fù)

使用道具 舉報(bào)

板凳
ID:110278 發(fā)表于 2020-3-20 11:01 | 只看該作者
不錯(cuò),資料挺全的。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: а_天堂中文最新版地址 | 欧美国产91 | 亚洲成人在线免费 | 在线亚洲一区 | 国产成人精品免高潮在线观看 | 亚洲成人久久久 | 在线黄av| 成人av一区 | 国产一区在线免费观看 | 91麻豆久久久 | a在线视频 | 精品亚洲二区 | 一区二区高清 | 国产成人午夜高潮毛片 | 亚洲精品视频免费 | 在线观看国产视频 | 国产精品一区二区在线播放 | 青青草亚洲 | 国产精品一区二区视频 | 成人精品一区 | h视频免费观看 | 日韩欧美成人一区二区三区 | 久久精品久久久久久 | 理论片免费在线观看 | 精品免费国产 | 四虎永久免费黄色影片 | 久久精品中文字幕 | 亚洲成人网在线观看 | 亚洲欧美在线观看 | 国产亚洲精品美女久久久久久久久久 | 日韩视频一区二区 | 国产午夜在线 | 97色在线视频 | 久久午夜视频 | 亚洲视频在线看 | 成人高清在线视频 | 日韩波多野结衣 | 人人玩人人添人人澡欧美 | 国产高清一区二区三区 | 欧美激情一区二区三区 | 国产成人免费视频网站视频社区 |