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

正文內(nèi)容

基于at89s52單片機的溫濕度控制(參考版)

2024-10-24 15:26本頁面
  

【正文】 //顯示 L 提示所輸入值 為低溫報警值 if(SetErrorBit。SetL,1)。 SetErrorBit=1。 系統(tǒng)工作于報警值設(shè)置模式下,鍵盤上按鍵對應(yīng)的功能如下表: 表 11 設(shè)置模式下鍵盤功能對應(yīng)表 矩陣鍵盤鍵值 對應(yīng)功能 0~9 數(shù)字鍵,用來輸入報警值 A 進入溫度報警設(shè)置模式下 及 返回鍵 B 進入濕度報警設(shè)置模式下 及 返回鍵 C 清除鍵 D 正負號選擇鍵 * 設(shè)置低報警值確認鍵 設(shè)置高報警值確認鍵 對鍵盤輸入值的處理(以溫度報警設(shè)置值為例 ,濕度報警設(shè)置值處理過程雷同 ): if(TempSetFlag) { 36 if((SetL55)|(SetH125)) //設(shè)置范 圍出錯, LCD 上顯示 ERROR,并恢復(fù)成默認值 { if(SetH125) SetH=125。當用戶輸入鍵盤上 A或 B進入系統(tǒng)報警值設(shè)置模式后,程序執(zhí)行此模塊,首先對設(shè)置模式進行顯示初使化,兩種不同的設(shè)置模式(溫度報警值設(shè)置模式和濕度報警值設(shè)置模式)有不同的顯示界面。} //若不為此行,行值加 1,得 相 應(yīng)代碼 } } s=16。 } //通過比較得到列值 } else {code_h++。 } else if(code_l==0xe0) {code_l=1。 } else if(code_l==0xd0) {code_l=2。 } else if(code_l==0xb0) {code_l=3。 //判斷按鍵是否松開 ,否則停留 if(code_l==0x70) {code_l=4。 //得列值 while((P0amp。0xf0)!=0xf0) //有鍵按下? { code_l=P0amp。 //掃描第 1 列 P0=0xf7。 //延 時, 用于鍵盤去抖 if((P0amp。i200。i++) {}。0xf0)!=0xf0) //如果有鍵按下 { for(i=0。 本系統(tǒng)中矩陣鍵盤采用“行列掃描法”, 占用單片機 P0 口,程序及注釋 如下: 34 P0=0xf0。 矩陣鍵盤掃描 33 圖 20 鍵盤掃描 圖 21 按鍵抖動示意圖 由于單片機采集按鍵輸入時存在抖動情況,故應(yīng)采取軟件或硬件的方式避免 因抖動而產(chǎn)生的額外影響,本系統(tǒng)中利用軟件實現(xiàn)判斷、延時后再判斷的方法來解決按鍵去抖動問題。 系統(tǒng)各模塊 流程圖及部 分程序 初使化 程序 32 圖 19 所 有 程序初始化流程圖 此模塊是對整個系統(tǒng)中所有被控單元進行初使化。其中,考慮到當下位機在進行報警溫度設(shè)置時,只對鍵盤掃描、對 AT24C02 讀寫和對 LCD 寫操作,沒有對溫濕度進行采集,所以將 RS232串口通信軟件模塊放在溫濕度顯示分支上, 當用戶在顯示模式下鍵入指定鍵值時,進入報警值設(shè)置模式,通信模塊暫停,當用戶再次 輸入指定的按鍵返回溫濕度計顯示模式時,串口通信再 次工作。 31 5 系統(tǒng)軟件設(shè)計 系統(tǒng)軟件框圖 圖 18 軟件框圖 通過單片機軟件設(shè)計,實現(xiàn)如上圖結(jié)構(gòu)。 各部分占用單片機 I/O 口情況如下: P0 口用于矩陣鍵盤輸入 ; P2 口 用于 ADC0809 的輸出 數(shù) 據(jù)采集 ; 、 口用于串口通信 ; 、 用于模擬串口,發(fā)送數(shù)據(jù)給 LCD; 、 用于系統(tǒng)的溫濕度超出范圍的告警提示信號 ; 30 、 被 EEPROM 的 SDA 和 SCL 占用 ; ~ 分別用于 ADC0809 的 EOC、 START、 OE端 ; 、 作為 LCD 的控制端 EN、 RS用 ; 接數(shù)字溫度 傳感器 DS18B20 單總線 。 圖 16 蜂鳴器接法圖示 29 總設(shè)計硬件圖 圖 17 系統(tǒng) 電路 原理圖 原理圖分析 系統(tǒng) 對外圍器件的訪問有總線方式也有通過 I/O 方式的。 圖 15 電源原理圖 報警電路 由于 AT89S52 單片機 I/O 口輸出驅(qū)動能力小,無法直接接蜂鳴器, 所以,加一個 PNP三極管 , 用其共集電極接法,為蜂鳴器提供驅(qū)動電流。由下 圖可知 , 220V 交流電經(jīng)過變壓器 降壓,再經(jīng)過橋式整流電路 進行整流, 而后接濾波電容進行濾波,輸出脈動的直流電, 再 由 三端穩(wěn)壓芯片 7812 進行穩(wěn)壓, 輸出 12V 直流 電壓,系統(tǒng) 中所有芯片均需要 5V 作為 工作電壓 ,因此在 7812 輸出級加 7805 穩(wěn)壓電路就可輸出 5V 電壓。 電路接法如下圖所示??紤]到單片機的 TTL 電平與 PC機的 RS232 電平不匹配的問題,所以必須進行電平轉(zhuǎn)換 , 采用 MAX232 作為電平轉(zhuǎn)換芯片。傳感元件的多層結(jié)構(gòu)對應(yīng)用環(huán)境 27 的不利因素,諸如潮濕、灰塵、污垢、油類和環(huán)境中常見的化學(xué)品具有最佳的抗力。 HIH3610 系列測濕傳感器作為一個低成本、可軟焊的單個直插式組件 (SIP)提供儀表測量質(zhì)量的相對濕度 (RH)傳感性能。 利用 HIH3610 的線性電壓輸出可直接輸入到控制器或其他裝置。 ⑵HIH 360 輸出電壓為: Vo= Vi[+] (公式 1) 即輸出電壓 Vo 不僅正比于濕度測量值,且與電源電壓值 Vi有關(guān),若 Vi固定為 5V,則其值僅由相對溫度值決定 。2 4~ 200 ~ 40~ +85 線性電壓輸出線, 性能最好,抗污染能力最強 由輸出電壓與相對濕度關(guān)系曲線可得出如下結(jié)論: ⑴HIH 3610 在供電電壓為 5V 時,其消耗電流僅為 200181。 圖 11 HIH3610 濕度傳感器外觀圖 輸出電壓與相對濕度的關(guān)系曲線如圖 12 所示 。 二、 濕度采集模塊 濕度傳感器 HIH3610 介紹 本設(shè)計中 采用相對濕度傳感器 HIH3610。 使用外部電源供電方式, 比 寄生電源方式只多接一根 VCC 引線。 圖 10 DS18B20 與單片機的接口 25 由于 DS18B20 的 獨特的單線接口方式, 它 在與微處理器連接時僅需要一口線即可實現(xiàn)微處理器與 DS18B20 的雙向通訊 。 24 表 9 ROM 指 令表 指令 約定代碼 功能 讀 ROM 33H 讀 DS18B20 溫度傳感器 ROM 中的編碼(即 64 位地址) 匹配 ROM 55H 發(fā)出此命令后接著發(fā) 64 位 ROM 編碼,訪問單總線上與該編碼對應(yīng)的 DS18B20 使之作出響應(yīng),為下一步對該 DS18B20的讀寫作準備 搜索 ROM 0F0H 用于確定掛接在同一總線上 DS18B20 的個數(shù)和識別 64 位ROM 地址 跳過 ROM 0CCH 忽略 64 位 ROM 地址,直接向 DS18B20 發(fā)溫度變換命令 告警搜索命令 0ECH 執(zhí)行后只有溫度超過設(shè)定值上限或下限的片子才做出響應(yīng) DS18B20 時序 對于 DS18B20 的讀時隙是從主機把單總線拉低之后,在 15 秒之內(nèi)就得釋放單總線,以讓 DS18B20 把數(shù)據(jù)傳輸?shù)絾慰偩€上。 表 8 DS18B20 暫存寄存器分布 寄存器內(nèi)容 字節(jié)地址 溫度值低位 (LS Byte) 0 溫度值高位 (MS Byte) 1 高溫限值 (TH) 2 低溫限值 (TL) 3 配置寄存器 4 保留 5 保留 6 保留 7 CRC 校驗值 8 根據(jù) DS18B20 的通訊協(xié)議 , 主機(單片機)控制 DS18B20 完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟 : 每一次讀寫之前都要對 DS18B20 進行復(fù)位操作 , 復(fù)位成功后發(fā)送一條 ROM 指令 , 最后發(fā)送 RAM 指令 , 這樣才能對 DS18B20 進行預(yù)定的操作。表 7 是對應(yīng)的一部分溫度值。單片機可 23 通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后,數(shù)據(jù)格式如表 1所示。 表 7 配置寄存器與 DS18B20 精度對應(yīng)表 R1 R0 分辨率 (位 ) 溫度最大轉(zhuǎn)換時間 (ms) 0 0 9 0 1 10 1 0 11 375 1 1 12 750 高速暫存存儲器 高速暫存存儲器由 9 個字節(jié)組成,其分配如表 5 所示。在 DS18B20 出廠時該位被設(shè)置為 “ 0” 。 DS18B20溫度傳感器的內(nèi)部存儲器包括一個高速暫存 RAM和一個非易失性的可電擦除的 EEPRAM,后者存放高溫度和低溫度觸發(fā)器 TH、 TL 和結(jié)構(gòu)寄存器。 DS18B20 每一步操作都要遵循嚴格的工作時序和通信協(xié)議。 DS18B20 有六條控制命令。無論是內(nèi)部寄生電源還是外部供電, I/O 口線要接5KΩ左右的上拉電阻。如果測得的溫度大于 0,這 5位為 0,只要將測到的數(shù)值乘于 即可得到實際溫度;如果溫度小于 0,這 5 位為 1,測到的數(shù)值需要取反加 1再乘于 才能得到實際溫度。當工作于寄生電源時,此引腳必須接地。寄生電源 工作模式 可以向器件提供電源。 圖 9 DS18B20 的兩種封裝 表 3 引腳功能描述 序號 名稱 引腳功能描述 1 GND 地信號 2 DQ 數(shù)據(jù)輸入 /輸出引腳。 DS18B20 內(nèi)部結(jié)構(gòu) 21 DS18B20 內(nèi)部結(jié)構(gòu)主要由四部分組成: 64 位光刻 ROM, 溫度傳感器 , 非揮發(fā)的溫度報警觸發(fā)器 TH 和 TL, 高速暫存器。 ⑤用戶可分別設(shè)定各路溫度的上、下限。 ③內(nèi)含 64 位經(jīng)過激光修正的只讀存儲器 ROM。 DS18B20 性能特點 ①采用單總線專用技術(shù),既可通過串行口線,也可通過其它 I/O 口與控制器接口,無須經(jīng)過其它變換電路,直接輸出被測溫度值( 16 位二進制數(shù),含符號位)。因此用它來組成一個測溫系統(tǒng),具有 接口 線路簡單 、體積小、檢測控制方便、傳輸距離遠等方面優(yōu)越性 。 圖 8 LCM1602 顯示模塊 考慮到 本設(shè)計中 AT89S52 單片機的 I/O 口資源緊張,且 AT89S52 單片機唯一的 UART串行口要用來與上位 PC 機通信,而 LCD1602 與 AT89S52 單片機的普通接法占用十個 I/O口,為了節(jié)約一部分 I/O 口資源,本設(shè)計中采用軟件實現(xiàn)對單片機的兩個普通 I/O 口進行串行口模 擬,程序中模擬 為串行數(shù)據(jù)發(fā)送,模擬 為串行時鐘,這樣可以將原來需要八根并行數(shù)據(jù)線的 LCD1602模塊通過配置一片 74LS164作為驅(qū)動,只需要兩個普通 I/O口即可以解決 LCM1602 的八位數(shù)據(jù)線輸入 ,有效地節(jié)約了 I/O 口。圖 8為液晶顯示部分的原理圖,它的 外圍 驅(qū)動電路是一個具有串轉(zhuǎn)并功能的 74LS164 芯片。 硬件 設(shè)計及 原理圖 LCM1602 液晶顯示及驅(qū)動 LCM1602 為兼容的液晶顯示模塊,本設(shè)計中采用 2行 16 字符的模式,顯示亮度可調(diào),是一種 使用較方便 、價格較便宜的液晶顯示器件。 Vcc:電源+ 5V。 典型值是 640KHZ。當 A/D 轉(zhuǎn)換結(jié)束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。 EOC: A/D 轉(zhuǎn)換結(jié)束信號,輸出,當 A/D 轉(zhuǎn)換結(jié) 束時,此端輸出一個高電平(轉(zhuǎn)換期間一直為低電平)。 ADDA、 ADDB、 ADDC: 3位地址輸入線,用于選通 8路模擬輸入中的一路 ALE:地址鎖存允許信號,輸入,高電平有效。 六、引腳說明 IN0~ IN7: 8 路模擬量輸入端。因此, ADC0809 可處理 8 路模擬量輸入,且有三態(tài)輸出能力,既可與各種微處理器相連,也可單獨工作。 6)工作溫度范圍為 40~+ 85 攝氏度 7)低功耗,約 15mW。 2)具有轉(zhuǎn)換起??刂贫?。當OE輸入高電平 時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。下降沿啟動 A/D 轉(zhuǎn)換,之后 EOC 輸出信號變低,指示轉(zhuǎn)換正在進行。此地址經(jīng)譯碼選通 8 路模擬輸入之一到比較器。單片機啟動 A/D 轉(zhuǎn)換后可以做其他工作,當 A/D 轉(zhuǎn)換結(jié)束時, EOC 由 0 變?yōu)?1,經(jīng)過非門傳到 INT 端, AT89S52 收到中斷請求信號,進入中斷服務(wù)程序,在中斷服務(wù)程序中單片機讀取 A/D 轉(zhuǎn)換的結(jié)果。單片機啟動A/D 后不斷檢測 EOC,若 EOC=0,則 A/D 轉(zhuǎn)換沒有結(jié)束,繼續(xù)檢測 EOC,直到 EOC=1,當 EOC=1時, A/D 轉(zhuǎn)換已經(jīng)結(jié)果,單片機讀取 A/D 轉(zhuǎn)換的結(jié)果,這種方法占用 CPU,但程序簡單。 二、 A/D的原理、分類及特性 A/D A/D /串行比較型 A/D 型 A/D 三、單 片機并行 A/D擴展的方式 延遲法:單片機啟動 A/D 后,延遲,再讀到正確的 A/D 轉(zhuǎn)換結(jié)果,這種方法連線和編程簡
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1