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

正文內(nèi)容

基于stc12c5410ad單片機(jī)的溫濕度檢_測儀_畢業(yè)設(shè)計(編輯修改稿)

2024-08-15 10:31 本頁面
 

【文章內(nèi)容簡介】 232F電平。 其工作溫度范圍為 0℃至 70℃,適用于各種 EIA232C 和 的通信接口。 MAX232 芯片內(nèi)部有一個電壓變換器,可以把輸入的 +5V 電源電壓變換成為 RS232 所需的電壓。所以,采用此芯片的串行通信系統(tǒng)只需單一的 +5V 電源就可以了。 河南科技大學(xué)本科畢業(yè)設(shè)計(論文) 13 圖 28 MAX232 的引腳圖 通信模塊電路如圖 29 所示: 圖 29 通信模塊電路 14 第 3章 溫濕度檢測儀的軟件設(shè)計 167。 主程序模塊的設(shè)計 主程序是系統(tǒng)控制 和管理的核心,主要完成在系統(tǒng)上電后進(jìn)行定時和中斷處理操作的初始化。它的內(nèi)容包括主程序的起始地址,中斷服務(wù)程序的起始地址,有關(guān)內(nèi)存單元及相關(guān)部件的初始化和一些子程序調(diào)用等。 單片機(jī)通過 I178。C 總線讀寫程序?qū)貪穸葦?shù)據(jù)從 SHT11 中讀出來,然后,根據(jù)溫濕度補(bǔ)償(主要指非線性補(bǔ)償)公式計算出當(dāng)前溫濕度值并送到 12864 顯示; 主程序設(shè)計流程如圖 31 所示。 開 始有 鍵 按 下 嗎 ?溫 濕 度 檢 測嗎 ?Y E SY E S溫 濕 度 檢 測溫 濕 度 顯 示Y E S結(jié) 束N ON O 圖 31 主程序流程圖 主程序初始化的具體內(nèi)容包括時間中斷的初始化、外部中斷源的初始化、單片機(jī) I/O 口初 始化以及 LCD 初始化等。 然后對溫度和濕度進(jìn)行檢測并將結(jié)果顯示在 LCD 上。 15 167。 溫濕度檢測模塊的程序設(shè)計 167。 溫濕度采集子程序 ( 1) 設(shè)計思路 單片機(jī)首先向溫濕度傳感器 SHT11 發(fā)出啟動傳輸命令,然后通過寫總線子程序?qū)囟葴y量指令(地址位 000+命令位 00011)或者濕度測量指令( 000+命令位 00101)寫入 SHT11。傳感器正確接收到溫度測量指令后,就會進(jìn)行數(shù)據(jù)采集,單片機(jī)要等到測量完成,隨后 SHT11 向單片機(jī)傳送兩字節(jié)測量數(shù)據(jù)( MSB 和 LSB)與 1 字節(jié) CRC 校驗碼,單片機(jī)則通過讀總線子程序?qū)?濕度數(shù)據(jù)讀取出來。 讀子程序流程圖: 開始啟動傳輸讀第二個數(shù)據(jù)字節(jié) L S B讀首個數(shù)據(jù)字節(jié) M S B寫控制指令 測量結(jié)束 ?讀取校驗碼 結(jié)束 等待YN 16 圖 52 獲取溫濕度子程序 ( 2) SHT11 時序問題 從 SHT11 中讀取數(shù)據(jù)以及往 SHT11 中寫指令都涉及到了時序問題,下面簡要介紹一下 SHT11 相關(guān)時序: 啟動傳輸時序:當(dāng)時鐘線 SCK 為高時將數(shù)據(jù)線 DATA 翻轉(zhuǎn)為低電平,緊接著 SCK 變?yōu)榈碗娖?,然后在下一個時鐘線 SCK 位高電平時 DATA 翻轉(zhuǎn)為高電平。 測量時序:當(dāng)單片機(jī)發(fā)出了啟動傳輸命令,且 SHT11 正確接收到溫(濕)度測量命令后,單片機(jī)就要等到測量完成。為表明測量完成, SHT11 會使數(shù)據(jù)線為低,此時單片機(jī)必須重 新啟動 SCK。然后 SHT11 向單片機(jī)傳送兩字節(jié)測量數(shù)據(jù)( MSB、 LSB)與 1 字節(jié) CRC 校驗碼。在傳輸過程中控制器必須通過使 DATA 為低來確認(rèn)每一字節(jié),所有的測量值從右算 MSB 列于第一位。通訊在確認(rèn) CRC 數(shù)據(jù)位后停止。如果沒有用 CRC8 校驗碼,則單片機(jī)需要在測量數(shù)據(jù) LSB 后,保持 ACK 為高來停止通訊。 為了測量準(zhǔn)確,保證在測量時 SHT11自身溫升低于 ℃ ,因此 SHT11 的激活時間不要超過 10%,例如對于 12bit的測量,每秒最多測量 2 次。 通信復(fù)位時序:如果在工作中發(fā)生微處理器與 SHT11 的通信失敗,可采 用下圖所示的時序復(fù)位串口。當(dāng) DATA 線處于高電平時,觸發(fā) SCK9 次以上(含 9次),則進(jìn)入重啟 SHT11 的狀態(tài),注意這種時序只復(fù)位串口, SHT11 的狀態(tài)寄存器內(nèi)容仍然被保留。 167。 SHT11 的工作原理 . 1) 溫度 SHT11 的溫度測量具有良好的線性,可直接采用如下公式得到的 17 溫度值( T): T=d1 +d2SOT 在上式中, SOT 為 SHT11 輸出的溫度數(shù)據(jù), d1 和 d2 為常數(shù),下表列出了它們的具體數(shù)值。 溫度轉(zhuǎn)換系數(shù) 2) 相對濕度 而 SHT11 的濕度值( RH)可采用下式得到: RH=c1+c2SORH+c3SORH2 在上式中, SORH 為 SHT11 輸出的濕度數(shù)據(jù), c c2 和 c3 為常數(shù),可通過下表查詢到該數(shù)值。 濕度轉(zhuǎn)換系數(shù) 3) 溫度傳感器相對濕度 做 溫度補(bǔ)償 若實際測量溫度與 25℃ 相差較大時,需要考慮濕度傳感器的溫度修正系數(shù),如下公式所示: RHTRUE=(T℃ 25).(t1+)+RH 在上式中, T℃ 為 SHT11 所測到的溫度數(shù)據(jù),單位為攝氏度, SORH 為SHT11 輸出的濕度數(shù)據(jù), RH 為已轉(zhuǎn)換好的濕度值, t1 和 t2 為常數(shù) ,其值可通過下表查詢得到。 溫度補(bǔ)償系數(shù) 18 167。 鍵盤掃描和 LCD 顯示模塊的程序設(shè)計 167。 鍵盤掃描 開始有鍵閉合否?延時定時器時間減少1延時時間到否?逐行逐列的掃描鍵盤,判斷閉合鍵的鍵號保存并給出對應(yīng)鍵號的鍵值返回置延時定時器位初值Y E SY E SNO置延時定時器位初值No 圖 37 鍵盤掃描子程序流程圖 該檢測儀采用 2 8 矩陣式鍵盤,關(guān)于它的具體硬件組成電路這里就不多做介紹,在檢測有無鍵按下方面主要用的是定時掃描方式,該方式是利用單 19 片機(jī)內(nèi)部定時器產(chǎn)生定時中斷,即在初始化程序中對定時器 /計數(shù)器進(jìn)行編程,鍵盤掃描子程序流程圖如圖 37 所示。 該子程序在時間中斷服程序中被調(diào)用,定時掃描鍵盤,該程序首先判斷有無鍵盤閉合,沒有鍵盤閉合時置延時定時器位初值然后返回,有鍵盤閉合時延時定時器時間減少 1,如果延時時間沒到時返回,如果到了就逐行逐列的掃描鍵盤判斷閉合鍵的鍵號,然后保存并給出對應(yīng)鍵號的鍵值,之后置延時定時器位初值。 延時定時器的延遲時間等于初值乘上時間判斷間隔時間,通過確定延時定時器的延遲時間達(dá)到去除鍵盤抖動的對正常的影響,一般延時時間在30ms~ 50ms 之間 ,在實驗中確定具體的延遲時間。 167。 LCD顯示部分的程序設(shè)計 1. LCD 顯 示器應(yīng)用程序設(shè)計總體方案 (1).漢字點陣數(shù)據(jù)提取 LCD 顯示器應(yīng)用程序設(shè)計的基本目標(biāo)是實現(xiàn)中文顯示界面。我們選用HS128641 型圖形點陣液晶顯示模塊:該 LCD 模塊為不自帶字庫的 128 64點陣液晶顯示器??赏ㄟ^已由的常用子程序來添加漢字、字符的點陣數(shù)據(jù)表,供 LCD 在中文界面下顯示漢字或字符。 (2).LCD 底層應(yīng)用程序設(shè)計。 添加點陣數(shù)據(jù)表之后,就可以開始設(shè)計 LCD 應(yīng)用程序。在 LCD 顯示器應(yīng)用程序設(shè)計中,需要解決的一個重要問題就是消除顯示屏的閃爍感。HS128641 型 LCD 顯示模塊只提供了一塊顯 示數(shù)據(jù)寄存器 DDRAM,并且與顯示屏點陣是一一對應(yīng)的。如果直接在 DDRAM 處理顯示數(shù)據(jù)的,會因為同時進(jìn)行處理和顯示,而導(dǎo)致顯示屏閃爍。通過 LCD 模塊提供的顯示開關(guān)指令DISPLAY ON/OFF 在數(shù)據(jù)處理之前關(guān)掉顯示 ,待數(shù)據(jù)處理完后開顯示,可以使顯示屏閃爍得到一定控制。但是如果數(shù)據(jù)處理時間過長,超過人眼可辨別的最短時間 20ms,顯示屏就會因為反復(fù)開關(guān)顯示而產(chǎn)生閃爍感。因此我們在片外數(shù)據(jù)存儲器中開辟一個或多個與 DDRAM 大小一樣的緩沖區(qū),用于存放正在處理的顯示數(shù)據(jù),待數(shù)據(jù)處理完后 ,再將數(shù)據(jù)傳送至 LCD 顯 示數(shù)據(jù) RAM。 通過以上分析,我們采用如下的 LCD 顯示器應(yīng)用程序設(shè)計總體方案:首先,添加漢字、字符點陣數(shù)據(jù)表。然后,編寫 LCD 顯示驅(qū)動程序。將指定 Buf 20 區(qū)中處理好的顯示數(shù)據(jù)送 LCD 指定區(qū)顯示。根據(jù)具體要求編寫相應(yīng)顯示數(shù)據(jù)處理子程序。整個顯示過程為:先將顯示數(shù)據(jù)在片外數(shù)據(jù)存儲器開辟的緩沖區(qū)中進(jìn)行處理,待處理完后調(diào)用 LCD 驅(qū)動顯示。最后,在 LCD 底層程序完成的基礎(chǔ)上,設(shè)計人機(jī)交互界面,實現(xiàn)用戶在菜單方式下進(jìn)行交互。 2. LCD 適用字模信息提取程序的設(shè)計 經(jīng)研究,我們采用在單片機(jī)產(chǎn)品中經(jīng)常用到的 16 16 點陣 的漢字庫作為提取字模的母字庫。 LCD 在文本顯示狀態(tài)下,一屏最多顯示 4 行 8 個漢字。在 16 16 點陣漢字字庫中,采用的是以行為主的存放結(jié)構(gòu),即一行上連續(xù)的8 個點陣信息放在一個字節(jié)內(nèi),且左邊的點對應(yīng)字節(jié)的高位。每個漢字的字模信息占 32個字節(jié)。 漢字母庫編碼采用:計算機(jī)漢字字符代碼中最常用一個是漢字編碼字符集的基本集 GB2312。 GB2312 包括了漢字字符基本集,共收錄漢字、圖形符號等共 7445 個,依據(jù)其位置,分為 94 個區(qū),每區(qū)共 94 位。其中第 16 區(qū)~55 區(qū)安排 3755 個常用漢字,依漢語拼音順序排列。通過漢 字的內(nèi)碼我們可以計算出與其點陣信息在字庫中的偏移量。 在生成點陣數(shù)據(jù)表的相應(yīng)漢字中,采用自定義的編碼。因為溫濕度記錄儀中只用到了少量漢字,所以我們決定采用 ASCII 代碼中的 80H~ OFFH 特殊字符代碼區(qū),用做生成點陣表的漢字編碼,共可表示 128 個漢字。前 20H~7FH 為常用字符的 ASCII 代碼。 由圖形顯示數(shù)據(jù)寄存器 DDRAM 地址和顯示位置的對應(yīng)關(guān)系可知:直接將提取的點陣數(shù)據(jù)送顯,漢字不能正確顯示。因此我們必須將提取的字模數(shù)據(jù)進(jìn)行相應(yīng)的轉(zhuǎn)換,才能在 LCD 上正確顯示。轉(zhuǎn)換后的點陣信息格式如表 32所示。 表 32 16 點陣字模轉(zhuǎn)換后排列格式 d0 ┇ d7 第 0 字 節(jié) 1 2 3 4 … 14 15 d0 ┇ d7 16 17 18 19 20 … 30 31 21 將轉(zhuǎn)換后的點陣數(shù)據(jù),按匯編語言中,定義存儲單元偽指令“ DB”的格式寫入創(chuàng)建的文本文件中,就得到我們所需要生成的漢字點陣信息表。 3. LCD 顯示驅(qū)動程序的設(shè)計 在液晶上顯示整屏字符或圖像有兩種方法 :一種是將所要顯示的字模數(shù)據(jù)一次性發(fā)送到顯示數(shù)據(jù)RAM中;另外一種是在屏幕上指定位置 進(jìn)行單獨顯示。兩種方法都要在控制器空閑的條件下進(jìn)行操作 ,在操作之前都要先讀取忙標(biāo)志 ,判斷控制器是否處于忙狀態(tài) ,在一般情況下 ,可以用延時等待的方法代替。 所謂 LCD 驅(qū)動,即是通過連續(xù)的寫顯示數(shù)據(jù) (WRITE DISPLAY DATE)命令操作,將片外顯示數(shù)據(jù)處理緩沖區(qū)內(nèi)的數(shù)據(jù),順序?qū)懭胂鄳?yīng)的 DDRAM 單元。HS128641 液晶 的 驅(qū)動和控制系統(tǒng)是由 1 片 HD61102 作為 64 路行驅(qū)動器,同時 HD61102 配備了一套顯示存儲器的管理電路和與 MCU 接口電路,可以直接與 MCU 的總線連接 。 22 開始設(shè)置頁地址= L C D P a g e X設(shè)置Y 地址= 0設(shè)置寫屏次數(shù)R 3 = 6 4R 2 1 = = 0No YesR 3 = = 0Yes初始化寫屏標(biāo)志R 2 = 2從B u f A d d r 所指單元取顯示數(shù)據(jù)將顯示數(shù)據(jù)寫入左半屏 將顯示數(shù)據(jù)寫入右半屏R 3 ;B u f A d d r + +NoR 2 R 2 = = 0YesNoL C D P a g e X + + ;R 1 R 1 = L C D P a g e N u mR 1 = = 0YesNo結(jié)束 圖 38 LCD 顯示驅(qū)動源程序及流程圖 HS128641 型 LCD 顯示模塊,在硬件上通過左右半屏的片選信號引腳CS1/CS2,將 LCD 的顯示數(shù)據(jù) DDRAM 分為了左右兩個半屏。在顯示數(shù)據(jù)的處理和送顯上,需要不斷設(shè)置引腳 CS1/CS2 的信號,達(dá)到對指定 DDRAM 單元的控制和處理。這樣對 LCD 模塊控制極為不便。 23 我們欲通過軟件處理,使得 LCD 寫顯示數(shù)據(jù)操作結(jié)構(gòu)化,整體化。將 LCD顯存 DDRAM 化分為 8 頁,每頁 8 行 128 列, 128 個數(shù)據(jù)存儲單元。由軟件驅(qū)動 LCD 顯示屏上 0~ 7 頁 的任意頁顯示:順序讀出指定 Buf 區(qū)內(nèi)圖形或漢字的點陣數(shù)據(jù),依次將顯示數(shù)據(jù)寫入指定頁的 128 個數(shù)據(jù)存儲單元。 溫濕度記錄儀使用 STC12C5410AD 單片機(jī)作為 CPU,對其底層編寫程序,我們選用了匯編語言作為編程語言,選用 8051 仿真器作為編程環(huán)境,以便程序的跟蹤調(diào)試。 軟件將 LCD 顯存 DDRAM 化分為 8 頁,每頁 128 個數(shù)據(jù)存儲單元。 通過 R2控制寫入左半屏或右半屏。先寫顯示數(shù)據(jù)到左半屏的 64 個單元;后通過 R2 自減 1,控制寫顯示數(shù)據(jù)到右
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1