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

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

?? ds18b20-smg.asm

?? KT800綜合系統板實驗源程序庫
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
;          DS18B20溫度控制數碼管顯示                                           *
;*        1、P1.6= → 進入設定溫度報警值 TL 狀態:                                   *
;*           L--20                                                            *
;*        2、P1.6 → 進入設定溫度報警值 TH 狀態:                                   *
;*           H--28                                                            *
;*        3、P1.6 → 返回                                                          *
;*        4、設定過程: P1.4 →加鍵 (UP), P1.5 →減鍵 (DOWN),可快速調。         *
;*                                                                              **


          TIMER_L     DATA  23H
          TIMER_H     DATA  24H
          TIMER_COUN  DATA  25H

          TEMPL       DATA  26H
          TEMPH       DATA  27H
          TEMP_TH     DATA  28H
          TEMP_TL     DATA  29H

          TEMPHC      DATA  2AH
          TEMPLC      DATA  2BH
          TEMP_ZH     DATA  2CH

          BEEP        EQU   P3.7
          DATA_LINE   EQU   P3.3
          RELAY       EQU   P1.3

          FLAG1       EQU   20H.0
          FLAG2       EQU   20H.1

;-------------------------------------------------
          K1   EQU  P1.4
          K2   EQU  P1.5
          K3   EQU  P1.6
          K4   EQU  P1.7
;=================================================
          ORG 0000H
          JMP  MAIN

          ORG  000BH
          AJMP  INT_T0
;--------------------------------------------------
MAIN:     MOV SP,#30H
          MOV  TMOD,#01H        ;T0,方式1
          MOV  TIMER_L,#00H     ;50ms定時值
          MOV  TIMER_H,#4CH
          MOV  TIMER_COUN,#00H  ;中斷計數
          MOV  IE,#82H          ;EA=1,ET0=1
          LCALL  READ_E2
          ;LCALL  RE_18B20
          MOV  20H,#00H
          SETB   BEEP
          SETB   RELAY
          MOV  7FH,#0AH         ;熄滅符

          CALL RESET            ;復位與檢測DS18B20
          JNB FLAG1,MAIN1       ;FLAG1=0,DS18B20不存在
          JMP  START

MAIN1:    CALL RESET
          JB FLAG1,START
          LCALL  BEEP_BL        ;DS18B20錯誤,報警
          JMP  MAIN1
START:
          MOV A,#0CCH         ; 跳過ROM匹配
          CALL WRITE
          MOV A,#044H         ; 發出溫度轉換命令
          CALL WRITE

          CALL RESET
          MOV A,#0CCH         ; 跳過ROM匹配
          CALL WRITE
          MOV A,#0BEH         ; 發出讀溫度命令
          CALL WRITE

          CALL  READ           ;讀溫度數據
          CALL  CONVTEMP
          CALL  DISPBCD
          CALL  DISP1
          CALL  SCANKEY
          LCALL  TEMP_COMP
          JMP   MAIN1

;=====================================================
;DS18B20 復位與檢測子程序
;FLAG1=1 OK, FLAG1=0 ERROR
;======================================================
RESET:
          SETB DATA_LINE
          NOP
          CLR DATA_LINE
          MOV R0,#64H            ;主機發出延時600微秒的復位低脈沖
          MOV R1,#03H
RESET1:   DJNZ R0,$
          MOV R0,#64H
          DJNZ R1,RESET1
          SETB DATA_LINE        ;然后拉高數據線
          NOP
          MOV R0,#25H
RESET2:   JNB DATA_LINE,RESET3  ;等待DS18B20回應
          DJNZ R0,RESET2
          JMP RESET4            ; 延時
RESET3:   SETB FLAG1            ; 置標志位,表示DS1820存在
          JMP RESET5
RESET4:   CLR FLAG1             ; 清標志位,表示DS1820不存在
          JMP RESET6
RESET5:   MOV R0,#064H
          DJNZ R0,$             ; 時序要求延時一段時間
RESET6:   SETB DATA_LINE
          RET
;===========================================================
;
;===========================================================
WRITE:  MOV R2,#8            ;一共8位數據
        CLR CY
WR1:
        CLR DATA_LINE        ;開始寫入DS18B20總線要處于復位(低)狀態
        MOV R3,#09
        DJNZ R3,$            ;總線復位保持18微妙以上
        RRC A                ;把一個字節DATA 分成8個BIT環移給C
        MOV DATA_LINE,C      ;寫入一個BIT
        MOV R3,#23
        DJNZ R3,$            ;等待46微妙
        SETB DATA_LINE       ;重新釋放總線
        NOP
        DJNZ R2,WR1          ;寫入下一個BIT
        SETB DATA_LINE
        RET
;============================================================
;從DS18B20中讀出溫度低位、高位和報警值TH、TL
;存入26H、27H、28H、29H
;============================================================
READ:    MOV R4,#4            ; 將溫度高位和低位從DS18B20中讀出
         MOV R1,#26H          ; 存入26H、27H、28H、29H
RE00:    MOV R2,#8
RE01:    CLR C
         SETB DATA_LINE
         NOP
         NOP
         CLR DATA_LINE        ;讀前總線保持為低
         NOP
         NOP
         NOP
         SETB DATA_LINE       ;開始讀總線釋放
         MOV R3,#09           ;延時18微妙
         DJNZ R3,$
         MOV C,DATA_LINE      ;從DS18B20總線讀得一個BIT
         MOV R3,#23
         DJNZ R3,$            ;等待46微妙
         RRC A                ;把讀得的位值環移給A
         DJNZ R2,RE01         ;讀下一個BIT
         MOV @R1,A
         INC R1
         DJNZ R4,RE00
         RET        
;--------------------------------------------
;200ms對閃動標記取反一次
;--------------------------------------------
INT_T0:
          PUSH  ACC
          PUSH  PSW
          MOV  TL0,TIMER_L
          MOV  TH0,TIMER_H
          INC  TIMER_COUN
          MOV  A,TIMER_COUN
          CJNE  A,#04H,INT_END
          MOV  TIMER_COUN,#00H
          CPL  FLAG2
INT_END:
          POP  PSW
          POP  ACC
          RETI
;==========================================================
;重新對 DS18B20 初始化
;將設定的溫度報警值寫入 DS18B20
;==========================================================
RE_18B20:
        JB  FLAG1,RE_18B20A
        RET
RE_18B20A:
        CALL  RESET
        MOV  A,#0CCH       ;跳過ROM匹配
        LCALL  WRITE
        MOV  A,#4EH        ;寫暫存寄存器
        LCALL  WRITE
        MOV  A,TEMP_TH     ;TH(報警上限)
        LCALL  WRITE
        MOV  A,TEMP_TL     ;TL(報警下限)
        LCALL  WRITE
        MOV  A,#7FH        ;12位精確度
        LCALL  WRITE
        RET

;====================================================
;功能鍵掃描子程序
;====================================================
SCANKEY:
              MOV  P1,#0F0H
              JB  K1,SCAN_K2
              CALL  BEEP_BL
SCAN_K1:      CALL  ALERT_TL
              CALL  ALERT_PLAY
              JB   K1,SCAN_K1
              CALL  BEEP_BL
SCAN_K11:     CALL  ALERT_TH
              CALL  ALERT_PLAY
              JB    K1,SCAN_K11
              CALL  BEEP_BL
SCAN_K2:      JB  K2,SCAN_K3
              CALL  BEEP_BL
SCAN_K3:      JB  K3,SCAN_K4
              CALL  BEEP_BL
              LCALL  RESET_ALERT
              LCALL  RE_18B20
              LCALL  WRITE_E2
SCAN_K4:      JB  K4,SCAN_END
              CALL  BEEP_BL
SCAN_END:     RET

;================================================
;設置溫度報警值
;================================================
RESET_ALERT:
          CALL  ALERT_TL
          CALL  ALERT_PLAY
          JNB K3,$              ;K3為位移鍵
          SETB  TR0
RESET_TL:
          CALL  ALERT_PLAY
          JNB  FLAG2,R_TL01
          mov  75H,7fh          ;送入熄滅符
          mov  76H,7fh
          CALL  ALERT_PLAY
          JMP   R_TL02
R_TL01:   CALL  ALERT_TL
          mov  75h,7Eh          ;送設定值
          mov  76h,7Dh
          CALL  ALERT_PLAY      ;顯示設定值
R_TL02:   JNB  K1,K011A
          JNB  K2,K011B
          JNB  K3,RESET_TH
          JMP  RESET_TL
K011A:
          INC  TEMP_TL
          MOV  A,TEMP_TL
          CJNE  A,#120,K012A    ;沒有到設定上限值,轉
          MOV  TEMP_TL,#0
K012A:    CALL  TL_DEL
          JMP   RESET_TL
K011B:
          DEC  TEMP_TL
          MOV  A,TEMP_TL
          CJNE  A,#00H,K012B   ;沒有到設定下限值,轉
          MOV  TEMP_TL,#119
K012B:    CALL  TL_DEL
          JMP   RESET_TL
;-------------------------------------------------------
RESET_TH:
           CALL  BEEP_BL
           JNB  K3,$
RESET_TH1:
          CALL  ALERT_PLAY
          JNB  FLAG2,R_TH01
          mov  75H,7fh          ;送入熄滅符
          mov  76H,7fh
          CALL  ALERT_PLAY
          JMP   R_TH02
R_TH01:   CALL  ALERT_TH
          mov  75h,7Eh          ;
          mov  76h,7Dh
          CALL  ALERT_PLAY
R_TH02:   JNB  K1,K021A
          JNB  K2,K021B
          JNB  K3,K002
          JMP  RESET_TH1
K021A:
          INC  TEMP_TH
          MOV  A,TEMP_TH
          CJNE  A,#120,K022A   ;沒有到設定上限值,轉
          MOV  TEMP_TH,#0
K022A:     CALL  TH_DEL
          JMP   RESET_TH1

K021B:
          DEC  TEMP_TH         ;減1
          MOV  A,TEMP_TH
          CJNE  A,#00H,K022B   ;沒有到設定下限值,轉
          MOV  TEMP_TH,#119
K022B:    CALL  TH_DEL
          JMP   RESET_TH1

K002:     CALL  BEEP_BL
          CLR  TR0             ;關閉中斷
          RET
;-----------------------------------------------------
;鍵延時子程序
;多次調用報警值顯示程序來延時
;-----------------------------------------------------
TL_DEL:                        ;報警低值延時
          MOV  R2,#0AH
TL_DEL1:  CALL  ALERT_TL
          CALL  ALERT_PLAY
          DJNZ  R2,TL_DEL1
          RET
TH_DEL:                        ;報警高值延時
          MOV  R2,#0AH
TH_DEL1:  CALL  ALERT_TH
          CALL  ALERT_PLAY
          DJNZ  R2,TH_DEL1
          RET
;====================================================
;實時溫度值與設定報警溫度值 TH、TL 比較子程序
;當實際溫度大于 TH 的設定值時,顯示“H”,繼電器關閉。
;當實際溫度小于 TH 的設定值時,顯示“O”,繼電器吸合。
;當實際溫度小于 TL 的設定值時,顯示“L”。
;閃動顯示標記符 H、L、O
;====================================================
TEMP_COMP:
          SETB  TR0             ;啟動中斷
          MOV  A,TEMP_TH
          SUBB  A,TEMP_ZH       ;減數>被減數,則

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区色| 国产成人综合精品三级| 欧美在线免费播放| 亚洲图片欧美色图| 日韩一区二区三区在线观看| 日本视频一区二区| 日韩视频免费观看高清完整版 | 久久99国产精品麻豆| 久久久亚洲精品石原莉奈| 国产尤物一区二区| 中文字幕一区二区三区视频| 99久久国产综合色|国产精品| 亚洲另类在线视频| 欧美日本在线观看| 国内久久精品视频| 自拍偷自拍亚洲精品播放| 在线亚洲精品福利网址导航| 日韩黄色免费电影| 久久综合九色综合97婷婷| av中文字幕不卡| 亚洲二区视频在线| 久久久噜噜噜久噜久久综合| 不卡的电影网站| 日韩国产欧美一区二区三区| 欧美激情一区二区在线| 日本韩国精品一区二区在线观看| 图片区小说区国产精品视频| 精品国产乱码久久久久久免费| 国产不卡视频在线播放| 亚洲成人av电影在线| 26uuu久久综合| 欧美专区在线观看一区| 精品制服美女久久| 亚洲精品高清视频在线观看| 久久影院午夜论| 欧美日韩在线播放三区| 激情文学综合丁香| 亚洲午夜精品17c| 国产色91在线| 欧美一a一片一级一片| 久久综合久久综合九色| 三级在线观看一区二区| 欧美猛男超大videosgay| 中文字幕中文字幕一区| 国产精品一区二区男女羞羞无遮挡| 88在线观看91蜜桃国自产| 一区二区三区在线视频观看 | 久久久不卡网国产精品一区| 一区二区日韩av| 欧美色图激情小说| 亚洲高清免费观看高清完整版在线观看 | 中文字幕一区二区三区蜜月| 国产精品一区一区三区| 国产片一区二区| 免费精品视频在线| 色素色在线综合| 最新日韩av在线| 欧美亚洲综合在线| 国产成人免费av在线| 成人av手机在线观看| 91丨九色丨蝌蚪富婆spa| 国产精品女主播在线观看| 精品女同一区二区| 欧美军同video69gay| 欧美亚洲自拍偷拍| 色成年激情久久综合| 成人av片在线观看| av在线不卡免费看| 99国内精品久久| 亚洲精品videosex极品| 欧美日韩一区视频| 国产精品一级二级三级| 亚洲成av人片| 99久久夜色精品国产网站| 国产精品视频一二| 欧美久久久久中文字幕| 国产精品99久久久久久久女警| 久久久影视传媒| 国产精品国产精品国产专区不蜜| 一区二区在线看| 精品乱人伦一区二区三区| 精品一区二区久久| 高清不卡一区二区| 欧美三级视频在线| 久久精品亚洲麻豆av一区二区 | 久久精品国产亚洲一区二区三区| 精品一区二区久久| 欧美日高清视频| 国产精品国产精品国产专区不蜜 | 福利一区在线观看| av影院午夜一区| 亚洲国产va精品久久久不卡综合 | 久久女同性恋中文字幕| 久久久亚洲欧洲日产国码αv| 久久久一区二区| 国产精品久久三| 综合久久久久综合| 亚洲国产成人91porn| 奇米在线7777在线精品| 国产一区二三区好的| 国产成人午夜精品5599 | 亚洲精品免费看| 香港成人在线视频| 极品少妇xxxx精品少妇偷拍| 国产91精品久久久久久久网曝门| 高清视频一区二区| 在线观看一区二区视频| 日韩三级精品电影久久久| 国产亚洲自拍一区| 最新日韩av在线| 偷拍日韩校园综合在线| 国产精品一品视频| 91福利区一区二区三区| 欧美成人性战久久| 亚洲欧洲av一区二区三区久久| 亚洲国产精品久久久久秋霞影院| 蜜桃91丨九色丨蝌蚪91桃色| 99精品视频在线播放观看| 欧美人伦禁忌dvd放荡欲情| 久久久久久久久久久久电影| 亚洲色图欧洲色图婷婷| 麻豆精品精品国产自在97香蕉| av激情综合网| 日韩欧美在线不卡| 伊人婷婷欧美激情| 国产一区二区网址| 欧美日韩免费观看一区三区| 国产清纯在线一区二区www| 亚洲成人你懂的| 粉嫩aⅴ一区二区三区四区五区 | 精品国产精品一区二区夜夜嗨| 国产精品嫩草影院com| 日本美女一区二区| 色婷婷亚洲综合| 国产网站一区二区| 毛片av一区二区三区| 在线观看亚洲a| 国产精品情趣视频| 狠狠色丁香久久婷婷综| 欧美三级乱人伦电影| 一区在线观看视频| 国产又粗又猛又爽又黄91精品| 91精品国产综合久久精品图片| ...xxx性欧美| 成人av动漫在线| 久久久久国产精品麻豆| 久久精品免费看| 在线91免费看| 亚洲国产一区二区视频| 不卡高清视频专区| 久久精品在这里| 九九国产精品视频| 日韩欧美在线综合网| 日韩专区中文字幕一区二区| 在线免费精品视频| 亚洲欧美乱综合| 色呦呦一区二区三区| 中文字幕欧美一| 色综合久久中文字幕综合网 | 亚洲人成网站在线| 成人h动漫精品| 亚洲国产高清不卡| 成人一级黄色片| 中文文精品字幕一区二区| 国产乱码精品一区二区三区忘忧草| 日韩欧美第一区| 麻豆91精品91久久久的内涵| 欧美一区二区精品| 蜜桃久久av一区| 欧美精品一区二区三| 国产一区二区三区av电影| 国产亚洲短视频| 成人中文字幕合集| 中文字幕一区二区视频| 97精品久久久午夜一区二区三区 | 欧美高清视频一二三区 | 99热国产精品| 一级精品视频在线观看宜春院 | 美洲天堂一区二卡三卡四卡视频| 日韩精品资源二区在线| 国产一区二区电影| 中文文精品字幕一区二区| 色综合久久综合网欧美综合网| 一二三区精品视频| 91麻豆精品久久久久蜜臀| 久久精品国产久精国产| 国产视频一区二区三区在线观看| 成人永久免费视频| 亚洲精品一二三四区| 欧美日韩的一区二区| 免费高清在线一区| 亚洲国产精品国自产拍av| 一本色道久久综合亚洲精品按摩| 一区二区三区久久久| 欧美一级二级三级乱码| 国产成人精品亚洲日本在线桃色| 国产精品的网站| 678五月天丁香亚洲综合网| 国产综合久久久久影院| 亚洲三级在线播放|