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

正文內(nèi)容

基于ds1820組件的數(shù)字溫度計設計-資料下載頁

2025-06-07 14:13本頁面
  

【正文】 調(diào)用 4 個子程序,分別為數(shù)碼管顯示程序,溫度測試及處理子程序,報警子程序,中斷設定子程序。各模塊程序功能如下: 25 ●數(shù)碼管顯示程序:向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示部分。 ●溫度測試及處理程序:對溫度芯片送過來的數(shù)據(jù)進行處理,進行判斷和顯示。 ●報警子程序:進行溫度上下限判斷及報警輸出。 ●中斷設定程序:實現(xiàn)設定上下限報警功能。 主程序流程見圖 : 圖 DS1820 初始化流程圖 圖 、各模塊流程設計 下面對主要子程序的流程圖做介紹 溫度檢測流程 26 DS1820 在單片機控制下分三個階段 : ● DS1820 初始化:初始化流程圖見 ●讀 DS1820 時序:讀 DS1820 流程見圖 : ●寫 DS1820 時序:寫 DS1820 流程見圖 圖 讀 DS1820流程圖 圖 寫 DS1820 流程圖 、報警模塊流程 流程見圖 27 圖 報警模塊子程序流程圖 、 中斷設定流程 中斷模塊采用了外中斷和內(nèi)中斷套用方法。當設計需要實現(xiàn)上下限報警時,利用 INT0 口進行中斷, set 鍵進行上下限報警溫度設定,進入溫度設定狀態(tài)后(按一下溫度設定鍵),首先會提示顯示“ UP”字母,表示要用戶設定高溫報警溫度,按 S3 鍵 ,表示本位數(shù)字 +1,按 S4 表示移向下一位,如果 4 位高溫設定完畢,則顯示“ DO”,表示要用戶設定低溫報警 28 溫度。 4 位低溫設定完畢,如果用戶設置的高溫比設定的低溫高的話則顯示“ ERRO”表示錯誤提示,同時會有蜂鳴器及時報警提示,然后自動顯示“ UP”,讓用戶重新進行溫度設定。中斷設定子程序流程圖見下圖 圖 中斷設定子程序流程圖 總結和體會 29 本設計利用 AT89S51 芯片控制溫度傳感器 DS1820,再輔之以部分外圍電路實現(xiàn)對環(huán)境溫度的測控,性能穩(wěn)定,精度教高,而且擴展性能很強大。由于 DS1820 支持單總線協(xié)議,我們可以將多個 DS1820 可以并聯(lián)到 3 根或 2 根線上, CPU 只需一根端口線就能與諸多 DS1820 通信,占用較少的微處理器的端口就可以實現(xiàn)多點測溫監(jiān)控系統(tǒng)??梢约尤?1302 時鐘芯片實現(xiàn)對時間進行顯示,加之 AT24C16 存儲芯片來實現(xiàn)對時間和溫度數(shù)據(jù)的記錄,利用 MAX232芯片和計算機實現(xiàn)串口通訊,這樣就可以方便的統(tǒng)計出特定時間內(nèi)的需要的時間和溫度數(shù)據(jù)。由于 DS1820 的測量精度只有177。 度,往往很多場合需要更加精確的溫度,在所測溫度精度不變的基礎上必須對數(shù)據(jù)進行校正。由于 DS1820 是基于帶隙結構的數(shù)字式溫度傳感器, PN 結增量電壓正比于 IC 絕對溫 度( PTAT),它的測溫精度較高 ,但存在著一定的誤差 .不過 ,其誤差在時間和外部環(huán)境變化的條件下 ,保持相當高的穩(wěn)定性。針對這一特性 ,基于線性插補的數(shù)學思想 ,利用 DSP 技術 ,對其進行誤差校正補償 .這種誤差校正的補償方法 ,不需增加硬件電路 ,計算方法簡單 ,軟件費用也很小 ,既提高了測量精度 ,又不需增加成本。它充分利用監(jiān)控計算機的處理能力,在監(jiān)控計算機上用線性插補的數(shù)學方法對其進行誤差校正補償,能輕易地將其提高其精度。 在本次設計的過程中,我發(fā)現(xiàn)很多的問題,雖然以前還做過這樣的設計但這次設計真的讓我長進了很多,單片機 課程設計重點就在于軟件算法的設計,需要有很巧妙的程序算法,雖然以前寫過幾次程序,但我覺的寫好一個程序并不是一件簡單的事,舉個例子,以前寫的那幾次,數(shù)據(jù)加減時,我用的都是 BCD 碼,這一次,我全部用的都是 16 進制的數(shù)直接加減,顯示處理時在用除法去刪分 ,感覺效果比較好,有好多的東西,只有我們?nèi)ピ囍隽耍拍苷嬲恼莆?,只學習理論有些東西是很難理解的,更談不上掌握。 參考文獻 周云波 。由 DS1820 單線數(shù)字溫度計構成的單線多點溫度測量系統(tǒng) [J]。電子技術應用 。1996 年 10期 李敏 。DS1820 單結數(shù)字溫度計的使用方法 [J]。電子產(chǎn)品世界 。1996 年 06 期 . 沈榮金 。DS1820 數(shù)字溫度計的應用 [J]。電子技術應用 。1997 年 04期 李農(nóng) FPGA 與 DS18B20 型溫度傳感器通信的實現(xiàn) [J].國外中電子元器件 .2021.( 2) 李朝青 .單片機原理及接口技術(簡明修訂版) .杭州:北京航 空航天大學出版社, 1998 30 劉明軍 王漢功 查柏林 ; 基于 DS1820 和并口的溫度測量系統(tǒng) 占君 ; 儀器儀表用戶 ;2021 年 第 04期 姜志海 ; 單片微型計算機原理及應用 ; 機械工業(yè)出版社 ; 2021 王勇 葉敦范 .《 基于 AT89S51 的便攜式實時溫度檢測儀》 [J].選自《儀表技術與傳感器》 .2021 Stefan Blechschmidt. Temperature monitoring with Linux. [EB /OL].. /Engli sh/November2021/ 美國 Dallas 半 導 體 公 司 DS1820 datasheet [EB/OL]. 1820. shtml 美國 Maxim 公司 .[EB/OL] 附:溫度傳感器 ds1820 的匯編程序 晶振: 12M TEMPER_L EQU 36H TEMPER_H EQU 35H TEMPER_NUM EQU 60H FLAG1 BIT 00H DQ BIT AAA:MOV SP,70H LCALL GET_TEMPER LCALL TEMPER_COV LJMP AAA NOP 。讀出轉換后的溫度值 GET_TEMPER: SETB DQ 。 定時入口 BCD:LCALL INIT_1820 JB FLAG1,S22 LJMP BCD 。 若 DS1820 不存在則返回 S22:LCALL DELAY1 31 MOV A,0CCH 。 跳過 ROM 匹配 0CC LCALL WRITE_1820 MOV A,44H 。 發(fā)出溫度轉換命令 LCALL WRITE_1820 NOP LCALL DELAY LCALL DELAY CBA:LCALL INIT_1820 JB FLAG1,ABC LJMP CBA ABC:LCALL DELAY1 MOV A,0CCH 。 跳過 ROM 匹配 LCALL WRITE_1820 MOV A,0BEH 。 發(fā)出讀溫度命令 LCALL WRITE_1820 LCALL READ_18200 。READ_1820 RET 。讀 DS1820 的程序 ,從 DS1820 中讀出一個字節(jié)的數(shù)據(jù) READ_1820: MOV R2,8 RE1: CLR C SETB DQ NOP NOP CLR DQ NOP NOP NOP SETB DQ 32 MOV R3,7 DJNZ R3,$ MOV C,DQ MOV R3,23 DJNZ R3,$ RRC A DJNZ R2,RE1 RET 。寫 DS1820 的程序 WRITE_1820: MOV R2,8 CLR C 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 。讀 DS1820 的程序 ,從 DS1820 中讀出兩個字節(jié)的溫度數(shù)據(jù) READ_18200: MOV R4,2 。 將溫度高位和低位從 DS18B20 中讀出 MOV R1,36H 。 低位存入 36H(TEMPER_L),高位存入 35H(TEMPER_H) RE00: 33 MOV R2,8 RE01: CLR C SETB DQ NOP NOP CLR DQ NOP NOP NOP SETB DQ MOV R3,7 DJNZ R3,$ MOV C,DQ MOV R3,23 DJNZ R3,$ RRC A DJNZ R2,RE01 MOV @R1,A DEC R1 DJNZ R4,RE00 RET 。將從 DS1820 中讀出的溫度數(shù)據(jù)進行轉換 TEMPER_COV: MOV A,0F0H ANL A,TEMPER_L 。 舍去溫度低位中小數(shù)點后的四位溫度數(shù)值 SWAP A MOV TEMPER_NUM,A MOV A,TEMPER_L JNB ,TEMPER_COV1 。 四舍五入去溫度值 34 INC TEMPER_NUM TEMPER_COV1: MOV A,TEMPER_H ANL A,07H SWAP A ORL A,TEMPER_NUM MOV TEMPER_NUM,A 。 保存變換后的溫度數(shù)據(jù) LCALL BIN_BCD RET 。將 16 進制的溫度數(shù)據(jù)轉換成壓縮 BCD碼 BIN_BCD: MOV DPTR,TEMP_TAB MOV A,TEMPER_NUM MOVC A,@A+DPTR MOV TEMPER_NUM,A RET TEMP_TAB: DB 00H,01H,02H,03H,04H,05H,06H,07H DB 08H,09H,10H,11H,12H,13H,14H,15H DB 16H,17H,18H,19H,20H,21H,22H,23H DB 24H,25H,26H,27H,28H,29H,30H,31H DB 32H,33H,34H,35H,36H,37H,38H,39H DB 40H,41H,42H,43H,44H,45H,46H,47H DB 48H,49H,50H,51H,52H,53H,54H,55H DB 56H,57H,58H,59H,60H,61H,62H,63H DB 64H,65H,66H,67H,68H,69H,70H,71H DB 72H,73H,74H,75H,76H,77H,78H,79H DB 80H,81H,82H,83H,84H,85H,86H,87H DB 88H,89H,90H,91H,92H,93H,94H,95H DB 96H,97H,98H,99H 35 。DS1820 初始化程序 INIT_1820: SETB DQ NOP CLR DQ MOV R0,80H TSR1: DJNZ R0,TSR1 。 延時 SETB DQ MOV R0,25H 。96US25H TSR2: DJNZ R0,TSR2 JNB DQ,TSR3 LJMP TSR4 。 延時 TSR3: SETB FLAG1 。 置標志位 ,表示 DS1820 存在 LJMP TSR5 TSR4: CLR FLAG1 。 清標志位 ,表示 DS1820 不存在 LJMP TSR7 TSR5: MOV R0,06BH 。200US TSR6: DJNZ R0,TSR6 。 延時 TSR7: SETB DQ RET 。重新寫 DS1820 暫存存儲器設定值 RE_CONFIG: JB FLAG1,RE_CONFIG1 。 若 DS1820 存在 ,轉 RE_CONFIG1 36 RET RE_CONFIG1: MOV A,0CCH 。 發(fā) SKIP ROM 命令 LCALL WRITE_1820 MOV A,4EH 。 發(fā)寫暫存存儲器命令 LCALL WRITE_1820 MOV A,00H 。 TH(報警上限 )中寫入 00H LCALL WRITE_1820 MOV A,00H 。 TL(報警下限 )中寫入 00H LCALL WRITE_1820 MOV A,7FH 。 選擇 12位溫度分辨率 LCALL WRITE_1820 RET 。延時子程序 DELAY:MOV R7,00H MIN:DJNZ R7,YS500 RET YS500:LCALL YS500US LJMP MIN YS500US:MOV R6,00H DJNZ R6,$ RET DELAY1:MOV R7,20H DJNZ R7,$ RET
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1