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

正文內容

基于單片機的電子琴系統(tǒng)設計_畢業(yè)設計(參考版)

2025-07-05 17:20本頁面
  

【正文】 Oxf0)!=Oxf0); TR0 = 0; } else { while (FY==1) { if (Song[k][Tone_Index]==1) 青島理工大學畢業(yè)設計 38 Tone_Index=0; STH0= (tab[Song[k] [Tone_Index]])/256; STL0=(tab[Song[k][Tone Index]])%256; P2=DSY_CODE[Song[k][Tone_Index]]; TR0 = 1; delay1 (300*Len[k][Tone_Index]); Tone_Index++; TR0 = 0; } } } } } } 青島理工大學畢業(yè)設計 39 青島理工大學畢業(yè)設計 40 附錄 Ⅱ 英文文獻 Microcontrollers are used in a multitude of mercial applications such as modems, motorcontrol systems, air conditioner control systems, automotive engine and among others. The high processing speed and enhanced peripheral set of these microcontrollers make them suitable for such highspeed eventbased , these critical application domains also require that these microcontrollers are highly reliable. The high reliability and low market risks can be ensured by a robust testing process and a proper tools environment for the validation of these microcontrollers both at the ponent and at the system level. Intel Plaform Enginee。Oxf0) !=Oxf0) //若有鍵按下 { delay( ); //延時去抖動 if ((P0amp。 } else scancode = (scancode〈〈 l)|Ox01。Oxf0)|Ox0f。Oxl0) !=0) //逐行掃描 { P0 = scancode; //輸出行掃描 if ((P0amp。 while(ms——) for (t=0; t120; t++); } /*鍵消抖延時函數(shù) */ void delay(void) { uchar i; for (i=300; i0; i——); } /*鍵掃描函數(shù) */ uchar getkey(void) { uchar scancode, tmpcode; if ((P0amp。感謝那些同做 畢業(yè)設計的戰(zhàn)友,那段光輝歲月不管成敗,友情最可貴。身邊的同學和朋友,有你們,我的大學才算完整。不會忘記,大學四年里我們一起度過的歡樂時光,那些開心的日子,總是那么令人難以忘懷。 第三,感謝我的父母親,你們是我力量的源泉,只要有你們,不管面對什么 樣的困難,我都不會害怕,謝謝你們對我的支持與鼓勵! 再次,感謝我的室友及其他好友,因為有你們的幫助,我的論文得以順利完 成。不僅使我樹立了遠大的學術目標、掌握了基本的研究方法,還使我明白了許多 待人接物與為人處世的道理。從開始選題到中期修正,再到最終定稿,老師給我提供了許多寶貴建議。我要在這里對他們表示深深的謝 意 ! 首先,要特別感謝我的指導老師劉鳴濤老師。還可以做得更加娛樂一點,增 加一些彩 燈使彩燈隨著音調變化而產生不同的樣 式。本次設計,軟件部分用到了 Proteus 進行硬件設計,用 keil進行程系編譯。這個設計題目 并不是新的,但從中能體現(xiàn)到一個系統(tǒng)開 發(fā)設計的過程,足于讓我們受益。說明一首音樂是許多不同的音階組成的,而每個音階對應著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構成我們所想要的音樂了,于是我們可以利用單片機的定時 /計數(shù)器 T0 來產生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應頻率關系弄正確即可,然后我們利用功放電路來將音樂 聲音放大,同時通過顯示模塊來確知自己所彈的音符。本課題通過制作電子琴,將幾個模塊很好的融合起來,對使用單片機設計簡易電子琴進行了分析,并介紹了基于單片機電子琴統(tǒng)硬件組成。 5. 點擊面板左下角的黑色三角開始調試。 利用 keil 與 Proteus 進行的調試 用步驟: 1. 打開 keil,建立工程,輸 入程序。運行 Keil 軟件需要Pentium 或以上的 CPU, 16MB 或更多 RAM、 20M 以上空閑的硬盤空間、 WIN9NT、 WIN20xx、 WINXP 等操作系統(tǒng)。機器匯編是通過匯編軟件將源程序變?yōu)闄C器 碼,用于 MCS51 單片機的匯編軟件有早期的 A51,隨著單片機開發(fā)技術的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展, Keil軟件是目前最流行開發(fā) MCS51 系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全而支持 Keil 即可看出??傊撥浖且豢罴瘑纹瑱C和 SPICE分析于一身的仿真軟件,功能極其強大,可仿真 5 AVR、 PIC。 ( 3)目前支持的單片機類型有: 68000 系列、 8051 系列、 AVR 系列、 PIC12系列、 PIC16 系列、 PIC18 系列、 Z80 系列、 HC11 系列以及各種外圍芯片。 該軟件的特點: ( 1)全部滿足我們提出的單片機軟件仿真系統(tǒng)的標準,并在同類產品中具有明顯的優(yōu)勢。相信如 果有更多的時間來進行調試和設計,這個設計會更加好。 青島理工大學畢業(yè)設計 20 圖 42 音頻播放流程圖 放歌子程序流程圖 圖 43 放歌子程序流程圖 青島理工大學畢業(yè)設計 21 該程序實現(xiàn)的是單 首 曲 目 循環(huán)播放,無法在程序內部實現(xiàn)歌曲的切換。在這個程序中用到了兩個定時 /計數(shù)器來完成的。2247。2247。fr 例如 :設 K=65536, fi =1MHz,求低音 DO (261Hz)、中音 D0 (523Hz)、 高音 DO (1046Hz)的計數(shù)值。 其計數(shù)初值 T 的求法如下: T=65536—N=65536—fi247。2247。 利用 AT89C51 的內部定時器使其工作計數(shù)器模式( M0DE1)下,改變計數(shù)值TH0 及 TL0 以產生不同頻率的方法產生不同音階,例如,頻率為 523Hz,其周期 T= 1/523= 1912μ s, 因此只要令計數(shù)器計時 956μ s/lμ s=956, 每計數(shù) 956 次時將 I/O 反相,就可得到中音 DO (523Hz)。利用定時器計時半周期時間,每當計時終止后就將 反相,然后重復計時再反相。 音樂播放設計 一首音樂是許多不同的音階組成的,而每個音階對應著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構成我們所想要的音樂了, 當 然對于單片機來產生不同的頻率非常方便,我們可以利用單片機的定時 /計數(shù)器 T0 來產生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應頻率關系青島理工大學畢業(yè)設計 18 弄正確即可。 I/O 并行口直接驅動 LED 顯示 把“ AT89C51”區(qū)域中的 —P2. 7/A15 端口用 8 芯排線連接到一位數(shù)碼管的 a—h 端口上要求 : , P2. 1/A9 與 b 相連, P2. 2/A10 與 c 相連 ?? P2. 7/A15 與 h 相連。在播放內置音樂時,指示燈在一定程度上能指示出曲目的音符。在輪流顯示過程中,每位數(shù)碼管的點亮時間為 1? 2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應,盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據,不會有閃爍感,動態(tài)顯示的效 果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的 I/O 端口,而且功耗更低。 (2) 動態(tài)顯示驅動:數(shù)碼管動態(tài)顯示接口是單片機中應用最為廣泛的一種顯 示方式之一,動態(tài)驅動是將所有數(shù)碼管的 8 個顯示筆劃 a, b, c, d, e, f, g, dp的同 名端連在一起,另外為每個數(shù)碼管的公共極 COM 增加位選通控制電路,位選通由各自獨立的 I/O 線控制, 當 單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通 COM 端電青島理工大學畢業(yè)設計 14 路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。靜態(tài)驅動是指每個數(shù)碼管的每一個段碼都由一個單片機的 I/O 端口進行驅動,或者使用如 BCD 碼二 —十進制譯碼器譯碼進行驅動。 如 圖 32 所示: 青島理工大學畢業(yè)設計 13 圖 32 7 段數(shù)碼管 數(shù)碼管的驅動方式 數(shù)碼管要正常顯示,就要用驅動電路來驅動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)字,因此根據數(shù)碼管的驅動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。共陰 極 數(shù)碼管在應用時應將公共極 COM 接到地線GND 上,當某一字段發(fā)光二極管的陽極為高電平時,相應字段就點亮。當某一字段的陰極為高電平時,相應字段就不亮。共陽 極 數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。 用 AT89C51 的并行口 P0 接 4 4 矩陣鍵盤,以 P0. 0—P0. 3 作輸入線,以P0. 4 一 P0. 7 作輸出線;在數(shù)碼管上顯示每個按鍵的“ 0—F”序號。線反轉法的基本思想是通過行列顛倒 兩 次掃描來識別閉合鍵,為此需要提供 兩 個可編程的雙向輸 入 /輸出端口。常用的方法有行掃描法 和線反轉法兩種。 N 鍵輪回,是 當 檢測到有多個鍵被按下時, 能根據發(fā)現(xiàn)它們的順序依次產生相應鍵的鍵碼。常用的方法有雙鍵鎖定和 N 鍵輪回兩種方法。去抖問題可通過軟件延時或硬件電路解決。抖動的持續(xù)時間與鍵的質量相關,一般為 5—20mm。若 某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。其方法是 依次將行線置為低電平,即在置某根行線為低電平時,其它線為高電平。若所有列線均為高電平,則鍵盤中無鍵按下。 ( 1)判斷鍵盤中有無鍵按下將全部行線置低電平,然后檢測列線的狀態(tài)。 矩陣式鍵盤的按鍵識別方法 確定矩陣式鍵盤上何鍵被按下介紹一種“行掃描法”。行線輸出是低電平,一旦有鍵按下,則輸入線就會被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否有鍵按下了。 矩陣式結構的鍵盤顯然比直接法要復雜一些,識別也要復雜一些 ,列線通過電阻接正電源,并將行線所接的單片機的 I/O 口作為輸出端,而列線所接的 I/O口則作為輸入。這樣,一個端口(如 P1 口)就可以構成 4 4=16 個按鍵,比青島理工大學畢業(yè)設計 11 之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構成 20 鍵的鍵盤,而直接 用 端口線則只能多出一鍵( 9 鍵)。 矩陣式鍵盤的識別和顯示 矩陣式鍵盤的結構與工作原理 在鍵盤 中按鍵數(shù)量較多時,為了減少 I/O 口的占用,通常將按鍵排列成矩陣 形式。但 RAM 定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。 此外, AT89C51 設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。 芯片擦除 整個 PER0M 陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持 ALE 管腳處于低電平 10ms 來完成。如采用外部時鐘源驅動器件,XTAL2 應不接。該反向放大器可以配置為片內振蕩器。 XTAL2:來自反向振蕩器的輸出。在 FLASH 編程期間,此引腳也用于施加 12V 編程電源 (VPP)。注意加密方式 1 時, /EA 將內部鎖定為 RESET。但在訪問外部數(shù)據存儲器時,這兩次有效的 /PSEN信號將不出現(xiàn)。 /PSEN:外部程序存儲器的選通信號。另外,該引腳被略微拉高。如想禁止 ALE 的輸出可在 SFR8EH 地址上 置 0。因此它可用作對外部輸出的脈沖或用于定時目的。在 FLASH 編程期間,此引腳用于輸入編程脈沖。當振蕩器復位器件時,要保持 RST 腳兩個機器周期的高電平時間。 P3 口也可作為 AT89C51 的一些特殊功能口如下所示: P3 口管腳備選功能: RXD (串行輸入口 ) P3. 1 TXD (串行輸出口) /INTO (外部中斷 0) /INT1 (外部中斷 1) T0 (記時器 0 外部輸入) T1 (記時器 1 外部輸入) /WR (外部數(shù)據存儲器寫選通) /RD (外部數(shù)據存儲器讀選
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1