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

📄 用单片机控制水温.txt

📁 单片机控制水温的汇编程序
💻 TXT
字号:
      ORG 0000H
      AJMP MAIN

      ORG 0030H
MAIN:      MOV DPTR,#1000H  ;显示器初始化
           MOV A,#01H
           MOVX @DPTR,A
           MOV A,#06H
           MOVX @DPTR,A
           MOV A,#0EH
           MOVX @DPTR,A

                           ;P1.6为继电器接口
KEYBOARD:  ACALL KS1
           JNZ LK1
           AJMP KEYBOARD
LK1:       ACALL TM12S
           ACALL KS1
           JNZ LK2
           AJMP KEYBOARD
LK2:
           MOV R0,#4
BACK:      CJNE R0,#4,M1
           AJMP WRITE1
M1:        CJNE R0,#3,M2
           AJMP WRITE2
M2:        CJNE R0,#2,M3
           AJMP WRITE3
M3:        CJNE R0,#1,M4
           AJMP WRITE4
M4:        AJMP KEYBOARD

WRITE1:    MOV DPTR,#0000H
           MOV A,#01H
           MOVX @DPTR,A
           MOV A,#00H
           AJMP READ
WRITE2:    MOV DPTR,#0000H
           MOV A,#02H
           MOVX @DPTR,A
           MOV A,#04H
           AJMP READ
WRITE3:    MOV DPTR,#0000H
           MOV A,#04H
           MOVX @DPTR,A
           MOV A,#08H
           AJMP READ
WRITE4:    MOV DPTR,#0000H
           MOV A,#08H
           MOVX @DPTR,A
           MOV A,#0CH
READ:
           MOV R6,A
           MOV DPTR,#0000H
           MOVX A,@DPTR
           JNB ACC.0,TEAM1
           MOV A,R6
           AJMP SHOW
TEAM1:     JNB ACC.1,TEAM2
           MOV A,R6
           ADD A,#1
           AJMP SHOW
TEAM2:     JNB ACC.2,TEAM3
           MOV A,R6
           ADD A,#2
           AJMP SHOW
TEAM3:     DEC R0
           JNB ACC.3,BACK
           MOV A,R6
           ADD A,#3
           AJMP SHOW
           RET
KS1:
           MOV DPTR,#0000H
           MOV A,#0FH
           MOVX @DPTR,A
           MOVX A,@DPTR
           ANL A,#0FH
           RET
TM12S:     MOV R7,#18H
TM:        MOV R6,#0FFH
TM6:       DJNZ R6,TM6
           DJNZ R7,TM
           RET

CC:        ACALL TM12S
           ACALL KS1
           RET

SHOW:      MOV 56H,A
MM:        ACALL CC
           JNZ MM
           MOV R7,56H
           CJNE R7,#0FH,W1
           AJMP NEW
W1:        CJNE R7,#0EH,W2
           AJMP KEYBOARD
W2:        CJNE R7,#0DH,W3
           AJMP KEYBOARD
W3:        CJNE R7,#0CH,W4
           AJMP KEYBOARD
W4:        CJNE R7,#0BH,W5
           AJMP KEYBOARD
W5:        CJNE R7,#0AH,SHOWDATA
           AJMP KEYBOARD

NEW:       MOV DPTR,#1000H
           MOV A,#01H
           MOVX @DPTR,A
           MOV A,#06H
           MOVX @DPTR,A
           MOV A,#0EH
           MOVX @DPTR,A
           AJMP KEYBOARD

SHOWDATA:  SETB P1.6


CIRCLE:    SETB P1.5
           MOV A,#00H
           CLR P1.5

           JNB P1.1,T1
           ADD A,#32H
T1:        SETB P1.0
           CLR P1.0

           JNB P1.1,T20
           ADD A,#19H
T20:       SETB P1.0
           CLR P1.0
           JNB P1.1,T3
           ADD A,#0DH
T3:        SETB P1.0
           CLR P1.0
           JNB P1.1,T4
           ADD A,#06H
T4:        SETB P1.0
           CLR P1.0
           JNB P1.1,T5
           ADD A,#03H
T5:        SETB P1.0
           CLR P1.0
           JNB P1.1,T6
           ADD A,#02H
T6:        SETB P1.0
           CLR P1.0
           JNB P1.1,T7
           ADD A,#01H
T7:        SETB P1.0
           CLR P1.0
           JNB P1.1,T8
           ADD A,#00H
T8:        SETB P1.0
           CLR P1.0
           JNB P1.1,T9
           ADD A,#00H
T9:        SETB P1.0
           CLR P1.0
           JNB P1.1,T10
           ADD A,#00H
T10:       SETB P1.0
           CLR P1.0
           SETB P1.5
           MOV 57H,A

           MOV DPTR,#1001H        ;显示
           MOV A,56H
           ACALL TM12S
           ADD A,#30H
           MOVX @DPTR,A
           ACALL TM12S

           MOV A,#30H
           MOVX @DPTR,A
           ACALL TM12S

           MOV A,#0B0H
           MOVX @DPTR,A
           ACALL TM12S

           MOV A,56H
           ADD A,#30H
           INC A
           MOVX @DPTR,A
           ACALL TM12S

           MOV A,#30H
           MOVX @DPTR,A
           ACALL TM12S

           MOV A,#3AH
           MOVX @DPTR,A
           ACALL TM12S

           MOV A,57H
           MOV B,#0AH
           DIV AB
           ADD A,#30H
           MOVX @DPTR,A
           ACALL TM12S
           MOV A,B
           ADD A,#30H
           MOVX @DPTR,A
           ACALL TM12S         ;显示结束

           ACALL TM100S
           MOV DPTR,#1000H
           MOV A,#01H
           MOVX @DPTR,A
           MOV A,#06H
           MOVX @DPTR,A
           MOV A,#0EH
           MOVX @DPTR,A
           
           MOV A,56H           ;控制继电器程序
           MOV B,#0AH
           MUL AB
           ADD A,#01H
           CJNE A,57H,KKK1
           CLR P1.6
KKK1:      JC OFF
           AJMP ON
OFF:       CLR P1.6
           AJMP ON

ON:        MOV A,56H
           MOV B,#0AH
           MUL AB
           CJNE A,57H,KKK2
           SETB P1.6
KKK2:      JNC FIRE
           AJMP CIRCLE
FIRE:      SETB P1.6
           AJMP CIRCLE
TM100S:     MOV R7,#0ffH
TM100:        MOV R6,#0FFH
TM60:       DJNZ R6,TM60
           DJNZ R7,TM100
           RET

⌨️ 快捷键说明

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