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

📄 heaterf54.asm

📁 一款用单片机的简洁的测控温电路
💻 ASM
字号:





;HEATER
;XT  F=4.0MHz
;T=1uS

	

	
	LIST P=PIC16C54C
	#INCLUDE<P16C5X.INC>
;	__CONFIG 3FF1H
	
;#DEFINE ;BANK1 BSF STATUS,RP0
;#DEFINE ;BANK0 BCF STATUS,RP0

#DEFINE LED1 BSF PORTA,0H
#DEFINE	LED2 BCF PORTA,0H

INC EQU 02H
DEC EQU 03H
BEE EQU 01H

COUNT1 EQU 10H
COUNT2 EQU 11H
COUNT3 EQU 12H
COUNT4 EQU 13H	
COUNT5 EQU 14H
COUNT6 EQU 15H	
COUNT7 EQU 16H
COUNT8 EQU 17H
DISP1 EQU 18H
DISP2 EQU 19H
TEMP EQU 1AH
STEMP EQU 1BH
COUNT9 EQU 1CH
FLAG EQU 1DH
COUNT10 EQU 1EH


	ORG 1FFH
	GOTO START
	
	ORG 00H


;==========================================	
;TABLE1 WILL SHUT OFF THE HEATER	
TABLE1	ADDWF PCL,1
	RETLW  3FH;0
	RETLW  06H;1
	RETLW  5BH;2
	RETLW  4FH;3
	RETLW  66H;4
	RETLW  6DH;5
	RETLW  7DH;6
	RETLW  07H;7
	RETLW  7FH;8
	RETLW  6FH;9	

;TABLE1 WILL TURN ON THE HEATER	
TABLE2	ADDWF PCL,1
	RETLW  0BFH;0
	RETLW  86H;1
	RETLW  0DBH;2
	RETLW  0CFH;3
	RETLW  0E6H;4
	RETLW  0EDH;5
	RETLW  0FDH;6
	RETLW  87H;7
	RETLW  0FFH;8
	RETLW  0EFH;9		
;==========================================

	
;DELAY2MS
;	MOVLW 03H
;	MOVWF COUNT1
;	MOVLW 096H
;	MOVWF COUNT2
;LOOP0	DECFSZ COUNT2,1   ;DELAY  2.00mS
;	GOTO LOOP0
;	DECFSZ COUNT1,1
;	GOTO LOOP0
	
;	RETLW 0H
;==========================================
DELAY1MS
	MOVLW 02H         
	MOVWF COUNT1
	MOVLW 049H      ;DELAY 1.00mS
	MOVWF COUNT2
LOOP000	DECFSZ COUNT2,1
	GOTO LOOP000
	DECFSZ COUNT1,1
	GOTO LOOP000

	RETLW 0H	
	
;===================================		
;DELAY3MS
;;	MOVLW 04H
;	MOVWF COUNT1
;	MOVLW 0E2H
;	MOVWF COUNT2
;LOOP00	DECFSZ COUNT2,1   ;DELAY  3.00mS    2.995
;	GOTO LOOP00
;	DECFSZ COUNT1,1
;	GOTO LOOP00
;	NOP
;	NOP
;	RETLW 0H	
;===================================	
;DELAY5MS
;	MOVLW 07H
;	MOVWF COUNT1
;	MOVLW 7AH     ;DELAY   5.00mS
;	MOVWF COUNT2
;LOOP01	DECFSZ COUNT2,1
;	GOTO LOOP01
;	DECFSZ COUNT1,1
;	GOTO LOOP01

;	RETLW 0H
	
;============================	

;==============================	
DELAY20MS
	MOVLW 1AH
	MOVWF COUNT1
	MOVLW 0F6H
	MOVWF COUNT2
LOOP03	DECFSZ COUNT2,1  ;DELAY 20.00mS
	GOTO LOOP03
	DECFSZ COUNT1,1
	GOTO LOOP03

	RETLW 0H
;================================

;==============================
DELAY100MS	
	MOVLW 82H
	MOVWF COUNT1
	MOVLW 0DBH         ;DELAY 100.00mS
	MOVWF COUNT2
LOOP05	DECFSZ COUNT2,1
	GOTO LOOP05
	DECFSZ COUNT1,1
	GOTO LOOP05

	RETLW 0H
;================================	

;================================
DELAY500MS
	
	MOVLW 03H
	MOVWF COUNT1
	MOVLW 089H
	MOVWF COUNT2
	CLRF COUNT3
LOOP07	DECFSZ COUNT3,1    ;DELAY  499.748  mS
	GOTO LOOP07
	DECFSZ COUNT2,1
	GOTO LOOP07
	DECFSZ COUNT1,1
	GOTO LOOP07

	RETLW 0H
;================================	

;================================
BIN_2BCD
	CLRF DISP1
	CLRF DISP2
LOOP401	MOVLW D'10'
	SUBWF TEMP,1
	BTFSS STATUS,C
	GOTO OVER1
	INCF DISP1,1
	GOTO LOOP401
OVER1	MOVLW D'10'
	ADDWF TEMP,0	
	MOVWF DISP2
	RETLW 0H	
;================================
DISPOFF	MOVF DISP1,W
	CALL TABLE1
	MOVWF PORTB
	LED1
;	CALL DELAY1MS
	CALL DELAY1MS
	CALL DELAY1MS
	CALL DELAY1MS
	
	MOVF DISP2,W
	CALL TABLE1
	MOVWF PORTB
	LED2
;	CALL DELAY1MS
	CALL DELAY1MS
	CALL DELAY1MS
	CALL DELAY1MS
	CLRF PORTB
	RETLW 0H
;================================
DISPON	MOVF DISP1,W
	CALL TABLE2
	MOVWF PORTB
	LED1
;	CALL DELAY1MS
	CALL DELAY1MS
	CALL DELAY1MS
	CALL DELAY1MS
	
	MOVF DISP2,W
	CALL TABLE2
	MOVWF PORTB
	LED2
;	CALL DELAY1MS
	CALL DELAY1MS
	CALL DELAY1MS
	CALL DELAY1MS
	RETLW 0H
	
;================================
TABLE3	ADDWF PCL,1


	RETLW  D'15'
	
	RETLW  D'16'
	RETLW  D'16'
	RETLW  D'17'
	RETLW  D'17'
	RETLW  D'18'
	RETLW  D'18'
	RETLW  D'19'
	RETLW  D'19';50
	
	RETLW  D'20'
	RETLW  D'20'
	
	RETLW  D'21'
	RETLW  D'21'
	RETLW  D'22'
	RETLW  D'22'
	RETLW  D'23'
	RETLW  D'23'
	RETLW  D'24'
	RETLW  D'24';60
	
	RETLW  D'25'
	RETLW  D'25'
	
	RETLW  D'26'
	RETLW  D'26'
	RETLW  D'27'
	RETLW  D'27'
	RETLW  D'28'
	RETLW  D'28'
	RETLW  D'29'
	RETLW  D'29';70
	
	RETLW  D'29'
	RETLW  D'30'
	
	RETLW  D'30'
	RETLW  D'31'
	RETLW  D'31'
	RETLW  D'32'
	RETLW  D'32'
	RETLW  D'33'
	RETLW  D'33'
	RETLW  D'34';80
	
	RETLW  D'34'
	RETLW  D'34'
	
	RETLW  D'35'
	RETLW  D'35'
	RETLW  D'35'
	RETLW  D'36'
	RETLW  D'36'
	RETLW  D'36'
	RETLW  D'37'
	RETLW  D'37';90
	
	RETLW  D'38'
	RETLW  D'38'
	
	RETLW  D'39'
	RETLW  D'39'
	RETLW  D'39'
	RETLW  D'40'
	RETLW  D'40'
	RETLW  D'41'
	RETLW  D'41'
	RETLW  D'41';100
	
	RETLW  D'42'
	RETLW  D'42'
	
	RETLW  D'42'
	RETLW  D'43'
	RETLW  D'43'
	RETLW  D'43'
	RETLW  D'44'
	RETLW  D'44'
	RETLW  D'44'
	RETLW  D'45';110
	
	RETLW  D'45'
	RETLW  D'46'
	
	RETLW  D'46'
	RETLW  D'47'
	RETLW  D'47'
	RETLW  D'47'
	RETLW  D'48'
	RETLW  D'48'
	RETLW  D'49'
	RETLW  D'49';120
	
	RETLW  D'49'
	RETLW  D'50'
	
	RETLW  D'50'
	RETLW  D'51'
	RETLW  D'51'
	RETLW  D'51'
	RETLW  D'52'
	RETLW  D'52'
	RETLW  D'52'
	RETLW  D'53';130
	
	RETLW  D'53'
	RETLW  D'54'
	
	RETLW  D'54'
	RETLW  D'54'
	RETLW  D'55'
	RETLW  D'55'
	RETLW  D'56'
	RETLW  D'56'
	RETLW  D'56'
	RETLW  D'57';140
	
	RETLW  D'57'
	RETLW  D'57'
	
	RETLW  D'58'
	RETLW  D'58'
	RETLW  D'59'
	RETLW  D'59'
	RETLW  D'60'
	RETLW  D'60'
	RETLW  D'60'
	RETLW  D'61';150
	
	RETLW  D'61'
	RETLW  D'62'
	
	RETLW  D'62'
	RETLW  D'62'
	RETLW  D'63'
	RETLW  D'63'
	RETLW  D'63'
	RETLW  D'64'
	RETLW  D'64'
	RETLW  D'65';160
	
	RETLW  D'65'
	RETLW  D'65'
	
	RETLW  D'66'
	RETLW  D'66'
	RETLW  D'67'
	RETLW  D'67'
	RETLW  D'67'
	
;	MOVWF PORTB
	
	RETLW  D'68'
	RETLW  D'68'
	RETLW  D'69';170
	
	RETLW  D'69'
	RETLW  D'69'
	
	RETLW  D'70'
	RETLW  D'70'
	RETLW  D'71'
	RETLW  D'71'
	RETLW  D'71'
	RETLW  D'72'

	RETLW  D'72'
	RETLW  D'73';180
	
	RETLW  D'73'
	RETLW  D'73'
	RETLW  D'74'
	RETLW  D'74'
	RETLW  D'75'
	RETLW  D'75'
	RETLW  D'75'
	
	RETLW  D'76'
	
	RETLW  D'76'
;===================================
;================================
;================================
START	CLRF PORTA
	CLRF PORTB
;	CLRF INTCON
	;BANK1
	CLRW
	TRIS PORTB
	
	MOVLW B'00011100'
	TRIS PORTA
	
	MOVLW B'11111000'
	OPTION
	;BANK0
	BSF PORTA,BEE
	CALL DELAY100MS
	CALL DELAY100MS
	BCF PORTA,BEE
FAULT
	CLRF FLAG
	
	MOVLW D'102';42
	MOVWF STEMP
	
	CLRF COUNT7
	MOVLW D'11'
	MOVWF COUNT8
	
	
LOOP100	BTFSC FLAG,0	
	GOTO LOOP99
	CALL DELAY1MS
	CALL DELAY1MS
	DECFSZ COUNT7,1
	GOTO LOOP99
	DECFSZ COUNT8,1
	GOTO LOOP99
	BSF PORTA,BEE
	CALL DELAY100MS
	
	BCF PORTA,BEE
	CALL DELAY500MS
	CALL DELAY500MS
	NOP
	GOTO HEATING
	
LOOP99	MOVLW D'42'
	SUBWF STEMP,W
	BTFSS STATUS,C
	GOTO FAULT
	MOVLW D'189'
	SUBWF STEMP,W
	BTFSC STATUS,C
	GOTO FAULT

	MOVLW D'42';MOVLW D'22'
	SUBWF STEMP,W
	
	CALL TABLE3
	
	MOVWF TEMP
	
	CALL BIN_2BCD
	
	CALL DISPOFF

LOOP101	BTFSC PORTA,INC
	GOTO LOOP102
	CALL DELAY20MS
	BTFSC PORTA,INC
	GOTO LOOP102
	
	BTFSC PORTA,DEC
	GOTO LOOP103
	CALL DELAY20MS
	BTFSC PORTA,DEC
	GOTO LOOP103
	
	CLRF PORTB
	
	BSF PORTA,BEE
	CALL DELAY100MS
	
	BCF PORTA,BEE
	CALL DELAY500MS
	CALL DELAY500MS	
	NOP

	GOTO HEATING
	
LOOP102	BTFSC PORTA,DEC
	GOTO LOOP100
	CALL DELAY20MS
	BTFSC PORTA,DEC
	GOTO LOOP100
	CLRF PORTB
	BSF FLAG,0
	MOVLW D'5'
	SUBWF STEMP,1

	BSF PORTA,BEE
	CALL DELAY100MS
	BCF PORTA,BEE
	CALL DELAY500MS
	NOP

	GOTO LOOP99	
		
LOOP103	MOVLW D'5'
	ADDWF STEMP,1
	BSF FLAG,0
	CLRF PORTB
	BSF PORTA,BEE
	CALL DELAY100MS
	BCF PORTA,BEE
	CALL DELAY500MS
	NOP

	GOTO LOOP99
;====================================	
HEATING	
	;BANK1
	CLRW
	TRIS PORTB
	
	MOVLW B'00011100'
	TRIS PORTA
	
	MOVLW B'11111000'
	OPTION
	;BANK0
	
	CLRF TMR0
	
	CALL DELAY1MS
	
	MOVF TMR0,W

	MOVWF TEMP

	MOVLW D'42'
	SUBWF TEMP,W
	BTFSS STATUS,C
	GOTO EER0
	MOVLW D'189'
	SUBWF TEMP,W
	BTFSC STATUS,C
	GOTO EER1
	
	MOVF TEMP,W

	SUBWF STEMP,W

	BTFSS STATUS,C
	GOTO STOP

	MOVLW D'42'
	SUBWF TEMP,W
	
	CALL TABLE3
	
	MOVWF TEMP
	
	CALL BIN_2BCD
	
LOOP1000	
	CALL DISPON
	
	BTFSC PORTA,INC
	GOTO LOOP900
	CALL DELAY20MS
	BTFSC PORTA,INC
	GOTO LOOP900
	
	BTFSC PORTA,DEC
	GOTO LOOP900
	CALL DELAY20MS
	BTFSC PORTA,DEC
	GOTO LOOP900
	
	CALL DISPOFF
	CALL DELAY500MS
	CALL DELAY500MS
	
	NOP
	GOTO START
	
	
LOOP900	DECFSZ COUNT9,1
	GOTO LOOP1000
	NOP
	
	GOTO HEATING
	
	
STOP	CLRF PORTB
	;BANK1
	CLRW
	TRIS PORTB
	
	MOVLW B'00011100'
	TRIS PORTA
	
	MOVLW B'11111000'
	OPTION
	;BANK0
	
	
	MOVLW D'100'
	MOVWF COUNT10
	
	MOVLW D'62'
	MOVWF COUNT9
	
	BSF PORTA,BEE
	
SSTOP	CALL DELAY500MS;DELAY 120S

	
FFF	CALL DISPOFF
	DECFSZ COUNT9,1
	GOTO FFF
	MOVLW D'62'
	MOVWF COUNT9
	
	
	DECFSZ COUNT10,1
	GOTO SSTOP
	
	BCF PORTA,BEE
	
LOOP88	;BANK1
	CLRW
	TRIS PORTB
	
	MOVLW B'00011100'
	TRIS PORTA
	MOVLW B'11111000'
	OPTION
	;BANK0
	
	CLRF TMR0
	
	CALL DELAY1MS
	
	MOVF TMR0,W
	
	MOVWF TEMP
		
	MOVLW D'42'
	SUBWF TEMP,W
	BTFSS STATUS,C
	GOTO EER0
	MOVLW D'189'
	SUBWF TEMP,W
	BTFSC STATUS,C
	GOTO EER1

	MOVLW D'42'
	SUBWF TEMP,W
	
	CALL TABLE3
	
	MOVWF TEMP
	CALL BIN_2BCD
	
LOOP1001
	CALL DISPOFF

	BTFSC PORTA,INC
	GOTO LOOP1002
	CALL DELAY20MS
	BTFSC PORTA,INC
	GOTO LOOP1002
	
	BTFSC PORTA,DEC
	GOTO LOOP1002
	CALL DELAY100MS
	BTFSC PORTA,DEC
	GOTO LOOP1002
	NOP

	GOTO START
	
LOOP1002
	DECFSZ COUNT9,1
	GOTO LOOP1001
	NOP

	GOTO LOOP88	

EER0	;BANK1
	CLRW
	TRIS PORTB
	
	MOVLW B'00011100'
	TRIS PORTA
	
	MOVLW B'11111000'
	OPTION
	;BANK0

	MOVLW B'01110001'
	MOVWF PORTB
;	LED2

	BSF PORTA,BEE

	NOP

	GOTO EER0
	
EER1	MOVLW B'01110110'
	MOVWF PORTB

	BSF PORTA,BEE
	
	GOTO EER1			
;============================	
	
	END

⌨️ 快捷键说明

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