全球旧事资料 分类
主程序由初始化,键盘扫描,显示,温度采集,温度控制和定时化霜子程序组成,为系统软件的主干部分,化霜采用定时化霜,每三十分钟化霜一次。ORG0000HAJMPMAINORG0003HLJMPDY_INTORG000BHLJMPTIME0_INTORG0030HDATAEQUP10V1EQUP13V2EQUP14V3EQUP15SET_KEYEQUP15V3EQUP15SET_KEYEQUP15ADD_KEYEQUP16SUB_KEYEQUP17L1EQUP06L2EQUP07L3EQUP25L4EQUP26MAIN:CLRASTART:LCALLINIT1初始化LCALLKEY键盘扫描LCALLGETWD获得冷藏室温度MOV62HR0INCDATALCALLGETWD获得冷冻室温度MOV63HR0DECDATAMOVR362H显示两室温度值MOVR463HLCALLDISPMOVA60HCLRCHIGH:CJNEA62HHIGH1冷藏室温度等于高于设定值时AJMPHIGH2HIGH1:JCHIGH3HIGH2:SETBV1开启压缩机LCALLOPENAJMPLOWHIGH3:MOVA61HCLRC
fCJNEA63HHIGH4冷冻室温度等于高于设定值时AJMPHIGH5HIGH4:JCLOWHIGH5:SETBV2开启压缩机LCALLOPENLOW:MOVA61HCLRCCJNEA63HLOW1冷冻室温度等于低于最低值时AJMPLOW2LOW1:JNCLOW3LOW2:CLRV2关闭压缩机LCALLCLOSEAJMPLSLOW3:MOVA60HCLRCCJNEA62HLOW4冷冻室温度等于低于最低值时AJMPLOW5LOW4:JNCLSLOW5:CLRV1关闭压缩机LCALLCLOSELS:MOVR110H延时1SLS1:LCALLDLY_100MSDJNZR1LS1INC65H化霜时间计数加1MOVA65HCJNEA00HLS2INC66HLS2:MOVA65HCJNEA08HLOOPMOVA66HCJNEA07HLOOPJBV1LOOP化霜定时时间到且V1V2均关闭JBV2LOOPSETBV3打开V3开始化霜MOVR050化霜时间5SLS3:LCALLDLY_100MSDJNZR0LS3LOOP:AJMPSTARTEND
43子程序的设计
f431初始化子程序初始化模块主要完成初始化IO口、中断、内存单元并读出存放在闪烁存储器上的温度设定值。温度设定值存放在闪烁存储器上即使断电也可保存。程序如下:INTI1:CLRAMOVDPTR20H读取冷藏室温度设定值MOVCADPTRLCALLDLY_100MS延时确保数据读完MOV60HAINCDPTR读取冷藏室温度设定值MOVCADPTRLCALLDLY_100MS延时确保数据读完MOV61HAMOV64H00H清空各状态位SETBEX0允许外部中断0中断SETBIT0选择边沿触发方式SETBEA;CPU开中断RET
fr
好听全球资料 返回顶部