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

📄 at89s51开发温度巡检.txt

📁 AT89S51开发温度巡检
💻 TXT
字号:
LED_0	   EQU 	30H
LED_1 	   EQU 	31H
LED_2 	   EQU 	32H
ADC	      EQU	   35H
TCNTA	   EQU	   36H
TCNTB	   EQU	   37H
H_TEMP	   EQU	   38H				;温度上限
L_TEMP	   EQU	   39H				;温度下限
FLAG	   BIT	   00H
H_ALM	   BIT	   P3.0
L_ALM	   BIT	   P3.1
SOUND	   BIT	   P3.7
CLOCK	   BIT	   P2.4
ST 	      BIT 	   P2.5
EOC 	   BIT    P2.6
OE 	      BIT 	   P2.7

		ORG 	        00H
		SJMP	        START
		ORG		        0BH
		LJMP	        INT_T0
		ORG		        1BH
		LJMP	        INT_T1

START:	MOV		LED_0,#00H
		MOV		LED_1,#00H
		MOV		LED_2,#00H
		MOV		H_TEMP,#125
		MOV		L_TEMP,#3
		MOV		TMOD,#12H
		MOV		TH0,#245
		MOV		TL0,#0
		MOV		TH1,#(65536-1000)/256
		MOV		TL1,#(65536-1000)%256
		MOV		IE,#8aH
		CLR		C
		SETB	TR0			            ;为ADC0809提供时钟

WAIT:	SETB	       H_ALM
		SETB        	L_ALM
		CLR 	        ST
		SETB     	    ST
		CLR 	        ST			     ;启动转换
 		JNB 	        EOC,$
		SETB 	        OE
       MOV 	        ADC,P1		 ;读取AD转换结果
		CLR 	        OE
		MOV	           A,ADC

		SUBB	        A,#3		     ;判断是否低于下限
		JC		        LALM
		MOV		        A,H_TEMP
		MOV		        R0,ADC
		SUBB	        A,R0		     ;判断是否高于上限
		JC		        HALM
		CLR		        TR1
		LJMP	        PROCK

LALM:							        ;低温报警
		CLR		        L_ALM
		SETB	        TR1
		CLR		        FLAG
		LJMP	        PROCK

HALM:						   	        ;高温报警
		CLR		        H_ALM
		SETB	        TR1
		SETB	        FLAG
		LJMP	        PROCK

PROCK:	MOV 	        A,ADC		 	 ;数值转换
       MOV            DPTR,#TABLE2
       MOVC           A,@A+DPTR
		MOV 	        B,#100
		DIV 	        AB
		MOV 	        LED_2,A
		MOV 	        A,B
		MOV 	        B,#10
		DIV 	        AB
		MOV 	        LED_1,A
		MOV 	        LED_0,B
		LCALL	        DISP
		SJMP 	        WAIT

INT_T0:CPL		CLOCK	   		       ;提供ADC0809时钟
		RETI

INT_T1:MOV		TH1,#(65536-1000)/256
		MOV		TL1,#(65536-1000)%256
		CPL		SOUND
		INC		TCNTA
		MOV		A,TCNTA
		JB		FLAG,I1		       ;判断是高温警报还是低温警报
		CJNE	A,#30,RETUNE	       ;低温警报声
		SJMP	I2
	I1:	CJNE	A,#20,RETUNE	       ;高温警报声
	I2:	MOV		TCNTA,#0
		INC		TCNTB
		MOV		A,TCNTB
		CJNE	A,#25,RETUNE
		MOV		TCNTA,#0
		MOV		TCNTB,#0
		LCALL	DELAY2
RETUNE:       RETI

DISP:	MOV	        A,LED_0		   ;数码显示子程序
       MOV        DPTR,#TABLE1
		MOVC	    A,@A+DPTR
		CLR	        P2.3
		MOV	        P0,A
		LCALL	    DELAY
		SETB	    P2.3

		MOV	        A,LED_1
		MOVC	    A,@A+DPTR
		CLR	        P2.2
		MOV	        P0,A
		LCALL	    DELAY
		SETB	    P2.2

		MOV	        A,LED_2
		MOVC	    A,@A+DPTR
		CLR	        P2.1
		MOV	        P0,A
		LCALL	    DELAY
		SETB	    P2.1
		RET

DELAY:	MOV	        R6,#10
D1:		MOV	        R7,#100
		DJNZ	    R7,$
		DJNZ	    R6,D1
		RET
DELAY2:MOV	        R5,#20
D2:		MOV	        R6,#20
D3:		MOV	        R7,#250
		DJNZ	    R7,$
		DJNZ	    R6,D3
		DJNZ	    R5,D2
		RET
TABLE1: 	     DB	    3FH,06H,5BH,4FH,66H
		         DB 	    6DH,7DH,07H,7FH,6FH
TABLE2:         DB       0,0,1,1,2
                DB       2,2,3,3,4
                DB       4,4,5,5,5
                DB       6,6,7,7,7
                DB       8,8,9,9,9
                DB       10,10,11,11,11
                DB       12,12,13,13,13
                DB       14,14,14,15,15
                DB       16,16,16,17,17
                DB       18,18,18,19,19
                DB       20,20,20,21,21
                DB       21,22,22,23,23
                DB       23,24,24,25,25
                DB       25,26,26,27,27
                DB       27,28,28,29,29
                DB       29,30,30,30,31
                DB       31,32,32,32,33
                DB       33,34,34,34,35
                DB       35,36,36,36,37
                DB       37,38,38,38,39
                DB       39,39,40,40,41
                DB       41,41,42,42,43
                DB       43,43,44,44,45
                DB       45,45,46,46,46
                DB       47,47,48,48,48
                DB       49,49,50,50,50
                DB       51,51,52,52,52
                DB       53,53,54,54,54
                DB       55,55,55,56,56
                DB       57,57,57,58,58
                DB       59,59,59,60,60
                DB       61,61,61,62,62
                DB       63,63,63,64,64
                DB       64,65,65,66,66
                DB       66,67,67,68,68
                DB       68,69,69,70,70
                DB       70,71,71,71,72
                DB       72,73,73,73,74
                DB       74,75,75,75,76
                DB       76,77,77,77,78
                DB       78,79,79,79,80
                DB       80,80,81,81,82
                DB       82,82,83,83,84
                DB       84,84,85,85,86
                DB       86,86,87,87,87
                DB       88,88,89,89,89
                DB       90,90,91,91,91
                DB       92,92,92,93,93
                DB       94,94,94,95,95
                DB       96,96,96,97,97
                DB       98,98,98,99,99
                DB       100,100
                END















⌨️ 快捷键说明

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