900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > lcd1602温度报警 c语言 【新人发帖】51单片机接DS18B20测量及LCD1602显示当前温度值...

lcd1602温度报警 c语言 【新人发帖】51单片机接DS18B20测量及LCD1602显示当前温度值...

时间:2021-07-28 17:25:24

相关推荐

lcd1602温度报警 c语言 【新人发帖】51单片机接DS18B20测量及LCD1602显示当前温度值...

该楼层疑似违规已被系统折叠隐藏此楼查看此楼

RS EQU P2.0

RW EQU P2.1

E EQU P2.2

DT EQU P0

DQ EQU P3.7

SWPH EQU 02H

SWPL EQU 0FFH

WDLSB DATA 30H

WDMSB DATA 31H

;***********************************

ORG 0000H

AJMP START

ORG 000BH

LJMP TMR0 ; Timer0 isr

ORG 0030H

TMR0: MOV TH0,#swpH

MOV TL0,#swpL

MOV DT,#80H

ACALL WRITE

MOV DT,#54H;T

ACALL WRITB

MOV DT,#65H;e

ACALL WRITB

MOV DT,#6DH;m

ACALL WRITB

MOV DT,#70H;p

ACALL WRITB

MOV DT,#3AH

ACALL WRITB

MOV A,42H

ADD A,#30H

MOV DT,A

ACALL WRITB

MOV A,43H

ADD A,#30H

MOV DT,A

ACALL WRITB

MOV DT,#43H

ACALL WRITB

RETI

;***************************

ORG 0100H

START: CLR EA

MOV TMOD,#01H

MOV TH0,#SWPH

MOV TL0,#SWPL

SETB EA

SETB ET0

SETB TR0

MOV R2,#2

MOV R0,#42H

OVER: MOV @R0,#00H

INC R0

DJNZ R2,OVER

;**********

MOV DT,#01H

ACALL WRITE

MOV DT,#38H; 置功能,8位总线,双行显示

ACALL WRITE

MOV DT,#0CH; 开显示,有光标,光标闪烁

ACALL WRITE

MOV DT,#06H; 置输入,光标右移动,文字不动

ACALL WRITE

;**********

LOOP: LCALL DSWD

SJMP LOOP

;*****************************

WRITB: SETB RS

CLR RW

CLR E

ACALL DELAY

SETB E

RET

;*************

WRITE: CLR RS

CLR RW

CLR E

ACALL DELAY

SETB E

RET

;*************

DELAY: MOV DT,#0FFH

DELA1: CLR RS

SETB RW

CLR E

NOP

SETB E

JB DT.7,DELA1

RET

;****************************

WRITE1: CLR DQ

NOP

NOP

NOP

NOP

NOP

SETB DQ

MOV R6,#30

DJNZ R6,$

RET

;*************

WRITE0:

CLR DQ

MOV R6,#30

DJNZ R6,$

SETB DQ

RET

;*************

SENB:

MOV A,R0

MOV R5,#8

SEN3: CLR C

RRC A

JC SEN1

LCALL WRITE0

SJMP SEN2

SEN1: LCALL WRITE1

SEN2: DJNZ R5,SEN3 ;

RET

;*************

RSTSNR: SETB DQ

NOP

NOP

CLR DQ

MOV R6,#250 ;

DJNZ R6,$

MOV R6,#50

DJNZ R6,$

SETB DQ ;

MOV R6,#15

DJNZ R6,$

CALL CHCK ;

MOV R6,#60

DJNZ R6,$

SETB DQ

RET

;*************

REDB:

MOV R5,#8

READ1: LCALL READ

RRC A

DJNZ R5,READ1 ;

MOV R0,A

RET

;*************

READ: SETB DQ ;

NOP

NOP

CLR DQ

NOP

NOP

SETB DQ ;

NOP

NOP

NOP

NOP

NOP

NOP

NOP

MOV C,DQ

MOV R6,#23

DJNZ R6,$

RET

;*************

DSWD: LCALL RSTSNR

JNB F0,KEND

MOV R0,#0CCH

LCALL SENB

MOV R0,#44H

LCALL SENB

SETB EA

MOV 48H,#1

SS2: MOV 49H,#255

SS1: MOV 4AH,#255

SS0: DJNZ 4AH,SS0

DJNZ 49H,SS1

DJNZ 48H,SS2

CLR EA

LCALL RSTSNR

JNB F0,KEND

MOV R0,#0CCH

LCALL SENB

MOV R0,#0BEH

LCALL SENB

LCALL REDB

MOV WDLSB,A

LCALL REDB

MOV WDMSB,A

LCALL TRANS12

KEND: SETB EA

RET

;*************

TRANS12:

MOV A,30H

ANL A,#0F0H

MOV 3AH,A

MOV A,31H

ANL A,#0FH

ORL A,3AH

SWAP A

MOV B,#10

DIV AB

MOV 42H,A

MOV 43H,B

MOV b,#10

DIV ab

MOV 42H,B

MOV 41H,A

RET

;**************

CHCK: MOV C,DQ

JC RST0

SETB F0 ;

SJMP CHCK0

RST0: CLR F0 ;

CHCK0: RET

END

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。