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

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

?? 18b20溫度時間顯示鍵盤設置1113.asm

?? DS18B20的技術資料
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
TEMPER_L EQU 36H            ;用到的ram:35h,36h,(get_temper)
TEMPER_H EQU 35H            ;24h,35h,36h,60h(temper_cov)
TEMPER_NUM EQU 60H          ;21h-27h(display)
temper_numhex equ 61h       ;16進制溫度值
minitehex     equ 62h       ;16進制分值
hourhex       equ 63h       ;16進制小時
hig  equ    37h             ;高溫報警
lw  equ     38h             ;低溫報警值
FLAG1 BIT 00H               ;30h,31h,32h,33h(alarm)
DQ BIT P3.0                 ;50h,51h,52h,53h (get_time)
                            ;40h-4fh ,存放時間
   ORG 0000H
   AJMP MAIN
   org 0013h
   ajmp int1
   ORG 0030H
MAIN: ACALL DL1
      MOV SP,#70H
      setb ex1

      lcall getalarmtem
      lcall ds887init
MAIN1:clr ea
      LCALL JM202INIT
      lcall get_time
      LCALL GET_TEMPER
      LCALL TEMPER_COV
      LCALL DISPLAYTEMP
      lcall alarmscan
      setb ea
      LJMP MAIN1
      ;讀取上次設置的溫度報警值
getalarmtem:
          LCALL INIT_1820
         JB FLAG1,alarmABC
         LJMP getalarmtem
alarmABC: LCALL DELAY1
          MOV A,#0CCH ; 跳過ROM匹配
          LCALL WRITE_1820
          MOV A,#0BEH ; 發出讀溫度命令
          LCALL WRITE_1820
          LCALL READ_18200 ;READ_1820
          lcall read_18200 ;報警值高位存入36H(TEMPER_L),低位存入35H(TEMPER_H)
          mov hig,temper_l
          mov lw,temper_h
          ret
;------------------液晶初始化
JM202INIT: CLR p2.4         ;RS
         CLR p2.5         ;R/W
         CLR p2.6         ;E
         MOV A,#0CH            ;DISPLAY ON
         LCALL WRI
         MOV A,#38H            ;SET NUMBERS OF DISPLAY LINE
         LCALL WRI
         lcall display2

          RET
display2:mov a,#0c3h
         lcall wri
         mov dptr,#CHATAB
         mov r7,#5

ddram1:  CLR A
         movc a,@a+dptr
         lcall wrd
         inc dptr
         djnz r7,ddram1

         ret
         ;時鐘芯片初始化
ds887init: mov dptr,#8f0bh
         mov a,#83h
         movx @dptr,a
         mov dptr,#8f01h  ;設置鬧鐘
         mov a,#0ffh
         movx @dptr,a
         mov dptr,#8f0ah  ;初始化寄存器a
         mov a,#20h
         movx @dptr,a
         mov dptr,#8f0ch
         movx a,@dptr      ;清c
         inc dptr
         movx a,@dptr      ;d 中vrt位只一
         mov dptr,#8f0bh
         mov a,#32h        ;初始化b
         movx @dptr,a

         ret
         ;讀取時間值
get_time:mov dptr,#8f0ah
         movx a,@dptr
         jb acc.7,get_time
         mov r0,#50h

         mov dptr,#8f02h       ;minite   50
         movx a,@dptr
         mov @r0,a
         inc r0
         mov dptr,#8f04h       ;hour   51
         movx a,@dptr
         mov @r0,a
         inc r0
         mov dptr,#8f07h   ;日     52
         movx a,@dptr
         mov @r0,a
         inc r0
         mov dptr,#8f08h   ;月      53
         movx a,@dptr
         mov @r0,a
         inc r0
         mov dptr,#8f09h   ;年       54
         movx a,@dptr
         mov @r0,a
         lcall displaytime
         ret
         ;把時間數據分開,放入4fh開始的單元中
         ;并送液晶顯示,不顯示秒


displaytime:mov dptr,#asc11
         mov r0,#4fh
         mov r1,#54h
         mov r4,#5
continue:mov a,@r1
         swap a
         anl a,#0fh
         movc a,@a+dptr
         mov @r0,a
         dec r0
         mov a,@r1

         anl a,#0fh
         movc a,@a+dptr
         mov @r0,a
         dec r0
         dec r1
         cjne r4,#01h,decr0

         ajmp  finish
decr0:   dec r0
finish:  djnz r4,continue
         mov 4dh,#2fh
         mov 4ah,#2fh
         mov 47h,#20h
         mov 44h,#3ah

displayline1:MOV A,#83H              ;DDRAM第1行首地址
         ACALL WRI
         MOV R0,#4fH
         MOV R7,#14

display1:MOV A,@R0
         LCALL WRD
         dec R0
         DJNZ R7,display1
         ret

;------------------讀出轉換后的溫度值
GET_TEMPER:
        SETB DQ ; 定時入口
BCD:    LCALL INIT_1820
        JB FLAG1,S22
        LJMP BCD ; 若DS18B20不存在則返回

S22:    LCALL DELAY1
        MOV A,#0CCH ; 跳過ROM匹配------0CC
        LCALL WRITE_1820
        MOV A,#44H ; 發出溫度轉換命令
        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 ; 發出讀溫度命令
        LCALL WRITE_1820
        LCALL READ_18200 ;READ_1820
        RET


;-------------------寫DS18B20的程序
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

;-------------------讀DS18B20的程序,從DS18B20中讀出兩個字節的溫度數據
READ_18200:
MOV R4,#2 ; 將溫度高位和低位從DS18B20中讀出
MOV R1,#36H ; 低位存入36H(TEMPER_L),高位存入35H(TEMPER_H)
RE00:
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

;-------------------將從DS18B20中讀出的溫度數據進行轉換
TEMPER_COV:
MOV 24H,TEMPER_L ;保存溫度低8位
MOV A,#0F0H
ANL A,TEMPER_L ; 舍去溫度低位中小數點后的四位溫度數值
SWAP A
MOV TEMPER_NUM,A

MOV A,TEMPER_H
ANL A,#07H
SWAP A
ORL A,TEMPER_NUM
MOV TEMPER_NUM,A ; 保存變換后的溫度數據
mov temper_numhex,a
LCALL BIN_BCD
RET
;-------------------將16進制的溫度數據轉換成壓縮BCD碼
BIN_BCD:
MOV DPTR,#TEMP_TAB
MOV A,TEMPER_NUM
MOVC A,@A+DPTR
MOV TEMPER_NUM,A
RET



;-------------------DS18B20初始化程序
INIT_1820:
SETB DQ
NOP
CLR DQ
MOV R0,#80H
TSR1:
DJNZ R0,TSR1 ; 延時
SETB DQ
MOV R0,#25H ;96US-25H
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




;-----------------液晶溫度顯示子程序
DISPLAYTEMP:MOV A,TEMPER_NUM
        ANL A,#0FH
        mov dptr,#asc11
        movc a,@a+dptr
        MOV 22H,A
        MOV A,TEMPER_NUM
        SWAP A
        ANL A,#0FH
        mov dptr,#asc11
        movc a,@a+dptr
        MOV 21H,A
        MOV 23H,#2EH

        ;溫度低4位處理程序
        MOV A,#00H
        ;ANL A,#0FH
        jnb 20h,c1
        add a,#06h
     c1:jnb 21h,c2
        add a,#13h
     c2:jnb 22h,c3
        add a,#25h
     c3:jnb 23h,c4
        add a,#50h

     c4:da a
        mov 24h,a

        anl a,#0fh
        mov dptr,#asc11
        movc a,@a+dptr
        mov 25h,a
        mov a,24h
        swap a
        anl a,#0fh

        mov dptr,#asc11
        movc a,@a+dptr
        MOV 24H,A
        MOV 26H,#0DFH
        MOV 27H,#43H
wriline2:MOV A,#0CAH              ;DDRAM第二行首地址
        LCALL WRI
        MOV R0,#21H
        MOV R7,#7

DDRAM3:MOV A,@R0
       LCALL WRD
       INC R0
       DJNZ R7,DDRAM3


          RET

alarmscan:
          mov a,temper_numhex
          clr c
          subb a,hig
          jc gonext
          clr p3.4
          setb p3.5
          ;lcall alarm
          ret
gonext:   CLR C
          MOV A,temper_numhex
          SUBB A,lw
          JNC BACK
          CLR P3.5
          setb p3.4
          ;lcall alarm
          RET
BACK:     SETB P3.4
          setb p3.5
          RET


;有鍵按下時,外部中斷1子程序
int1:    clr ea
         mov p2,#0ffh
         jb p2.1,timeset  ;按下k1,修改報警溫度
         jnb p2.1,$       ;否則轉時間設置子程序
int1CBA:MOV A,#0d1H              ;DDRAM第2行首地址
        ACALL WRI
        MOV A,#3ch              ;寫修改標志
        LCALL WRD

        mov 21h,#48h
        mov 22h,#49h
        mov 23h,#20h
        mov r1,hig

        lcall dl1
        lcall int1reset
        mov temper_l,r1
        mov hig,r1
        mov 21h,#4ch
        mov 22h,#57h
        mov 23h,#20h
        mov r1,lw
        acall dl1
        lcall int1reset
        mov temper_h,r1
        mov lw,r1
        lcall RE_CONFIG
        LCALL GET_TEMPER
        LCALL TEMPER_COV
        LCALL DISPLAYTEMP
        MOV A,#0d1H              ;DDRAM第2行首地址
        ACALL WRI
        MOV A,#20h              ;清修改標志
        LCALL WRD
        setb ea
        reti

timeset:    ;時間設置

        jb p2.0,int1back2
        jnb p2.0,$
        lcall dl1
        ajmp gotimeset
int1back2:setb ea
         reti

        ;時間(分)設置子程序
gotimeset:mov 41h,#3ch
         MOV A,#91H              ;DDRAM第1行首地址
        ACALL WRI
        MOV A,#3ch              ;寫修改標志
        LCALL WRD
        lcall timeset1          ;調用時間(分)設置子程序
        mov 41h,#20h
         MOV A,#91H              ;DDRAM第1行首地址
        ACALL WRI
        MOV A,#20h
        LCALL WRD
        ;小時設置子程序
        mov 44h,#3ch
        MOV A,#8eH              ;DDRAM第1行首地址
        ACALL WRI
        MOV A,#3ch              ;寫修改標志
        LCALL WRD
        lcall timeset2         ;調用小時設置子程序
        mov 44h,#3ah
         MOV A,#8eH              ;DDRAM第1行首地址
        ACALL WRI
        MOV A,#3ah              ;清修改標志
        LCALL WRD
        ;日期設置
        mov 47h,#3ch
        MOV A,#8bH              ;DDRAM第1行首地址
        ACALL WRI
        MOV A,#3ch              ;寫修改標志
        LCALL WRD
        lcall timeset3          ;日期設置
        mov 47h,#20h
        MOV A,#8bH              ;DDRAM第1行首地址
        ACALL WRI
        MOV A,#20h              ;清修改標志
        LCALL WRD
        ;月設置
        mov 4ah,#3ch
        MOV A,#88H              ;DDRAM第1行首地址
        ACALL WRI
        MOV A,#3ch              ;寫修改標志
        LCALL WRD
        lcall timeset4          ;月設置
        mov 4ah,#2fh
        MOV A,#88H              ;DDRAM第1行首地址
        ACALL WRI
        MOV A,#2fh              ;清修改標志
        LCALL WRD

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费成人av资源网| 精品一区二区三区免费毛片爱| 91精品黄色片免费大全| 丁香桃色午夜亚洲一区二区三区| 亚洲午夜一区二区| 国产亚洲精品精华液| 欧美欧美欧美欧美首页| www.亚洲免费av| 激情五月激情综合网| 亚洲一级片在线观看| 国产欧美一区二区三区沐欲| 欧美精品三级日韩久久| 91在线免费看| 粉嫩aⅴ一区二区三区四区| 蜜桃精品在线观看| 午夜av一区二区三区| 亚洲免费观看在线视频| 中文字幕精品在线不卡| 欧美精品一区二区三区久久久| 欧美天天综合网| 91亚洲永久精品| 成人在线视频一区二区| 国内精品伊人久久久久av一坑| 天堂va蜜桃一区二区三区漫画版| 亚洲女同ⅹxx女同tv| 国产精品国产自产拍高清av| 久久天堂av综合合色蜜桃网| 日韩午夜激情视频| 欧美一级专区免费大片| 欧美在线小视频| 色狠狠一区二区三区香蕉| 99re8在线精品视频免费播放| 国产成人自拍网| 国产乱码字幕精品高清av| 久久9热精品视频| 免费成人在线影院| 蜜桃久久久久久| 免费观看成人鲁鲁鲁鲁鲁视频| 日韩av网站在线观看| 天堂成人国产精品一区| 日韩电影一区二区三区| 天堂va蜜桃一区二区三区| 视频在线在亚洲| 久久99国产精品尤物| 亚洲地区一二三色| 亚洲国产精品久久一线不卡| 亚洲综合另类小说| 亚洲一区二区三区四区在线免费观看| 亚洲男人的天堂网| ...xxx性欧美| 一区二区三区在线不卡| 一区二区在线观看免费| 亚洲国产毛片aaaaa无费看| 亚洲va韩国va欧美va精品 | 亚洲v日本v欧美v久久精品| 亚洲韩国一区二区三区| 婷婷久久综合九色综合绿巨人| 午夜伦欧美伦电影理论片| 性感美女极品91精品| 日韩av午夜在线观看| 国产一区在线视频| 99精品久久只有精品| 欧美性videosxxxxx| 91麻豆精品国产91久久久 | 久久久亚洲欧洲日产国码αv| 国产亚洲欧美日韩在线一区| 国产精品国产自产拍在线| 亚洲黄色小视频| 日本午夜精品一区二区三区电影 | 久久精品一区二区三区不卡牛牛| 国产欧美va欧美不卡在线| 国产精品久久久久一区二区三区| 亚洲综合在线免费观看| 秋霞午夜av一区二区三区| 国产成人鲁色资源国产91色综| 91视视频在线直接观看在线看网页在线看| 欧洲精品视频在线观看| 欧美不卡一区二区三区四区| 国产精品久久久久久久久果冻传媒| 亚洲电影欧美电影有声小说| 国产一区二区女| 欧美三级乱人伦电影| 2022国产精品视频| 亚洲乱码一区二区三区在线观看| 日本不卡一二三区黄网| 成人精品gif动图一区| 欧美美女直播网站| 中文字幕免费不卡在线| 日本中文在线一区| 91啪亚洲精品| 26uuu亚洲综合色欧美| 亚洲一级电影视频| 风流少妇一区二区| 欧美精品国产精品| 亚洲欧美自拍偷拍| 日韩电影一二三区| 一本一道久久a久久精品综合蜜臀| 日韩精品影音先锋| 亚洲综合免费观看高清在线观看| 国产精品77777| 日韩精品一区二区在线观看| 亚洲最大的成人av| 成人动漫一区二区在线| 欧美sm美女调教| 亚洲va欧美va人人爽| 成人激情综合网站| 久久综合一区二区| 天天色 色综合| 一本一道综合狠狠老| 久久九九全国免费| 精品在线你懂的| 91精品国产综合久久久蜜臀粉嫩| 中文字幕一区二区三区在线播放| 成人动漫一区二区| 亚洲精品在线免费观看视频| 亚洲午夜私人影院| 91女厕偷拍女厕偷拍高清| 国产无一区二区| 国产老妇另类xxxxx| 欧美一级搡bbbb搡bbbb| 亚洲成人午夜电影| 欧美亚洲综合网| 亚洲精品乱码久久久久久久久| 成人av影视在线观看| 久久久国产精品午夜一区ai换脸| 免费看日韩a级影片| 日韩午夜av一区| 日本成人在线网站| 日韩一卡二卡三卡四卡| 日本不卡不码高清免费观看| 制服丝袜中文字幕亚洲| 一区二区三区视频在线看| 95精品视频在线| 中文字幕人成不卡一区| 成人av网址在线| 亚洲老司机在线| 色噜噜狠狠一区二区三区果冻| 亚洲欧美国产高清| 在线影视一区二区三区| 亚洲精品福利视频网站| 欧美亚洲综合色| 亚洲福利视频一区| 制服.丝袜.亚洲.中文.综合| 日韩—二三区免费观看av| 欧美大片在线观看| 狠狠狠色丁香婷婷综合激情| 精品国产成人在线影院| 精品一区二区三区日韩| 国产欧美一区二区三区在线老狼| 成人激情午夜影院| 亚洲视频在线观看三级| 色综合久久天天| 亚洲成人777| 精品久久久久久最新网址| 国产一区二区在线免费观看| 国产女人18水真多18精品一级做 | 蜜臂av日日欢夜夜爽一区| 精品精品欲导航| 福利电影一区二区| 伊人婷婷欧美激情| 91精品国产综合久久久久久久 | 欧美系列一区二区| 麻豆精品在线看| 欧美精品一区二区三区蜜桃 | 亚洲日本va午夜在线影院| 日本道色综合久久| 日本特黄久久久高潮| 久久久综合视频| 91久久精品网| 免费成人你懂的| 国产精品欧美一区二区三区| 欧美在线三级电影| 久久99蜜桃精品| 亚洲天堂久久久久久久| 欧美一区二区高清| zzijzzij亚洲日本少妇熟睡| 午夜视黄欧洲亚洲| 国产精品欧美久久久久一区二区| 欧美三级乱人伦电影| 国产精华液一区二区三区| 亚洲视频你懂的| 欧美电视剧在线看免费| 97se亚洲国产综合在线| 久久精品国产亚洲一区二区三区| 国产亚洲一区二区三区在线观看 | 乱一区二区av| 亚洲欧洲一区二区在线播放| 7777精品伊人久久久大香线蕉| 成人自拍视频在线观看| 日本麻豆一区二区三区视频| 日韩美女视频19| 精品国产电影一区二区| 欧美三区免费完整视频在线观看| 国产毛片一区二区| 视频一区二区三区入口| 日韩va亚洲va欧美va久久| 国产偷国产偷亚洲高清人白洁| 91啪在线观看| 亚洲一二三区在线观看| 在线观看国产一区二区|