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

正文內(nèi)容

畢業(yè)設(shè)計-基于單片機(jī)at89c51的簡易電子琴系統(tǒng)(文件)

2024-12-25 19:05 上一頁面

下一頁面
 

【正文】 demand songs two functions. Key word : Simple flower MCU Matrix keyboard Timer 8 緒論 課題背景 單片機(jī)自 1976 年由 Intel 公司推出 MCS48 開始,迄今已有二十多年了。單片機(jī)的中央處理器( CPU)和通用微處理器基本相同,只是增設(shè)了“面向控制”的處理功能。 單片微型計算機(jī)自從問世以來,作為微型計算機(jī)一個很重要的分支,應(yīng)用廣泛,發(fā)展迅速,尤其是美國 Intel 公司生產(chǎn)的 MCS51 系列單片機(jī),由于其具有集成度高,處理功能強,可靠性高,系統(tǒng)結(jié)構(gòu)簡單,價格低廉等優(yōu)點,在智能儀器儀表、工業(yè)檢測控制、機(jī)電一體化等方面取得了令人矚目的成就。這些廠家生產(chǎn)的芯片是 MCS51系列的兼容產(chǎn)品,準(zhǔn)確地說是與 MCS51 指令系統(tǒng)兼容的單片機(jī)。它們的引腳及指令系統(tǒng)相互兼容,主要在內(nèi)部結(jié)構(gòu)上有些區(qū)別。其次,定時器按 設(shè)置的定時參數(shù)產(chǎn)生中斷,這一次中斷發(fā)出脈沖低電平,下一次反轉(zhuǎn)發(fā)出脈沖高電平,由于定時參數(shù)不同,就發(fā)出不同頻率的脈沖,本設(shè)計中按鍵一次,會發(fā)出 50 個脈沖,松開后隨之延時 10 個脈沖,但在延時的 10 個脈沖期間繼續(xù)檢測鍵盤,若此時又有鍵被按下,若被按下的仍為原鍵則聲音不變,否則鍵盤會譯出被按下的另一個鍵的音調(diào)。 本次設(shè)計是以單片機(jī)為基礎(chǔ) ,在論文中大概講述了一下單片機(jī)的原理。 按鍵部分的設(shè)計:在本電路的按鍵接口設(shè)計,考慮到按鍵數(shù)量比較多,為 了節(jié)省 I/O 口資源,采用矩陣式鍵盤。 10 系統(tǒng)方案設(shè)計及主控芯片介紹 按照系統(tǒng)的設(shè)計功能要求,初步確定設(shè)計系統(tǒng)由主控模塊、發(fā)聲模塊,顯示模塊,鍵盤接口模塊 4個部分組 成,電路系統(tǒng)構(gòu)成圖 所示。 該簡易電子琴通過控制單片機(jī)內(nèi)部的定時器 T0 來產(chǎn)生不同頻率的方波 ,驅(qū)動喇叭發(fā)出不同音節(jié)的聲音 .再利用延遲來控制發(fā)音時間的長短 ,即可控制音調(diào)中的節(jié)拍 .把樂譜中的音符對應(yīng)的頻率轉(zhuǎn)換為定時常數(shù) ,把相應(yīng)的節(jié)拍變換為定時常數(shù) ,然后作成表格存放在儲存器中 ,由程序查表得到定時常數(shù)和延時常數(shù) ,分別用以控制定時器產(chǎn)生方波的頻率和該頻率方波的持續(xù)時間 .當(dāng)延遲常數(shù)到時 ,再查下一個音符的定時常數(shù)和延遲常數(shù) .依次進(jìn)行下去 ,就可演奏悅耳動聽的音樂。主要性能特點有: ● 8KB Flash ROM,可以擦除 1000 次以上。 圖 89C51 單片機(jī)的引腳圖 ● VCC( 40 腳):接電源 +5V。 ● ALE/PROG( 30 腳):地址鎖存信號輸出端 /EPROM 編程脈沖輸入端。當(dāng)振蕩器運行時,在此引腳上出現(xiàn)兩個機(jī)器周期以上的高電平,將使單片機(jī)復(fù)位。當(dāng) EA端保持高電平 時,不管是否有內(nèi)部程序存儲器,只訪問外部程序存儲器。P0口可以驅(qū)動 8個 LSTTL P1輸入。他是個多用途口。運算器主要用于實現(xiàn)算術(shù) /邏輯運算及位操作運算。下面分別介紹程序存儲器和數(shù)據(jù)存儲器。片內(nèi) 256 KB RAM 按其功能劃分兩部分 :低 128B 位片內(nèi)數(shù)據(jù) RAM 區(qū) ,地址空間為 00H~7FH。用戶 RAM區(qū)。 ② 程序計數(shù)器 PC是一個 16位的計數(shù)器。 圖 程序狀態(tài)字 PSW CY( ): 進(jìn)位標(biāo)志位。在十進(jìn)制調(diào)整指令中 AC還作為十進(jìn)制調(diào)整的判別位。 P( ):奇偶標(biāo)志位。 RS1()、 RS0():工作寄存器區(qū)選擇位。 ⑶ 工作寄存器 MCS51 有 32個工作寄存器,分為四個區(qū)(或組)每個區(qū)為 8 個寄存器 R0、R R R R R R R7,每一時刻只有一個區(qū)工作。其中 R0、 R1 寄存器除做工作寄存器外還常做間址尋址的地址指針 ⑷單片機(jī)的輸入 /輸出端口 C51 中有 4 個8位并行輸入 /輸出端口記為 P0、 P P P3 共 32 根線。 P0 口作為普通 I/O 口使用 : 當(dāng)控制線 C=0 時 , MUX 開關(guān)向 下 , P0口作通用 I/O 口。 P1 口的驅(qū)動部分與 P0 口不同 ,內(nèi)部有上拉電阻。 ● P3 口也是一個 8 位準(zhǔn)雙向 I/O口,不但可以作通用 I/O 口使用,還具有第二功能。 C C2對頻率有微調(diào)作用,晶體或陶瓷諧振器的頻率范圍可在 ~12MHz 之間選擇。這種方式適用于多塊芯片同時工作,便于同步。其圖 就是本次設(shè)計中時鐘信號產(chǎn)生的外部電路圖。簡單復(fù)位電路有上電復(fù)位和手動復(fù)位。 80C51 系列帶總線的單片微機(jī)芯片引腳可以構(gòu)成圖 8- 1 所示的 三總線結(jié)構(gòu).即地址總線( AB)數(shù)據(jù)總線( DB)和控制總線( CB)。故 P0 口輸出的低 8 位地址 A0~ A7 必須用鎖存器鎖存。由于地址總線寬度為 16位,故可尋址范圍為 64 KB。 16 數(shù)據(jù)總線是并連到多個連接的外圍芯片的數(shù)據(jù)線上,而在同一時間里只能夠有一個是有效的數(shù)據(jù)傳送通道。它們可分為 2個優(yōu)先級.其中每一個中斷源的優(yōu)先級都可以由程序排定。 EA=0.禁止一切中 斷。 ET2= 0,禁止定時器 2 中斷。 ET1= 0,禁止定時器 1中斷。 ET0= 0,禁止定時器 0中斷。 其中: (1)一 ()保留位。 (4PS()串行口中斷優(yōu)先級設(shè)定位。 PXl= 1,設(shè)定為高優(yōu)先級。 PX0= 1,設(shè)定為高優(yōu)先級。其中一個觸發(fā)器指示某高優(yōu)先級的中斷正在得到服務(wù),所有后來的中斷都被阻斷。在下一機(jī)器周期的 S1 狀態(tài),只要不受阻斷就開始響應(yīng)其中最高優(yōu)先級的中斷請求。 當(dāng)某中斷源提出中斷請求后,作為應(yīng)答, CPU 首先使相應(yīng)的“優(yōu)先級激活”觸發(fā)器置位,以阻斷同級和低級的中斷。 RETI 指令將清除”優(yōu)先級激活”觸發(fā)器 (該觸發(fā)器在響應(yīng)中斷時被置位 )。若 ITX= 0(X 為 0 18 或 l,后文中用到類同的符號,其含意相似 ),則 采用電平激活方式:在 INTx 引腳上檢測到低電平,將觸發(fā)外部中斷。 如果采用電平激活外部中斷方式,外部中斷源應(yīng)一直保持中斷請求有效.直至所請求的中斷得到響應(yīng)時為止。 對于電平激活的外部中斷,由于在硬件上, CPU 對 0INT 和 1INT 引腳的信號完全沒有控制 (在專用寄存器中,沒有相應(yīng)的中斷請求標(biāo)志 ),也不像某些微處理機(jī)那樣.響應(yīng)中斷后會自動發(fā)出一個應(yīng)答信號。在每個機(jī)器周期的 S5P2,0INT 和 1INT 端的電平被鎖到內(nèi)部保持寄存器中,而實際上在下一個周期才會查詢這些值。 如果發(fā)生了第 3 節(jié)所述的 3 種情況之一,那么中斷請求受阻,中斷響應(yīng)時間會更長些。若系統(tǒng)中只有一個中斷源,則 響應(yīng)時間在 3個同期到 8 個周期之間。打鈴一定時間,標(biāo)志位置 0, 輸出低電平,三極管打開,蜂鳴器停止工作。樂曲中,每一音符對應(yīng)著確定的頻率,表 1給出 C 調(diào)時各音符頻率及其相應(yīng)的時間常數(shù)。音符的節(jié)拍我們可以用定時器T0 來控制,送入不同的初值,就可以產(chǎn)生不同的定時時間。我們可以用 T0 來產(chǎn)生 10 毫秒的時間基準(zhǔn),然后設(shè)置一個中斷計數(shù)器,通過判別中斷計數(shù)器的值來控制節(jié)拍時間的長短。此外,結(jié)束符和體止符可以分別用代碼 00H和 FFH 來表示,若查表結(jié)果為 00H,則表示曲子終了;若查表結(jié)果為 FFH,則產(chǎn)生相應(yīng)的停頓效果。 數(shù)碼管是由 8 個發(fā)光二極管構(gòu)成的顯示器件。每個二極管就是一個筆劃,若干個二極管發(fā)光時,就構(gòu)成了一個顯示字符。 22 數(shù)碼管顯示器有兩種工作方式,即靜態(tài)顯示方式和動態(tài)顯示方式。 動態(tài)顯示方式的每位數(shù)碼管都需要 一個數(shù)據(jù)鎖存器,因此,其硬件電路比較復(fù)雜。每只數(shù)碼管的共陰極則與另一 I/O 口相連,控制被點亮的位。 由于選用的是 7段譯碼器,因此沒有用到數(shù)碼管的 h 段,不能在數(shù)碼管中顯示小數(shù)點。通過變壓器變壓, 再 通過橋式整流,電容的濾波作用,穩(wěn)壓器的穩(wěn)壓作用,可輸出 5V 的穩(wěn)定電壓。然后,設(shè)計硬件電路。 。抖動過程引起電平信號的波動,有可能令 CPU 誤解為多次按鍵操作,從而引起誤處理。通常采用軟件延時的方法:在第一次檢測到有鍵按下時,執(zhí)行一段延時 10ms 的子程 序后,再確認(rèn)電平是否仍保持閉合狀態(tài)電平,如果保持閉合狀態(tài)電平,則確認(rèn)真正有鍵按下,進(jìn)行相應(yīng)處理工作,消除了抖動的影響。通常采取的策略:單鍵按下有效,多鍵同時按下無效。否則的話,鍵功能程序的執(zhí)行次數(shù)將是不可預(yù)知,由按 鍵時間決定。 CPU 忙于各項任務(wù)時,如何兼顧鍵盤的輸入,取決于鍵盤的工作方式。 四、鍵盤電路結(jié)構(gòu) 矩陣式鍵盤接口設(shè)計 : 矩陣式鍵盤適用于按鍵數(shù)量較多的場合,由行線 和列線組成,按鍵位于行列的交叉點上。列線電平為低,則行線電平為低;列線電平為高,則行線電平為高。每個按鍵的狀態(tài)同樣需變成數(shù)字量 “0” 和 “1” ,開關(guān)的一端(列線)通過電阻接 VCC,而接地是通過程序輸出數(shù)字 “0” 實現(xiàn)的。R5 存節(jié)拍 數(shù) RET 節(jié)拍與節(jié)拍碼對照表 : 節(jié)拍碼 節(jié)拍數(shù) (拍 ) 節(jié)拍碼 節(jié)拍數(shù) (拍 ) 1 1/4 1 1/8 2 2/4 2 1/4 3 3/4 3 3/8 4 1 4 4 1/2 5 1 又 1/4 5 5/8 6 1 又 1/2 6 3/4 8 2 8 1 A 2 又 1/2 A 1 又 1/4 C 3 C C 1 又 1/2 F 3 又 1/2 F 1 又 3/4 各調(diào)值 1/4 節(jié)拍的時間設(shè)定 各調(diào)值 1/8 節(jié)拍的時間設(shè)定 曲調(diào)值 DELAY 6MHZ(H) 曲調(diào)值 DELAY 6MHZ(H) 調(diào) 4/4 125 亳秒 3E 調(diào) 4/4 62 亳秒 1F 3/4 187 5D 3/4 94 2F 2/4 250 7D 2/4 125 。兩個并行口中,一個輸出掃描碼,使按鍵逐行動態(tài)接地,另一個并行口輸入按鍵狀態(tài),由行掃描值和回饋信號共同形成鍵編碼而識別按鍵,通過軟件查表,查出該鍵的功能。對應(yīng)的按鍵的序號排列如圖所示 按鍵的序號排列圖 25 硬件電路原理圖 1. 44 矩陣鍵盤識別處理 2. 每個按鍵有它的行值和列值 ,行值和列值的組合就是識別這個按鍵的編碼。矩陣鍵盤工作原理:行線通過上拉電阻接到 +5V 上。鍵盤的工作方式選取的原則是:既要保證能及時響應(yīng)按鍵的操作,又不過多的占用 CPU的工作時間。連擊對于用計數(shù)法設(shè)計的多功能鍵特別有效。連擊:是一次按鍵產(chǎn)生多次擊鍵的效果。) 。按鍵的消抖,通常有軟件,硬件兩種消除方法這種方法只適用于鍵的數(shù)目較少的情況。鍵盤按鍵所用開關(guān)為機(jī)械彈性開關(guān),利用了機(jī)械觸點的合、斷作用 。 本設(shè)計中采用的是編碼矩陣式鍵盤 。 23 3. 4 鍵盤設(shè)計 首先,確定鍵盤編碼方案:采用。 本設(shè)計數(shù)碼管采用了共陽極的工作方式,沒有時間顯示的功能。為了每位數(shù)碼管能夠充分被點亮,二極管應(yīng)持續(xù)發(fā)光一段時間。選擇動態(tài)顯示方式,可以使耗電量更小。要在某一位數(shù)碼管上顯示字符時,只要從對應(yīng)的 I/O 口輸出并鎖存其顯示代碼即可。例如:當(dāng)I/O 口控制芯片輸出的代碼是 00111111 時,數(shù)碼管顯示的字符為 0。本文用到的數(shù)碼管均是共陰極的。 電路圖如下: 21 將某一首音樂的簡譜變換成為常數(shù)表 ,計算機(jī)順序調(diào)入時間常數(shù)并以中斷方式執(zhí)行 ,從 來輸出方波驅(qū)動喇叭 ,發(fā)出不同音節(jié)的聲音 ,節(jié)拍的控制可通過調(diào)用 200Ms 延時子程序的次數(shù)來實現(xiàn) .單片機(jī)的晶振頻率為 12M Hz,樂譜中的音符 ,頻率及定時常數(shù)的關(guān)系 :T0=2^161/2f*ti; 其中 f 為音符對應(yīng)的頻率 。例如對 1/4 拍音符,定時時間為 秒,相應(yīng)的時間常數(shù)為 16(即 10H);對 3拍音符,定時時間為 秒,相應(yīng)時間長數(shù)為 192(即C0H
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1