您好,欢迎来到宝玛科技网。
搜索
您的当前位置:首页测温说明

测温说明

来源:宝玛科技网
数字温度计设计说明

1、原理图 D1LED-GREEN321U2VCCDQGNDDS18B20116.039383736353433322122232425262728R2100RR3100RR4100RR5100RR6100RPSENALEEAP3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD12345678P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A151011121314151617R1U1ATC52R7100RXTAL1100R191RSTR8100RXTAL2293031 单片机选用ATC52、显示器选用共阴极的LG51AH、传感器用DS18B20;5V电源供电,100欧姆上拉电阻。 2、引脚说明 P1.7 1.6 1.5 1.4 1.3 1.2 1.1 1.0 P2.0 P2.1 P2.2 P2.3 E D H C G A F B 1 2 3 4 3、编码(共阴极) 十进制 0 1 E D H C G A F B 十六进制 1 1 0 1 0 1 1 1 0D7H 0 0 0 1 0 0 01 1 1H 1 1 0 0 1 1 0 1 0CDH 0 1 0 1 1 1 0 1 5 DH 0 0 0 1 1 0 1 1 1BH 0 1 0 1 1 1 1 0 5EH 1 1 0 1 1 1 1 0 0DEH 0 0 0 1 0 1 0 1 15H 1 1 0 1 1 1 1 1 0DFH 0 1 0 1 1 1 1 1 5FH 0 0 0 0 1 0 0 0 08H 2 3 4 5 6 7 8 9 负号- 4、元件参数 电容 C1 33pF 5、程序

BIT0 EQU 40H;位寻址区28H单元的第0位 BIT1 EQU 41H;位寻址区28H单元的第1位 BIT2 EQU 42H;位寻址区28H单元的第2位 BIT3 EQU 43H;位寻址区28H单元的第3位 A_BIT EQU 20H;存放个位 B_BIT EQU 21H;存放十位 C_BIT EQU 22H;存放百位 D_BIT EQU 23H;存放小数

FLAG EQU 38H;检测18B20存在的标志位 DQ EQU P3.3;设置ds18b20的接线口 ;--------------------------------- ORG 0000H LJMP MAIN ORG 0030H

MAIN: MOV R3,#03H ;亮灭0000数字3次 MAIN0: MOV P1,#0D7H ;送显示0的代码 MOV P2,#00H LCALL DELAY1;延时960ms MOV P2,#0FFH LCALL DELAY1 DJNZ R3,MAIN0 CLR P2.7

MAIN1: ACALL RE_TEMP ACALL TURN ACALL DISPLAY JMP MAIN1

;------------------------读温度子程序--------- RE_TEMP:SETB DQ

ACALL RESET_1820 JB FLAG,ST

SETB P2.7 ;检测DS18B20不存在,点亮P2.7小灯 AJMP BACK ST:MOV A,#0CCH

ACALL WRITE_1820 MOV A,#44H

ACALL WRITE_1820 ACALL RESET_1820 MOV A,#0CCH

C2 33pF C3 10uF ACALL WRITE_1820 MOV A,#0BEH

ACALL WRITE_1820 ACALL READ_1820 BACK: RET

;--------------------复位子程序------------ RESET_1820:SETB DQ NOP CLR DQ MOV R1,#3 DLY:MOV R0,#107 DJNZ R0,$ DJNZ R1,DLY SETB DQ NOP NOP NOP

MOV R0,#25H T2:JNB DQ,T3 DJNZ R0,T2 JMP T4

T3:SETB FLAG JMP T5 T4:CLR FLAG JMP T7

T5:MOV R0,#117 T6:DJNZ R0,T6 T7:SETB DQ RET

;---------------------写18B20子程序--------- WRITE_1820:MOV R2,#8 CLR C WR1:CLR DQ MOV R3,#7 DJNZ R3,$ RRC A

MOV DQ,C MOV R3,#23 DJNZ R3,$ SETB DQ NOP

DJNZ R2,WR1 SETB DQ RET

;------------------读18B20数据寄存器子程序--

READ_1820:MOV R4,#2 MOV R1,#29H RE0:MOV R2,#8 RE1:CLR C SETB DQ NOP NOP CLR DQ NOP NOP NOP

SETB DQ

MOV R3,#9;延时18微秒 RE2:DJNZ R3,RE2 MOV C,DQ

MOV R3,#23;延时46微秒 RE3:DJNZ R3,RE3 RRC A

DJNZ R2,RE1;检测八位数据是否传输完毕 MOV @R1,A;数据存放在29H(低字节)、28H单元(高字节) DEC R1

DJNZ R4,RE0 RET

;----------28H、29H单元循环右移四位----------------- TURN:

;MOV A,29H;29H单元低四位(小数)放27H单元 ;ANL A,#0FH ;MOV 27H,A

MOV A,29H;整数部分放至29H单元,最高位为符号位 MOV C,BIT0 RRC A

MOV C,BIT1 RRC A

MOV C,BIT2 RRC A

MOV C,BIT3 RRC A

MOV 29H,A RET

;------------------------------------------------------ DISPLAY:;MOV A,27H ;MOV B,#10 ;MUL AB MOV D_BIT,#8EH MOV A,29H JNB BIT3,DIS1;温度大于0摄氏度转移,否则处理

DEC A CPL A MOV C_BIT,#10 AJMP DIS2

DIS1: MOV B,#100 DIV AB

MOV C_BIT,A MOV A,B DIS2: MOV B,#10 DIV AB

MOV B_BIT,A MOV A_BIT,B MOV DPTR,#TAB MOV R0,#4 DP1:MOV R1,#250

LOOP:MOV A,C_BIT;百位不显示0,数值为11时代表不显示 JNZ LOP1 MOV A,#11

LOP1:MOVC A,@A+DPTR MOV P1,A CLR P2.0

ACALL DELAY SETB P2.0

MOV A,C_BIT;在百位为0或-号时十位不显示0 SUBB A, #1 JZ LOP2

MOV A,B_BIT JNZ LOP3 MOV A,#11 AJMP LOP3 LOP2:MOV A,B_BIT

LOP3:MOVC A,@A+DPTR MOV P1,A CLR P2.1 ACALL DELAY SETB P2.1

MOV A,A_BIT;个位不管是啥都显示 MOVC A,@A+DPTR ADD A, #20H MOV P1,A CLR P2.2

ACALL DELAY SETB P2.2 MOV A,D_BIT MOV P1,A CLR P2.3

ACALL DELAY SETB P2.3 DJNZ R1,LOOP DJNZ R0,DP1 RET

DELAY:MOV R7,#80;延时160微秒 DJNZ R7,$ RET DELAY1: MOV R4,#50;延时960MS M2: MOV R5,#50 M3: LCALL DELAY DJNZ R5,M3 DJNZ R4,M2 RET

TAB: DB 0D7H,11H,0CDH,5DH,1BH,5EH,0DEH,15H,0DFH,5FH,08H,00H ;编码顺序EDHCGAFB共阴极 END

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baomayou.com 版权所有 赣ICP备2024042794号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务