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

正文內容

基于單片機數(shù)字溫度計的設計-預覽頁

2025-01-08 09:44 上一頁面

下一頁面
 

【正文】 9— 12 位數(shù)字量讀出; ; 志超過程序限定溫度的器件; ,電源極性接反時,溫度計不會因發(fā)熱而燒毀,只是不能正常工作; 二、外部結構 DS18B20 采用 3 腳 PR35 封裝或 8腳 SOIC 封裝。 表 DS18B20 分辨率的定義和規(guī)定 R1 R0 分辨率 /位 溫度最大 轉換時間 /ms 0 0 9 0 1 10 1 0 11 375 1 1 12 750 TM R1 R0 1 1 1 1 1 圖 配置寄存器位定義 四 DS18B20 測 溫原理 DS18B20 測溫原理圖如圖 所示 圖 DS18B20測溫原理圖 DS18B20 是這樣測溫的:用一個高溫系數(shù)的振蕩器確定一個門周期,內部計數(shù)器在 這個門周期內對一個低溫度系數(shù)的振蕩器的脈沖進行計數(shù)來得到溫度值。然后計數(shù)器又開始計數(shù)直到 0,如果門周期仍未結束,將重復這一過程。 DS18B20 內部對此計算的結果可提供 ℃的分辨力。芯片上的 FPEROM 允許在線編程或采用通用的編程器對其重復編程,而且性能價格比高。 (3)存儲器可循環(huán)寫入 /擦除 1 萬次。但是,擦除和寫入對于要有數(shù)據(jù)高速吞吐的應用還顯得 時間過長,這是 E2PROM 的主要缺陷。片內閃爍存儲器( Flash Memory)的概念就是在這種背景下提出來的。此時, ALE/PROG 引腳是編程脈沖輸入( PROG )端。作為當前主流的顯示器件 ,液晶顯示器 (LCD)的應用越來越廣泛。液晶顯示器是由液晶顯示屏及控制器兩部分組成的 ,不同的液晶顯示器所對應的控制器不盡相同 ,了解 LCD 控制器的控制功能是設計液晶顯示的關鍵 [3] 一、液晶模塊簡介 LM016L 的結構及功能 LM016L 液晶模塊采用 HD44780 控制器, hd44780 具有簡單而功能較強的指令集,可以實現(xiàn)字符移動,閃爍等功能, LM016L 與單片機 MCU通訊可采用 8 位或 4 位并行傳輸兩種方式, hd44780 控制器由兩個 8 位寄存器,指令寄存器( IR)和數(shù)據(jù)寄存器( DR)忙標志( BF),顯示數(shù) RAM( DDRAM),字符發(fā)生器 ROMA( CGOROM)字符發(fā)生器 RAM( CGRAM),地址計數(shù)器 RAM(AC)。 6 E E(或 EN)端為使能 (enable)端,下降沿使能。在 LM016L 的CGROM 中 ,共有 192 個可供顯示的字符和數(shù)字 ,其中 5 7(寬高 )字符 150 個 ,510(寬高 )字符 42 個。單行顯示時 ,DDRAM 的顯示地址自左至右分別為 80H~ 87H,C1H~ C7H。RS=1時 ,配合讀寫控制端 RW實現(xiàn)顯示數(shù)據(jù)的讀寫。 HD44780的寫時序如圖 2 所示。 DS18B20 溫度傳感器提供 9 位(二進制)溫度讀數(shù)。 89C51 對 DS18B20 的數(shù)字量輸出讀入,即讀 端口。LM016L 的其它 3 個控制端 VDD和 VSS、 VEE 分別接電源和地。 圖 第三章 系統(tǒng)軟件設計 本控制系統(tǒng)軟件設計基于軟件工程 [5]模塊化思想,將它分割成若干子模塊,每個模塊完成不同的功能, 采用模塊化原理可以使軟件結構清晰,不僅容易設計也容易閱讀和理解,模塊化 使得軟件容易測試和調試,易于擴展,有利于提高軟件的可靠性, 減少系統(tǒng)開發(fā)的工作量。溫度測量每 1s 進行一次。 讀出溫度子程序流程圖如圖 所示 發(fā) D S 1 8 B 2 0 復 位 命 令發(fā) 跳 過 R O M 命 令發(fā) 讀 取 溫 度 命 令讀 取 操 作 , C R C 校 驗9 字 節(jié) 完 ?C R C 校 驗 正確 ?移 入 溫 度 暫 存 器結 束YNYN 圖 讀出溫度子程序流程圖 溫度轉換命令子程序 溫度轉換命令子程序主要是發(fā)溫度轉換開始命令。 計算溫度子程序的流程圖如圖 。正、負溫度值標記 TEMPLC EQU 2AH TEMPFC EQU 2BH K1 EQU 。確定鍵 BEEP EQU 。LCD 寄存器選擇信號 LCD_RW EQU 。設定按鍵的增、減標志 DQ EQU 。DS1820 不存在 LCALL MENU_OK 。調用暫存器操作子程序 LCALL WRITE_E2 。顯示溫度標記 SJMP $ START2: LCALL RST 。溫度轉換命令 LCALL WRITE LCALL RST MOV A,0CCH 。調用溫度數(shù)據(jù) BCD 碼處理子程序 LCALL DISPBCD 。調用鍵掃描子程序 SJMP START2 。******************* 設定溫度報警值 TH、 TL ************************ SET_ALARM:LCALL LOOK_ALARM AS0: JB K1,AS00 LCALL BEEP_BL JNB K1,$ CPL 。TH 值調整 (增加 ) LCALL BEEP_BL INC TEMP_TH MOV A,TEMP_TH CJNE A,120,ASZ011 MOV TEMP_TH,0 ASZ011: LCALL LOOK_ALARM MOV R5,10 LCALL DELAY JMP ASZ01 ASZ02: JB K3,ASZ03 。TL 值調整(減少) LCALL BEEP_BL DEC TEMP_TL MOV A,TEMP_TL CJNE A,0FFH,ASJ021 JMP ASJ022 ASJ021: LCALL LOOK_ALARM 。借位標志位 C=1,轉 MOV A,TEMPFC CJNE A,0BH,COMP SJMP CHULI2 COMP: MOV A,TEMP_ZH SUBB A,TEMP_TL 。熄滅指示燈 LCALL BEEP_BL 。 TEMP_BJ3: MOV A,0CEH LCALL WCOM MOV R1,0 MOV R0,2 BBJJ3: MOV A,R1 MOVC A,A+DPTR LCALL WDATA INC R1 DJNZ R0,BBJJ3 RET BJ3: DB H BJ4: DB L BJ5: DB ! 。******************** 顯示正確信息子程序 ************************ MENU_OK: MOV DPTR,M_OK1 。顯示在第一行 LCALL LCD_PRINT RET M_OK1: DB DS18B20 OK ,0 M_OK2: DB TEMP: ,0 。指針指到顯 示消息 1 MOV A,2 。拉高數(shù)據(jù)線 NOP NOP NOP MOV R0,32H TSR2: JNB DQ,TSR3 。 清 0 標志位 ,表示 DS1820 不存在 JMP TSR7 TSR5: MOV R0,06BH TSR6: DJNZ R0,$ 。寫暫器 LCALL WRITE MOV A,TEMP_TH 。****************** 復制暫存器子程序 *************************** WRITE_E2:LCALL RST MOV A,0CCH 。跳過 ROM 匹配 LCALL WRITE MOV A,0B8H 。****************** DS18B20 數(shù)據(jù)寫入操作子程序 ******************** WRITE: MOV R2,8 。把一個字節(jié) DATA 分成 8個 BIT 環(huán)移給 C MOV DQ,C 。寫入下一位 SETB DQ RET 。讀前總線保持為低 NOP NOP NOP SETB DQ 。等待 100 微妙 RRC A 。判溫度是否零下 ANL A,08H JZ TEMPC1 。負溫度標志 MOV TEMPFC,0BH SJMP TEMPC11 TEMPC1: MOV TEMPHC,0AH 。整數(shù)部分 ANL A,0F0H 。TEMPHC LOW = 十位數(shù) BCD MOV TEMPHC,A MOV A,TEMPL ANL A,0FH SWAP A 。 小數(shù)部分碼表 DB 05H,05H,06H,06H,07H,08H,08H,09H 。加載 TH 數(shù)據(jù) MOV LCD_X,3 。設 置顯示位置 LCALL SHOW_DIG2L 。***************** 顯示區(qū) BCD 碼溫度值刷新 子程序 ***************** DISPBCD: MOV A,TEMPLC ANL A,0FH MOV 70H,A 。百位 DISPBCD2: RET 。號顯示 JMP CONV111 CONV11: MOV A, 。個位 LCALL SHOW_DIG2 INC LCD_X MOV A,39。設置顯示位置 LCALL SHOW_DIG2 。設置顯示地址 ADD A,0C0H 。寫入數(shù)據(jù) RET 。************************ LCD 初始化 ************************** INIT_LCD: MOV A,38H 。********************* 清除 LCD 的第一行字符 ********************* CLR_LINE1:MOV A,80H 。 。***************** LCD 的第一行或第二行顯示字符 ****************** LCD_PRINT:CJNE A,1,LINE2 。清除該行字符數(shù)據(jù) MOV A,80H 。寫入命令 LCALL CLR_LINE 。由消息區(qū)取出字符 CJNE A,0,LC1 。繼續(xù)填入字符 RET 。******************* LCD 間接控制方式命令寫入 ****************** WCOM: MOV P0,A
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1