亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
日韩一区有码在线| 久久综合一区二区| 寂寞少妇一区二区三区| 亚洲欧洲综合另类| 中文字幕在线一区免费| 日本一区二区三区久久久久久久久不 | 亚洲另类在线一区| 国产日韩视频一区二区三区| 一区二区三区国产豹纹内裤在线| 亚洲天堂免费在线观看视频| 中文字幕在线不卡国产视频| 久久精品国产999大香线蕉| 老司机精品视频导航| 色综合久久久久| 成人激情图片网| 99re这里只有精品首页| 91美女片黄在线观看91美女| 91蜜桃网址入口| 欧美国产成人精品| 一区二区三区四区蜜桃 | 日韩一级精品视频在线观看| 欧美一级一级性生活免费录像| 欧洲在线/亚洲| 欧美日韩国产片| 91精品国产福利在线观看| 一区二区三区中文字幕精品精品| 成人毛片视频在线观看| 色悠久久久久综合欧美99| 欧美激情在线一区二区三区| 国产一区日韩二区欧美三区| 国产成人在线免费观看| 一本色道久久综合精品竹菊| 中文字幕不卡三区| 丁香亚洲综合激情啪啪综合| 色天使色偷偷av一区二区| 国产精品免费观看视频| 日本麻豆一区二区三区视频| 精品无码三级在线观看视频| 精品国产免费人成在线观看| 亚洲视频 欧洲视频| 99在线精品一区二区三区| 欧美日本韩国一区二区三区视频| 亚洲综合图片区| 国产精一区二区三区| 日本高清不卡aⅴ免费网站| 日韩欧美在线网站| 看电影不卡的网站| 久久亚洲综合色一区二区三区| 国产一区二区三区在线观看免费| 久久久亚洲高清| 日韩高清不卡在线| 精品久久久久久久久久久院品网| 亚洲免费观看高清完整版在线观看 | aaa欧美日韩| 亚洲自拍偷拍九九九| 日韩欧美国产三级| 亚洲国产va精品久久久不卡综合| 国产馆精品极品| 一区二区三区在线高清| 日韩欧美一级在线播放| 国产成人久久精品77777最新版本| 最新国产成人在线观看| 在线播放日韩导航| 亚洲综合激情网| 日韩欧美色综合| 91免费看片在线观看| 免费成人在线观看| 欧美狂野另类xxxxoooo| 国产在线播放一区二区三区| 亚洲精品一卡二卡| 精品成人佐山爱一区二区| 99久久精品免费看| 蜜臀av性久久久久蜜臀aⅴ| 欧美日韩精品欧美日韩精品一综合 | 99在线精品观看| 日韩成人免费电影| 中文字幕亚洲一区二区va在线| 欧美日韩亚洲另类| 亚洲一区二区欧美激情| 久久综合久久综合亚洲| 欧洲一区二区av| 国产黑丝在线一区二区三区| 丝袜亚洲另类欧美| 欧美精品123区| 99久久久久久| 国产精品自在在线| 美国十次了思思久久精品导航| 亚洲欧美另类在线| 国产情人综合久久777777| 欧美一区2区视频在线观看| 91亚洲精华国产精华精华液| 国产精品综合二区| 久久国产尿小便嘘嘘尿| 亚洲v中文字幕| 日韩天堂在线观看| 欧美视频在线一区二区三区 | 欧美女孩性生活视频| 高清在线成人网| 久久er精品视频| 午夜久久久久久久久 | 欧美最猛性xxxxx直播| 成人性生交大片免费看中文| 激情小说欧美图片| 国产精品人人做人人爽人人添| 日韩三级在线免费观看| 欧美日韩国产一区二区三区地区| 91香蕉视频污| 91麻豆精品秘密| 成人免费视频一区| 成人免费观看视频| 国产大片一区二区| 成人亚洲一区二区一| 国产v日产∨综合v精品视频| 国产麻豆精品在线| 国产激情一区二区三区桃花岛亚洲| 久久99蜜桃精品| 精品一二三四区| 国产乱码精品一品二品| 国产成人自拍高清视频在线免费播放| 久久国产人妖系列| 韩国av一区二区三区| 国产乱国产乱300精品| 国产精品系列在线播放| 高清不卡在线观看| 成人av一区二区三区| 91热门视频在线观看| 91豆麻精品91久久久久久| 欧美丝袜丝nylons| 日韩午夜中文字幕| 久久综合九色综合97婷婷女人 | 亚洲色图制服诱惑| 亚洲高清免费视频| 日韩高清国产一区在线| 国产一区欧美日韩| 91麻豆.com| 777亚洲妇女| 色婷婷激情久久| 欧美日韩高清在线播放| 欧美一级搡bbbb搡bbbb| 国产日韩成人精品| 亚洲一区二区不卡免费| 美女视频网站久久| 国产一区二区三区四区五区入口 | 91久久精品日日躁夜夜躁欧美| 欧美色成人综合| 欧美成人精品福利| 亚洲欧洲av在线| 日韩精品一级二级| 不卡av在线网| 在线播放亚洲一区| 国产精品剧情在线亚洲| 一区二区视频在线看| 久久成人av少妇免费| 91免费精品国自产拍在线不卡 | 日本视频一区二区三区| 成人午夜免费av| 538在线一区二区精品国产| 国产午夜精品一区二区| 日韩欧美国产wwwww| 国产精品沙发午睡系列990531| 亚洲成人免费在线观看| 国产福利视频一区二区三区| 欧美天天综合网| 国产农村妇女精品| 六月丁香婷婷色狠狠久久| 色综合久久久久久久久| 精品精品欲导航| 五月天视频一区| 91在线观看成人| 国产女主播在线一区二区| 日韩国产高清影视| 91香蕉视频mp4| 国产精品久久国产精麻豆99网站 | 一区2区3区在线看| 成人精品在线视频观看| 日韩欧美资源站| 午夜成人免费视频| 国产精品二三区| 亚洲乱码国产乱码精品精的特点| 麻豆视频一区二区| 欧美日韩一区二区不卡| 一区在线观看免费| 国产经典欧美精品| 日韩精品一区二区三区视频播放 | 欧美剧情片在线观看| 亚洲精品高清视频在线观看| 国产精品一区在线| 欧美tickle裸体挠脚心vk| 日韩成人一区二区三区在线观看| 91国产丝袜在线播放| 中文字幕不卡在线播放| 国产69精品久久777的优势| 精品成人私密视频| 久久国产视频网| 亚洲精品在线一区二区| 久久国内精品自在自线400部| 日韩欧美一二三| 久久电影网站中文字幕| 欧美成人精品二区三区99精品| 久久激情五月婷婷|