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

正文內(nèi)容

基于at89c51單片機(jī)的蔬菜大棚溫度控制系統(tǒng)設(shè)計(jì)—大學(xué)學(xué)位論文范文模板參考資料-資料下載頁(yè)

2024-12-07 09:32本頁(yè)面

【導(dǎo)讀】本設(shè)計(jì)以AT89C51單片機(jī)為核心的溫度控制系統(tǒng)的工作原理和設(shè)計(jì)方法。號(hào)由溫度芯片DS18B20采集,并以數(shù)字信號(hào)的方式傳送給單片機(jī)??刂葡到y(tǒng)的硬件部分,包括:溫度檢測(cè)電路、溫度控制電路、溫度顯示電路。片機(jī)通過(guò)對(duì)信號(hào)進(jìn)行相應(yīng)處理,從而實(shí)現(xiàn)溫度控制的目的。文中還著重介紹了軟。及按鍵處理程序、溫度信號(hào)處理程序、繼電器控制程序、超溫報(bào)警程序。解,鞏固對(duì)單片機(jī)知識(shí)的掌握,并系統(tǒng)的復(fù)習(xí)本專業(yè)所學(xué)過(guò)的知識(shí)。溫度太低,蔬菜就會(huì)被凍死或則停止生長(zhǎng),所以要將溫度始終控制在適合。蔬菜生長(zhǎng)的范圍內(nèi)。如果僅靠人工控制既費(fèi)時(shí)費(fèi)力,效率低,又容易發(fā)生差錯(cuò),各個(gè)角落的溫度變化情況,以控制蔬菜大棚溫度,適應(yīng)生產(chǎn)需要。而影響正常工作。控制領(lǐng)域還大量采用傳統(tǒng)的PID控制方式,但PID控制對(duì)象的。模型難以建立,并且當(dāng)擾動(dòng)因素不明確時(shí),參數(shù)調(diào)整不便仍是普遍存在的問(wèn)題。簡(jiǎn)單,而且減少了溫度測(cè)量轉(zhuǎn)換時(shí)的精度損失,使得測(cè)量溫度更加精確。煩,使得單片機(jī)更加具有擴(kuò)展性。

  

【正文】 PUSH 06H MOV A,TEMP1 ; 溫度整數(shù)部分送 A DISPLY1: MOV B,100H DIV AB ; 相除取百位 MOV DIS3,A ; 百位送 DIS3 MOV A,B ; 余數(shù)送 A MOV B,10H DIV AB ; 相除取十位 MOV DIS2,A ; 十位送 DIS2 MOV DIS1,B ; 個(gè)位送 DIS1 MOV DIS0,TEMP0 ; 小數(shù)部分送 DIS0 MOV DPTR,ZIXING ; 送字形碼首地址 MOV A,DIS0 ; 取小數(shù) MOVC A,@A+DPTR ; 取對(duì)應(yīng)字形碼 MOV P0,A SETB LED0 SETB LED1 SETB LED2 CLR LED0 MOV SEG,A ; 送字形碼 CALL DELAY0 MOV A,DIS1 ; 取個(gè)位 MOVC A,@A+DPTR ; 取對(duì)應(yīng)字形碼 MOV P0,A CLR ; 清最高位顯示小數(shù)點(diǎn) SETB LED0 SETB LED1 SETB LED2 CLR LED1 MOV SEG,A ; 送字形碼 CALL DELAY0 MOV A,DIS2 ; 取十位 MOVC A,@A+DPTR ; 取對(duì)應(yīng)字形碼 MOV P0,A OUTDIS: POP 06H POP ACC RET ZIXING: DB 03FH,006H,05BH,04FH,66H,6DH,7DH,078H 7FH,6FH;共陽(yáng)數(shù)碼管但是加了uln2803 才使用共陰極數(shù)碼管字型碼 ;延時(shí)子程序 DELAY0: MOV R6,1FH DEL0: MOV R5,0BH DEL1: NOP DJNZ R5,DEL1 DJNZ R6,DEL0 RET ;鍵盤(pán)子程序 SCANKEY: ACALL KEY JNB F0,LNEXT ACALL KEYPROC LNEXT: AJMP SCANKEY DELAY: MOV R7,100H D1: MOV R6,100H DJNZ R6,$ DJNZ R7,D1 RET KEYPROC: MOV A,B JB ,KEYS1 JB JB ,KEYS3 JB ,KEYS4 AJMP KEY_RET KEYS1: SETB S1 AJMP KEY_RET KEYS2: SETB S2 AJMP KEY_RET KEYS3: SETB S3 AJMP KEY_RET KEYS4: SETB S4 AJMP KEY_RET KEY_RET: RET KEY: CLR F0 ORL P1,00001111B MOV A,P1 ORL A,11110000B CPL A JZ K_RET CALL DELAY ORL A,00001111B MOV A,P1 ORL A,11110000B CPL A JZ K_RET MOV B,A SETB F0 K_RET: ORL P1,00001111B MOV A,P1 ORL A JZ K_RET1 AJMP K_RET K_RET1: CALL DELAY RET S1: INC C JBC 1,T1 JBC 2,T2 JBC 3,T3 RET S2: MOV A,31H INC A AJMP S4 S3: MOV B,32H DEC B AJMP S4 S4: MOV A,31H MOV B,32H RET T1: MOV A,WARNH0 AJMP DISPLY1 T2: MOV A,WARNH1 AJMP DISPLY1 T3: AJMP DISPLY1 CLR C AJMP S1 RET ; T0 中斷子程序 T0INT: PUSH ACC PUSH 06H PUSH 05H MOV TL0,B0H MOV TH0,3CH DJNZ R7,OUTSINT MOV R7,15H LCALL GET_TEMPER ; 讀取溫度 JNB HAVE,OUTT0INT MOV A,TEMP1 CLR C SUBB A,WARNH0 ; 將讀取的溫度與高溫限比較 TINT0: JNZ T1NT1 ; 判斷是否大于高溫限 AJMP T1NT2 ; 不大于轉(zhuǎn) T1NT2’ T1NT1: CLR CLR AJMP TINT4 TINT2: SUBB A,WARNH1 ; 將讀取的溫度與低溫限比較 JC TINT3 ; 判斷是 否小于低溫限 AJMP TINT4 ; 不小于轉(zhuǎn) TINT4 TINT3: CLR CLR AJMP TINT4 TINT4: CALL PRO ; 處理數(shù)據(jù) OUTT0INT: POP 05H POP 06H POP ACC RETI 從 18B20 獲得溫度數(shù)據(jù)程序 GET_TEMPER: CALL INI_18B20 ; 操作前先復(fù)位 JB HAVE,GET0 ; 若 18B20 存在則轉(zhuǎn) MOV TEMP0,0FH ; 數(shù)碼管顯示 000 MOV TEMP1,00H AJMP OUTGET ; 退出 GET0: MOV A,CCH ; 跳過(guò) ROM 匹配 CALL WR_18B20 MOV A,44H ; 開(kāi)始轉(zhuǎn)化 CALL WR_18B20 MOV R6,11H ; 延遲約 800ms GET1: LCALL DISPLY DJNZ R6,GET1 CALL INI_18B20 ; 操作前先復(fù) 位 MOV A,CCH ; 跳過(guò) ROM 匹配 CALL WR_18B20 MOV A,0BEH ; 讀取命令 CALL WR_18B20 CALL RD_18B20 ; 開(kāi)始讀取 ROM OUTGET: RET ; 18B20 復(fù)位程序 INI_18B20: SETB WR_18B20 NOP CLR WR_18B20 ; 拉低數(shù)據(jù)線 MOV R6,3H ; 延遲約 500us INI1: MOV R5,75H DJNZ R5,$ DJNZ R6,INI1 SETB WR_18B20 ; 然后釋放 NOP NOP NOP MOV R5,25H INI2: JNB WR_18B20,INI3 ; 等待 18B20 回應(yīng) DJNZ R5,INI2 AJMP INI4 ; 延時(shí) INI3: SETB HAVE ; 置標(biāo)志位,表示 18B20 存在 AJMP INI5 INI4: CLR HAVE ; 消標(biāo)志位,表示 18B20 不存在 LJMP INI7 INI5: MOV R5,90H INI6: DJNZ R5,INI6 ; 時(shí)序要求延時(shí)一段時(shí)間 INI7: SETB WR_18B20 RET ; 18B20 寫(xiě)程序 WR_18B20: MOV R6,8H ; 一共 8 位數(shù)據(jù) CLR C WR1: CLR WR_18B20 :拉低數(shù)據(jù)線 MOV R5,6H ; 延遲約 17us DJNZ R5,$ RRC A ; 右移數(shù)據(jù)到 CY MOV WR_18B20,C ; 寫(xiě)入 18B20 MOV R5,25H ; 保持電平 35us DJNZ R5,$ SETB WR_18B20 ; 釋放數(shù)據(jù)線 NOP DJNZ R6,WR1 ; 若未完成寫(xiě)入,繼續(xù) SETB WR_18B20 ; 釋放數(shù)據(jù)線 RET ; 18B20 讀程序(高位寸 TEMP1,低位存 TEMP0) RD_18B20: MOV R6,2H ; 需要讀 2 個(gè)字節(jié)的數(shù)據(jù) MOV R0,TEMP0 ; 送高位首地址 RD0: MOV R5,8H ; 讀 8位數(shù)據(jù) RD1: CLR C ; 清 CY,為讀數(shù)據(jù)做準(zhǔn)備 SETB WR_18B20 NOP NOP CLR WR_18B20 ; 拉低數(shù)據(jù)線 NOP NOP NOP SETB WR_18B20 ; 釋放數(shù)據(jù)線 MOV R4,08H ; 稍作延遲 DJNZ R4,$ MOV C,WR_18B20 ; 讀數(shù)據(jù)線數(shù)據(jù)到 C MOV R4,23H ; 延遲 DJNZ R4,$ RRC A ; 右移 CY 數(shù)據(jù)到 A DJNZ R5,RD1 ; 若 8 位沒(méi)讀完,轉(zhuǎn) RD1 MOV @R0,A ; 將讀到數(shù)據(jù)送 ROM INC R0 ; ROM 指針加一 DJNZ R6,RD0 ; 若 2 字節(jié)未讀完,轉(zhuǎn) RD0 RET ;獲得數(shù)據(jù)處理程序 PRO: MOV 21H,TEMP0 ; 溫 度低 8 位存位尋址區(qū) 21H MOV 22H,TEMP1 ; 溫度高 8 位存位尋址區(qū) 22H MOV A,22H ; 高 8位數(shù)據(jù)送 A SWAP A ; 交換高低 4位保護(hù)數(shù)據(jù) MOV C,0FH ; 將 21H第 7位送 ACC 第 3位 MOV ,C MOV C,0EH ;將 21H第 6位送 ACC 第 2位 MOV ,C MOV C,0DH ;將 21H第 5位送 ACC 第 1位 MOV ,C MOV C,0CH ;將 21H第 4位送 ACC 第 0位 MOV ,C MOV TEMP1,A ; 將合成后的數(shù)據(jù)送 TEMP1 MOV A,TEMP0 ANL A,0FH ; 將低 8位數(shù)據(jù)的高 4位清 0 和生成數(shù)據(jù) MOV DPTR,XIAOSHU ; 查表的小數(shù)部分 BCD 碼(近似為 1位) MOVC A,@A+DPTR MOV TEMP0,A MOV A,TEMP1 CJNE A,128,FSHU ; 判斷是否為負(fù)溫度 CLR C FSHU: JC NOTFU ; 不是負(fù)數(shù)轉(zhuǎn) NOTFU ADD A,01H CPL A SETB FSHU ; 負(fù)數(shù)標(biāo)致位置 1 NOTFU: CLR FSHU OUTPRO: RET XIAOSHU: DB 00H 00H 01H 02H 03H 03H 04H 04H 05H 06H ; 小數(shù)部分轉(zhuǎn)化為 BCD 表 END
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1