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

正文內(nèi)容

基于單片機(jī)水溫控制器的設(shè)計(jì)畢業(yè)論文-資料下載頁

2025-02-26 11:53本頁面

【導(dǎo)讀】基于單片機(jī)的水溫控制器的設(shè)計(jì)。本系統(tǒng)的設(shè)計(jì)可以用于熱水器溫度控制系統(tǒng)和飲水機(jī)等各種電器電路。它以單片機(jī)AT89S52為核心,通過3個(gè)數(shù)碼管顯示溫度和4個(gè)按鍵實(shí)?,F(xiàn)人機(jī)對(duì)話,使用單總線溫度轉(zhuǎn)換芯片DS18B20實(shí)時(shí)采集溫度并通過數(shù)碼。管顯示,并提供各種運(yùn)行指示燈用來指示系統(tǒng)現(xiàn)在所處狀態(tài),如:溫度設(shè)。置、加熱、停止加熱等,整個(gè)系統(tǒng)通過四個(gè)按鍵來設(shè)置加熱溫度和控制運(yùn)。關(guān)鍵詞:單片機(jī);數(shù)碼管顯示;單總線;DS18B20

  

【正文】 則開發(fā)熱管CLR MAIN1_2: SETB BELL 。//關(guān)閉蜂鳴器 CLR 。//開發(fā)熱管 SETB 。///////////////////////////////上面的是大于 ,關(guān)發(fā)熱管 MAIN2: JB ,MAIN1 。//看 有否按下 ACALL DELAY125 。//延時(shí)防抖動(dòng) ,常用的手法 ,網(wǎng)上很多介紹的 JB ,MAIN1 。//再次查看 CLR JNB ,$ 。//等按鍵完全松手才進(jìn)入 ! SETB SETB 。///檢測到 按鍵后后進(jìn)入設(shè)定溫度 MAIN2_1: ACALL DISPLAY1 JB ,MAIN2_2 ACALL DELAY125 JB ,MAIN2_2 JNB ,$ MOV A,5 ADD A,A1 CLR C CJNE A,100,MAIN2_1_1 MOV A,99 AJMP MAIN2_1_3 。////////////////上面這一段是 +5 度按鍵 ,按下 +5 度 MAIN2_1_1: JC MAIN2_1_3 MAIN2_1_2: CLR C MOV A,99 MAIN2_1_3: MOV A1,A 27 MAIN2_2: JB ,MAIN2_3 ACALL DELAY125 JB ,MAIN2_3 JNB ,$ MOV A,A1 CJNE A,99,ZY1 MOV B,4 AJMP ZY2 ZY1: MOV B,5 ZY2: CLR C MOV A,A1 SUBB A,B MAIN2_2_1: JNC MAIN2_2_2 MOV A1,0 AJMP MAIN2_3 。////////////////上面這一段是 5 度按鍵 ,按下 5 度 MAIN2_2_2: MOV A1,A MAIN2_3: JB ,MAIN2_1 ACALL DELAY125 JB ,MAIN2_1 CLR JNB ,$ SETB AJMP MAIN1 。/////////////上面這一段是退出的意思的 ! D1820: LCALL GET_TEMPER 。調(diào)用讀溫度子程序 MOV B1,29H MOV A,29H MOV C,40H 。將 28H 中的最低位移入 C RRC A MOV C,41H 28 RRC A MOV C,42H RRC A MOV C,43H RRC A MOV 29H,A MOV A,B1 MOV B,10H MUL AB MOV B,10H DIV AB MOV B,10 MUL AB MOV B,10H DIV AB MOV B1,A RET 。//////////上面這一段是讀取溫度后進(jìn)行轉(zhuǎn)換的意思 ! 。///////////////////////////////// 。//////////////////////////////// 。/////////////////////////////// INIT_1820: SETB DQ 。這是 DS18B20 復(fù)位初始化子程序 NOP CLR DQ 。主機(jī)發(fā)出延時(shí) 537 微秒的復(fù)位低脈沖 MOV R1,3 TSR1: MOV R0,107 DJNZ R0,$ DJNZ R1,TSR1 SETB DQ 。然后拉高數(shù)據(jù)線 NOP NOP 29 NOP NOP MOV R0,25H TSR2: JNB DQ,TSR3 。等待 DS18B20 回應(yīng) DJNZ R0,TSR2 LJMP TSR4 。延時(shí) TSR3: SETB FLAG1 。置標(biāo)志位 ,表示 DS1820 存在 LJMP TSR5 TSR4: CLR FLAG1 。清標(biāo)志位 ,表示 DS1820 不存在 LJMP TSR7 TSR5: MOV R0,117 TSR6: DJNZ R0,TSR6 。時(shí)序要求延時(shí)一段時(shí)間 TSR7: SETB DQ RET GET_TEMPER: SETB DQ 。讀出轉(zhuǎn)換后的溫度值 LCALL INIT_1820 。先復(fù)位 DS18B20 JB FLAG1,TSS2 RET 。判斷 DS1820 是否存在 ?若 DS18B20 不存在則返回 TSS2: MOV A,0CCH 。DS18B20 已經(jīng)被檢測到 !!!!!!!!!!!!!!!跳過 ROM 匹配 LCALL WRITE_1820 MOV A,44H 。發(fā)出溫度轉(zhuǎn)換命令 LCALL WRITE_1820 LCALL DISPLAY 。這里通過調(diào)用顯示子程序?qū)崿F(xiàn)延時(shí)一段時(shí)間 ,等待 AD 轉(zhuǎn)換結(jié)束 ,12 位的話 750 微秒 LCALL INIT_1820 。準(zhǔn)備讀溫度前先復(fù)位 MOV A,0CCH 。跳過 ROM 匹配 LCALL WRITE_1820 MOV A,0BEH 。發(fā)出讀溫度命令 LCALL WRITE_1820 LCALL READ_18200 。將讀出的溫度數(shù)據(jù)保存到 35H/36H RET 30 WRITE_1820: MOV R2,8 。一共 8 位數(shù)據(jù) CLR C 。寫 DS18B20 的子程序 (有具體的時(shí)序要求 ) WR1: CLR DQ MOV R3,6 DJNZ R3,$ RRC A MOV DQ,C MOV R3,23 DJNZ R3,$ SETB DQ NOP DJNZ R2,WR1 SETB DQ RET READ_18200: MOV R4,2 。將溫度高位和低位從 DS18B20 中讀出 MOV R1,29H 。 低 位 存 入 29H(TEMPER_L), 高 位 存 入28H(TEMPER_H) RE00: MOV R2,8 。數(shù)據(jù)一共有 8 位 RE01: CLR C 。讀 DS18B20 的程序 ,從 DS18B20 中讀出兩個(gè)字節(jié)的溫度數(shù)據(jù) SETB DQ NOP NOP CLR DQ NOP NOP NOP SETB DQ MOV R3,9 RE10: DJNZ R3,RE10 MOV C,DQ MOV R3,23 31 RE20: DJNZ R3,RE20 RRC A DJNZ R2,RE01 MOV @R1,A DEC R1 DJNZ R4,RE00 RET 。/////////////////////////////////////////上面的這些都是溫度采集的 ! DISPLAY: MOV A,29H 。將 29H 中的十六進(jìn)制數(shù)轉(zhuǎn)換成 10 進(jìn)制 MOV B,10 。10 進(jìn)制 /10=10 進(jìn)制 DIV AB 。顯示子程序 MOV A_BIT,A 。十位在 A MOV B_BIT,B 。個(gè)位在 B MOV DPTR,NUMTAB 。指定查表啟始地址 MOV R0,1 DPL1: MOV R1,25 。顯示 1000 次 DPLOP: MOV A,B_BIT 。取個(gè)位數(shù) MOVC A,@A+DPTR 。查個(gè)位數(shù)的 7 段代碼 MOV P0,A 。送出個(gè)位的 7 段代碼 CLR 。開個(gè)位顯示 ACALL D1MS 。顯示 1MS SETB MOV A,A_BIT 。取十位數(shù) MOVC A,@A+DPTR 。查十位數(shù)的 7 段代碼 MOV P0,A 。送出十位的 7 段代碼 CLR 。開十位顯示 ACALL D1MS 。顯示 1MS SETB MOV P0,0FFH DJNZ R1,DPLOP 。100 次沒完循環(huán) DJNZ R0,DPL1 。4 個(gè) 100 次沒完循環(huán) 32 RET 。/////////////////////////////////////上面這段顯示實(shí)時(shí)溫度 。////////////////////////////////////// DISPLAY1: MOV A,A1 。將 29H 中的十六進(jìn)制數(shù)轉(zhuǎn)換成 10 進(jìn)制 MOV B,10 。10 進(jìn)制 /10=10 進(jìn)制 DIV AB 。顯示子程序 MOV A_BIT,A 。十位在 A MOV B_BIT,B 。個(gè)位在 B MOV DPTR,NUMTAB 。指定查表啟始地址 MOV R0,1 DPL11: MOV R1,25 。顯示 1000 次 DPLOP1: MOV A,B_BIT 。取個(gè)位數(shù) MOVC A,@A+DPTR 。查個(gè)位數(shù)的 7 段代碼 MOV P0,A 。送出個(gè)位的 7 段代碼 CLR 。開個(gè)位顯示 ACALL D1MS 。顯示 1MS SETB MOV A,A_BIT 。取十位數(shù) MOVC A,@A+DPTR 。查十位數(shù)的 7 段代碼 MOV P0,A 。送出十位的 7 段代碼 CLR 。開十位顯示 ACALL D1MS 。顯示 1MS SETB MOV P0,0FFH DJNZ R1,DPLOP1 。100 次沒完循環(huán) DJNZ R0,DPL11 。4 個(gè) 100 次沒完循環(huán) RET 。/////////////////////////////上面這段顯示設(shè)置溫度 D1MS: MOV R7,50 。1MS 延時(shí) DJNZ R7,$ RET 33 DELAY10: MOV R6,20 。10MS 延時(shí) D3: MOV R5,255 DJNZ R5,$ DJNZ R6,D3 RET DELAY125: MOV R6,255 。125MS 延時(shí) D1: MOV R5,255 DJNZ R5,$ DJNZ R6,D1 RET DELAY1S: MOV R7,8 。1S 延時(shí) D2: LCALL DELAY125 DJNZ R7,D2 RET 。///////////////////////這些都是延時(shí) ,長短而已 NUMTAB: DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8H DB 80H,90H,88H,83H DB 0C6H,0A1H,86H,8EH 。////////////////////數(shù)碼管的具體值 END 34 附錄二: 系統(tǒng)硬件總圖 VCCVCCE1C3B2Q1 PNPE1C3B2
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1