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

正文內(nèi)容

基于單片機(jī)的語音報(bào)時(shí)系統(tǒng)畢業(yè)論文(文件)

2025-07-15 20:01 上一頁面

下一頁面
 

【正文】 自定時(shí)器A / B,時(shí)基,2個(gè)外部時(shí)鐘源輸入,鍵喚醒;  ● 具備觸鍵喚醒的功能;  ● 使用凌陽音頻編碼SACM_S240方式(),能容納210秒的語音數(shù)據(jù);  ● 鎖相環(huán)PLL振蕩器提供系統(tǒng)時(shí)鐘信號(hào);  ● 32768Hz實(shí)時(shí)時(shí)鐘;   ● 7通道10位電壓模數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模 數(shù)轉(zhuǎn)換器;  ● 聲音模數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器和自動(dòng)增益控制(AGC)功能;  ● 具備串行設(shè)備接口;  ● 低電壓復(fù)位(LVR) 功和低電壓監(jiān)測(cè) (LVD)功能;   ● 內(nèi)置在線仿真板(ICE ,In Circuit Emulator)。為了配合設(shè)計(jì)要求,設(shè)計(jì)了語音模塊。這為語音的錄入提供方便的硬件條件。 系統(tǒng)總體方案介紹 電子鐘的系統(tǒng)結(jié)構(gòu)如圖3,圖4為電子鐘功能結(jié)構(gòu)圖 ,61板作為整個(gè)系統(tǒng)的控制中心,負(fù)責(zé)控制鍵盤掃描;年、月、日、星期以及時(shí)間的計(jì)算;并根據(jù)按鍵值播報(bào)當(dāng)前的日期或者時(shí)間。第三章 系統(tǒng)硬件設(shè)計(jì) SPCE061A 最小系統(tǒng) SPCE061A最小系統(tǒng)包括SPCE061A芯片及其外圍的基本模塊,其中外圍的基本模塊有:晶振輸入模塊(OSC)、鎖相環(huán)外圍電路(PLL)、復(fù)位電路( RESET)、指示燈(LED)等,如圖7所示。后面的零電阻及其電源分成不同的幾路是為了減少電磁干擾設(shè)置的。 圖中的VDDH3 為 SPCE061A 的 I/O 電平參考,接 SPCE061A 的 51 腳,這種接法使得 I/O 輸出高電平為 ;VDDP 為 PLL 鎖相環(huán)電源,接 SPCE061A 的 7 腳;VDD 和 VDDA 分別為數(shù)字電源與模擬電源,分別接 SPCE061A 的 15 腳和 36 腳;AVSS1 是模擬地,接 SPCE061A 的 24 腳;VSS 是數(shù)字地,接 SPCE061A 的 38 腳; AVSS2 接音頻輸出電路的 AVSS2。圖中的 SPY0030也是凌陽公司的產(chǎn)品。 SPY0030A是凌陽公司開發(fā)的專門用于語音放大的芯片。 11圖 8 軟件結(jié)構(gòu)數(shù)字鐘主要還是軟件實(shí)現(xiàn)的,數(shù)字鐘的軟件設(shè)計(jì)由以下程序構(gòu)成::實(shí)現(xiàn)系統(tǒng)的初始化、鍵盤掃描和語音播報(bào);:包含工程中大部分的功能函數(shù),包括時(shí)間和日期的調(diào)整等;:鍵盤掃描文件,文件中定義了鍵盤掃描函數(shù)、延時(shí)函數(shù)、用來實(shí)現(xiàn)對(duì)鍵盤的掃描等功能、鍵盤掃描采用查詢方式;:中斷服務(wù)函數(shù)文件,實(shí)現(xiàn)語音解碼以及時(shí)間、日期的修改;:語音播報(bào)函數(shù),實(shí)現(xiàn)語音播報(bào)日期、時(shí)間。在此環(huán)境中,支持標(biāo)準(zhǔn) C 語言,可以實(shí)現(xiàn) C 語言與匯編語言的互相調(diào)用,并且,提供了語音錄放和語音識(shí)別的函數(shù)庫,只要了解庫函數(shù)的使用方法,就可以很容易完成語音錄放,為軟件開發(fā)提供了方便的條件。本系統(tǒng)采用了這種編制方法使得相互調(diào)用非常簡(jiǎn)單。12圖 9 主程序流程圖 中 斷 服 務(wù) 程 序 中斷服務(wù)程序有三個(gè):一個(gè)是2Hz中斷服務(wù)程序,用來計(jì)時(shí);一個(gè)是1KHz中斷服務(wù)程序,用于秒表計(jì)時(shí);另外一個(gè)是FIQ中斷服務(wù)程序,用來播放語音。15圖 13 時(shí)間日期模塊流程圖 16第五章 操作步驟 軟件的操作步驟 程 序 燒 入 硬 件 操 作 步 驟步驟一:根據(jù)圖5數(shù)字鐘連接示意圖連接硬件,并連接好下載線。如圖14所示: 圖 14 打開數(shù)字鐘應(yīng)用實(shí)例程序步驟四:下載程序代碼到61板上。根據(jù)硬件的選擇和電路的搭配進(jìn)行了軟件的設(shè)計(jì)和編程,在實(shí)現(xiàn)硬件功能時(shí),我們?cè)龅揭恍﹩栴},在參閱了許多資料結(jié)合實(shí)際條件選擇了一種全面和簡(jiǎn)單的數(shù)字鐘系統(tǒng),其次在焊接中和元器件的購買都是在胡老師的指導(dǎo)下購買的。本次設(shè)計(jì)中,我從基礎(chǔ)做起,做好每一個(gè)程序模塊,在最后的硬件調(diào)試中,取得成功,實(shí)現(xiàn)了數(shù)字鐘的基本功能 ,達(dá)到了我們預(yù)期的設(shè)計(jì)目的。unsigned int Flag = 0。 // 獲取按鍵值switch(KeyCode){case KEY_1: // Key1 鍵,播放日期/時(shí)間if(Flag==0){PlayDate()。}break。}*P_Watchdog_Clear = 0x01。unsigned int Day。unsigned int HalfSec。// 每月包含的天數(shù)22//=============================================================// 語法格式: void Clock_ISR(void)。if(==60) // 處理秒進(jìn)位{ = 0。if(==24) // 處理小時(shí)進(jìn)位{ = 0。 += 1。// 實(shí)現(xiàn)功能: 開始計(jì)時(shí)// 參數(shù): 無// 返回值: 無//=============================================================23void Clock_Start(){*P_INT_Ctrl_New |= C_IRQ5_2Hz。}//=============================================================// 語法格式: unsigned int Clock_GetMon(void)。}//=============================================================// 語法格式: unsigned int Clock_GetHour(void)。}//=============================================================// 語法格式: unsigned int Clock_GetSec(void)。}//=============================================================// 語法格式: void Clock_SetMon(unsigned int Mon)。}//=============================================================// 語法格式: void Clock_SetHour(unsigned int Hour)。}//=============================================================// 語法格式: void Clock_SetSec(unsigned int Sec)。 // 半秒計(jì)數(shù)清零}子程序:2//======================================================// 文件名稱: // 功能描述: 調(diào)整日期和時(shí)間的函數(shù)集// 維護(hù)記錄: 20220830 //======================================================26include include include include include //=============================================================// 語法格式: unsigned int AdjustYear(unsigned int Year)。 // 播放當(dāng)前年while(1){*P_Watchdog_Clear = 0x01。 // 按 Key2 鍵,年數(shù)加 1PlayYear(TempYear)。break。unsigned int TempMon = Mon。switch(KeyCode){case KEY_1: // Key1,返回調(diào)整后的月return TempMon。break。break。unsigned int TempDay = Day。}PlayDay(TempDay)。 // Key1,返回調(diào)整后日case KEY_2:TempDay++。}PlayDay(TempDay)。amp。}PlayDay(TempDay)。// 實(shí)現(xiàn)功能: 調(diào)整小時(shí)// 參數(shù): Hour 調(diào)整前的時(shí)31// 返回值: 調(diào)整后的時(shí)//=============================================================unsigned int AdjustHour(unsigned int Hour){unsigned int KeyCode。KeyCode = Key_Get()。PlayHour(TempHour)。PlayHour(TempHour)。// 實(shí)現(xiàn)功能: 調(diào)整分// 參數(shù): Min 調(diào)整前的分// 返回值: 調(diào)整后的分//=============================================================unsigned int AdjustMin(unsigned int Min){unsigned int KeyCode。while(1){*P_Watchdog_Clear = 0x01。 // Key2,分鐘數(shù)加 1,到 59 后變?yōu)?0if(TempMin59) TempMin = 0。case KEY_3:if(TempMin==0) TempMin = 59。break。unsigned int TempSec = Sec。switch(KeyCode){case KEY_1:return TempSec。break。break。TempYear = AdjustYear(Clock_GetYear())。 // 調(diào)整時(shí)TempMin = AdjustMin(Clock_GetMin())。Clock_SetDay(TempDay)。PlaySnd(S_DING)。PlayHour(TempHour)。if(TempNum==0) // 數(shù)字為 0 則直接播報(bào) 0PlaySnd(S_0)。if(TempNum0) PlaySnd(TempNum)。 // 千位TempYear = TempYear % 1000。 // 十位TempYear = TempYear % 10。// 實(shí)現(xiàn)功能: 播報(bào)月// 參數(shù): Mon 待播報(bào)的月// 返回值: 無//=============================================================void PlayMon(unsigned int Mon)38{PlaySnd(Mon)。PlaySnd(S_Ri)。 // 上午(6~11 點(diǎn))else if(Hour=17) PlaySnd(S_XW)。 // 12 小時(shí)制else PlaySnd(Hour)。 // 00 分播報(bào)整else{PlayNum(Min)。PlaySnd(S_Miao)。TempMin = Clock_GetMin()。PlayMin(TempMin)。TempMon = Clock_GetMon()。PlayDay(TempDay)。PlayYear(TempYear)。// 實(shí)現(xiàn)功能: 播報(bào)當(dāng)前日期// 參數(shù): 無// 返回值: 無//=============================================================void PlayDate(){unsigned int TempYear, TempMon, TempDay。PlaySnd(S_XZSK)。// 實(shí)現(xiàn)功能: 播報(bào)當(dāng)前時(shí)間// 參數(shù): 無// 返回值: 無//=============================================================void PlayTime(){unsigned int TempHour, TempMin。 // 分}}//=============================================================// 語法格式: void PlaySec(unsigned int Sec)。 // 點(diǎn)}//=============================================================// 語法格式: void PlayMin(unsigned int Min)。 // 晚上(18~23 點(diǎn))if(Hour==2 || Hour==14) PlaySnd(S_Liang)。// 實(shí)現(xiàn)功能: 播報(bào)小時(shí)// 參數(shù): Hour 待播報(bào)的時(shí)// 返回值: 無//=============================================================void PlayHour(unsigned int Hour){if(Hour=5) PlaySnd(S_LC)。}//=============================================================// 語法格式: void PlayDay(unsigned int Day)。 // 個(gè)位PlaySnd(S_Nian)。 // 百位TempYear = TempYear % 100。// 實(shí)現(xiàn)功能: 播報(bào)年// 參數(shù): Year 待播報(bào)的年/
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1