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

正文內(nèi)容

基于51單片機(jī)的家用溫濕度語音播報(bào)系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文-資料下載頁

2025-08-19 20:05本頁面

【導(dǎo)讀】師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加。而使用過的材料。均已在文中作了明確的說明并表示了謝意。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文。不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫的成果作品。究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。全意識(shí)到本聲明的法律后果由本人承擔(dān)。同意學(xué)校保留并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)大學(xué)可以將本學(xué)位。印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。涉密論文按學(xué)校規(guī)定處理。程序清單等),文科類論文正文字?jǐn)?shù)不少于。有圖紙應(yīng)符合國家技術(shù)標(biāo)準(zhǔn)規(guī)范。圖表整潔,布局合理,文字注釋必須使用工程。傳感器,LED12864液晶顯示器實(shí)現(xiàn)。當(dāng)測(cè)量溫濕度超過設(shè)定的溫度上下限時(shí),啟動(dòng)蜂鳴器和指示燈報(bào)警。LCD采用的是LCD12864,它具有功耗低、體積。程圖以及部分子程序以及各種硬件電路圖。

  

【正文】 每一個(gè)字節(jié)。通訊在確認(rèn)后停止。 DHT11 在測(cè)量和通訊完成后會(huì)自動(dòng)返回睡眠模式 [6]。需要注意的是,為使 DHT11 的溫升低于 ℃,此時(shí)的工作頻率不能大于標(biāo)定的 15%。 DS18B20 與 AT89C51 的接口電路設(shè)計(jì) 我們可以采用寄生電源供電。寄生電源不是實(shí)際的電源器件,而是一種供電方式,即通過數(shù)據(jù)線供電。當(dāng)數(shù)據(jù)線電平為高時(shí),給器件內(nèi)的電容充電,為低時(shí),電容放電給器件供電。如圖 所示 :把 DS18B20 數(shù)據(jù)線與 AT89C51 的 ,再加上上拉電阻。 圖 DS18B20 與 AT89C51 的接口電路 18 鍵盤控制 按鍵的開關(guān)狀態(tài)通過電路轉(zhuǎn)換為高、低電平狀態(tài)。電路圖如圖 所示。 圖 鍵盤控制電路 語音報(bào)警 通過按鍵可以事先設(shè)定報(bào)警溫度值,當(dāng)顯示的溫度值超過設(shè)定的溫度值時(shí),單片機(jī)就會(huì)從 INT0 腳發(fā)出一連串脈沖,驅(qū)動(dòng)蜂鳴器發(fā)出報(bào)警聲,電路圖如 所示。電路圖如 所示。 圖 報(bào)警電路 液晶顯示 LCD12864 與單片機(jī)的應(yīng)用連接電路圖如圖 19 液晶顯示模塊接口電路 表 LCD1602 基本操作時(shí)序 基本時(shí)序操作 輸入 輸出 讀狀態(tài) RS=L,R/W=H,E=H DO~ D7=狀態(tài) 讀數(shù)據(jù) RS=H,R/W=H,E=H 無 寫指令 RS=L,R/W=L,E=高脈沖 ,DO~ D7=指令碼 DO~ D7=數(shù)據(jù) 讀指令 RS=H,R/W=L,E=高脈沖 ,DO~ D7=數(shù)據(jù) 無 語音播報(bào) 采用 ISD1420 為美國 ISD 公司出品的優(yōu)質(zhì)單片語音錄放電路,由振蕩器、語音存儲(chǔ)單元、前置放大器、自動(dòng)增益控制電路、抗干擾濾波器、輸出 放大器組成。一個(gè)最小的錄放系統(tǒng)僅由一個(gè)麥克風(fēng)、一個(gè)喇叭、兩個(gè)按鈕、一個(gè)電源、少數(shù)電阻電容組成。錄音內(nèi)容存入永久存儲(chǔ)單元,提供零功率信息存儲(chǔ),這個(gè)獨(dú)一無二的方法是借助于美國 ISD 公司的專利 直接模擬存儲(chǔ)技術(shù) (DAST TM)實(shí)現(xiàn)的。利用它,語音和音頻信號(hào)被直接存儲(chǔ),以其原本的模擬形式進(jìn)入 EEPROM 存儲(chǔ)器 .直接模擬存儲(chǔ)允許使用一種單片固體電路方法完成其原本語音的再現(xiàn)。僅語音質(zhì)量?jī)?yōu)勝,而且斷電語音保護(hù)。 ISD1420 語音芯片錄放音電路設(shè)計(jì) ISD25120 既可以手動(dòng)操作,也可以單片機(jī)控制操作,在 這里我們采用手動(dòng)操作方式。地址發(fā)生電路用來控制 A8A2 的地址端輸入。片選信號(hào)發(fā)生電路用來控制每一段的錄音持續(xù)時(shí)間。 /CE 變低后,允許進(jìn)行錄音操作。芯片在 /CE 的下降沿鎖存地址線的狀態(tài)。錄音時(shí)由地址端提供起始地址,錄音持續(xù)到 /CE 變高。 20 ISD1420 與 AT89C51 接口電路設(shè)計(jì) ISD1420 錄音和放音電路可以通過硬件開關(guān)控制。 ISD1420 系列內(nèi)置了若了干操作模式,可用最少的外圍器件實(shí)現(xiàn)最多的功能。操作模式也由地址端控制;當(dāng)A7和 A6 都為 1 時(shí),其它地址端置高就選擇某個(gè)(或某幾個(gè))模式。因?yàn)椴?作模式和直接尋址互相排斥。操作模式可由微控制器,也可由硬件實(shí)現(xiàn)。使用操作模式有兩點(diǎn)注意:( 1)所有操作最初都是從 0 地址,即存儲(chǔ)空間的起始端開始。后續(xù)操作根據(jù)所選用的模式可從其它的地址開始。此外, A4 模式中,當(dāng)電路由錄轉(zhuǎn)為放時(shí)地址計(jì)數(shù)器復(fù)位為 0,而由放轉(zhuǎn)為錄則不復(fù)位。( 2)當(dāng)控制信號(hào)( /PLAYL、/PLAYE 或 /REC)變低,同時(shí) A6和 A7為高時(shí),執(zhí)行操作模式。這種操作模式一直有效,除非控制信號(hào)再次由高變低,芯片重新鎖存當(dāng)前的地址 /模式端電平,在操作 . 21 第四章 軟件設(shè)計(jì) 主程序設(shè)計(jì) 主程序是在程 序運(yùn)行的過程中必須先經(jīng)過初始化,包括鍵盤程序,測(cè)量程序,以及各個(gè)控制端口的初始化工作。系統(tǒng)在初始化完成后就進(jìn)入讀取溫濕度測(cè)量程序,實(shí)時(shí)的測(cè)量當(dāng)前的溫度,得到溫濕度后判斷溫度是否超過溫濕度設(shè)置的上下限。超出(低于)溫濕度上下限,調(diào)用報(bào)警子程序。再顯示電路在 LCD上顯示。系統(tǒng)軟件設(shè)計(jì)的總體流程圖 所示 圖 主程序流程圖 初 始化 判斷溫濕度設(shè) 定范圍 顯示溫濕度 報(bào)警子程序 顯示時(shí)間子程序 測(cè)量溫濕度 判斷顯示模式 子程序 顯示溫濕度上下限子程序 鍵盤掃描 ?? ?? 子程序 開機(jī) 22 主程序代碼 : void main(void) { init( )。 //初始化 while (1) { scan_key()。 //鍵盤掃描子函數(shù) delayMs(10)。 ReadTemperature( )。 // 讀取溫度子函數(shù) if(temp top_temp || temp (char)bottom_temp) beep()。 displayTemp()。 //顯示溫度子函數(shù) if(DisplayTimeFlag) //判斷顯示模式 displayClock()。 // 顯示 時(shí)間子函數(shù) else displayTempLim()。 //顯示溫度上下限子函數(shù) delayMs(10)。 } 顯示模塊程序 ifndef __LCD12864_H__ define __LCD12864_H__ include include define BUSY 0x80 //lcd 忙檢測(cè)標(biāo)志 23 define DATAPORT P0 sbit LCM_RS=P3^7。 //數(shù)據(jù) /命令端 sbit LCM_RW=P3^6。 //讀 /寫選擇端 sbit LCM_EN=P2^7。 //LCD 使能信號(hào) void delay_LCM(unsigned int)。 //LCD 延時(shí)子程序延時(shí) ms void initLCM(void)。 //LCD 初始化子程序 void lcd_wait(void)。 //LCD 檢測(cè)忙子程序 void WriteCommandLCM(unsigned char WCLCM,unsigned char BusyC)。 //寫指令到 ICM 子函數(shù) void WriteDataLCM(unsigned char WDLCM)。 //寫數(shù)據(jù)到 LCM 子函數(shù) void DisplayOneChar(unsigned char X,unsigned char Y,unsigned char DData)。 //顯示指定坐標(biāo)的一個(gè)字符子函數(shù) void DisplayListChar(unsigned char X,unsigned char Y,unsigned char code *DData)。 //顯示指定坐標(biāo)的一串字符子函數(shù) void delay_LCM(unsigned int k) //延時(shí) K*1ms, { unsigned int i,j。 for(i=0。ik。i++) {for(j=0。j60。j++) {。} } } void WriteCommandLCM(unsigned char WCLCM,unsigned char BusyC) 24 //寫指令到 LCM 子函數(shù) { if(BusyC)lcd_wait()。 DATAPORT=WCLCM。 LCM_RS=0。 // 選中指令寄存器 LCM_RW=0。 // 寫模式 LCM_EN=1。 _nop_()。 _nop_()。 _nop_()。 LCM_EN=0。 } void WriteDataLCM(unsigned char WDLCM) // 寫數(shù)據(jù)到 LCM子函數(shù) { lcd_wait( )。 //檢測(cè)忙信號(hào) DATAPORT=WDLCM。 LCM_RS=1。 // 選中數(shù)據(jù)寄存器 LCM_RW=0。 // 寫模式 LCM_EN=1。 _nop_()。 _nop_()。 _nop_()。 LCM_EN=0。} void lcd_wait(void) // lcm 內(nèi)部等待函數(shù) { DATAPORT=0xff。 LCM_EN=1。LCM_RS=0。 LCM_RW=1。 _nop_()。 _nop_()。 _nop_()。 while(DATAPORTamp。BUSY) 25 { LCM_EN=0。_nop_()。 _nop_()。 LCM_EN=1。 _nop_()。 _nop_()。} LCM_EN=0。} void initLCM( ) // LCM 初始化子函數(shù) { DATAPORT=0。 delay_LCM(15)。 WriteCommandLCM(0x38,0)。 //三次顯示模式設(shè)置,不檢測(cè)忙信號(hào) delay_LCM(5)。 WriteCommandLCM(0x38,0)。 delay_LCM(5)。 WriteCommandLCM(0x38,0)。 delay_LCM(5)。 WriteCommandLCM(0x38,1)。 //8bit 數(shù)據(jù)傳送, 2行 顯示, 5*7 字型,檢測(cè)忙信號(hào) WriteCommandLCM(0x08,1)。 //關(guān)閉顯示,檢測(cè)忙信號(hào) WriteCommandLCM(0x01,1)。 //清屏,檢測(cè)忙信號(hào) WriteCommandLCM(0x06,1)。 //顯示光標(biāo)右移設(shè)置,檢測(cè)忙信號(hào) WriteCommandLCM(0x0c,1)。 //顯示屏打開,光標(biāo)不顯示,不閃爍,檢測(cè)忙信號(hào) } void DisplayOneChar(unsigned char X,unsigned char Y,unsigned char DData)// 顯示指定坐標(biāo)的一個(gè)字符子函數(shù) { Yamp。=1。 Xamp。=15。 26 if(Y)X|=0x40。 //若 y 為 1(顯示第二行),地址碼 +0X40 X|=0x80。 //指令碼為地址碼 +0X80 WriteCommandLCM(X,0)。 WriteDataLCM(DData)。 } void DisplayListChar(unsigned char X,unsigned char Y,unsigned char code *DData) // 顯示指定坐標(biāo)的一串字符子函數(shù) { unsigned char ListLength=0。 Yamp。=0x01。 Xamp。=0x0f。 while(X16) { DisplayOneChar(X,Y,DData[ListLength])。 ListLength++。 X++。} } endif 鍵盤控制模塊 include include include define ENTER (!(P2_1)) // 按鍵低電平有效 define FUNCTION_KEY (!(P2_4)) 27 define UP_KEY (!(P2_3)) define DOWN_KEY (!(P2_2)) extern unsigned char DisplayTimeFlag。 void scan_key(void)。 unsigned char DisplayTimeFlag = 1。 void delay_key(unsigned int ms) { unsigned char j。 while(ms) {for(j=0。 j=125。 j++)。} void scan_key(void) //鍵盤掃描 { static char ct=0。 P1=ct。 if(FUNCTION_KEY) { delay_key(10)。 if(FUNCTION_KEY)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1