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

📄 lix1.asm

📁 这是我本科的毕业设计。是一个热水器自动温控系统。要配合里面的电路图看程序
💻 ASM
字号:
  CON_0809 EQU 09FF0H
  CON_8279 EQU 5FFFH
  DAT_8279 EQU 5EFEH
  DISPMEM DATA 40H
  OVER EQU 7DH
  ORG 0000H
  LJMP MAIN
  ORG 000BH
  LJMP T0INT
  ORG 0030H
MAIN:MOV SP,#60H
     MOV TMOD,#01H            
     MOV R5,#10                

INIT:MOV DPTR,#CON_8279        
     MOV A,#00H                           
     MOV A,#34H                           
     MOVX @DPTR,A
     MOV A,#0DCH                        
     MOVX @DPTR,A
L8:  MOVX A,@DPTR                 
      JB ACC.7,L8
      MOV 20H,#0                            
      MOV 21H,#0 
      MOV 22H,#0
      MOV 23H,#0
      MOV 24H,#0
      MOV 25H,#0
      CLR 29H.0
NEXT1:MOV TL0,#0E0H        
      MOV TH0,#0B1H
      MOV R1,#30H
      MOV R4,#8
      MOV R3,#50                      
      MOV R2,#0
      SETB EA                            
      SETB ET0
      SETB TR0
      SETB IT0
      MOV R5,#10
      SETB 29H.1
L1:  LCALL DISP
       JB 29H.0,DO
       MOV R5,#10
       SETB 29H.1
       CLR 29H.0
DO: LCALL DELAY
          LJMP L1
T0INT:PUSH DPH
           PUSH DPL
           MOV R4,#8
           DJNZ R3,D1
          JB 29H.1,LL1
          LJMP LL2
D1:    LJMP NEXT3
LL1:  CLR 29H.1
          MOV DPTR,#0000H
LL2:  PUSH DPH
         PUSH DPL
         MOV DPTR,#CON_0809
         MOV A,R2
         MOVX @DPTR,A
         JB P1.3,$
         MOVX A,@DPTR
         POP DPL
         POP DPH
         MOVX @DPTR,A
         INC DPTR
         INC R2
         DJNZ R4,LL2
         DJNZ R5,D2
         SETB 29H.0
         LJMP FILTER
D2:   LJMP NEXT2
;*********************数字滤波************
FILTER:PUSH PSW
    MOV PSW,10H
    PUSH ACC
    MOV DPTR,#00
    MOV R7,#8
    MOV R5,#8
    MOV R1,#30H
    MOV A,#00H
    MOV R4,A
    MOV R3,A
L4:MOVX A,@DPTR
   MOVX @R1,A
   MOV R6,#9
L2:INC DPTR
   DJNZ R7,L2
   MOVX A,@DPTR
   MOV R2,A
   ADD A,@R1
   MOVX @R1,A
   INC R1
   MOV A,@R1
   ADDC A,#0
   MOV @R1,A
   MOV A,R2
   CLR C
   SUBB A,R4
   JC FILTER31 
   MOV A,@R1
   MOV R4,A
   SJMP FILTER32
FILTER31:
   MOV A,R2
   CLR C
   SUBB A,R3
   JNC FILTER32
   MOV A,R2
   MOV R3,A
FILTER32:
   MOV R7,#8
   DEC R1
   DJNZ R6,L2
   CLR C
   MOV A,@R1
   SUBB A,R4
   INC R1 
   XCH A,@R1
   SUBB A,#00H
   XCH A,@R1
   SUBB A,R3
   MOV R4,#03H
L7:CLR C          ;(31H30H)/8
   RRC A
   MOV @R1,A
   DEC R1
   MOV A,@R1
   RRC A
   MOV @R1,A
   DJNZ R4,L7
   INC R1
   INC R1
   MOV A,@R1
   SUBB A,#00H
   MOV @R1,A
   INC R1
   MOV R4,#71H
L3:PUSH ACC
   CLR C
   MOV A,DPL
   SUBB A,#1
   MOV DPL,A
   MOV A,DPH
   SUBB A,#0
   MOV DPH,A
   POP ACC
   DJNZ R4,L3
   DJNZ R5,L4
   POP ACC
   POP PSW
;************线性化*******************
       MOV R0,#30H
       MOV R7,7
 BACK: CLR A
 BACK1:PUSH ACC
       MOV DPTR,#VOL
       MOVC A,@A+DPTR
       SUBB A,@R0
       JZ  EQUEL
       JNC  GREAT
       POP ACC
       INC ACC      
       LCALL BACK1
EQUEL: POP ACC
       MOV R1,A
       ADD A,R1
       MOV DPTR,#TEM  
       MOVC A,@A+DPTR
       MOV 30H,A    
       INC ACC
       MOVC A,@A+DPTR
       MOV 31H,A
      JMP LOOP
GREAT:POP ACC
      MOV R1,A
      MOV DPTR,#VOL
      MOVC A,@A+DPTR
      MOV R2,A
      MOV A,R1
      DEC ACC
      MOVC A,@A+DPTR
      MOV R3,A
      MOV A,R2
      CLR C
      SUBB A,R3
      MOV B,A
      MOV R2,A
      MOV A,#10
      DIV AB
      MOV R4,A
      MOV A,B
      JB ACC.7,ROUND
      CLR C
      RLC A
      SUBB A,R2
      JC L11
ROUND:MOV A,R4
      ADD A,#1 
 L11: MOV A,R4  
     MOV R4,A
     MOV A,30H
     SUBB A,R3
     MOV B,R4
     MUL AB
     MOV R4,A
     MOV R5,B
     MOV A,R1
     ADD A,R1
     MOV DPTR,#TEM
     DEC ACC
     DEC ACC
     PUSH ACC
     MOVC A,@A+DPTR
     MOV R1,A
     POP ACC
     INC ACC
     MOVC A,@A+DPTR
     ADD A,R4
     MOV 30H,A
     MOV A,R1
     ADDC A,R5
     MOV 31H,A
LOOP:INC R0
     INC R0
     DJNZ R7,BACK
;************数制转换*******************
      MOV R6,#8
      MOV R1,#30H
LL5:  MOV R2,#0
L5:   MOV A,#8
      SUBB A,R2
      JZ LL5
      MOV A,@R1
      MOV R5,A
      INC R1
      MOV A,@R1
      MOV R4,A
      MOV R7,#100
      MOV R6,#8 
      DV51: MOV A,R5 
      RLC A 
      MOV R5,A 
      MOV A,R4 
      RLC A 
      MOV R4,A 
      MOV F0,C 
      CLR C 
      SUBB A,R7 
      ANL C,/F0 
      JC DV52 
      MOV R4,A 
DV52: CPL C 
      MOV A,R3 
      RLC A 
      MOV R3,A 
      DJNZ R6,DV51 
      MOV A,R3
      MOV 22H,A
      MOV A,R4
      MOV B,#10
      DIV AB
      MOV 21H,A
      MOV 20H,B
      MOV 23H,#0AH
      MOV 24H,#0AH
      MOV 25H,R2
      INC R2
      INC R1
      INC R1
      LCALL DISP
      LCALL DELAY
      DJNZ R6,L5
NEXT2:MOV R3,#50
NEXT3:MOV TL0,#0E0H
      MOV TH0,#0B1H
      POP DPL
      POP DPH
      RETI   
; ****************************显示***************
DISP:MOV DPTR,#CON_8279
     MOV A,#92H
     MOVX @DPTR,A
     MOV R0,#20H
     MOV R4,#6
L17: MOV A,@R0
     MOV DPTR,#TABLE
     MOVC A,@A+DPTR
     MOV DPTR,#DAT_8279
     INC R0
     MOVX @DPTR,A
     DJNZ R4,L17
     RET
;*************************DELAY*********************
DELAY:PUSH PSW
      SETB PSW.3
      MOV R5,#10
K2:   MOV R7,#00H
K1:   MOV R6,#00H
      DJNZ R6,$
      DJNZ R7,K1
      DJNZ R5,K2
      POP PSW
      RET
TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H,0BFH
VOL:  DB  0,5,10,15,20,25,30,35,40,45,50
      DB  56,61,66,71,76,81,86,91,95,100
      DB  106,110,115,120,125,131,135,140,145,150
      DB  156,161,166,171,176,182,187,192,197,202       
      DB  208,213,218,223,228,234,239,244,249,255
TEM : DW 0,10,20,30,40,50,60,70,80,90,100
      DW 110,120,130,140,150,160,170,180,190,200,210,220,230,240
      DW 250,260,270,280,290,300,310,320,330,340,350,360,370,380,390,400
      DW 410,420,430,440,450,460,470,480,490,500
     END


⌨️ 快捷键说明

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