亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ds18b20-lcd1602-溫度控制.asm

?? 基于51的DS18B20_1Wire溫度控制等C,ASM源程序
?? ASM
?? 第 1 頁 / 共 3 頁
字號:
;*******************************************************************
;*                                                                 *
;* ME500單片機開發系統演示程序 - DS18B20溫度控制程序               *
;*                                                                 *
;* LCD1602顯示                                                     *
;*                                                                 *
;* 版本: V1.0 (2006/11/20)                                        *
;* 作者: gguoqing (Email: gguoqing@willar.com)                    *
;* 網站: www.willar.com(偉納電子)   www.mcusj.com(偉納單片機世界) *
;* 郵箱: support@willar.com                                       *
;*                                                                 *
;*【版權】Copyright(C)偉納電子 www.willar.com All Rights Reserved  *
;*【聲明】此程序僅用于學習與參考,引用請注明版權和作者信息!       *
;*                                                                 *
;*******************************************************************

          TEMP_ZH   DATA  24H     ;實時溫度值存放單元
          TEMPL     DATA  25H     ;溫度低位值存放單元
          TEMPH     DATA  26H     ;溫度高位值存放單元
          TEMP_TH   DATA  27H     ;高溫報警值存放單元
          TEMP_TL   DATA  28H     ;低溫報警值存放單元

;-----------------------------------------------------------
          T0_CONU   DATA  30H     ;中斷計數單元
          TIME_L    DATA  31H     ;中斷定時常數 TL0
          TIME_H    DATA  32H     ;中斷定時常數 TH0
;-----------------------------------------------------------
          K1        EQU   P1.4    ;獨立鍵
          K2        EQU   P1.5
          K3        EQU   P1.6
          K4        EQU   P1.7
;-----------------------------------------------------------
          DATE_LINE EQU   P3.3     ;DS18B20 數據線
          BEEP      EQU   P3.7     ;蜂鳴器控制線
          RELAY     EQU   P1.3     ;繼電器控制線
;-----------------------------------------------------------
          LCD_X     EQU   2FH      ;LCD 地址變量
          LCD_RS    EQU   P2.0     ;LCD 數據/命令選擇端
          LCD_RW    EQU   P2.1     ;LCD 讀/寫選擇端
          LCD_EN    EQU   P2.2     ;LCD 使能信號
;-----------------------------------------------------------
          FLAG1     BIT  20H.0     ;DS18B20是否存在標志
          KEY_UD    BIT  20H.1     ;設定 KEY 的UP與DOWN 標志
          FLAG2     BIT  20H.2     ;閃爍標志
          FLAG3     BIT  20H.3     ;溫度正負標志
          FLAG4     BIT  20H.4     ;蜂鳴器靜音標志
;===========================================================
           ORG  0000H
           JMP  MAIN
           ORG  000BH
           JMP  INT_T0
           ORG  0030H
;===========================================================
MAIN:     MOV  SP,#60H
          MOV  A,#00H
          MOV  R0,#20H         ;將 20H-2FH 單元清零
          MOV  R1,#10H
CLEAR:    MOV  @R0,A
          INC  R0
          DJNZ  R1,CLEAR

          MOV  TMOD,#01H       ;T0,方式1
          MOV  TIME_L,#00H     ;50ms定時值
          MOV  TIME_H,#4CH
          MOV  T0_CONU,#00H    ;中斷計數
          MOV  IE,#82H         ;EA=1,ET0=1
          SETB  TR0
          CALL  SET_LCD        ;初始化 LCD 1602
START:
          CALL  RESET          ;18B20復位子程序
          JNB   FLAG1,START1   ;DS1820不存在
          CALL  MENU_OK        ;
          CALL  TEMP_BJ        ;顯示溫度標記
          JMP   START3
START1:
          CALL  MENU_ERROR     ;
          CLR  TR0
START2:
          CALL  RESET          ;18B20復位子程序
          JB   FLAG1,START
          CALL  BEEP_BL        ;DS1820不正常時,報警。
          JMP  START2

;-----------------------------------------------------------
START3:
          CALL  RESET          ;DS18B20 復位與檢測
          JNB  FLAG1,START1    ;DS1820不存在
          CALL  READ_TEMP      ;讀出溫度與報警數據
          CALL CONVTEMP
          CALL TEMP_COMP       ;溫度比較子程序
          CALL CONV
          CALL  PROC_KEY       ;鍵功能掃描
          SJMP	START3
;-----------------------------------------------
;T0,50ms中斷子程序
;500ms對閃動標記 20H.2 取反一次
;-----------------------------------------------
INT_T0:
          PUSH  ACC              ;入棧保護
          PUSH  PSW
          MOV  TL0,TIME_L        ;重裝定時值
          MOV  TH0,TIME_H        ;
          INC  T0_CONU           ;中斷次數加1
          MOV  A,T0_CONU
          CJNE  A,#0AH,INT_END   ;500ms 是否到?
          MOV  T0_CONU,#00H
          CPL  20H.2             ;閃動標記取反
INT_END:
          POP  PSW               ;出棧
          POP  ACC
          RETI
;-------------------------------------------------
;按鍵功能處理子程序
;K1: 查看報警值, K3: 退出查看狀態
;K2: 設定報警值
;-------------------------------------------------
PROC_KEY:
	 JB  K1,PROC_K1		   ; 按鍵K1處理
         CALL  BEEP_BL             ;蜂鳴器響一聲
         JNB  K1,$                 ;等待 K1 釋放
         MOV  DPTR,#M_ALAX1
         MOV  A,#1
         CALL  LCD_PRINT
         CALL  LOOK_ALARM          ;查看報警值
         JB  K3,$                  ;等待 K3 鍵按下
         CALL  BEEP_BL
         JMP  PROC_K2
PROC_K1:			  ; 按鍵K2處理
         JB  K2,PROC_K4
         CALL  BEEP_BL            ;蜂鳴器響一聲
         JNB  K2,$                ;等待 K2 釋放
         MOV   DPTR,#RESET_A1
         MOV   A,#1
         CALL  LCD_PRINT
         CALL  SET_ALARM          ;設定報警值
         CALL  RE_18B20           ;將設定的TH,TL值寫入DS18B20內
         CALL  WRITE_E2           ;溫度報警值拷貝到EEROM
PROC_K2:
         CALL  MENU_OK
         CALL  TEMP_BJ
PROC_K4:
         JB  K4,PROC_END          ;按鍵K4處理
         CALL  BEEP_BL            ;蜂鳴器響一聲
         JNB  K4,$                ;等待 K4 釋放
         CPL  FLAG4
PROC_END:
         RET
;---------------------------------------------
M_ALAX1:
     DB   " LOOK ALERT CODE",0
RESET_A1:
     DB   "RESET ALERT CODE",0
;============================================
;設定報警值 TH、TL
;K1: 選擇 UP/DOWN 方式
;K2: 設定 TH 值,K3: 設定 TL 值
;K4: 確定與退出
;============================================
SET_ALARM:
         CALL  LOOK_ALARM
AS0:
         JB   K1,AS00
         CALL  BEEP_BL
         JNB  K1,$
         CPL  20H.1            ;UP/DOWN 標記
AS00:    JB  20H.1,ASZ01       ;20H.1=1,UP
         JMP  ASJ01            ;20H.1=0,DOWN

ASZ01:   JB  K2,ASZ02          ;TH值調整(增加)
         CALL  BEEP_BL
         INC  TEMP_TH
         MOV  A,TEMP_TH
         CJNE  A,#120,ASZ011   ;沒有到設定上限值,轉
         MOV  TEMP_TH,#0
ASZ011:  CALL  LOOK_ALARM      ;顯示設定值
         MOV  R5,#10           ;
         CALL  DELAY
         JMP  ASZ01

ASZ02:   JB  K3,ASZ03          ;TL值調整(增加)
         CALL  BEEP_BL
         INC  TEMP_TL
         MOV  A,TEMP_TL
         CJNE  A,#99,ASZ021    ;沒有到設定上限值,轉
         MOV  TEMP_TL,#00H
ASZ021:  CALL  LOOK_ALARM      ;顯示設定值
         MOV  R5,#10
         CALL  DELAY
         JMP  ASZ02
ASZ03:   JB  K4,AS0            ;確定調整 OK
         CALL  BEEP_BL
         JNB  K4,$
         RET

ASJ01:
         JB  K2,ASJ02           ;TH值調整 (減少)
         CALL  BEEP_BL
         DEC   TEMP_TH          ;
         MOV  A,TEMP_TH
         CJNE  A,#0FFH,ASJ011  ;沒有到設定下限值,轉
         JMP  ASJ022
ASJ011:  CALL  LOOK_ALARM      ;顯示設定值
         MOV  R5,#10
         CALL  DELAY
         JMP  AS0

ASJ02:   JB  K3,ASJ03          ;TL值調整(減少)
         CALL  BEEP_BL
         DEC  TEMP_TL
         MOV  A,TEMP_TL
         CJNE  A,#0FFH,ASJ021   ;沒有到設定下限值,轉
         JMP  ASJ022
ASJ021:  CALL  LOOK_ALARM       ;顯示設定值
         MOV  R5,#10
         CALL  DELAY
         JMP  AS0
ASJ022:  CPL  20H.1             ;DOWN/UP 轉換標記
         JMP  ASZ01
ASJ03:   JMP  ASZ03
         RET
;===================================================
;在LCD1602的第一行顯示"RESET ALERT CODE"
;===================================================
RESET_ALARM:
          MOV  DPTR,#RESET_A2  ;指針指到顯示信息區
          MOV  A,#1            ;顯示在第一行
          CALL  LCD_PRINT
          RET
RESET_A2:
     DB  "RESET ALERT CODE"
;====================================================
;實時溫度值與設定報警溫度值 TH、TL 比較子程序
;當實際溫度大于 TH 的設定值時,顯示“>H”,繼電器關閉
;當實際溫度小于 TH 的設定值時,顯示“!!”,繼電器吸合
;當實際溫度小于 TL 的設定值時,顯示“<L”,蜂鳴器響
;閃動顯示標記符 >H、<L、!!
;====================================================
TEMP_COMP:
         ; SETB  TR0             ;啟動中斷
          MOV  A,TEMP_ZH
          CJNE  A,TEMP_TH,T_COMP0
T_COMP0:
          JNC   CHULI1
          MOV  A,TEMP_ZH
          SUBB  A,TEMP_TL       ;減數>被減數,則
          JC  CHULI2            ;借位標志位C=1,轉
          JNB  FLAG2,T_COMP1    ;FLAG2=0,顯示標記字符
          MOV  LCD_X,#0EH       ;FLAG2=1,清屏,形成閃動效果
          LCALL  CLR_TWO2
          JMP  T_COMP2
T_COMP1:  MOV  DPTR,#BJ5        ;顯示"!!"
          CALL  TEMP_BJ3
T_COMP2:  CLR   RELAY           ;繼電器吸合
         ; CLR  TR0              ;關閉中斷
          RET
CHULI1:                         ;超溫處理
          JNB  FLAG2,CHULI10
          MOV  LCD_X,#0EH
          LCALL  CLR_TWO2
          JMP  CHULI11
CHULI10:  MOV  DPTR,#BJ3        ;顯示">H"
          CALL  TEMP_BJ3
          SETB  RELAY           ;繼電器關閉
          JB  FLAG4,CHULI11
          CALL  BEEP_BL         ;蜂鳴器響
CHULI11:  ;CLR  TR0              ;關閉中斷
          RET
CHULI2:                         ;欠溫處理
          JNB  FLAG2,CHULI20
          MOV  LCD_X,#0EH
          LCALL  CLR_TWO2
          JMP  CHULI21
CHULI20:  MOV  DPTR,#BJ4        ;顯示"<L"
          CALL  TEMP_BJ3
          JB  FLAG4,CHULI21
          CALL  BEEP_BL         ;蜂鳴器響
CHULI21: ; CLR  TR0              ;關閉中斷
          RET
;==========================================
;清兩個字符(閃爍功能用)
;==========================================
CLR_TWO2:
          MOV  A,#' '
          MOV  B,LCD_X
          CALL  LCDP2
          INC  LCD_X
          MOV  A,#' '
          MOV  B,LCD_X
          CALL  LCDP2
          RET
;=========================================
;標記字符寫入子程序
;=========================================
TEMP_BJ3:
          MOV  A,#0CEH        ;指定寫入地址
          CALL WCOM

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩免费高清一区色橹橹 | 国产精品久久久久久久久免费丝袜 | 日韩精品资源二区在线| 国产视频一区二区三区在线观看| 亚洲免费观看高清在线观看| 国产专区欧美精品| 欧美日韩高清一区二区| 亚洲国产精品黑人久久久 | 亚洲欧美一区二区三区国产精品 | 国产精品成人在线观看| 天天综合色天天综合| 成人国产在线观看| 日韩视频123| 亚洲女子a中天字幕| 国产精品夜夜爽| 日韩一区二区三区av| 亚洲男人电影天堂| 99精品欧美一区二区蜜桃免费 | 日本三级韩国三级欧美三级| 色婷婷综合久久久| 中文字幕免费在线观看视频一区| 精品一区二区三区免费视频| 欧美高清性hdvideosex| 亚洲一区二区欧美日韩| 在线观看亚洲专区| 亚洲精品视频在线看| eeuss国产一区二区三区| 亚洲国产高清不卡| 国产精品夜夜爽| 久久综合成人精品亚洲另类欧美| 免费成人在线影院| 91精品国模一区二区三区| 婷婷久久综合九色综合伊人色| 色综合天天综合| 亚洲欧美偷拍另类a∨色屁股| a级高清视频欧美日韩| 中文字幕在线一区| 91偷拍与自偷拍精品| 亚洲婷婷在线视频| 91麻豆国产香蕉久久精品| 伊人开心综合网| 欧美久久一二三四区| 日日摸夜夜添夜夜添精品视频| 欧美一区二区三区在线观看视频| 日本亚洲三级在线| 精品国精品自拍自在线| 国产成人精品免费网站| 亚洲欧洲成人自拍| 欧美日韩在线播放三区四区| 日本午夜一区二区| 欧美精品一区二区三区蜜桃| 懂色av一区二区三区蜜臀| 国产精品国产三级国产| 91麻豆国产在线观看| 午夜免费欧美电影| 久久综合精品国产一区二区三区| 国产成人av电影在线播放| 中文字幕佐山爱一区二区免费| 色爱区综合激月婷婷| 日韩中文字幕1| 久久无码av三级| 色综合久久久久| 蜜臀av一区二区在线免费观看 | 69av一区二区三区| 精品中文av资源站在线观看| 久久精品在线免费观看| 不卡区在线中文字幕| 亚洲一二三四在线| 日韩午夜在线播放| 成人网页在线观看| 午夜激情一区二区| 国产精品三级电影| 日韩视频在线你懂得| aaa亚洲精品| 免费在线观看视频一区| 国产精品久久久久久福利一牛影视 | 国产人妖乱国产精品人妖| 日本丶国产丶欧美色综合| 狠狠色丁香九九婷婷综合五月| 亚洲免费毛片网站| 久久综合999| 欧美精品日韩一本| 成人免费高清在线| 免费日韩伦理电影| 成人欧美一区二区三区1314| 日韩精品一区二区三区四区 | 成人久久视频在线观看| 日韩av一二三| 亚洲精品免费在线播放| 久久精品夜色噜噜亚洲a∨| 欧美理论电影在线| 91在线看国产| 成人激情文学综合网| 裸体健美xxxx欧美裸体表演| 夜夜爽夜夜爽精品视频| 中文字幕av在线一区二区三区| 欧美一区二区三区视频| 欧美亚洲免费在线一区| av福利精品导航| 国产美女视频一区| 男男视频亚洲欧美| 天天操天天综合网| 亚洲成人动漫精品| 中文字幕一区二区三区四区不卡| 久久这里都是精品| 久久伊人中文字幕| 久久久久久久久久美女| 精品粉嫩aⅴ一区二区三区四区| 91精品国产手机| 欧美午夜电影一区| 欧美午夜一区二区三区免费大片| 99久久免费国产| 成人av在线播放网址| 国产69精品一区二区亚洲孕妇| 国产麻豆视频一区| 国产盗摄视频一区二区三区| 国精产品一区一区三区mba桃花| 美美哒免费高清在线观看视频一区二区 | 亚洲午夜一区二区| 一区二区在线免费观看| 亚洲综合久久久| 亚洲电影视频在线| 亚洲大片在线观看| 欧美a一区二区| 激情丁香综合五月| 国产一区二区视频在线| 成人免费观看男女羞羞视频| 99视频有精品| 在线观看三级视频欧美| 欧美日韩一区高清| 3atv在线一区二区三区| 日韩午夜在线观看视频| 久久精品男人天堂av| 中文字幕不卡在线观看| 亚洲欧美在线视频| 亚洲一区自拍偷拍| 日韩电影免费一区| 国产老妇另类xxxxx| 成人黄色软件下载| 一本久道中文字幕精品亚洲嫩| 欧美日韩一区中文字幕| 精品国产一二三| 欧美激情中文不卡| 亚洲综合在线第一页| 久久aⅴ国产欧美74aaa| 国产精品亚洲人在线观看| 99精品久久99久久久久| 欧美精品高清视频| 国产亚洲精品久| 亚洲制服丝袜av| 久久国产生活片100| 99麻豆久久久国产精品免费| 欧美性大战xxxxx久久久| 精品国产凹凸成av人导航| 18成人在线观看| 麻豆精品一区二区综合av| 成人高清免费观看| 91精品久久久久久蜜臀| 中文字幕日韩一区二区| 捆绑变态av一区二区三区| 91麻豆精品在线观看| 26uuu亚洲综合色欧美| 一区二区三区中文字幕| 精品午夜久久福利影院| 91福利视频在线| 国产三级一区二区| 免费精品视频在线| 色素色在线综合| 国产日产欧美一区| 蜜臀久久99精品久久久久久9 | 5858s免费视频成人| 一区精品在线播放| 久久不见久久见中文字幕免费| 欧洲国产伦久久久久久久| 国产日产欧美一区| 精品无人码麻豆乱码1区2区 | 在线视频综合导航| 中文字幕不卡一区| 国产一区二区不卡在线| 欧美二区在线观看| 亚洲精品国产精华液| 成人免费精品视频| 国产视频不卡一区| 国产主播一区二区三区| 日韩一二三区视频| 日韩中文字幕亚洲一区二区va在线 | 欧美高清在线一区| 国内精品在线播放| 欧美一级二级在线观看| 日本网站在线观看一区二区三区 | 日韩一区二区三区免费看| 亚洲国产精品自拍| 色中色一区二区| 1000精品久久久久久久久| 成人av在线影院| 国产精品色婷婷久久58| 成人影视亚洲图片在线| 国产女人18毛片水真多成人如厕 | 日韩一级免费一区| 天天综合天天综合色|