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

正文內(nèi)容

基于單片機數(shù)字溫度計的設(shè)計畢業(yè)設(shè)計-文庫吧資料

2025-03-06 11:54本頁面
  

【正文】 。把 EEROM 里的溫度報警值拷貝回暫存器 LCALL WRITE RET 。***************** 重讀 EEROM 子程序 **************************** READ_E2:LCALL RST MOV A,0CCH 。跳過 ROM 匹配 LCALL WRITE MOV A,48H 。12 位精度 LCALL WRITE RET 。TH(報警上限 ) LCALL WRITE MOV A,TEMP_TL 。跳過 ROM 匹配 LCALL WRITE WR_SCRAPD: MOV A,4EH 。 時序要求延時一段時間 TSR7: SETB DQ RET 。 置 1 標志位 ,表示 DS1820 存在 JMP TSR5 TSR4: CLR FLAG1 。等待 DS18B20 回應(yīng) DJNZ R0,TSR2 JMP TSR4 。主機發(fā)出延時復(fù)位低脈沖 MOV R1,04H TSR1: DJNZ R0,$ MOV R0,6BH DJNZ R1,TSR1 SETB DQ 。顯示在第一行 LCALL LCD_PRINT RET M_ERROR1: DB DS18B20 ERROR ,0 M_ERROR2: DB TEMP: ,0 。顯示在第一行 LCALL LCD_PRINT MOV DPTR,M_ERROR2 。******************** 顯示出錯信息子程序 *********************** MENU_ERROR:MOV DPTR,M_ERROR1 。指針指到顯示消息 MOV A,2 。指針指到顯示消息 MOV A,1 。指針指到顯示消息 MOV R1,0 MOV R0,2 BBJJ1: MOV A,R1 MOVC A,A+DPTR LCALL WDATA INC R1 DJNZ R0,BBJJ1 RET BJ1: DB 00H,C 。 。蜂鳴器響 RET 。蜂鳴器響 RET CHULI2: MOV DPTR,BJ4 LCALL TEMP_BJ3 SETB RELAY 。點亮指示燈 RET CHULI1: MOV DPTR,BJ3 LCALL TEMP_BJ3 SETB RELAY 。減數(shù) 被減數(shù),則 JC CHULI2 。減數(shù) 被減數(shù),則 JC CHULI1 。 MOV R5,10 LCALL DELAY JMP AS0 ASJ022: CPL JMP ASZ01 ASJ03: JMP ASZ03 RET RST_A1: DB SET ALERT CODE ,0 。TH 值調(diào)整(減少) LCALL BEEP_BL DEC TEMP_TH MOV A,TEMP_TH CJNE A,0FFH,ASJ011 JMP ASJ022 ASJ011: LCALL LOOK_ALARM MOV R5,10 LCALL DELAY JMP AS0 ASJ02: JB K3,ASJ03 。TL 值調(diào)整 (增加 ) LCALL BEEP_BL INC TEMP_TL MOV A,TEMP_TL CJNE A,99,ASZ021 MOV TEMP_TL,00H ASZ021: LCALL LOOK_ALARM MOV R5,10 LCALL DELAY JMP ASZ02 ASZ03: JB K4,AS0 。=0,減小 ASZ01: JB K2,ASZ02 。UP/DOWN 標記 AS00: JB ,ASZ01 。將設(shè)定的 TH,TL 值寫入 DS18B20 LCALL WRITE_E2 PROC_K2: LCALL MENU_OK LCALL TEMP_BJ PROC_END:RET 。循環(huán) 。調(diào)用實測溫度值與設(shè)定溫度值比較子程序 LCALL PROC_KEY 。調(diào)用溫度數(shù)據(jù)顯示子程序 LCALL CONV 。調(diào)用 DS18B20 數(shù)據(jù)讀取操作子程序 LCALL CONVTEMP 。跳過 ROM 匹配 LCALL WRITE MOV A,0BEH 。跳過 ROM 匹配命令 LCALL WRITE MOV A,44H 。調(diào)用 DS18B20 復(fù)位子程序 JNB FLAG1,START1 。調(diào)用顯示出錯信息子程序 LCALL TEMP_BJ 。寫入 DS18B20 LCALL TEMP_BJ 。設(shè)置 TL 初值 25 度 LCALL RE_18B20A 。DS1820 存在,調(diào)用顯示正確信息子程序 MOV TEMP_TH,055H 。調(diào)用 18B20 復(fù)位子程序 JNB FLAG1,START1 。DS18B20 數(shù)據(jù)信號 ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV SP,60H MOV A,00H MOV R0,20H 。DS18B20 是否存在標志 KEY_UD EQU 。LCD 讀寫信號 LCD_EN EQU 。LCD 字符顯示位置 LCD_RS EQU 。蜂鳴器 RELAY EQU 。調(diào)整鍵 K4 EQU 。查詢按鍵 K2 EQU 。 溫 度 數(shù) 據(jù) 移 入 顯 示 寄 存器百 位 數(shù) 0 ?十 位 數(shù) 0 ?十 位 數(shù) 顯 示 數(shù)據(jù) 百 位 數(shù) 不 顯示百 位 十 位 都 顯示 數(shù) 據(jù)結(jié) 束YNNY百 位 十 位 都 不顯 示 數(shù) 據(jù) 圖 程序清單 TEMPHC EQU 29H 。 開 始溫 度 零 下 ?溫 度 為 8 8 8 的 B C D值溫 度 大 于 1 1 0度 ?計 算 溫 度 B C D 值結(jié) 束YNYN 圖 計算溫度子程序的流程圖 顯示數(shù)據(jù)刷新子程序 顯示刷新子程序主要是對顯示緩沖區(qū)中的顯示數(shù)據(jù)進行刷新操作,當(dāng)最高數(shù)據(jù)顯示位為 0時,將符號顯示位移入下一位。 發(fā) D S 1 8 B 2 0復(fù) 位 命 令發(fā) 跳 過 R O M 命 令發(fā) 溫 度 轉(zhuǎn) 換 開 始 命 令結(jié) 束 圖 溫度轉(zhuǎn)換命令子程序流程圖 計算溫度子程序 計算溫度子程序?qū)?RAM 中讀取值進行 BCD 碼的轉(zhuǎn)換運算,并進行溫度值正負的判定。當(dāng)采用 12 位分辨率時,轉(zhuǎn)換時間約為 ,采用 1s顯示程序延時法等待轉(zhuǎn)換的完成。在讀出時須進行 CRC校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫。 主程序流程圖如圖 所示。 主程序 主程序的主要功能是負責(zé)溫度的實時顯示、讀出并處理 DS18B20 的測量溫度值。把一些具有獨立功能的模塊編成子程序,以便主程序調(diào)用,本控制系統(tǒng)模塊子程序包括:鍵值讀入子程序、顯示子程序、 T0 中斷控制子程序、外部中斷 0 子程序。 如圖 。系統(tǒng)硬件電路組成如圖 1 所示 89C51 對讀入的數(shù)據(jù)處理后先輸出到 P0 端口,然后鎖存器 74LS373 將 P0 口的輸出字數(shù)據(jù)進行鎖存。 AT89C51 的 P2 口作為 LCD 的控制線 ,~ 分別接 LM016L 的 RS、 RW 和 E 端 。 如圖 所示。 如圖 所示。信息經(jīng)過單線接口送入DSB1820 或從 DS18B20 送出,因此從單 片機到 DS18B20 僅需一條線(和地線)。 HD44780 的控制命令共有 11 條 ,主要用來控制光標的顯示方式、單行或雙行顯示方式、 4 線或 8 線數(shù)據(jù)傳輸方式、存儲器地址指針增減方等 ,可以根據(jù)不同的設(shè)計需求選用不同的命令形式 [4] 第二章 系統(tǒng)硬件電路設(shè)計 DS18B20 溫度傳感器的連接 測溫儀電路設(shè)計原理圖如圖 — 所示,控制器使用單片機 AT89C51,溫度傳感器使用 DS18B20,用 字符液晶顯示器 LM016L 和 1k 8 的排阻構(gòu)成 。從圖 2 中可以看出 ,每次讀寫數(shù)據(jù)時 ,先使 RS 和 RW 有效 ,然后 E(圖中為 EN)脈沖信號有效 ,E 脈沖信號應(yīng)先為高電平后為低電平。 E 為 LCD 的使能信號 ,每次讀寫都需要產(chǎn)生一個寬 450ns 周期為 1000ns 的脈沖信號 [5,6]。 RW 是 LCD 的讀寫控制端 ,RW=0 為寫有效 。 RS=0時 ,配合讀寫控制端 RW實現(xiàn)命令讀寫 。雙行顯示時 ,顯示地址首行自左至右為 80H~ 8FH,第 2行自左至右為 C0H~ CFH。 DDRAM 與液晶顯示屏上的位置是映射關(guān)系 ,只要把 CGROM或 CGRAM中的字符成功寫入對應(yīng)的 DDRAM地址 ,便可在 LCD 上顯示出相應(yīng)的字符。 LM016L 分行顯示時 ,只能顯示 5 7 字體的字符 ,想要顯示 5 10 字符 ,只能單行顯示。 HD44780 有 3 個存儲器 ,分別是字符存儲器 CGROM、顯示數(shù)據(jù)存儲器 DDRAM 和字符產(chǎn)生器 CGRAM。 7 DB0 底 4 位三態(tài)、 雙向數(shù)據(jù)總線 0 位(最低位) 8 DB1 底 4 位三態(tài)、 雙向數(shù)據(jù)總線 1 位 9 DB2 底 4 位三態(tài)、 雙向數(shù)據(jù)總線 2 位 10 DB3 底 4 位三態(tài)、 雙向數(shù)據(jù)總線 3 位 11 DB4 高 4 位三態(tài)、 雙向數(shù)據(jù)總線 4 位 12 DB5 高 4 位三態(tài)、 雙向數(shù)據(jù)總線 5 位 13 DB6 高 4 位三態(tài)、 雙向數(shù)據(jù)總線 6 位 14 DB7 高 4 位三態(tài)、 雙向數(shù)據(jù)總線 7 位(最高位)(也是 busy flang) 15 BLA 背光電源正極 16 BLK 背光 寄存器選擇控制表 RS R/W 操作說明 0 0 寫入指令寄存器(清除屏等) 0 1 都 busy flag( DB7),以及讀取位址計數(shù)器( DB0~DB6)值 1 0 寫入數(shù)據(jù)寄存器(顯示各字型等) 1 1 從數(shù)據(jù)寄存器讀取數(shù) 二、 LM016L 的工作原理 LM016L 是 16 2 數(shù)碼液晶顯示器 ,每行可顯示 16 個字符 ,共 2 行。 5 R/W R/W 為讀寫信號線,高電平 (1)時進行讀操作,低電平 (0)時進行寫操作。IR 用于寄存指令 碼,只能寫入不能讀出, DR 用于寄存
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1