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

正文內(nèi)容

畢業(yè)論文-基于stc89c52單片機(jī)的智能音樂(lè)演奏器設(shè)計(jì)【終稿】(編輯修改稿)

2025-09-16 19:12 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 檢測(cè)) MOSI(在系統(tǒng)編程用) 智能音樂(lè)演奏器設(shè)計(jì)10 MISO(在系統(tǒng)編程用) SCK(在系統(tǒng)編程用) P2 口:功能同 P1 口。P3 口:P3 口的驅(qū)動(dòng)能力和其他口一樣。不同之處是 P3 口也能成為 89C52的特殊功能(復(fù)用第二功能)來(lái)使用,如下表所示。P3 口含有單片機(jī)的特殊功能,如燒錄及中斷。描述如表 1 所示:表 1 P3 口引腳功能表RST:復(fù)位輸入。 XTAL1:振蕩時(shí)鐘輸入端。 XTAL2:振蕩時(shí)鐘輸入端。 單片機(jī)最小系統(tǒng)設(shè)計(jì)單片機(jī)最小的組成單位是由復(fù)位電路、電源電路、時(shí)鐘電路所組成的。而時(shí)鐘信號(hào)是單片機(jī)運(yùn)行的基礎(chǔ)。時(shí)鐘相當(dāng)于是整個(gè)系統(tǒng)運(yùn)行的時(shí)間準(zhǔn)則,只有當(dāng)時(shí)間安排精準(zhǔn),程序才能有條不絮的運(yùn)行,才能各司其職。復(fù)位操作使它內(nèi)部所有程序全部重新開始。當(dāng)單片機(jī)的復(fù)位引腳檢測(cè)到 2 個(gè)機(jī)器周期(1us 左右)以上的高電平以后,單片機(jī)就會(huì)執(zhí)行復(fù)位操作。STC89C52 的最小系統(tǒng)設(shè)計(jì)圖如 Error! Reference source not :P3 口引腳 P3 口第二功能 RXD(串行口輸入) TXD(串行口輸出) INT0(外部中斷 0 輸入) INT1(外部中斷 1 輸入) T0(定時(shí)器/計(jì)數(shù)器 0) T1(定時(shí)器/計(jì)數(shù)器 1) WR(寫信號(hào)輸入) RD(讀信號(hào)輸出) 寧波大學(xué)信息學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 11圖 8 STC89C52 的最小系統(tǒng)設(shè)計(jì)圖 LCD 顯示電路設(shè)計(jì)相關(guān)數(shù)據(jù)的顯示是智能音樂(lè)演奏器的一項(xiàng)重要功能,是整個(gè)系統(tǒng)的主要組成部分,所以對(duì)顯示電路的設(shè)計(jì),也必須著重考慮。顯示的設(shè)計(jì)功能是:將主控讀取到的歌曲按鍵等相關(guān)數(shù)據(jù)經(jīng)過(guò)器處理后直觀的顯示出來(lái)。 LCD1602 操作時(shí)序及引腳定義對(duì) LCD1602 的讀寫有嚴(yán)格的時(shí)序要求。讀時(shí)序如圖 9 所示,寫時(shí)序如圖10 所示。 圖 9 LCD1602 讀時(shí)序 (引自《LCD1602 數(shù)據(jù)手冊(cè)》 ) 智能音樂(lè)演奏器設(shè)計(jì)12圖 10 LCD1602 寫時(shí)序 (引自《LCD1602 數(shù)據(jù)手冊(cè)》 )引腳號(hào) 引腳名稱引腳功能定義1 VSS 地引腳(GND)2 VDD +5V 電源引腳(VCC )3 VO 液晶背光電壓(0~5V) ,可接電位器調(diào)節(jié)4 RS 數(shù)據(jù)狀態(tài)控制端端,RS=0 時(shí)命令或狀態(tài);RS=1 時(shí)數(shù)據(jù)5 R/W 讀寫控制,高為讀,低為寫6 E 數(shù)據(jù)讀寫操作使能端7~14 DB0DB7數(shù)據(jù)線,可以用 8 位連接,也可以只用高四位連接,其目的是為了節(jié)約資源15 A 背光控制正電源16 K 背光控制地 表 2 LCD1602 引腳定義 LCD1602 的讀操作,主要是讀取 LCD 的狀態(tài),判斷 LCD 是否在轉(zhuǎn)換及合成顯示狀態(tài)。LCD1602 的寫操作,主要是對(duì) LCD1602 進(jìn)行控制操作,包括清除指令,控制指令及相關(guān)的數(shù)據(jù)接收。 LCD1602 的硬件設(shè)計(jì)根據(jù)上面的分析,我設(shè)計(jì)出了如圖 11 所示 LCD1602 顯示電路。其中 V0通過(guò) R1 變阻器分壓得到電壓,通過(guò)對(duì)該電壓的修改可以達(dá)到不同對(duì)比度的顯示效果。數(shù)據(jù)口我們選用 P0 外接上拉電阻實(shí)現(xiàn),控制口我們選用 P2 口實(shí)現(xiàn)。 寧波大學(xué)信息學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 13圖 11 LCD1602 顯示電路 語(yǔ)音轉(zhuǎn)換模塊設(shè)計(jì) 語(yǔ)音模塊概述根據(jù)以上的方案對(duì)比,我們可以知道 NV 的確是個(gè)有著非常強(qiáng)大的可編程語(yǔ)音芯片。它的音頻輸出方式可選為 PWM 和 DAC。多樣的輸出方式選擇,使它的運(yùn)用場(chǎng)合也越來(lái)越大。NV 芯片內(nèi)通過(guò)串口控制字的輸入,用戶可以選擇高分辨率的 DA 音頻輸出方式,而且 NV 芯片內(nèi)部濾波功率的放大,致使模塊后可以自動(dòng)驅(qū)動(dòng) 的喇叭響動(dòng)。該芯片內(nèi)部還集成 PSG 可編程語(yǔ)音合成技術(shù),這種效果使得音樂(lè)的音質(zhì)極好,發(fā)出的噪聲極低。此芯片設(shè)計(jì)時(shí)就考慮了眾多的外圍搭配電路,配合其有的極強(qiáng)的可編程能力,NV 解碼模塊不僅能實(shí)現(xiàn)標(biāo)準(zhǔn)的控制方式,亦可根據(jù)不同的控制需求,做出各種不同功能的音樂(lè)解碼器件。 功能特點(diǎn)用戶靈活且多變的操作模式供選擇(串口數(shù)據(jù)命令操作、并口數(shù)據(jù)命令操作、按鍵操作) ; 20 秒語(yǔ)音長(zhǎng)度(在 6KHz 采樣率) ; 有忙狀態(tài)輸出指示供主控查詢,并且主控可以通過(guò)軟件調(diào)節(jié)音量大??; 音質(zhì)好,性能高,物美價(jià)廉; 多樣的封裝可供選擇,使用更方便,開發(fā)應(yīng)用更靈活; 智能音樂(lè)演奏器設(shè)計(jì)14極簡(jiǎn)的外圍電路,配合芯片內(nèi)部豐富的資源,能夠輕松實(shí)現(xiàn)用戶提出的各種功能要求;靜態(tài)工作電流:2uA; 有音頻輸出時(shí)的 Ia 在 20mA~120mA 之間; 語(yǔ)音模塊芯片引腳定義與功能封裝引腳 引腳標(biāo)號(hào) 簡(jiǎn)述 功能描述1 P01 K1/A0/CS 控制方式 1 選擇端 2 GND GND 地3 EQI OPI 芯片內(nèi)部的功率放大電路的反饋輸入端4 EQO OPO 內(nèi)部功放反饋輸出5 VCC VCC 芯片模擬電源 ~6 SPKP SPKP DAC 及 PWM 輸出7 SPKN SPKN DAC 及 PWM 輸出8 P06 BUSY 語(yǔ)音播放忙信號(hào)9 P05 K3/A2/DI/RXD 控制方式 2 選擇端 10 P04 K2/A1/SCK 控制方式 3 選擇端 11 VPP VPP 芯片編程電源12 VDD VDD 芯片數(shù)字電源 ~13 P10 A3 按鍵口14 P11 D5 按鍵口15 RESETB RESETB 芯片復(fù)位端,低有效 表 3 語(yǔ)音模塊引腳及相關(guān)功能描述 語(yǔ)音模塊觸發(fā)時(shí)序語(yǔ)音模塊可分為:一線制和三線制。一線串口控制方式,很特殊,它只有一條數(shù)據(jù)通信線,芯片確定不同的數(shù)據(jù)位是根據(jù)分辨電平占空比。這一點(diǎn)很特別,數(shù)據(jù)解調(diào)的方法同脈寬調(diào)制方法,即通過(guò)判斷脈沖高低電平的時(shí)間不同,來(lái)確定是高電平還是低電平。低電平在后,高電平在前,這種規(guī)定是脈沖時(shí)間所具有的。3 條通信控制線組成了三線串口控制,線程分別是 SS,DI ,SCK。控制的時(shí)序仿照標(biāo)準(zhǔn) SPI 通信格式。通信的準(zhǔn)則是:復(fù)位信號(hào)線在發(fā)碼之前先將數(shù)據(jù)線拉低 1ms~5ms 左右,然后再拉高并等待 5ms 以上。時(shí)序圖如圖 12 所 寧波大學(xué)信息學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 15示。通過(guò)該三線串口即可以實(shí)現(xiàn)對(duì) NV020 芯片的命令控制、語(yǔ)音播放。D0 位為語(yǔ)音測(cè)試口。根據(jù)智能音樂(lè)演奏器的設(shè)計(jì)要求,我們選用三線制對(duì)語(yǔ)音模塊進(jìn)行控制。 ramp up350us ramp down30uS2mSSSSCKSDIBUSYVOICERST 1~5mS5mS圖 12 三線串口控制時(shí)序圖(引自《語(yǔ)音模塊數(shù)據(jù)手冊(cè)》 )4 智能音樂(lè)演奏器的軟件設(shè)計(jì) 開發(fā)軟件簡(jiǎn)介系統(tǒng)的軟件部分主要是利用 C 語(yǔ)言編程來(lái)完成程序的設(shè)計(jì),進(jìn)一步設(shè)計(jì)帶來(lái)了便利。匯編語(yǔ)言和 C 語(yǔ)言組成了單片機(jī)開發(fā)語(yǔ)言,由于匯編語(yǔ)言的冗長(zhǎng)及復(fù)雜,所以智能音樂(lè)演奏器選用 C 語(yǔ)言為開發(fā)語(yǔ)言。對(duì)單片機(jī)進(jìn)行編程,Keil軟件當(dāng)仁不讓的是最好的工具,它有利于程序更好的設(shè)計(jì)實(shí)現(xiàn)。Keil 的 C51 系列軟件是該公司獨(dú)自設(shè)計(jì)的,面向 51 單片機(jī)系列并且可以兼容國(guó)產(chǎn)單片機(jī)的軟件開發(fā)系統(tǒng)。C 和其他編程語(yǔ)言相比較,它的優(yōu)點(diǎn)還是有很多的,而且該單片機(jī)的平臺(tái)提供大量的、可操作性強(qiáng)的調(diào)試工具,有利于集成開發(fā)。 應(yīng)用程序設(shè)計(jì)那些設(shè)計(jì)類軟件,如果大腦中沒(méi)有很清楚的思路和很好的方案,那么設(shè)計(jì)東西是非常困難的。程序設(shè)計(jì)真的很繁瑣,很乏味但是它的重要性不言而喻。智能音樂(lè)演奏器設(shè)計(jì)16為了枯燥乏味的設(shè)計(jì)工作條理化,就必須要有相應(yīng)的步驟和方法。通過(guò)系統(tǒng)的分析,其設(shè)計(jì)流程可以簡(jiǎn)單的分為以下若干種:(1)整體分析系統(tǒng)控制要求:什么要被控制,什么要被顯示,什么要被讀取。然后在根據(jù)處理值得不同,確定算法。(2)然后根據(jù)它的算法來(lái)畫流程:第一步是什么,第二步是什么,再者又是什么。畫框圖的優(yōu)點(diǎn)可以把算法和程序設(shè)計(jì)的流程方法更加具體化(3)最后再編寫程序:可以通過(guò)框圖的算法和步驟,選取合適的指令實(shí)現(xiàn)功能,然后把它們組成一個(gè)有機(jī)的整體,就構(gòu)成了整體程序。下面給出各個(gè)模塊的軟件設(shè)計(jì),最終來(lái)達(dá)到設(shè)計(jì)的要求,實(shí)現(xiàn)其功能。 主程序的設(shè)計(jì)智能音樂(lè)演奏器的軟件設(shè)計(jì)構(gòu)成主要有如下幾種:由按鍵檢測(cè)及控制發(fā)出的主程序、系統(tǒng) LCD 及解碼模塊的初始化程序、1602 的數(shù)據(jù)顯示程序、控制解碼程序等。主程序設(shè)計(jì)流程 Error! Reference source not 所示。 圖 13 主程序設(shè)計(jì)流程圖是否是是開始初始化 LCD1602 初始化 NV020 模塊是否有 TF 卡插 入?初始化文件系統(tǒng)查找音樂(lè)文件數(shù)據(jù)送至 NV020 目錄循環(huán)播放音樂(lè)是否有鍵按下?執(zhí)行相應(yīng)功能結(jié)束否是 寧波大學(xué)信息學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 17 LCD 顯示程序設(shè)計(jì)顯示程序設(shè)計(jì)流程圖,如是其他需要調(diào)用的程序之一,所以它的設(shè)計(jì)重要性不言而喻。 是 否智能音樂(lè)演奏器設(shè)計(jì)18 圖 4 所示。顯示的目的是直觀的向用戶提供用戶想要的信息,并且在設(shè)計(jì)時(shí),應(yīng)該充分考慮設(shè)計(jì)顯示的內(nèi)容,和顯示的時(shí)間。因?yàn)長(zhǎng)CD1602 顯示子程序是其他需要調(diào)用的程序之一,所以它的設(shè)計(jì)重要性不言而喻。 是 否入口對(duì) 1602 初始化寫入顯示設(shè)置命令延時(shí)一段時(shí)間檢查忙標(biāo)志BF=7?設(shè)置字符顯示位置延時(shí)一段時(shí)間向 1602 中寫入數(shù)據(jù)LCD 顯示內(nèi)容返回主程序 寧波大學(xué)信息學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 19 圖 14 顯示子程序流程圖顯示程序如下所示:static void delayms(unsigned int n){unsigned int x,y。for(x=n。x0。x)for(y=110。y0。y)。} void lcd_w(unsigned char ) //lcd1602 寫命令函數(shù){rs=0。 //選擇指令寄存器 rw=0。 //選擇寫P0=。 //把命令字送入 P2 delayms(5)。en=1。en=0。 }void lcd_wdat(unsigned char dat) //1602 寫數(shù)據(jù)函數(shù){rs=1。 //選擇數(shù)據(jù)寄存器 rw=0。P0=dat。delayms(5)。 en=1。en=0。 }void lcd_wstr(unsigned char *s){智能音樂(lè)演奏器設(shè)計(jì)20unsigned char i=0。while(*s!=39。\039。amp。amp。i32){if(i==16)lcd_w(0x80+0x40)。lcd_wdat(*s)。s++。i++。}}void lcd_init() // 1602 初始化函數(shù) {lcd_w(0x38)。lcd_w(0x0c)。lcd_w(0x06)。lcd_w(0x01)。 } 按鍵檢測(cè)程序設(shè)計(jì)按鍵檢測(cè)的難度主要是處理按鍵的去抖。針對(duì)硬件的設(shè)計(jì),我們視按鍵按下時(shí)為低電平。其主要的設(shè)計(jì)思路是,時(shí)刻檢測(cè)按鍵端口是否為“0” ,當(dāng)檢測(cè)為 0 時(shí),軟件延時(shí) 10ms 之后,再對(duì)其進(jìn)行讀取,若該端口仍為“0” ,說(shuō)明按鍵確實(shí)按下,并對(duì)其進(jìn)行相應(yīng)處理;若延時(shí)之后,該端口為“1” ,說(shuō)明按鍵存在抖動(dòng),在處理鍵值的時(shí)候,應(yīng)該將該類情況處理為錯(cuò)誤信號(hào)。按鍵檢測(cè)程序如下:uchar getkey(){if(key1==0){Delay_ms(15)。 寧波大學(xué)信息學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 21if(key1==0) {while(!key1)。 return 1。}}if(key2==0){Delay_ms(15)。if(key2==0){while(!key2)。return 2。}}if(key3==0){Delay_ms(15)。if(key3==0){while(!key3)。return 3。}}if(key4==0){Delay_ms(15)。if(key4==0){while(!key4)。智能音樂(lè)演奏器設(shè)計(jì)22retur
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1