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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于單片機(jī)音樂(lè)演奏系統(tǒng)設(shè)計(jì)或電子琴設(shè)計(jì)-資料下載頁(yè)

2025-11-22 01:24本頁(yè)面

【導(dǎo)讀】單片機(jī)存儲(chǔ)音樂(lè),控制播放,彈奏樂(lè)曲更為廣泛。它有功能多﹑價(jià)格優(yōu)﹑外圍電路簡(jiǎn)單。的經(jīng)濟(jì)投入范圍之內(nèi)。利用單片機(jī)發(fā)聲鍵盤操作直觀簡(jiǎn)單。對(duì)于初學(xué)者來(lái)說(shuō),是很容易。本設(shè)計(jì)為基于單片機(jī)的音樂(lè)演奏系統(tǒng),設(shè)計(jì)出一種不僅要使單片機(jī)可以播放音。樂(lè)關(guān)鍵在于還有能夠彈奏自己想彈奏的音樂(lè)。最終能夠?qū)崿F(xiàn)樂(lè)曲演奏和自動(dòng)播放音樂(lè),并且可以通過(guò)LED數(shù)碼管顯示音符和音

  

【正文】 合鍵,為此需要提供兩個(gè)可編程的雙向輸入 /輸出端口。 ( 3) 鍵碼產(chǎn)生 :為了從鍵的行列坐標(biāo)編碼得到反映鍵功能的鍵碼,可以通過(guò)軟件對(duì)行列進(jìn)行計(jì)算來(lái)實(shí)現(xiàn)。 沈陽(yáng)理工大學(xué)學(xué)士學(xué)位論文 21 顯示電路 74HC595 串入并出移位寄存器 74HC595 的介紹 74HC595 是硅結(jié)構(gòu)的 CMOS 器件, 兼容低電壓 TTL 電路,遵守 JEDEC 標(biāo)準(zhǔn)。74HC595 是具有 8 位 移位寄存器 和一個(gè)存儲(chǔ)器,三態(tài)輸出功能。 移位寄存器和存儲(chǔ)器是分別的時(shí)鐘。 數(shù)據(jù)在 SHcp 的上升沿輸入到移位寄存器中,在 STcp 的上升沿輸入到存儲(chǔ)寄存器中去。如果兩個(gè)時(shí)鐘連在一起,則移位寄存器總是比存儲(chǔ)寄存器早一個(gè)脈沖。 移位寄存器有一個(gè)串行移位輸入( Ds),和一個(gè)串行輸出( Q7’) ,和一個(gè)異步的低電平復(fù)位,存儲(chǔ)寄存器有一個(gè)并行 8 位的,具備三態(tài)的總線輸出,當(dāng)使能 OE 時(shí)(為低電平),存儲(chǔ)寄存器的 數(shù)據(jù)輸出到總線。 8 位串行輸入 /輸出或者并行輸出移位寄存器,具有高阻關(guān)斷狀態(tài)。三態(tài)。將串行輸入的 8 位數(shù)字,轉(zhuǎn)變?yōu)椴⑿休敵龅?8 位數(shù)字,例如控制一個(gè)8 位數(shù)碼管,將不會(huì)有閃爍 [7]。 特點(diǎn)及輸出能力 ( 1) 特點(diǎn) : 8 位串行輸入 /8 位串行或并行輸出 存儲(chǔ)狀態(tài)寄存器,三種狀態(tài) 輸出寄存器(三態(tài)輸出:就是具有高電平、低電平和高阻抗三種輸出狀態(tài)的門電路。)可以直接清除 100MHz 的移位頻率 ( 2) 輸出能力 : 并行輸出,總線驅(qū)動(dòng); 串行輸出;標(biāo)準(zhǔn)中等規(guī)模集成電路 595 移位寄存器有一個(gè)串行移位輸入( Ds), 和一個(gè)串行輸出( Q7’) ,和一個(gè)異步的低電平復(fù)位,存儲(chǔ)寄存器有一個(gè)并行 8 位的,具備三態(tài)的總線輸出,當(dāng)使能 OE 時(shí)(為低電平),存儲(chǔ)寄存器的數(shù)據(jù)輸出到總線。 ( 3) 引腳說(shuō)明: Q0…Q7 第 15 腳, 1, 7 并行數(shù)據(jù)輸出 GND 第 8 腳 地 Q7’ 第 9 腳 串行數(shù)據(jù)輸出 MR 第 10 腳 主復(fù)位(低電平) SHCP 第 11 腳 移位寄存器時(shí)鐘輸入 STCP 第 12 腳 存儲(chǔ)寄存器時(shí)鐘輸入 沈陽(yáng)理工大學(xué)學(xué)士學(xué)位論文 22 OE 第 13 腳 輸出有效(低電平) DS 第 14 腳 串行數(shù)據(jù)輸入 VCC 第 16 腳 電源 LED8 段數(shù)碼管 LED 數(shù)碼管實(shí)際上是由七個(gè)發(fā)光二極管組成 8 字形構(gòu)成的,加上小數(shù)點(diǎn)是 8 個(gè)。 如圖 所示 這些段分別由字母 a,b,c,d,e,f,g,dp 來(lái)表示。當(dāng)數(shù)碼管特定的段加上電壓后,這些特定的段就會(huì)發(fā)亮,以形成不同的數(shù)字樣了。如:顯示一個(gè) “3”字,那么應(yīng)當(dāng)是 a 亮 b亮 g 亮 c 亮 d 亮 e 不亮 f 不亮 dp 不亮。小尺寸數(shù)碼管的顯示常用一個(gè)發(fā)光二極管組成,而大尺寸的數(shù)碼管由二個(gè)或多個(gè)發(fā)光二極管組成,一般情況下,單個(gè)發(fā)光二極管的管壓降為 ,電流不超過(guò) 30mA。發(fā)光二極管的陽(yáng)極連接到一起連接到電源正極的稱為共陽(yáng)數(shù)碼管,發(fā)光二極管的陰極連接到一起連接到電源負(fù)極的稱為共陰數(shù)碼管 [8]。 agdefbcdpa7b6c4d2e1f9GND3GND8g10dp5 圖 LED7段數(shù)碼管 LED 數(shù)碼管的結(jié)構(gòu)和工作原理: led 數(shù)碼管( LED Segment Displays)是由多個(gè)發(fā)光二極管封裝在一起組成 “8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個(gè)筆劃,公共電極。 led 數(shù)碼管常用段數(shù)一般為 7 段有的另加一個(gè)小數(shù)點(diǎn) 。 位數(shù)有半位, 1, 2, 3, 4, 5, 6, 8, 10 位等等 ...., led 數(shù)碼管根據(jù) LED 的接法不同分為共陰和共陽(yáng)兩類,硬件電路有差異外,編程方法也是不同的。圖 2 是共陰和共陽(yáng)極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。顏色有紅,綠,藍(lán),黃等幾種。 led 數(shù)碼管廣泛用于儀表,時(shí)鐘,車站,家電等場(chǎng)合。選用時(shí)要注意產(chǎn)品尺寸顏色,功耗,亮度,波長(zhǎng)等。 LED 數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來(lái)驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我沈陽(yáng)理工大學(xué)學(xué)士學(xué)位論文 23 們要的數(shù)位,因此根據(jù) LED 數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。 靜態(tài)顯示驅(qū)動(dòng): 靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的 I/O 埠進(jìn)行驅(qū)動(dòng),或者使用如 BCD 碼二 十進(jìn)位 *器 *進(jìn) 行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用 I/O 埠多,如驅(qū)動(dòng) 5 個(gè)數(shù)碼管靜態(tài)顯示則需要 58=40 根 I/O 口來(lái)驅(qū)動(dòng),要知道一個(gè) 89S52 單片機(jī)可用的 I/O 口才 32 個(gè)呢。故實(shí)際應(yīng)用時(shí)必須增加驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬體電路的復(fù)雜性。 動(dòng)態(tài)顯示驅(qū)動(dòng):數(shù)碼管動(dòng)態(tài)顯示介面是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的 8 個(gè)顯示筆劃 a,b,c,d,e,f,g,dp 的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極 COM 增加位元選通控制電路,位元選通由各自獨(dú)立的 I/O 線控制,當(dāng)單片機(jī)輸出 字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位元選通 COM 端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開(kāi),該位元就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。 透過(guò)分時(shí)輪流控制各個(gè) LED 數(shù)碼管的 COM 端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過(guò)程中,每位元數(shù)碼管的點(diǎn)亮?xí)r間為 1~ 2ms,由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極體的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示資料,不會(huì)有閃爍感,動(dòng)態(tài)顯 示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的 I/O 口,而且功耗更低。 顯示電路 本設(shè)計(jì)的顯示電路由兩個(gè) 74HC595 串入并出移位寄存器和 4 位 8 段 LED 數(shù)碼管共同組成。 為了節(jié)省 I/O 接口,本設(shè)計(jì)加入了 2 個(gè) 74HC595 移位寄存器,如圖 一個(gè)是控制位選一個(gè)是控制段選。位選是選擇用哪個(gè) LED 燈,段選是顯示亮的數(shù)字。 工作時(shí),信號(hào)由單片機(jī) , , 輸入寄存器。信號(hào)在寄存器中鎖存之后一起并行輸出給 LED 數(shù)碼管。如圖 所示 沈陽(yáng)理工大學(xué)學(xué)士學(xué)位論文 24 圖 74HC595 沈陽(yáng)理工大學(xué)學(xué)士學(xué)位論文 25 5 系統(tǒng)軟件設(shè)計(jì) 軟件開(kāi)發(fā)環(huán)境 keil uvision 介紹 Keil uvision 是 德國(guó) Keil Software 公司生產(chǎn)的 51 系列兼容 單片機(jī) C 語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),使用接近于傳統(tǒng) C 語(yǔ)言 的語(yǔ)法來(lái)開(kāi)發(fā),和 匯編 語(yǔ)言 相比, C 語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而容易掌握 ,而且很大的提高了工作效率和項(xiàng)目開(kāi)發(fā)周期,它還能嵌入?yún)R編,也可以在關(guān)鍵的位置嵌入,使程序達(dá)到接近于匯編的工作效率。 KEILC51 標(biāo)準(zhǔn) C 編譯器為 8051 微控制器的軟件開(kāi)發(fā)提供了 C 語(yǔ)言環(huán)境 ,同時(shí)保留了匯編代碼高效 ,快速的特點(diǎn)。 C51 編譯器的功能不斷增強(qiáng), 使你可以更加貼近 CPU本身,及其它的衍生產(chǎn)品。 C51 已被完全集成到 keil uvision 的集成開(kāi)發(fā)環(huán)境中,此集成開(kāi)發(fā)環(huán)境包含:編譯器,匯編器,實(shí)時(shí)操作系統(tǒng),項(xiàng)目管理器,調(diào)試器。 uvision IDE 可為它們提供單一而靈活的開(kāi)發(fā)環(huán)境。 本設(shè)計(jì)使用的是 keil uvision3 軟件來(lái)編程 。 keil uvision 的功能特點(diǎn) Keil C51 軟件提供豐富的 庫(kù)函數(shù) 和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全 Windows界面,用戶能輕松的學(xué)會(huì)并使用 keil C51 來(lái)開(kāi)發(fā)單片機(jī)應(yīng)用程序。 操作簡(jiǎn)單,只要看一下編譯后生成的匯編代碼,就能感受到 Keil C51 生成的目標(biāo)代碼效率高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì) [9]。 沈陽(yáng)理工大學(xué)學(xué)士學(xué)位論文 26 流程圖 主程序流程圖: 圖 主流程圖 開(kāi)始 初始化 演奏與播放轉(zhuǎn)換 CHANGE=1? 獲取按鍵值 音樂(lè)彈奏 音樂(lè)自動(dòng)演奏 設(shè)置 TO 和 T1啟動(dòng) 否 是 沈陽(yáng)理工大學(xué)學(xué)士學(xué)位論文 27 子流程圖 : 圖 子流程圖 揚(yáng)聲器發(fā)聲原理 單片機(jī)產(chǎn)生不同 頻率脈沖信號(hào)的原理 要產(chǎn)生音頻脈沖,只要算出某一音頻的脈沖( 1/頻率),然后將此周期除以 2,即為半周期的時(shí)間,利用定時(shí)器計(jì)時(shí)這個(gè)半周期的時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的I/O 反相,然后重復(fù)計(jì)時(shí)此半周期的時(shí)間再對(duì) I/O 反相,就可以在 I/O 腳上得到此頻率的脈沖。 利用 8051 的內(nèi)部定時(shí)器使其工作在計(jì)數(shù)器模式 MODE1 下,改變計(jì)數(shù)值 TH0及 TL0 以產(chǎn)生不同頻率的方法如下: 例如,頻率為 523Hz,其周期 523 HZ=1912uS,因此只要令計(jì)數(shù)器計(jì)時(shí)956uS/1us=956,在每計(jì)數(shù) 956 次時(shí)就將 I/O 反接 ,就可得到中音 DO( 532Hz)。 計(jì)數(shù)脈沖值與頻率的關(guān)系公式如下: N=Fi/2/Fr ( N:計(jì)數(shù)值, Fi:內(nèi)部計(jì)時(shí)一次為 1uS,故其頻率為 1MHz, Fr:要產(chǎn)生的頻率 ) 重設(shè)定時(shí)器 重設(shè)定時(shí)器 反相產(chǎn)生輸出脈沖 對(duì)按鍵進(jìn)行去抖等操作 結(jié)束 結(jié)束 定時(shí)器 T0服務(wù)子程序 定時(shí)器 T1 服務(wù)子程序 沈陽(yáng)理工大學(xué)學(xué)士學(xué)位論文 28 其計(jì)數(shù)值的求法如下: T=65536N=65536Fi/2/Fr 單片機(jī)產(chǎn)生不同音調(diào)的程序設(shè)計(jì) 對(duì)單片機(jī)內(nèi)部 T0 定時(shí) \計(jì)數(shù)器設(shè)置中斷,通過(guò)對(duì)數(shù)組查詢的方式經(jīng)過(guò) 口對(duì)音頻放大器發(fā)送信號(hào),產(chǎn)生不同頻率的脈沖,實(shí)現(xiàn)揚(yáng)聲器音樂(lè)演奏。程序設(shè)計(jì)如下: 根據(jù)不同的音調(diào)頻率設(shè)置不同的 T0 計(jì)數(shù)器計(jì)數(shù)的次數(shù) //以下是 C 調(diào) 低音的音頻宏定義 define L1 262 //將 “l(fā)_dao”宏定義為低音 “1”的頻率 262Hz define L2 286 //將 “l(fā)_re”宏定義為低音 “2”的頻率 286Hz define L3 311 //將 “l(fā)_mi”宏定義為低音 “3”的頻率 311Hz define L4 349 //將 “l(fā)_fa”宏定義為低音 “4”的頻率 349Hz define L5 392 //將 “l(fā)_sao”宏定義為低音 “5”的頻率 392Hz define L6 440 //將 “l(fā)_a”宏定義為低音 “6”的頻率 440Hz define L7 494 //將 “l(fā)_xi”宏定義為低音 “7”的頻率 494Hz //以下是 C 調(diào)中音的音頻宏定義 define M1 523 //將 “dao”宏定義為中音 “1”的頻率 523Hz define M2 587 //將 “re”宏定義為中音 “2”的頻率 587Hz define M3 659 //將 “mi”宏定義為中音 “3”的頻率 659Hz define M4 698 //將 “fa”宏定義 為中音 “4”的頻率 698Hz define M5 784 //將 “sao”宏定義為中音 “5”的頻率 784Hz define M6 880 //將 “l(fā)a”宏定義為中音 “6”的頻率 880Hz define M7 987 //將 “xi”宏定義為中音 “7”的頻率 523H //以下是 C 調(diào)高音的音頻宏定義 define H1 1046 //將 “h_dao”宏定義為高音 “1”的頻率 1046Hz define H2 1174 //將 “h_re”宏定義為高音 “2”的頻率 1174Hz define H3 1318 //將 “h_mi”宏定義為高音 “3”的頻率 1318Hz define H4 1396 //將 “h_fa”宏定義為高音 “4”的頻率 1396Hz define H5 1567 //將 “h_sao”宏定義為高音 “5”的頻率 1567Hz define H6 1760 //將 “h_la”宏定義為高音 “6”的頻率 1760Hz 沈陽(yáng)理工大學(xué)學(xué)士學(xué)位論文 29 define H7 1975 //將 “h_xi”宏定義為高音 “7”的頻率 1975Hz 設(shè)置查詢音樂(lè)演奏的數(shù)組 Uint code music[18] = {10,M1,M2,M3,M4,M5
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1