基于AT89S51单片机的智能电热水器的设计--毕业设计(8)

2019-04-14 17:26

MAIN: LCALL GET_TEMPER ;调用读温度子程序 LCALL DISP ;调用数码管显示子程序 AJMP MAIN ;重复循环 :---------- 读DS18B20传感器的温度值--------- GET_TEMPER:

SETB P3.3

LCALL RST18B20 ;复位DS18B20 JB 00H,DSS2 RET

DSS2: MOV A,#0CCH LCALL WR18B20

MOV A,#44H LCALL WR18B20

LCALL RST18B20 MOV A,#0CCH LCALL WR18B20

MOV A,#0BEH LCALL WR18B20

LCALL RE18B20 RET

;------ DS18B20复位初始化程序 ------ RST18B20:

SETB P3.3 NOP

CLR P3.3

MOV R0,#06BH MOV R1,#03H DSR1: DJNZ R0,DSR1 MOV R0,#6BH DJNZ R1,DSR1

SETB P3.3 NOP NOP NOP

MOV R0,#25H

DSR2: JNB P3.3,DSR3 DJNZ R0,DSR2 LJMP DSR4

DSR3: SETB 00H LJMP DSR5

DSR4: CLR 00H ;跳过ROM匹配 ;向DS18B20发出温度转换命 ;准备读温度前先复位 ;跳过ROM匹配 ;向DS18B20发出读温度命令 ;读出温度数据 ;主机发出复位低脉冲 ;拉高数据线 ;等待DS18B20回应 ;置标志位,表示DS1820存在 ;清标志位,表示DS1820不存在

31

LJMP DSR7

DSR5: MOV R0,#06BH

DSR6: DJNZ R0,DSR6 ;延时一段时间 DSR7: SETB P3.3 RET

;------ 写DS18B20的子程序 ------ WR18B20:

MOV R2,#8 CLR C WR1: CLR P3.3 MOV R3,#6 DJNZ R3,$ RRC A

MOV P3.3,C MOV R3,#23 DJNZ R3,$ SETB P3.3 NOP

DJNZ R2,WR1 SETB P3.3 RET

;------ 从DS18B20中读温度数据程序 ------ RE18B20:

MOV R4,#2 MOV R1,#2FH RE00:

MOV R2,#8 RE01: CLR C

SETB P3.3 NOP NOP

CLR P3.3 NOP NOP NOP

SETB P3.3 MOV R3,#09 RE10: DJNZ R3,RE10 MOV C,P3.3 MOV R3,#23

32

RE20: DJNZ R3,RE20 RRC A

DJNZ R2,RE01 MOV @R1,A DEC R1

DJNZ R4,RE00 RET

;-------- 显示子程序 -------- DISP: MOV A,2FH MOV C,70H RRC A

MOV C,71H RRC A

MOV C,72H RRC A

MOV C,73H RRC A

MOV 2FH,A MOV A,2FH MOV B,#10 DIV AB MOV 30H,A MOV 31H,B MOV A,30H

MOV DPTR,#SGTB MOVC A,@A+DPTR

MOV P0,A CLR P2.2 SETB P2.0 SETB P2.1 SETB P2.3 SETB P2.4

LCALL YS4722U MOV A,31H

MOV DPTR,#SGTB MOVC A,@A+DPTR

MOV P0,A CLR P2.3 SETB P2.0 SETB P2.1 SETB P2.2 SETB P2.4

;显示温度“十位”值 ;显示温度“个位”值33

LCALL YS4722U

MOV A,#01000110B

MOV P0,A ;显示温度符号“ ℃” CLR P2.4 SETB P2.0 SETB P2.1 SETB P2.2 SETB P2.3

LCALL YS4722U RET

;************* 8位共阳数码管显示器字型码表**********

SGTB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,89H,0A3H,8CH,0C8H YS4722U:

MOV R4,#10 ;延时子程序 Y3: MOV R5,#216 DJNZ R5,$ DJNZ R4,Y3 RET

END

34

VCC12345678GNDGNDGNDGNDCLKDDDDDDDDQRESPACK49934718314171811199E16151413121110912345678123456781234567812345678DS1DPY_9aDPYabbaccfbddgeeecffdggdpdpdpDS2DPY_9aDPYabbaccfbddgeeecffdggdpdpdpDS3DPY_9aDPYabbaccfbddgeeecffdggdpdpdpDS4DPY_9aDPYabbaccfbddgeeecffdggdpdpdp256912151619abcdefdpgRP2U74LS37701234567QQQQQQQQ01234567R7CLKP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7VCCRES2C8VCCJ1594837261GNDT1216V+VCCMAX232DVDDT4C2-C2+C1-C1+T21591210115431S1T3SW-PBR1DB9T5ELECTRO16V-813714VCCRP1U123VCC4567C3891011121314C715WR16RD1733pF18Y11920C111.0596MHz33pFR2P1.0VCCP1.1P0.0(AD0)P1.2P0.1(AD1)P1.3P0.2(AD2)P1.4P0.3(AD3)P1.5P0.4(AD4)P1.6P0.5(AD5)P1.7P0.6(AD6)RSTP0.7(AD7)P3.0(RXD)EA/VppP3.1(TXD)ALE/PROGP3.2(INT0)PSENP3.3(INT1)P2.7(A15)P3.4{T0}P2.6(A14)P3.5(T1)P2.5(A13)P3.6(WR)P2.4(A12)P3.7(RD)P2.3(A11)XTAL2P2.2(A10)XTAL1P2.1(A9)GNDP2.0(A8)AT89S51智能电热水器原理图:

CAP4039383736353433323130292827262524232221VCCAT89S51D18UIN026P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7IN127IN228IN3R8RES2IN4IN5IN6IN712345IN-0IN-1附录2

IN-2IN-4RESPACK4U?EOC7IN-5INT1IN-6ADD-AADD-BADD-C25P0.024P0.123P0.2NORIN-716C7120.1uFR397ALE22CLKU1ref(-)ref(+)R6D2GREENENABLESTARTCLOCK9610WRADC0809U2NOR RD GNDVDDDQNORYELLOW R4R5 Q1-12VVCCDS18B20U1BELLNPN

水温检测模块35

IN-3msb2-12-22-32-42-52-62-7lsb2-8212019188151417P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.712345678161514131211109


基于AT89S51单片机的智能电热水器的设计--毕业设计(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:减震器设计论文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: