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

正文內(nèi)容

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

2025-08-14 20:01本頁面
  

【正文】 得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。隨著科技的發(fā)展,人們對電子產(chǎn)品的應(yīng)用要求越來越高,數(shù)字電子鐘不但可以顯示當(dāng)前的時(shí)間,而且可以顯示日期、農(nóng)歷、以及星期等,給人們的生活帶來了方便。 本方案利用凌陽16位單片機(jī)SPCE061A 作為主控芯片,充分利用 SPCE061A精簡開發(fā)板(簡稱61板)上面的三個(gè)按鍵,完成一個(gè)簡易的數(shù)字系統(tǒng)——數(shù)字電子鐘。該方案的主要功能是能通過SPCE061A 的音頻通道播報(bào)當(dāng)前的日期和時(shí)間。 系統(tǒng)功能 本系統(tǒng)利用凌陽科技公司的SPCE061A 單片機(jī)作為控制器。 注意事項(xiàng) 1.; 2. 在安裝電池時(shí)注意正負(fù)極,否則容易燒壞芯片;3.在印制電路板上的焊接元器件前要認(rèn)真對照原理圖,仔細(xì)查看印制電路板,找到對應(yīng)的元器件功能區(qū);4.在電源測試期間請勿將單片機(jī)芯片插入座中,以免電源部分有問題造成芯片燒壞。系統(tǒng)通過61板上的三個(gè)按鍵控制揚(yáng)聲器播放語音。 3 SPCE061A 單片機(jī) SPCE061A 簡 介 SPCE061A是凌陽科技研發(fā)生產(chǎn)的性價(jià)比很高的一款十六位單片機(jī),具有易學(xué)易用且效率較高的一套指令系統(tǒng)和集成開發(fā)環(huán)境。 SPCE061A主要包括輸入/輸出端口、定時(shí)器/計(jì)數(shù)器、數(shù)/模轉(zhuǎn)換、模/數(shù)轉(zhuǎn)換、串行設(shè)備輸入/輸出、通用異步串行接口、低電壓監(jiān)測和復(fù)位等電路,并且內(nèi)置在線仿真電路ICE接口,使其能夠快速地處理復(fù)雜的數(shù)字信號。 圖 1 SPCE061A內(nèi)部結(jié)構(gòu)圖4 芯 片 特 性 ● 16位μ39。5 SPCE061A 精簡開發(fā)板 SPCE061A精簡開發(fā)板(簡稱61板),是以凌陽16位單片機(jī)SPCE061A為核心的精簡開發(fā)-仿真-實(shí)驗(yàn)板,大小相當(dāng)于一張撲克牌,是“凌陽科技大學(xué)計(jì)劃”專為大學(xué)生、電子愛好者等進(jìn)行電子實(shí)習(xí)、課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)、電子制作及電子競賽所設(shè)計(jì)的,也可作為單片機(jī)項(xiàng)目初期研發(fā)使用。 61板上的主要功能模塊如下: ; ; (包含Mic輸入、DAC音頻功放輸出)模塊; ; ; 、下載接口模塊; 圖2為61板的實(shí)物圖:6 圖 2 61板實(shí)物圖 語音的設(shè)計(jì)及工作原理本次設(shè)計(jì)的要求為整個(gè)系統(tǒng)在運(yùn)行時(shí)能夠根據(jù)要求及時(shí)的發(fā)出聲音,以增加效果。語音是SPCE061A的一大特點(diǎn)。其中1路AD為音頻轉(zhuǎn)化通道,并且內(nèi)置自動(dòng)增益電路。2路10位精度的DA,只需外接1個(gè)功放即可完成語音播放。凌陽音頻格式常用的有3種,將壓縮前的數(shù)據(jù)量比上壓縮后的數(shù)據(jù)量即可以得到凌陽不同音頻格式壓縮比:SACM A2022:壓縮比為8:1,8:,8: ;SACM S480: 壓縮比為80:3,80:;SACM S240: 壓縮比為80:;壓縮比越大,存儲(chǔ)空間越小,更加節(jié)省資源。在聲音的處理上主要采用凌陽科技的語音壓縮格式,將需要播放的聲音壓縮存在SPR模組里面,7然后通過61板將語音資源取出播放出來。 圖 3 系統(tǒng)結(jié)構(gòu)框圖圖 4 功能結(jié)構(gòu)圖8用61板控制數(shù)字鐘系統(tǒng),使用了IOA口的IOA0—IOA2位連接SPCE061A上的三個(gè)按鍵,另外使用了61板的語音輸出模塊;以及61板上的三個(gè)按鍵,電路連接如圖5。 圖 5 SPCE061A最小系統(tǒng)9 電源模塊 SPCE061A 板采用 3 節(jié) 5 號電池進(jìn)行供電,由 J10 接入,其中前后兩組電容用來去耦濾波,使其供給芯片的電源更加干凈平滑。在操作過程中千萬不要將電源接反,因?yàn)榉聪螂妷撼^一定值,二極管將會(huì)被損壞,達(dá)不到保護(hù)的目的。圖 6 是電源部分的電路, 直流電壓經(jīng)過 SPY0029 后產(chǎn)生 給整個(gè)系統(tǒng)供電。SPY0029 具有靜態(tài)電流低、驅(qū)動(dòng)能力強(qiáng)、線性調(diào)整出色等特點(diǎn)。61板電源模塊電路如圖8,SPCE061A 的內(nèi)核供電為 ,而I/~5V,所以在電源模塊(61板上)中有一個(gè)端口電平選擇跳線,如圖中的J5。 圖 6 電源模塊 音頻輸出模塊音頻輸出(D/A)部分的原理圖如圖7所示,可以直接聽喇叭輸出的聲音。它的詳細(xì)說明可以參見SPY0030 data sheet。芯片將聲音處理后輸出(J2),經(jīng)SPY0030音頻放大輸出(J3)通過揚(yáng)聲器還原為聲音?!?。 圖 7 音頻輸出電路圖第四章 系統(tǒng)軟件設(shè)計(jì) 軟件的結(jié)構(gòu)下圖中可以看出各文件之間的調(diào)用關(guān)系。 各模塊程序的說明 概 述由于凌陽 SPCEA061A,使得外圍電路變的更簡單。SPCE061A 是凌陽科技研發(fā)生產(chǎn)的性價(jià)比很高的一款十六位單片機(jī),具有易學(xué)易用且效率較高的一套指令系統(tǒng)和集成開發(fā)環(huán)境。此次系統(tǒng)采用了模塊程序結(jié)構(gòu),模塊程序結(jié)構(gòu)包括了初始化,系統(tǒng)主程序模塊,語音播放模塊,顯示模塊。在用到語音的時(shí)候,一般都是用 C 語言作為主程序,用匯編語言編制各種模塊,供主程序調(diào)用。 主 程 序主程序流程如圖9所示,在主程序中初始化了整個(gè)工程中用到的變量,初始化了液晶顯 示模塊。在主程序中調(diào)用了鍵盤掃描程序,對IOA口的低三位進(jìn)行掃描,如果有鍵按下,就把相應(yīng)的鍵值存入到一個(gè)變量中,通過主程序來判斷是哪個(gè)鍵按下,并執(zhí)行相應(yīng)的功能:按Key1 播報(bào)年、月、日,再按一下播報(bào)時(shí)、則進(jìn)入日期時(shí)間調(diào)整模式,Key2 在調(diào)整模式下,使年、月、日、時(shí)、分、秒增加,Key3 在調(diào)整模式下,使年、月、日、時(shí)、分、秒減小。程序的流程分別如圖圖1圖12。圖 11 IRQ4時(shí)基中斷流程圖14圖 12 FIQ中斷程序 時(shí) 間 日 期 模 塊時(shí)間日期程序模塊的流程圖如圖13所示,該模塊用到了2Hz的時(shí)基中斷,用來實(shí)現(xiàn)計(jì)時(shí),同時(shí)實(shí)現(xiàn)了日期的更新。 步驟二:打開電池盒電源。打開數(shù)字鐘應(yīng)用實(shí)例程序(路徑: \\數(shù)字電子鐘禮包\參考源代碼\monthdayclock\ ),編譯、鏈接確認(rèn)沒有錯(cuò)誤。 17步驟五:下載成功后會(huì)有幾秒鐘的開機(jī)畫面,隨后會(huì)進(jìn)入時(shí)間日期顯示界面,初始時(shí)間設(shè)定為: 00:00:00,日期為2022年8月1日。具體操作流程圖如圖15:圖 15 具體操作流程圖18第六章 結(jié)論 SPCE061A芯片強(qiáng)大的語音處理功能,為本系統(tǒng)的設(shè)計(jì)提供了便利條件;32個(gè)可編程I/O口,使得擴(kuò)展外圍設(shè)備非常方便;~49MHz的主頻范圍,并且擁有豐富的中斷源,使得系統(tǒng)在語音播放、數(shù)據(jù)顯示等方面游刃有余,擴(kuò)展性強(qiáng)。在這次畢業(yè)設(shè)計(jì)中鍛煉了我的分析能力、解決問題和動(dòng)手能力。比如,擴(kuò)展外部存儲(chǔ)器可以增加鈴聲的數(shù)目、可以改變鈴聲的播放格式使鈴聲更加動(dòng)聽、增加掉電保護(hù)功能等等,以此來提高同學(xué)們的對單片機(jī)的興趣。系統(tǒng)實(shí)物照片如圖16。// 實(shí)現(xiàn)功能: 主函數(shù)// 參數(shù): 無// 返回值: 無//=============================================================int main(){unsigned int KeyCode。Key_Init()。 // 初始化計(jì)時(shí)程序while(1){21KeyCode = Key_Get()。Flag = 1。Flag = 0。case KEY_LONG_1: // Key1 鍵長按,調(diào)整日期和時(shí)間Adjust()。default:break。 // 清看門狗*P_SystemClock = 0x001F。unsigned int Mon。unsigned int Hour。unsigned int Sec。}CLOCK。 // 時(shí)鐘初始值 2022 年 1 月 1 日 0 點(diǎn) 0 分const unsigned int Month_Day[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}。// 實(shí)現(xiàn)功能: 計(jì)時(shí)模塊的 2Hz 中斷服務(wù)程序,應(yīng)在 IRQ5_2Hz 中斷中調(diào)用// 參數(shù): 無// 返回值: 無//=============================================================void Clock_ISR(){if(==0) // 秒 = 1。 += 1。 += 1。 += 1。 += 1。0x03)!=0 || 29){ // 如果是閏年則 2 月 29 日不進(jìn)位 = 1。if( 12) // 處理月進(jìn)位{ = 1。}}}}}}}}//=============================================================// 語法格式: void Clock_Start(void)。__asm(IRQ ON)。// 實(shí)現(xiàn)功能: 查詢當(dāng)前年// 參數(shù): 無// 返回值: 當(dāng)前年//=============================================================unsigned int Clock_GetYear(){return 。// 實(shí)現(xiàn)功能: 查詢當(dāng)前月// 參數(shù): 無// 返回值: 當(dāng)前月//=============================================================unsigned int Clock_GetMon(){return 。// 實(shí)現(xiàn)功能: 查詢當(dāng)前日// 參數(shù): 無// 返回值: 當(dāng)前日//=============================================================unsigned int Clock_GetDay(){return 。// 實(shí)現(xiàn)功能: 查詢當(dāng)前小時(shí)// 參數(shù): 無// 返回值: 當(dāng)前時(shí)//=============================================================unsigned int Clock_GetHour(){return 。// 實(shí)現(xiàn)功能: 查詢當(dāng)前分// 參數(shù): 無// 返回值: 當(dāng)前分//=============================================================unsigned int Clock_GetMin(){return 。// 實(shí)現(xiàn)功能: 查詢當(dāng)前秒// 參數(shù): 無// 返回值: 當(dāng)前秒//=============================================================unsigned int Clock_GetSec(){return 。// 實(shí)現(xiàn)功能: 設(shè)置年// 參數(shù): Year 年// 返回值: 無//=============================================================void Clock_SetYear(unsigned int Year){ = Year。// 實(shí)現(xiàn)功能: 設(shè)置月// 參數(shù): Mon 月// 返回值: 無//=============================================================void Clock_SetMon(unsigned int Mon){ = Mon。// 實(shí)現(xiàn)功能: 設(shè)置日// 參數(shù): Day 日// 返回值: 無//=============================================================void Clock_SetDay(unsigned int Day)25{ = Day。// 實(shí)現(xiàn)功能: 設(shè)置小時(shí)// 參數(shù): Hour 時(shí)// 返回值: 無//=============================================================void Clock_SetHour(unsigned int Hour){ = Hour。// 實(shí)現(xiàn)功能: 設(shè)置分// 參數(shù): Min 分// 返回值: 無//=============================================================void Clock_SetMin(unsigned int Min){ = Min。// 實(shí)現(xiàn)功能: 設(shè)置秒// 參數(shù): Sec 秒// 返回值: 無//=============================================================void Clock_SetSec(unsigned int Sec){*P_TimeBase_Clear = 0x01。 = 0。// 實(shí)現(xiàn)功能: 調(diào)整年// 參數(shù): Year 調(diào)整前的年// 返回值: 調(diào)整后的年//=============================================================unsigned int AdjustYear(unsigned int Year){unsigned int KeyCode。PlayYear(TempYear)。KeyCode = Key_Get()。 // 按 Key1 鍵返回調(diào)整后的年case KEY_2:27TempYear++。break。 // 按 Key3 鍵,年數(shù)減
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1