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

正文內(nèi)容

基于單片機的溫濕度計畢業(yè)論文(編輯修改稿)

2024-07-24 20:02 本頁面
 

【文章內(nèi)容簡介】 制器共有11條控制指令。1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實現(xiàn)的。(說明:1為高電平、0為低電平)指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。指令3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動方向,高電平右移,低電平左移 ;S,屏幕上所有文字是否左移或者右移,高電平表示有效,低電平則無效。指令4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示; C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo); B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標(biāo)或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標(biāo)。指令6:功能設(shè)置命令 DL:高電平時為4位總線,低電平時為8位總線 ;N:低電平時為單行顯示,高電平時雙行顯示 ;F: 低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符。指令7:字符發(fā)生器RAM地址設(shè)置。指令8:DDRAM地址設(shè)置。指令9:讀忙信號和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。與HD44780相兼容的芯片時序表如下:表33 基本操作時序表讀狀態(tài)輸入RS=L R/W=H E=H輸出D0—D7=狀態(tài)字寫指令輸入RS=L R/W=L D0—D7=指令碼 E=高脈沖輸出無讀數(shù)據(jù)輸入RS=H R/W=H E=H輸出D0—D7=數(shù)據(jù)寫數(shù)據(jù)輸入RS=H R/W=L D0—D7=數(shù)據(jù) E=高脈沖輸出無讀寫操作時序如圖37和38所示:圖37 讀操作時序圖38 寫操作時序(4)1602LCD的RAM地址映射及標(biāo)準(zhǔn)字庫表液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,圖39是1602的內(nèi)部顯示地址。圖39 1602LCD內(nèi)部顯示地址例如第二行第一個字符的地址是40H,那么是否直接寫入40H就可以將光標(biāo)定位在第二行第一個字符的位置呢?這樣不行,因為寫入顯示地址時要求最高位D7恒定為高電平1所以實際寫入的數(shù)據(jù)應(yīng)該是01000000B(40H)+10000000B(80H)=11000000B(C0H)。在對液晶模塊的初始化中要先設(shè)置其顯示模式,在液晶模塊顯示字符時光標(biāo)是自動右移的,無需人工干預(yù)。每次輸入指令前都要判斷液晶模塊是否處于忙的狀態(tài)。1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,如圖310所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”圖310 字符代碼與圖形對應(yīng)圖(5)1602LCD的一般初始化(復(fù)位)過程延時15ms寫指令38H(不檢測忙信號)延時5ms寫指令38H(不檢測忙信號)延時5ms寫指令38H(不檢測忙信號)以后每次寫指令、讀/寫數(shù)據(jù)操作均需要檢測忙信號寫指令38H:顯示模式設(shè)置寫指令08H:顯示關(guān)閉寫指令01H:顯示清屏寫指令06H:顯示光標(biāo)移動設(shè)置寫指令0CH:顯示開及光標(biāo)設(shè)置 按鍵電路設(shè)計由于該款溫濕度計應(yīng)用于對空氣中的溫濕度進行測量,當(dāng)濕度達(dá)到某一數(shù)值時需要啟動加濕功能,因此需要設(shè)定一個濕度值。為此,本設(shè)計增加了4個按鍵,其中K1鍵為設(shè)定鍵,K2鍵為光標(biāo)右移鍵,K3為循環(huán)加1鍵,K4為確定鍵,、。按鍵未被按下時,4個I/O口均為高電平;一旦按鍵按下,對應(yīng)的I/O口被拉為低電平。以此來實現(xiàn)軟件程序設(shè)計中的按鍵掃描。按鍵電路如圖311所示:圖311 按鍵電路 加濕部分此部分采用超聲波霧化器,當(dāng)濕度達(dá)到某一數(shù)值時電路啟動加濕功能,即超聲波霧化器實現(xiàn)噴霧功能從而對空氣進行加濕。超聲波霧化器利用電子高頻震蕩( ,超過人的聽覺范圍,該電子振蕩對人體及動物絕無傷害),通過陶瓷霧化片的高頻諧振,將液態(tài)水分子結(jié)構(gòu)打散而產(chǎn)生自然飄逸的水霧,不需加熱或添加任何化學(xué)試劑。與加熱霧化方式比較,能源節(jié)省了90%。另外在霧化過程中將釋放大量的負(fù)離子,其與空氣中漂浮的煙霧、粉塵等產(chǎn)生靜電式反應(yīng),使其沉淀,同時還能有效去除甲醛、一氧化碳、細(xì)菌等有害物質(zhì),使空氣得到凈化,減少疾病的發(fā)生。加濕電路如圖312所示:圖312 加濕電路加濕電路工作原理為:當(dāng)溫濕度傳感器SHT11檢測到室內(nèi)的濕度超過設(shè)定值時,、,通過三極管驅(qū)動超聲波霧化器,使超聲波霧化器工作,超聲波霧化器噴出水霧從而對室內(nèi)空氣進行加濕,這就實現(xiàn)了加濕功能。本章小結(jié)本章主要介紹了溫濕度傳感器的硬件電路設(shè)計,具體分為了控制模塊、溫濕度采集模塊、液晶顯示模塊、加濕模塊,并對這幾個模塊的硬件設(shè)計進行了具體的描述,詳細(xì)說明了每個模塊將要完成什么樣的功能,對所涉及的芯片進行了具體的介紹,例如單片機、溫濕度傳感器、LCD1602等。第4章 整機工作原理整機電路原理圖見附錄3,通過整機電路圖可知整機電路工作原理為:接通電源,按下電源開關(guān)后電路上電后,通過軟件進入LCD測試程序,此時說明電路已經(jīng)可以開始工作;通過按復(fù)位開關(guān)使程序復(fù)位,這樣可以保證對LCD顯示器初始化以及對溫濕度傳感器(SHT11)時時檢測,使電路正常運行。通過按鍵對溫濕度的數(shù)值范圍進行預(yù)先的設(shè)定,作為是否啟動超聲波霧化器的條件,通過4個按鍵完成這部分功能。溫濕度傳感器(SHT11),采用串行通信。,再通過調(diào)用LCD顯示的子程序就可以實現(xiàn)時時顯示溫濕度的情況,同時還要判斷是否已超出已設(shè)定好的溫濕度的范圍,如果超出,作為啟動超聲波霧化器的控制信號。與此同時依然通過溫濕度傳感器(SHT11)對溫濕度時時監(jiān)測,已達(dá)到預(yù)設(shè)定的溫濕度要求。第5章 軟件程序設(shè)計 主程序首先,單片機通過I178。C總線讀寫程序?qū)貪穸葦?shù)據(jù)從SHT11中讀出來,然后,根據(jù)溫濕度補償(主要指非線性補償)公式計算出當(dāng)前溫濕度值并送到1602顯示;接著,單片機將溫濕度值讀取出來,若濕度達(dá)到設(shè)定的值時,超聲波霧化器開始加濕。程序流程圖:開始初始化清屏讀取實時溫度值顯示有無按鍵按下送顯示設(shè)定值=實驗值?結(jié)束否否是加濕控制是圖51 基于單片機的溫濕度計的主程序流程圖 溫濕度采集子程序(1)設(shè)計思路單片機首先向溫濕度傳感器SHT11發(fā)出啟動傳輸命令,然后通過寫總線子程序?qū)囟葴y量指令(地址位000+命令位00011)或者濕度測量指令(000+命令位00101)寫入SHT11。傳感器正確接收到溫度測量指令后,就會進行數(shù)據(jù)采集,單片機要等到測量完成,隨后SHT11向單片機傳送兩字節(jié)測量數(shù)據(jù)(MSB和LSB)與1字節(jié)CRC校驗碼,單片機則通過讀總線子程序?qū)貪穸葦?shù)據(jù)讀取出來。讀子程序流程圖:圖52 獲取溫濕度子程序(2)SHT11時序問題從SHT11中讀取數(shù)據(jù)以及往SHT11中寫指令都涉及到了時序問題,下面簡要介紹一下SHT11相關(guān)時序:啟動傳輸時序:當(dāng)SCK為高時DATA翻轉(zhuǎn)為低電平,緊接著SCK變?yōu)榈碗娖剑缓笤赟CK位高電平時DATA翻轉(zhuǎn)為高電平。測量時序:當(dāng)單片機發(fā)出了啟動傳輸命令,且SHT11正確接收到溫(濕)度測量命令后,單片機就要等到測量完成。為表明測量完成,SHT11會使數(shù)據(jù)線為低,此時單片機必須重新啟動SCK。然后SHT11向單片機傳送兩字節(jié)測量數(shù)據(jù)(MSB、LSB)與1字節(jié)CRC校驗碼。在傳輸過程中控制器必須通過使DATA為低來確認(rèn)每一字節(jié),所有的測量值從右算MSB列于第一位。通訊在確認(rèn)CRC數(shù)據(jù)位后停止。如果沒有用CRC8校驗碼,則單片機需要在測量數(shù)據(jù)LSB后,保持ACK為高來停止通訊。連接復(fù)位時序:當(dāng)DATA線處于高電平時,觸發(fā)SCK9次以上(含9次),并隨后發(fā)一個前述的“傳輸開始”命令。 溫濕度顯示子程序(1)設(shè)計思路由于溫濕度傳感器的非線性因素的影響,單片機直接從SHT11讀取的溫濕度數(shù)據(jù)并不準(zhǔn)確,必須經(jīng)過相對濕度和溫度的非線性補償公式、相對濕度對于溫度的依賴性補償公式進行修正。然后,單片機通過往1602寫數(shù)據(jù)子程序?qū)⑿拚蟮臄?shù)據(jù)寫入1602顯示出來。送顯之前,單片機會通過1602寫指令子程序往1602中寫入顯示字符地址,來設(shè)定顯示位置。特別值得注意的是,液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則指令失效。因此,單片機往1602寫指令或數(shù)據(jù)之前,都要確認(rèn)液晶模塊空閑。讀子程序流程圖:圖53 顯示溫濕度子程序流程圖濕度補償設(shè)置濕度顯示位置顯示濕度顯示溫度設(shè)置溫度顯示位置溫度補償結(jié)束開始(2)溫濕度修正公式溫度非線性補償公式:t1=ntemp相對濕度非線性補償公式: Flt0=nhumnhum4相對濕度對于溫度的依賴性補償公式: Flt1=(t125) (+nhum)+flt0(3)1602內(nèi)部顯示地址 單片機往1602寫入顯示地址時,要求最高位D7必須為高電平,本設(shè)計采用的處理方法是:將顯示字符地址與0x80相或,然后由單片機直接將結(jié)果寫入1602。 I178。C總線讀寫程序(1)應(yīng)答時序本設(shè)計用到了兩個串行傳輸器件,故用單片機通用I/O口模擬了I178。C總線,這就涉及到了總線讀寫。在設(shè)計總線讀寫程序時,涉及到了應(yīng)答時序問題,下面簡要介紹一下:應(yīng)答時序:如果單片機選擇寫操作,則從器件每接受一個8位數(shù)據(jù)之后響應(yīng)一個應(yīng)答信號(即從器件在第9個時鐘周期時將DATA線拉低)。如果單片機選擇讀操作,再從器件發(fā)送一個8位數(shù)據(jù)后釋放DATA線并監(jiān)視一個應(yīng)答信號,一旦接受到應(yīng)答信號,從器件繼續(xù)發(fā)送數(shù)據(jù),如單片機沒有發(fā)送應(yīng)答信號,從器件停止傳送數(shù)據(jù)且等待一個停止信號。(2)讀總線子程序循環(huán)變量i的初值為0x80(10000 0000),每循環(huán)一次,i=i/2(即0x80中的1右移一位);當(dāng)DATA為1時,通過i和read_data的或運算將相應(yīng)位置1,否則該位為0。讀取8位數(shù)據(jù)之后,若單片機向從器件發(fā)送應(yīng)答信號,從器件將在總線空閑時繼續(xù)發(fā)送數(shù)據(jù);否則從器件結(jié)束發(fā)送數(shù)據(jù)。(3)寫總線子程序和讀程序一樣,循環(huán)變量i的初值為0x80(10000 0000),每循環(huán)一次,i=i/2(即0x80中的1右移1位);待發(fā)送數(shù)據(jù)與i進行與運算,若結(jié)果為0則發(fā)送0,結(jié)果非0發(fā)送1,發(fā)送完8位數(shù)據(jù)后,單片機讀取應(yīng)答信號賦值給ack_bit,并返回該值。本章小結(jié)本章主要介紹溫濕度計的軟件程序設(shè)計,著重講訴了主程序、溫濕度采集與顯示子程序的設(shè)計思路及程序流程圖。第6章 系統(tǒng)調(diào)試 硬件調(diào)試當(dāng)硬件主板做完,要搭建硬件電路元件時候,必須對硬件主板進行檢查和調(diào)試。首先必須對電路板各個節(jié)點進行檢查,利用萬用表檢查各節(jié)點是否有斷路現(xiàn)象。在檢查過程中,總共檢測到了以下三個問題:,31管腳是Vpp,屬于單片機的第二電源,如果它為高電平則讀片內(nèi)存儲器,如果為低電平則讀片外存儲器,而我所編的程序用的全部是片內(nèi)程序存儲器,所以Vpp沒接高電平它始終讀片外存儲器不讀片內(nèi)存儲器所以單片機不工作,功能不實現(xiàn),把31腳改接到電源正極,電路即可正常工作。,檢測LCD液晶顯示是否正常工作,當(dāng)模塊在接受指令前,微處理器必須先確認(rèn)模塊內(nèi)部處于非忙碌狀態(tài),即讀取BF標(biāo)志時BF需為0,方可接受新的指令;如果在送出一個指令前并不檢查BF標(biāo)志,那么在前一個指令和這個指令中間必須延遲一段較長的時間,即等待前一個指令確實執(zhí)行完成,指令執(zhí)行的時間請參考指令表中的個別指令說明,“RE”為基本指令集與擴充指令集的選擇控制位元,當(dāng)變更“RE”位元后,往后的指令集將維持在最后的狀態(tài),除非再次變更“RE”位元,否則使用相同指令集時,不需每次重設(shè)“RE”位元。 ,檢測溫濕度傳感器是否正常。通過鍵盤輸入溫濕度范圍,觀察LCD液晶顯示能否時時反映出此時數(shù)值,如果超出設(shè)定范圍,看超聲波霧化器是否能及時的調(diào)節(jié)溫濕度,達(dá)到所需的數(shù)值。 此外硬件調(diào)試中,還應(yīng)注意單片機管腳18和管腳19所外接的晶體振蕩器是否起振,它直接關(guān)系到時鐘振蕩電路是否起作用的;還有數(shù)碼管的選用應(yīng)注意數(shù)碼管的共陽極還是共陰極。 軟件調(diào)試 測試工具單片機開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變?yōu)闄C器碼。Keil μVision是Keil公司(ARM子公司)開發(fā)的一款用于MCS51單片機開發(fā)的應(yīng)用十分廣泛的編譯和調(diào)試軟件。該軟件可以編輯、編譯匯編語言、C51語言,連接定位目標(biāo)文件和庫文件,創(chuàng)建HEX文件,調(diào)試目標(biāo)程序等。Keil軟件功能強大,包含很多部分,本文我們主要使用Keil μVision來開發(fā)C51項目、調(diào)試程序并生成HEX文件來用于單片機開發(fā)。Keil μVision是一款在Windows下使用的集成開發(fā)環(huán)境,目前最新版本為V3。 測試過程首先是安裝軟件,待安裝完成后,我們就可以使用軟件了,打開軟件,我們可以看到其界面,如圖61所示:圖 61 keil集成開發(fā)環(huán)境下面我們就來使用Keil軟件開發(fā)我們的第一個項目。點擊“Project”(工程)菜單下面的“New Project”(新建工程),我們來新建一個工程。軟件彈出“Crea
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1