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

正文內容

基于at89s52單片機水溫控制器的設計-資料下載頁

2024-10-23 10:36本頁面
  

【正文】 MOV B,10H DIV AB MOV B,10 MUL AB MOV B,10H DIV AB MOV B1,A RET 。//////////上面這一段是讀取溫度后進行轉換的意思 ! 。///////////////////////////////// 。//////////////////////////////// 。/////////////////////////////// INIT_1820: SETB DQ 。這是 DS18B20 復位初始化子程序 NOP CLR DQ 。主機發(fā)出延時 537 微秒的復位 低脈沖 MOV R1,3 TSR1: MOV R0,107 DJNZ R0,$ DJNZ R1,TSR1 SETB DQ 。然后拉高數(shù)據(jù)線 NOP NOP 22 22 NOP NOP MOV R0,25H TSR2: JNB DQ,TSR3 。等待 DS18B20 回應 DJNZ R0,TSR2 LJMP TSR4 。延時 TSR3: SETB FLAG1 。置標志位 ,表示 DS1820 存在 LJMP TSR5 TSR4: CLR FLAG1 。清標志位 ,表示 DS1820 不存在 LJMP TSR7 TSR5: MOV R0,117 TSR6: DJNZ R0,TSR6 。時序要求延時一段時間 TSR7: SETB DQ RET GET_TEMPER: SETB DQ 。讀出轉換后的溫度值 LCALL INIT_1820 。先復位 DS18B20 JB FLAG1,TSS2 RET 。判斷 DS1820 是否存在 ?若 DS18B20 不存在則返回 TSS2: MOV A,0CCH 。DS18B20 已經(jīng)被檢測到 !!!!!!!!!!!!!!!跳過 ROM 匹配 LCALL WRITE_1820 MOV A,44H 。發(fā)出溫度轉換命令 LCALL WRITE_1820 LCALL DISPLAY 。這里通過調用顯示子程序實現(xiàn)延時一段時間 ,等待 AD 轉換結束 ,12 位的話 750 微秒 LCALL INIT_1820 。準備讀溫度前先復位 MOV A,0CCH 。跳過 ROM 匹配 LCALL WRITE_1820 MOV A,0BEH 。發(fā)出讀溫度命令 LCALL WRITE_1820 LCALL READ_18200 。將讀 出的溫度數(shù)據(jù)保存到 35H/36H RET 23 23 WRITE_1820: MOV R2,8 。一共 8 位數(shù)據(jù) CLR C 。寫 DS18B20 的子程序 (有具體的時序要求 ) 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 中讀出兩個字節(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 24 24 RE20: DJNZ R3,RE20 RRC A DJNZ R2,RE01 MOV @R1,A DEC R1 DJNZ R4,RE00 RET 。/////////////////////////////////////////上面的這些都是溫度采集的 ! DISPLAY: MOV A,29H 。將 29H 中的十六進制數(shù)轉換成 10 進制 MOV B,10 。10 進制 /10=10 進制 DIV AB 。顯示子程序 MOV A_BIT,A 。十位在 A MOV B_BIT,B 。個位在 B MOV DPTR,NUMTAB 。指定查表啟始地址 MOV R0,1 DPL1: MOV R1,25 。顯示 1000 次 DPLOP: MOV A,B_BIT 。取個位數(shù) MOVC A,@A+DPTR 。查個位數(shù)的 7 段代碼 MOV P0,A 。送出個位的 7 段代碼 CLR 。開個位顯示 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 個 100 次沒完循環(huán) 25 25 RET 。/////////////////////////////////////上面這段顯示實時溫度 。////////////////////////////////////// DISPLAY1: MOV A,A1 。將 29H 中的十六進制數(shù)轉換成 10 進制 MOV B,10 。10 進制 /10=10 進制 DIV AB 。顯示子程序 MOV A_BIT,A 。十位在 A MOV B_BIT,B 。個位在 B MOV DPTR,NUMTAB 。指定查表啟始地址 MOV R0,1 DPL11: MOV R1,25 。顯示 1000 次 DPLOP1: MOV A,B_BIT 。取個位數(shù) MOVC A,@A+DPTR 。查個位數(shù)的 7 段代碼 MOV P0,A 。送出個位的 7 段代碼 CLR 。開個位顯示 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 個 100 次沒完循環(huán) RET 。/////////////////////////////上面這段顯示設置溫度 D1MS: MOV R7,50 。1MS 延時 DJNZ R7,$ RET 26 26 DELAY10: MOV R6,20 。10MS 延時 D3: MOV R5,255 DJNZ R5,$ DJNZ R6,D3 RET DELAY125: MOV R6,255 。125MS 延時 D1: MOV R5,255 DJNZ R5,$ DJNZ R6,D1 RET DELAY1S: MOV R7,8 。1S 延時 D2: LCALL DELAY125 DJNZ R7,D2 RET 。///////////////////////這些都是延時 ,長短而已 NUMTAB: DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8H DB 80H,90H,88H,83H DB 0C6H,0A1H,86H,8EH 。////////////////////數(shù)碼管的具體值 END 27 27 附錄二: 系統(tǒng)硬件總圖 28 28
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1