TEMP_ZHTEMPLTEMPHTEMP_THTEMP_TLTEMPHCTEMPLCTEMPFCK1K2K3K4BEEPRELAYLCD_XLCD_RSLCD_RWLCD_ENFLAG1KEY_UDDQ
EQU24HEQU25HEQU26HEQU27HEQU28HEQU29HEQU2AHEQU2BHEQUP10EQUP11EQUP12EQUP13EQUP37EQUP36EQU2FHEQUP20EQUP21EQUP22EQU20H0EQU20H1EQUP27
实测温度值存放单元
高温报警值存放单元低温报警值存放单元正、负温度值标记
查询按键设置调整键调整键确定键蜂鸣器指示灯LCD字符显示位置LCD寄存器选择信号LCD读写信号LCD允许信号DS18B20是否存在标志设定按键的增、减标志DS18B20数据信号
fORG0000HLJMPMAINORGMAIN0030H
MOVSP60HMOVA00HMOVR020HMOVR110H将20H2FH单元清零
CLEAR
MOVR0AINCR0DJNZR1CLEARLCALLSET_LCDLCALLRE_18B20
START
LCALLRSTJNBFLAG1START1
调用18B20复位子程序DS1820不存在DS1820存在,调用显示正确
LCALLMENU_OK信息子程序MOVTEMP_TH055HMOVTEMP_TL019HLCALLRE_18B20ALCALLWRITE_E2LCALLTEMP_BJJMPSTART2
设置TH初值85度设置TL初值25度调用暂存器操作子程序写入DS18B20显示温度标记
fSTART1
LCALLMENU_ERRORLCALLTEMP_BJSJMP
调用显示出错信息子程序显示温度标记
START2
LCALLRSTJNBFLAG1START1MOVA0CCH
调用DS18B20复位子程序DS18B20不存在跳过ROM匹配命令
LCALLWRITEMOVA44H温度转换命令
LCALLWRITELCALLRSTMOVA0CCH跳过ROM匹配
LCALLWRITEMOVA0BEH读温度命令
LCALLWRITELCALLREAD子程序LCALLCONVTEMP程序LCALLDISPBCDLCALLCONVLCALLTEMP_COMP值比较子程序调用温度数据显示子程序调用LCD显示处理子程序调用实测温度值与设定温度调用温度数据BCD码处理子调用DS18B20数据读取操作
fLCALLPROC_KEYSJMPSTART2PROC_KEYJBK1PROC_K1LCALLBEEP_BLJNBK1MOVDPTRM_ALAX1MOVA1LCALLLCD_PRINTLCALLLOOK_ALARMJBK3LCALLBEEP_BLJMPPROC_K2PROC_K1JBK2PROC_ENDLCALLBEEP_BLJNBK2MOVMOVDPTRRST_A1A1
调用键扫描子程序循环键扫描子程序
LCALLLCD_PRINTLCALLSET_ALARMLCALLRE_18B20将设定的THTL值写入
fDS18B20LCALLWRITE_E2PROC_K2LCALLMENU_OKLCALLTEMP_BJPROC_ENDRET
设定温度报警值SET_ALARMLCALLLOOK_ALARMAS0JBK1AS00
TH、TL
LCALLBEEP_BLJNBK1CPL20H1AS00JB20H1ASZ01JMPASJ01ASZ01JBK2ASZ02LCALLBEEP_BLINCTEMP_THMOVATEMP_THCJNEA120ASZ011MOVTEMP_TH0ASZ011LCALLLOOK_ALARMUPDOWN标记20H11,增加20H10,减小TH值调整增加
fMOVR510LCALLDELAYJMPASZ01ASZ02JBK3ASZ03LCALLBEEP_BLINCTEMP_TLMOVATEMP_TLCJNEA99ASZ021MOVTEMP_TL00HASZ021LCALLLOOK_ALARMMOVR510LCALLDELAYJMPASZ02ASZ03JBK4AS0LCALLBEEr