DS18B20遥控调整上下限和精度芯片解密
| /* 芯片解密DS18B20数字温度计89C51(晶振12M),(-55.0℃---125.0℃)遥控调整温度范围。利用18B20内部E2PRAM存储温度。上下限温度设定成功(-50℃---110℃) 芯片解密回差电压特性输出控制(如:TH=30,TL=20)低温+调整不会超过高温,反之,高温-调整不会小于低温 只有返回正常显示时候才存储到18B20中E2PROM 功能如下: 1、-55.0℃---125.0℃显示 2、遥控任意设定上下限温度区间(-50℃---110℃) 3、9位精度----12位精度遥控任意切换 2019.12.30完成功能。 */ ;18B20精度和输入端修改 DQ BIT P3.6 ;18b20输入脚 ;显示端口定义 WEI_1 BIT P2.0 ;显示右数第一位 WEI_2 BIT P2.1 ;2 WEI_3 BIT P2.2 ;3 WEI_4 BIT P2.3 ;4 OUT EQU P0 ;遥控码与输出端口修改 IR_YK1 EQU 0CCH;遥控用户码1(改遥控器按键) IR_YK2 EQU 1DH ;遥控用户码2 IR_YK3 EQU 04H ;遥控功能码 IR_YK4 EQU 05H ;遥控加 IR_YK5 EQU 06H ;遥控减 JK_LENG BIT P2.6 ;继电器输出制冷恒温 JK_RE BIT P2.7 ;继电器输出加热恒温 ;以上定义可修改端口,以下定义不可修改以免影响程序 FLAG BIT 38H ;DS18B20存在标志(位定义) FUHAO BIT 39H ;负温度标志(位定义) IRIN BIT P3.2 ;红外线输入脚 A_BIT EQU 34H ;放百位 B_BIT EQU 35H ;放十位 C_BIT EQU 36H ;放个位 D_BIT EQU 37H ;个位小数 WENDU_TH EQU 32H ;上限温度按键调整位置 WENDU_TL EQU 33H ;下限温度按键调整位置 JINGDU EQU 25H ;配置精度位1FH(9位)3FH(10位)5FH(11位)7FH(12位) ORG 00H AJMP MAIN ORG 03H ;外部中断P3.2(遥控调整上下限和精度) AJMP INT_0 ORG 40H ;======================主程序========================== MAIN: ; MOV DPTR,#TAB SETB EA ;打开CPU总中断请求 SETB IT0 ;设定INT0的触发方式为脉冲负边沿触发 SETB EX0 MOV A,#0 MOV 20H,A MOV 21H,A MOV 22H,A MOV 23H,A MOV R4,#0 AAAA: MOV A,R4 JNZ AAAA_0 ;R4=0正常转换温度,R4不为0只扫描按键和显示程序 ACALL RE_TEMP ;读取温度值子程序 ACALL TURN ;数据转化子程序 ACALL SHUCHU ;比较输出控制程序 MOV R7,#150 ;降低读取温度频率,防止触发温度跳变 AAAA_0: ACALL DISPLAY ;显示程序 ACALL KEY_0 ;温度调整程序 DJNZ R7,AAAA_0 JMP AAAA |

芯片解密