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

正文內(nèi)容

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

2023-07-12 18:50:17 本頁(yè)面
 

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