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

📄 ds18b20-lcd.asm

📁 温度控制?
💻 ASM
📖 第 1 页 / 共 3 页
字号:
          CJNE  A,#0,LC1    ;判断是否为结束码
          RET
  LC1:    CALL  WDATA       ;写入数据
          INC  DPTR         ;指针加1
          JMP  FILL         ;继续填入字符
          RET
;=========================================
CLR_LINE:                  ;清除该行 LCD 的字符
          MOV  R0,#24
   CL1:   MOV  A,#' '
          CALL  WDATA
          DJNZ  R0,CL1
          RET
   DE:    MOV  R7,#250
          DJNZ  R7,$
          RET
;============================================
WCOM:                     ;以8位控制方式将命令写至LCD
          MOV  P0,A       ;写入命令
          CLR LCD_RS      ;RS=L,RW=L,D0-D7=指令码,E=高脉冲
          CLR LCD_RW
          SETB LCD_EN
          ACALL DELAY1        
          CLR LCD_EN
          RET
;=============================================
WDATA:                    ;以8位控制方式将数据写至LCD
          MOV  P0,A       ;写入数据
          SETB  LCD_RS        
          CLR  LCD_RW
          SETB  LCD_EN        
          CALL  DE
          CLR  LCD_EN
          CALL  DE
          RET

LCDP1:                    ;在LCD的第一行显示字符
         PUSH  ACC        ;
         MOV  A,B         ;设置显示地址
         ADD  A,#80H      ;设置LCD的第一行地址
         CALL  WCOM       ;写入命令
         POP  ACC         ;由堆栈取出A
         CALL  WDATA      ;写入数据
         RET

;==============================================
BEEP_BL:
         MOV  R6,#100
 BL2:    CALL  DEX1
         CPL  BEEP
         DJNZ  R6,BL2
         MOV  R5,#10
         CALL  DELAY
         RET
 DEX1:   MOV  R7,#180
 DE2:    NOP
         DJNZ  R7,DE2
         RET
DELAY:                    ;(R5)*延时10MS
         MOV  R6,#50
 DL1:    MOV  R7,#100
         DJNZ  R7,$
         DJNZ  R6,DL1
         DJNZ  R5,DELAY
         RET

DELAY1:                    ;延时5MS
         MOV  R6,#25
 DL2:    MOV  R7,#100
         DJNZ  R7,$
         DJNZ  R6,DL2
         RET
main1:           CLR      A
           MOV      count1,A
           MOV      count2,A
           MOV      flag,A
           CLR      op
           CLR      P3.4
           SETB     EA
           MOV      TMOD,#0x11
           SETB     ET0
           MOV      TH0,#0xFF
           MOV      TL0,#0xE8
           MOV      iraddr1,#0xa3
           MOV      iraddr2,#0x3C
           SETB     TR0
           MOV      R7,TEMP_ZH
	   CALL    sendirdata
           mov      r7,temppoint
           call    sendirdata 
           mov      r7,TEMPHC
           call    sendirdata
	   using  0 
timeint:    
           
          PUSH     ACC
          PUSH     PSW
          MOV      TH0,#0xFF
          MOV      TL0,#0xE6
          INC       count2

          MOV      A,count2
          JNZ      INTER11
          INC      count1
INTER11:  MOV      A,flag
          CJNE     A,#0x01,INTER22
          CPL      op
          SJMP     INTER33
INTER22:CLR        op
INTER33:MOV        C,op
          MOV      P3.4,C
          POP      PSW
          POP      ACC
RETI


sendirdata:
         MOV      R6,0x07
         MOV      endcount1,#0x00
         MOV      endcount2,#0xE1
         MOV      flag,#0x01
         CLR      A
         MOV      count1,A
         MOV      count2,A
ir2:     CLR      C
         MOV      A,count2
         SUBB     A,endcount2
         MOV      A,count1
         SUBB      A,endcount1
         JC       ir2
         MOV      endcount1,#0x00
         MOV      endcount2,#0x75
          CLR      A
          MOV      flag,A
         MOV      count1,A
         MOV      count2,A
ir1:     CLR      C
         MOV      A,count2
         SUBB     A,endcount2
         MOV      A,count1
         SUBB     A,endcount1
         JC       ir1
         MOV      R6,iraddr1
         CLR      A
         MOV      R5,A
         MOV      R4,A
ir8:     MOV      endcount1,#0x00
         MOV      endcount2,#iraddr2
         MOV      flag,#0x01
         CLR      A
         MOV      count1,A
         MOV      count2,A
ir3:     CLR      C
         MOV      A,count2
         SUBB     A,endcount2
         MOV      A,count1
        SUBB     A,endcount1
         JC       ir3
         MOV      A,R6
         MOV      C,0xE0.7
         RRC      A
         ADD      A,ACC
         MOV      R3,A
         CLR      C
         MOV      A,R6
         SUBB     A,R3
         JZ       ir4
         MOV      endcount1,#0x00
         MOV      endcount2,#0x29
         SJMP     ir5
ir4:     MOV      endcount1,#0x00
         MOV      endcount2,#0x0F
ir5:         CLR      A
         MOV      flag,A
         MOV      count1,A
         MOV      count2,A
ir6:        CLR      C
         MOV      A,count2
         SUBB     A,endcount2
         MOV      A,count1
         SUBB     A,endcount1
         JC       ir6
         MOV      A,R6
         MOV      C,0xE0.7
         RRC      A
         MOV      R6,A
         INC      R5
         CJNE     R5,#0x00,ir7
         INC      R4
ir7:        MOV      A,R5
        XRL      A,#flag
        ORL      A,R4
        JNZ      ir8
        MOV      R6,iraddr2
        CLR      A
        MOV      R4,A
        MOV      R5,A
ir13:   MOV      endcount1,#0x00
        MOV      endcount2,#iraddr2
        MOV      flag,#0x01
        CLR      A
        MOV      count1,A
        MOV      count2,A
ir9:         CLR      C
        MOV      A,count2
        SUBB     A,endcount2
        MOV      A,count1
        SUBB     A,endcount1
        JC       ir9
        MOV      A,R6
        MOV      C,0xE0.7
        RRC      A
        ADD      A,ACC
        MOV      R3,A
        CLR      C
        MOV      A,R6
        SUBB     A,R3
        JZ       ir10
        MOV      endcount1,#0x00
        MOV      endcount2,#0x29
        SJMP     ir11
ir10:   MOV      endcount1,#0x00
        MOV   endcount2,#0x0F
ir11:         CLR      A
        MOV      flag,A
        MOV      count1,A
        MOV      count2,A
ir12:          CLR      C
        MOV      A,count2
        SUBB     A,endcount2
        MOV      A,count1
        SUBB     A,endcount1
        JC       ir12
        MOV      A,R6
        MOV      C,0xE0.7
        RRC      A
        MOV      R6,A
        INC      R5
        CJNE     R5,#0x00,ir14
        INC      R4
ir14:   MOV      A,R5
        XRL      A,#flag
        ORL      A,R4
        JNZ      ir13
        MOV      R6,0x07
        CLR      A      
        MOV      R4,A
        MOV      R5,A
ir20:   MOV      endcount1,#0x00
        MOV      endcount2,#iraddr2
        MOV      flag,#0x01
        CLR      A
        MOV      count1,A
        MOV      count2,A
ir15:   CLR      C
        MOV      A,count2
        SUBB     A,endcount2
        MOV      A,count1
        SUBB     A,endcount1
        JC       ir15
        MOV      A,R6
        MOV      C,0xE0.7
        RRC      A
        ADD      A,ACC
        MOV      R3,A
        CLR      C
        MOV      A,R6
        SUBB     A,R3
        JZ       ir16
        MOV      endcount1,#0x00
        MOV      endcount2,#0x29
        SJMP     ir17
ir16:   MOV  endcount1,#0x00
        MOV      endcount2,#0x0F
ir17:   CLR      A
        MOV      flag,A
        MOV      count1,A
        MOV      count2,A
ir18:        CLR      C
        MOV      A,count2
        SUBB     A,endcount2
        MOV      A,count1
        SUBB     A,endcount1
        JC       ir18
        MOV      A,R6
        MOV      C,0xE0.7
        RRC      A
        MOV      R6,A
        INC      R5
        CJNE     R5,#0x00,ir19
        INC      R4
ir19:   MOV      A,R5
        XRL      A,#flag
        ORL      A,R4
        JNZ      ir20
        MOV      A,R7
        CPL      A
        MOV      R6,A
        CLR      A
        MOV      R4,A
        MOV      R5,A
ir26:   MOV      endcount1,#0x00
        MOV      endcount2,#iraddr2
        MOV      flag,#0x01
        CLR      A
        MOV      count1,A
        MOV      count2,A
ir21:         CLR      C
        MOV      A,count2
        SUBB     A,endcount2
        MOV      A,count1
        SUBB     A,endcount1
        JC       ir21
        MOV      A,R6
        MOV      C,0xE0.7
        RRC      A
        ADD      A,ACC
        MOV      R7,A
        CLR      C
        MOV      A,R6
        SUBB     A,R7
        JZ       ir22
        MOV      endcount1,#0x00
        MOV      endcount2,#0x29
        SJMP     ir23
ir22:   MOV      endcount1,#0x00
        MOV      endcount2,#0x0F
ir23:   CLR      A
        MOV      flag,A
        MOV      count1,A
        MOV      count2,A
ir24:   CLR      C
        MOV      A,count2
        SUBB     A,endcount2
        MOV      A,count1
        SUBB     A,endcount1
        JC       ir24
        MOV      A,R6
        MOV      C,0xE0.7
        RRC      A
        MOV      R6,A
        INC      R5
        CJNE     R5,#0x00,ir25
        INC      R4
ir25:    MOV      A,R5
        XRL      A,#flag
        ORL      A,R4
       JNZ      ir26
        MOV      endcount1,#0x00
        MOV      endcount2,#iraddr2
        MOV      flag,#0x01
        CLR      A
        MOV      count1,A
        MOV      count2,A
ir27:   CLR      C
        MOV      A,count2
        SUBB     A,endcount2
        MOV      A,count1
        SUBB     A,endcount1
        JC       ir27
        CLR      A
        MOV      flag,A
        RET      
         END

⌨️ 快捷键说明

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