⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ds18b20.asm

📁 自己设计编写18B20温度采集程序
💻 ASM
字号:
DAT EQU P1.0

ORG 0000H
SJMP MAIN
 
ORG 0030H
MAIN:
   MOV SP,#40H
   MOV R0,#50H
   LCALL GETWD
   NOP
   LCALL  DISPLY
   LCALL DALAY
   SJMP MAIN

GETWD:
   LCALL INIT
   MOV A,#0CCH
   LCALL WRITE
   MOV A,#44H
   LCALL WRITE
   LCALL INIT
   MOV A,#0CCH
   LCALL  WRITE
   MOV A,#0BEH
   LCALL WRITE
   LCALL READ
   MOV @R0,A
   INC R0
   LCALL READ
   MOV @R0,A
 RET

DISPLY:
   MOV R0,#50H
   MOV A,@R0
   INC R0
   ANL A,#0F0H
   MOV B,A
   MOV A,@R0
   INC R0
   ANL A,#07H
   ADD A,B
   SWAP A
   DA A
   MOV B,A
   ANL A,#0FH
   MOV @R0,A
   INC R0
   MOV A,B
   SWAP A
   ANL A,#0FH
   MOV @R0,A
   INC R0
   CLR A
   ADDC A,#00H
   MOV @R0,A
LOOP3:
   MOV R0,#52H
   MOV R1,#3
   MOV R2,#0FEH
DISPLY2:
   MOV A,@R0
   INC R0
   MOV DPTR,#LEDSEG
   MOVC A,@A+DPTR
   MOV P2,R2
   NOP
   MOV P0,A
   NOP
   MOV A,R2
   RL A
   MOV R2,A
   NOP
   LCALL DALAY
   DJNZ R1,DISPLY2

 RET

INIT:
     CLR EA
INI10:
     SETB DAT
     MOV R3,#200
INI11: 
    CLR DAT
    DJNZ R3,INI11
    SETB DAT
    MOV R3,#30
INI12:
    DJNZ R3,INI12
    CLR C
    ORL C,DAT
    JC INI10
    MOV R4,#80
INI13:
   ORL C,DAT
    JC INI14
   DJNZ R4,INI13
   SJMP INI10
INI14:
   MOV R3,#240
INI15:
   DJNZ R3,INI15
 RET


WRITE:

   CLR EA
   MOV R5,#8
WR11:
   SETB DAT
   MOV R6,#8
   RRC A
   CLR DAT
WR12:
   DJNZ R6,WR12
   MOV DAT,C
   MOV R6,#20
WR13:
   DJNZ R6,WR13
   DJNZ R5,WR11
   SETB DAT
 RET


READ:
    CLR EA
    MOV R7,#8
RD11:
    CLR DAT
    MOV R6,#4
    NOP
    SETB DAT
RD12:
    DJNZ R6,RD12
    MOV C,DAT
    RRC A
    MOV R5,#30
RD13:
    DJNZ  R5,RD13
    DJNZ R7,RD11
    SETB DAT

   RET


DALAY:
   MOV R5,#5H
DALAY2:
   MOV R6,#255
   DJNZ R6,$
   DJNZ R5,DALAY2
 RET

LEDSEG:
   DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8Eh ;  共阳极数码管段码!
       ;0   1     2   3    4   5   6   7    8   9
END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -