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

正文內容

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

2025-07-24 20:02 本頁面
 

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