freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于stc89c51單片機的電子琴設(shè)計畢業(yè)論文-wenkub

2023-07-12 18:50:17 本頁面
 

【正文】 易電子琴的硬件設(shè)計和軟件設(shè)計。利用不同的音階的頻率不一樣,用單片機來模擬電子琴,可以使單片機的定時器工作在計數(shù)器模式下,工作方式設(shè)為方式 1,改變 TH0 和 TH1 來產(chǎn)生不同的頻率,從而產(chǎn)生不同的音階。220V 市電先經(jīng)變壓器降壓,然后經(jīng)過二極管橋式整流,電容濾波后送入 LM317 的輸入端,在 LM317 的輸出端直流電壓,當調(diào)節(jié)滑動變阻器的時候可以調(diào)節(jié)輸出的直流電壓的大小。這樣一個端口就可以連接 4*4 的矩陣鍵盤了。 發(fā)聲部分用喇叭來作為發(fā)聲元件,用 8550 三極管來驅(qū)動喇叭發(fā)聲。 (2)數(shù)據(jù)存儲器(512B RAM) 。 (6)三個 16 位定時器/計數(shù)器,時鐘頻率為 0~24MHZ。 (10)兩個讀寫中斷串口,3 級加密位。(14)工作頻率 0~40MHz,相當于普通 8051 的 0~80MHZ,實際的頻率可以達到48MHZ。Vcc(pin 40):電源接入,接+5V 電源。XTAL2(pin 20): 片內(nèi)振蕩電路的輸出端。 ALE/PROG(pin 30):用于地址鎖存。 進行 Flash 存儲器編程時,此引腳還可用于輸入編程脈沖(PROG) 。PSEN(pin 29):片外存儲器讀選通信號,低電平有效。P0 口(pin 39 ~pin 32):8 位雙向 I/O 口線,分別為 ~ 。當訪問外部程序存儲器或者數(shù)據(jù)存儲器時,P0 口也被作為地址總線(低 8 位)和數(shù)據(jù)分時復(fù)用?!1 口內(nèi)部具有上拉電阻,P1 口輸出緩沖器能夠驅(qū)動 4 個 TTL 邏輯電平。具體如下表 1 所示。當對 P2 端口寫入“1”的時候,內(nèi)部上拉電阻就會把端口拉高,此時就可以作為輸入口使用。當使用 8 位地址,訪問其外部數(shù)據(jù)存儲器(RAM)時,P2 口將會輸出 P2 鎖存器的內(nèi)容。當對 P3 口寫入“1” 的時候,內(nèi)部上拉電阻就會把端口拉高,此時就可以作為輸入口使用。表 2 P3 口引腳第二功能 RXD 串行輸入口 TXD 串行輸出口 INT0 外中斷 0 INT1 外中斷 1 T0 定時/計數(shù)器 0 T1 定時/計數(shù)器 1 WR 外部數(shù)據(jù)存儲器寫選通 RD 外部數(shù)據(jù)存儲器讀選通 STC89C52 時鐘介紹STC89C52 內(nèi)部有一個高增益的反相放大器,此放大器用于構(gòu)成振蕩器,其引腳TXD 和 RXD 分別是這個放大器的輸出端和輸入端。晶體振蕩頻率選擇范圍為:~12MHz,電容值范圍為:5~30pF ,電容頻率起到微調(diào)的作用。(a)內(nèi)部方式時鐘電路 (b)外部方式時鐘電路圖 3 時鐘電路 雙位 LED 數(shù)碼顯示器簡介數(shù)碼管能在低電壓、小電流驅(qū)動下發(fā)光,能夠與 CMOS、TTL 電路兼容。根據(jù) LED 數(shù)碼管顯示位數(shù)的多少,可以把數(shù)碼管劃分為一位、雙位、多位 LED 數(shù)碼管顯示器。管腳排列如圖 4 所示。數(shù)字量與段的對應(yīng)關(guān)系如表 3 所示。220V 交流市電經(jīng)過電源變壓器 T1 降壓,變成電壓較低的交流電,再經(jīng)過二極管橋式整流電路,電容濾波后送入 LM317 的輸入端,則 LM317 的輸出端將輸出穩(wěn)定的直流電壓。C 2是一個電容濾波電路,C 3則用于旁路基準電壓的紋波電壓,它主要用于提高穩(wěn)壓電源的紋波抑制性能。圖 5 中的 R2與D2是用來指示工作的,當插上 220V 的交流電時,經(jīng)過變壓 、整流、濾波、穩(wěn)壓等正常工作時,發(fā)光二級管 D2就會發(fā)光,而 R1用來為 D2限流。復(fù)位操作除 PC 有影響外,還對其他一些寄存器存在影響,它們的復(fù)位狀態(tài)如表4 所示。產(chǎn)生復(fù)位信號的電路邏輯圖如圖 6 所示:圖 6 復(fù)位信號的電路邏輯圖單片機的整個復(fù)位電路包括芯片內(nèi)、外兩個部分。因此,接通電源就可以實現(xiàn)系統(tǒng)的復(fù)位初始化了。電阻為 ,電容為10uF、晶振為 12MHz。如圖 8 所示,一個 4*4 的矩陣鍵盤,有 16 個按鍵,我們分別用著 16 個鍵來模擬電子琴的按鍵:低音 7;中音 7 ;高音 4 。這一點就是識別矩陣式鍵盤哪個按鍵按下的關(guān)鍵所在。它識別按鍵可以分為兩步:第一步,識別有沒有按鍵按下;第二步,若有鍵按下,確定按下鍵的具體位置。例如,當按鍵2 被按下,第一行的行線為低電平,但是我們不能確定是哪個鍵被按下了,若是同一行的 4 鍵被按下,第一行也會呈現(xiàn)低電平,因此我們只能得出第一行有鍵被按下。而當?shù)诙袨榈碗娖降臅r候,其他各列均為高電平,第 1 行的行處于低電平,故可以判斷第 1 行第二列的交叉處有鍵被按下,即 2 號鍵被按下。掃描法要一列一列的去掃描查詢,若被按下的鍵處于最后一列時,需要經(jīng)過多次才能獲得正確的行列值。綜上所述,可以確定按鍵所在的行和列,從而得出按鍵所在位置。 如何利用單片機實現(xiàn)音樂節(jié)拍物體規(guī)則震動發(fā)出的聲音稱為樂音,音樂聽起來有高、有低,這就是音高,發(fā)聲物體的振動頻率決定著音高。一首歌通常有不同的音符表示,不同的音符對應(yīng)著不同的頻率,不同頻率的組合加上節(jié)拍就構(gòu)成了音樂。只需要知道四分之一節(jié)拍需要延時多久,其他的節(jié)拍就是它延時的倍數(shù)了。注意觀察一下幾個 6(LA)的頻率,它們都是整數(shù),很容易看出成 2 倍的關(guān)系。例如:已知最低音的 6(LA)的頻率是 220Hz,我們設(shè)它的公比為 q,則可以推出7(SI)的頻率為 220*q*q 。 220 = 2。比如:頻率為中音DO(532Hz),它的周期為:T=1/532=1912us, 所以計數(shù)器只需要計數(shù):956us/1us=956 次,每一次計數(shù) 956 次時將 I/O 口反向,我們就可以得到我們所需要的音階中音(DO)了。計數(shù)的初值 T 求法如下:T=65536N=65536fi247。2247。本系統(tǒng)主要用到的音符為低音:7,中音:7,高音 4;用到頻率分別為:64021,64103,64260,64400, 64524, 64580,64684,64777, 64820,64898,64968,65030, 65058,65110,65157,65178。電路圖設(shè)計完成后,就是焊電路板了,在焊接的時候遇到了好多的困難,總是把有些線搞混,錯綜復(fù)雜的導(dǎo)線使我暈頭轉(zhuǎn)向,從而增加我焊接的難度。在這個過程中遇到了一個非常棘手的問題,一開始數(shù)碼顯示管的驅(qū)動三極管用的是 8550,怎么都不能使數(shù)碼顯示管顯示數(shù)值,測試它的引腳全部正常。參考文獻[1] [M].北京:高等教育出版社,2022.[2] [M].江西:科學(xué)技術(shù)出版社,2022.[3] [M].北京:航空航天大學(xué)出版社,1998.[4] [M].武漢:華中科技大學(xué)出版社,2022.[5] [M].北京:電子工業(yè)出版社,2022.[6] Designer 的原理圖與PCB設(shè)計[M].北京:機械工業(yè)出版社,2022.[7] [M].北京:機械工業(yè)出版社,2022.[8] 胡漢才.單片機原理及系統(tǒng)設(shè)計[M] .北京:清華大學(xué)出版社,2022.[9] [M].北京:清華大學(xué)出版社, 2022.[10] C 語言應(yīng)用程序設(shè)計[M]. 北京:航空航天大學(xué)出版社 ,2022.[11] C51 應(yīng)用程序設(shè)計[M].北京:電子工業(yè)出版社,1997.附錄一 電子琴源程序include include define uint unsigned int define uchar unsigned charsbit SPK = P3^7。char Key_Value=1。for(x=z。y)。 j++) /*循環(huán)四次,掃描四行*/{ P1 = Buffer[j]。 i 4。 }}return 16。shiwei=1。delay_ms(5)。 /*讀出的鍵值 */Key_Temp1 = Keyscan()。 /*就確認下來*/FreqTemp = Freqtab[Key_Value]。 /*停止發(fā)音*/} }TR0 = 0。 /*暫不發(fā)音*/EX0 = 1。 /*顯示*/ shaomiao()。 /*發(fā)音*/}附錄二 原理圖附錄三 PCB 圖附錄四 實物圖致 謝……。 /*載入定時半周期的初始值*/ TH0 = FreqTemp 8。}/* 主函數(shù) */ void main(void) {init()。 /*T0 定時方式 1*/ET0 = 1。 /*啟動定時器,發(fā)音*/ while (Keyscan() 16)。 /*延時消抖*/Key_Temp2 = Keyscan()。P0=0x00。gewei=0。P0=tabledu[(Key_Value+1)/10]。 temp)) /*從高四位,截取 1 位*/{ return (i + j * 4)。 temp = 0x80。 for(j = 0。x)for(y=123。unsigned int code Freqtab[] = { /*定時半周期的初始值*/ 64021,64103,64260,64400, /*低音 3 4 5 6*/ 64524,64580,64684,64777, /*低音 7,中音 1 2 3*/ 64820,64898,64968,65030, /*中音 4 5 6 7*/65058,65110,65157,65178}。sbit gewei = P2^6。 經(jīng)過這次的畢業(yè)設(shè)計,我在理論的基礎(chǔ)上更深刻的掌握了單片機的深層內(nèi)容和單片機在實際生活中的應(yīng)用,加強了自己的動手能力和思維能力,還有在軟件方面的編程能力,也讓我受益匪淺。最后就是編寫程序調(diào)試了,本來還以為編程會很簡單的,等到
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1