0xb0EA1ET11TR1t定时器1中断函数voidtimer1i
terrupt3TH00x3cTL00xb0
umif
um5s1ifw1beer1led1elsebeer1led1Else进入4次中断,定时200ms时若报警标志位w为‘1’则启动报警,不为‘1’不启动实现间歇性报警功能s0ifw1beer0led0elsebeer1led1if
um20
um0s10v11调整报警上下限显示选择函数voidselsct_1ucharfucharkiff0ifk1000P0temperature30elseP0temperature1k100若为正温度,百位为0则不显示百位,不为0则显示消除百位的0显示,及正负温度的显示选择
um归0,重新定开始定时1s定时1s时间到时自动关闭报警上下限显示功能定时1s时间到时自动关闭报警上下限查看功能进入20次中断,定时1s每进入一次定时器中断
um加1(每50ms加1一次)重新赋初值,定时50ms开总中断开定时器1中断局部变量t为1启动定时器1,为0关闭定时器1设定定时器1工作在方式1,最大定时6553ms定时器赋初值,定时50ms
14
fiff1ifk100100voidselsct_2bitfucharkiff0若为正温度,百位十位均为0则不显示十位,否则显示十位消除十位的0显示,及正负温度的显示选择P0temperature30elseP0temperature32若为负温度,若十位为0,百位不显示,否则百位显示‘’
ifk1000k100100P0temperature30elseP0temperature1k10010
iff1若为负温度,若十位为0,十位不显示,否则十位显示‘’P0temperature32P0temperature1k10010
ifk100100else
主显示函数voiddisplayuchartuchart_ducharifori0i4iswitchicase0选通第一个数码管ifa0selsct_1ft若a0则在第一个数码管上显示测量温度的百位或‘’ifa1P0temperature33若a1则在第一个数码管上显示‘H’ifa2P0temperature34若a2则在第一个数码管上显示‘L’wei20wei30wei40关第二个数码管关第三个数码管关第四个数码管依次从左至右选通数码管显示,实现动态显示用于实测温度、上限温度的显示
15
fwei11breakcase1
开第一个数码管
选通第二个数码管若a1则在第二个数码管上显示上限报警温度的百位或‘’
ifa0selsct_2ft若a0则在第二个数码管上显示测量温度的十位或‘’ifa1ifs0selsct_1f_maxmax若s0则显示第二个数码管,否则不显示elseP0temperature30温度时数码管的闪烁ifs11selsct_1f_maxmax若r