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

正文內(nèi)容

基于單片機(jī)的沼氣池溫控系統(tǒng)研究畢業(yè)論文(編輯修改稿)

2024-07-19 21:00 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 有回應(yīng)則跳轉(zhuǎn)到TSR3 DJNZ R0,TSR2 。 如果等沒(méi)到37次, 則繼續(xù)等待回應(yīng) CLR FLAG1 SJMP TSR7 。 跳轉(zhuǎn)到TSR7TSR3: SETB FLAG1 。 置標(biāo)志位, 表示DS18B20存在 CLR MOV R0,117TSR6: DJNZ R0,$ 。 時(shí)序要求延時(shí)一段時(shí)間TSR7: SETB DATAIN 。 拉高數(shù)據(jù)線 RET 查詢溫度該設(shè)計(jì)中, 通過(guò)向DS18B20發(fā)送指令來(lái)查詢溫度. 在每次操作前, 都需要將DS18B20置位, 先向DS18B20發(fā)送溫度轉(zhuǎn)化的指令, 根據(jù)要求需要750ms的等待時(shí)間, 在這段時(shí)間中, 通過(guò)調(diào)用顯示子程序來(lái)做到延遲. 然后, 向DS18B20發(fā)送讀取溫度的命令, 將溫度讀取出來(lái), 放到緩沖中區(qū). 。 讀出轉(zhuǎn)換后的溫度值GET_TEMPER: SETB DATAIN LCALL INIT_1820 。 先復(fù)位DS18B20 JB FLAG1,TSS2 NOP RET 。 判斷DS18B20是否存在?若不存在則返回TSS2: MOV A,0CCH 。 跳過(guò)ROM匹配 LCALL WRITE_1820 MOV A,44H 。 發(fā)出溫度轉(zhuǎn)換命令 LCALL WRITE_1820 ACALL DISP1 。 這里通過(guò)調(diào)用顯示子程序顯示延時(shí)一段時(shí)間 LCALL INIT_1820 。 準(zhǔn)備讀溫度前先復(fù)位 MOV A,0CCH 。 跳過(guò)ROM匹配 LCALL WRITE_1820 MOV A,0BEH 。 發(fā)出讀溫度命令 LCALL WRITE_1820 LCALL READ_1820 。 將讀出的溫度數(shù)據(jù)保存 RET 發(fā)送指令使用同過(guò)I/O口向DS18B20寫(xiě)數(shù)據(jù). 該設(shè)計(jì)中, 通過(guò)單總線采取移位的方式來(lái)向DS18B20寫(xiě)入數(shù)據(jù), 按照8位的方式寫(xiě)進(jìn)去. 在寫(xiě)的過(guò)程中, 需要嚴(yán)格按照DS18B20的產(chǎn)品說(shuō)明書(shū)的時(shí)序進(jìn)行寫(xiě)操作:每次將1Bit數(shù)據(jù)寫(xiě)入前, 都需要對(duì)DS18B20進(jìn)行寫(xiě)的初始化, 將數(shù)據(jù)線拉低60us以上, 完成寫(xiě)初始化后, 將1位數(shù)據(jù)寫(xiě)進(jìn)DS18B20, 然后等待15us以上, 寫(xiě)操作完成, 繼續(xù)初始化, 寫(xiě)下1位, 直到寫(xiě)完一字節(jié). 具體程序如下. WRITE_1820: MOV R2,8 。 一共8位數(shù)據(jù) CLR C 。 清除進(jìn)位標(biāo)志位WR1: CLR DATAIN 。 拉低數(shù)據(jù)線60us以上后, 將數(shù)據(jù)移位寫(xiě)入DS18B20 MOV R3,6 DJNZ R3,$ 。 等待60us以上, 完成寫(xiě)初始化, 然后寫(xiě)入數(shù)據(jù) RRC A 。 將累加器中的數(shù)據(jù)帶進(jìn)位右移 MOV DATAIN,C 。 將進(jìn)位位寫(xiě)進(jìn)DS18B20后, 等待15us以上 MOV R3,23 DJNZ R3,$ 。 等待15us以上, 完成1bit的寫(xiě)操作 SETB DATAIN 。 拉高數(shù)據(jù)線, 初始化寫(xiě) NOP DJNZ R2,WR1 。 如果一個(gè)字節(jié)沒(méi)寫(xiě)完, 繼續(xù)寫(xiě) SETB DATAIN 。 拉高數(shù)據(jù)線 RET 讀取數(shù)據(jù)使用通過(guò)I/O口從DS18B20讀取數(shù)據(jù). 在該設(shè)計(jì)中, 也使用移位的方式從DS18B20中讀取數(shù)據(jù), 需要嚴(yán)格按照DS18B20的產(chǎn)品說(shuō)明書(shū)的時(shí)序進(jìn)行讀操作, 每次將1位數(shù)據(jù)讀入前, 都需要對(duì)DS18B20進(jìn)行讀的初始化, 將數(shù)據(jù)線拉高1us以上, 等待讀的初始化, 然后拉低數(shù)據(jù)線1us以上, 使讀初始化有效. 完成度初始化后, 從DS18B20將1位數(shù)據(jù)讀入, 然后等待15us以上, 讀操作完成, 等待60us后, 繼續(xù)初始化, 讀下1位, 直到讀完1B. 這里, 直接完成了溫度的計(jì)算功能, , 不要求顯示小數(shù)所以可以拋棄29H的低4位, 將28H中的低4位移入29H中的高4位, 這樣獲得一個(gè)新字節(jié), 這個(gè)字節(jié)就是實(shí)際測(cè)量獲得的溫度, . 程序如下:。 讀DS18B20的子程序(有具體的時(shí)序要求), 讀DS18B20的程序, 從DS18B20中讀出兩個(gè)字節(jié)的溫度數(shù)據(jù)READ_1820: MOV R4,2 。 將我呢度高位和低位從DS18B20中讀出 MOV R1,29H 。 低位純?nèi)?9H(TEMPER_L),高位存入28H(TEMPER_H)RE00: MOV R2,8 。 數(shù)據(jù)一共有8位RE01: CLR C 。 清除進(jìn)位標(biāo)志位 SETB DATAIN 。 拉高數(shù)據(jù)線后, 等待1us初始化讀 NOP NOP CLR DATAIN 。 拉低數(shù)據(jù)線后, 保持1us以上使讀初始化有效 NOP NOP NOP SETB DATAIN 。 拉高數(shù)據(jù)線, 開(kāi)始讀操作 MOV R3,9RE10: DJNZ R3,RE10 。 等待15us后, 寫(xiě)入數(shù)據(jù)正確 MOV C,DATAIN 。 將數(shù)據(jù)讀入累加器 MOV R3,23RE20: DJNZ R3,RE20 。 等待60us以上后, 進(jìn)行下一次讀操作 RRC A 。 將累加器帶進(jìn)位右移 DJNZ R2,RE01 。 如果沒(méi)讀滿一個(gè)字節(jié), 繼續(xù)讀取數(shù)據(jù) MOV @R1,A 。 將累加器中的數(shù)據(jù)存儲(chǔ)進(jìn)地址29H中 DEC R1 DJNZ R4,RE00 。 繼續(xù)讀取高位 RET 中斷處理8051提供5個(gè)中斷, 2個(gè)中斷請(qǐng)求信號(hào)有外部產(chǎn)生并輸入請(qǐng)求信號(hào), 稱(chēng)之為外部中斷源, 其余的中斷請(qǐng)求信號(hào)有內(nèi)部產(chǎn)生并激活中斷請(qǐng)求信號(hào), 稱(chēng)為內(nèi)部中斷源. 其中外部中斷0請(qǐng)求輸入端口位(), 低電平貨負(fù)跳變激活中斷請(qǐng)求IE0位. 當(dāng)外部中斷0中斷請(qǐng)求有效, , 主機(jī)在每個(gè)機(jī)器周期相應(yīng)狀態(tài)采集相應(yīng)的IE0標(biāo)志位, 當(dāng)條件滿足, 則主機(jī)響應(yīng)中斷. 有硬件自動(dòng)復(fù)位IE0. 而外部中斷1請(qǐng)求輸入端口(), 當(dāng)外部中斷1中斷請(qǐng)求有效, 則置位TCON. 3的IE1中斷請(qǐng)求標(biāo)志位. 中斷程序如下:。 數(shù)碼管個(gè)位控制鍵對(duì)應(yīng)的中斷處理程序SXXINT0: PUSH ACC 。 累加器數(shù)據(jù)進(jìn)棧 INC 75H 。 個(gè)位對(duì)應(yīng)的數(shù)值加1 MOV A,75H 。 個(gè)位數(shù)值傳送至寄存器A CJNE A,10,SXXINT01 。 當(dāng)個(gè)位數(shù)值小于10時(shí), 轉(zhuǎn)向ZINT01 MOV 75H,0 。 個(gè)位數(shù)值設(shè)置為0SXXINT01: POP ACC 。 堆棧中的數(shù)據(jù)出棧 RETI 。 中斷返回。 數(shù)碼管十位控制鍵對(duì)應(yīng)的中斷處理程序SXXINT1: PUSH ACC 。 累加器數(shù)據(jù)進(jìn)棧 INC 76H 。 十位對(duì)應(yīng)的數(shù)值加1 SETB 。 報(bào)警蜂鳴響 MOV A,76H 。 十位數(shù)值傳送至寄存器A CJNE A,10, SXXINT11 。 當(dāng)十位數(shù)值小于10時(shí), 轉(zhuǎn)向ZINT11TT: SETB MOV 76H,0 。 十位數(shù)值設(shè)置為0CJNE A,60, SXXINT11 。 當(dāng)十位數(shù)值小于60時(shí), 轉(zhuǎn)向ZINT11 MOV 76H,0 。 十位數(shù)值設(shè)置為0 CLR 。 報(bào)警蜂鳴器關(guān)閉SXXINT11: POP ACC 。 累加器數(shù)據(jù)出棧 RETI 。 中斷返回 主程序有了上面子程序的基礎(chǔ), 通過(guò)主程序, 可以方便的實(shí)現(xiàn)系統(tǒng)子程序的調(diào)用和其間的嵌套調(diào)用. 主要包括偽指令、設(shè)置外部中斷的入口地址、開(kāi)中斷以及主程序?qū)ψ映绦虻恼{(diào)用. 。 以下是偽指令, 用于定義TMPL EQU 29H 。 低字節(jié)寄存器TMPH EQU 28H 。 高字節(jié)寄存器FLAG1 EQU 38H 。 標(biāo)志寄存器, 用于檢測(cè)溫度傳感器是否存在DATAIN BIT 。 DS18B20所接的數(shù)據(jù)線。 規(guī)定程序的存放地址 ORG 00H 。 以下程序從00H單元開(kāi)始存放 LJMP MAIN1。 外部中斷0的入口地址 ORG 03H 。 個(gè)位控制鍵所引起的中斷服務(wù)程序入口地址 LJMP ZINT0外部中斷1的入口地址 ORG 13H 。 十位控制鍵所引起的中斷服務(wù)程序入口地址 LJMP ZINT1 ORG 30H。 打開(kāi)外部中斷0和外部中斷1MAIN1: SETB IT0 。 ITO置位 SETB EA 。 允許打開(kāi)所有中斷 SETB EX0 。 開(kāi)中斷0 SETB IT1 SETB EX1 。 開(kāi)中斷1 SETB 。 控制加熱系統(tǒng) SETB 。 定義系統(tǒng)初始化時(shí)系統(tǒng)的顯示 MOV 74H,0 。 設(shè)置復(fù)位按鈕按下時(shí)系統(tǒng)顯示全O MOV 75H,0 MOV 76H,0 MOV 77H,0。 主程序調(diào)用子程序MAIN: LCALL GET_TEMPER 。 長(zhǎng)調(diào)用讀出轉(zhuǎn)換后的溫度值子程序 LCALL CVTTMP 。 長(zhǎng)調(diào)用比較程序 LCALL DISP1 。 長(zhǎng)調(diào)用顯示程序 AJMP MAIN 溫控系統(tǒng)的電路原理圖基于以上子程序和主程序的設(shè)計(jì), 將子程序和主程序編譯連接, 并經(jīng)過(guò)反復(fù)調(diào)試后, 最后能初步實(shí)現(xiàn)設(shè)計(jì)功能的電路圖如下:圖 23 基于單片機(jī)的沼氣池溫控系統(tǒng)電路原理圖 24 基于單片機(jī)的沼氣池監(jiān)控與降溫系統(tǒng)電路原理 3 系統(tǒng)硬件的實(shí)現(xiàn)第一章曾介紹過(guò)溫度是影響沼氣發(fā)酵的重要因素, 本章在第二章軟件設(shè)計(jì)的基礎(chǔ)之上實(shí)現(xiàn)對(duì)系統(tǒng)的總體硬件上的設(shè)計(jì), 包括元器件的選擇、硬件的搭建、實(shí)物的調(diào)試等. 溫控系統(tǒng)設(shè)計(jì)的元件功能簡(jiǎn)介溫度測(cè)量在生產(chǎn)、生活中隨處可見(jiàn). 隨著工業(yè)技術(shù)迅猛的更新和電子電路的高度集成化, 傳統(tǒng)的溫度測(cè)量傳感器從精度和穩(wěn)定性商都不能滿足測(cè)量要求. DS18B
點(diǎn)擊復(fù)制文檔內(nèi)容
數(shù)學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1