📄 m128_alky_touch_con1.s
字号:
brsh L130
X28:
.dbline 887
sts _WD_PID+4,R24
L130:
.dbline 889
;
; EEPROM_write(EE_WDPID_P_Addr, WD_PID.Proportion);
lds R18,_WD_PID+2
ldi R16,77
ldi R17,0
xcall _EEPROM_write
.dbline 890
; EEPROM_write(EE_WDPID_I_Addr, WD_PID.Integral);
lds R18,_WD_PID+3
ldi R16,78
ldi R17,0
xcall _EEPROM_write
.dbline 891
; EEPROM_write(EE_WDPID_D_Addr, WD_PID.Derivative);
lds R18,_WD_PID+4
ldi R16,79
ldi R17,0
xcall _EEPROM_write
.dbline 892
; Display_TOUCH_MENU();
xcall _Display_TOUCH_MENU
.dbline 893
; Display_TOUCH_Message(15);
ldi R16,15
xcall _Display_TOUCH_Message
.dbline 894
; Clr_TOUCH_KEY_DISP_F();
lds R24,_FLAG
andi R24,127
sts _FLAG,R24
.dbline 895
; SEI();
sei
.dbline 896
; break;
xjmp L40
L137:
.dbline 898
; case 6: //日期修改
; DS1302_Write(DS1302_CONTROL_Reg,0x00);//关闭写保护
clr R18
ldi R16,142
xcall _DS1302_Write
.dbline 899
; Year = (KEY_TEMP[5]<<4) | KEY_TEMP[4];
lds R2,_KEY_TEMP+4
lds R24,_KEY_TEMP+5
andi R24,#0x0F
swap R24
or R24,R2
sts _DataTime,R24
.dbline 900
; DS1302_Write(DS1302_YEAR_Reg,Year); //年
mov R18,R24
ldi R16,140
xcall _DS1302_Write
.dbline 902
;
; Month = (KEY_TEMP[3]<<4) | KEY_TEMP[2];
lds R2,_KEY_TEMP+2
lds R24,_KEY_TEMP+3
andi R24,#0x0F
swap R24
or R24,R2
sts _DataTime+1,R24
.dbline 903
; if(Month>0x12) Month=0x12;
ldi R24,18
lds R2,_DataTime+1
cp R24,R2
brsh L143
X29:
.dbline 903
sts _DataTime+1,R24
L143:
.dbline 904
; if(Month==0) Month=1;
lds R2,_DataTime+1
tst R2
brne L147
X30:
.dbline 904
ldi R24,1
sts _DataTime+1,R24
L147:
.dbline 905
; DS1302_Write(DS1302_MONTH_Reg,Month); //月
lds R18,_DataTime+1
ldi R16,136
xcall _DS1302_Write
.dbline 907
;
; Date = (KEY_TEMP[1]<<4) | KEY_TEMP[0];
lds R2,_KEY_TEMP
lds R24,_KEY_TEMP+1
andi R24,#0x0F
swap R24
or R24,R2
sts _DataTime+2,R24
.dbline 908
; if(Date>0x31) Date=0x31;
ldi R24,49
lds R2,_DataTime+2
cp R24,R2
brsh L154
X31:
.dbline 908
sts _DataTime+2,R24
L154:
.dbline 909
; if(Date==0) Date=1;
lds R2,_DataTime+2
tst R2
brne L158
X32:
.dbline 909
ldi R24,1
sts _DataTime+2,R24
L158:
.dbline 910
; DS1302_Write(DS1302_DATE_Reg,Date); //日
lds R18,_DataTime+2
ldi R16,134
xcall _DS1302_Write
.dbline 912
;
; DS1302_Write(DS1302_CONTROL_Reg,0x80);//打开写保护
ldi R18,128
ldi R16,142
xcall _DS1302_Write
.dbline 914
;
; Display_TOUCH_MENU();
xcall _Display_TOUCH_MENU
.dbline 915
; Display_TOUCH_Message(15);
ldi R16,15
xcall _Display_TOUCH_Message
.dbline 916
; Clr_TOUCH_KEY_DISP_F();
lds R24,_FLAG
andi R24,127
sts _FLAG,R24
.dbline 917
; break;
xjmp L40
L163:
.dbline 923
; case 7: //标定52PPM
; case 8: //标定130PPM
; case 9: //标定208PPM
; case 10: //标定300PPM
; case 11: //标定0PPM
; Set_LD_Value= KEY_TEMP[2] * 100 +KEY_TEMP[1] * 10 + KEY_TEMP[0];
lds R2,_KEY_TEMP+1
ldi R24,10
mul R24,R2
movw R2,R0
lds R4,_KEY_TEMP+2
ldi R24,100
mul R24,R4
movw R4,R0
add R4,R2
adc R5,R3
lds R2,_KEY_TEMP
clr R3
add R4,R2
adc R5,R3
sts _Set_LD_Value+1,R5
sts _Set_LD_Value,R4
.dbline 924
; LD_PID.SetPoint = Set_LD_Value;
movw R2,R4
sts _LD_PID+1,R3
sts _LD_PID,R2
.dbline 925
; break;
xjmp L40
L166:
.dbline 927
; case 14: //温度修改
; CLI();
cli
.dbline 928
; Set_WenDu_Value= KEY_TEMP[1] * 10 + KEY_TEMP[0];
lds R2,_KEY_TEMP+1
ldi R24,10
mul R24,R2
lds R2,_KEY_TEMP
mov R3,R0
add R3,R2
sts _Set_WenDu_Value,R3
.dbline 929
; if(Set_WenDu_Value>40) Set_WenDu_Value=40;
ldi R24,40
cp R24,R3
brsh L168
X33:
.dbline 929
sts _Set_WenDu_Value,R24
L168:
.dbline 930
; WD_PID.SetPoint =Set_WenDu_Value;
lds R2,_Set_WenDu_Value
clr R3
sts _WD_PID+1,R3
sts _WD_PID,R2
.dbline 931
; EEPROM_write(EE_Set_WD_Addr, Set_WenDu_Value);
mov R18,R2
ldi R16,52
ldi R17,0
xcall _EEPROM_write
.dbline 932
; Display_TOUCH_MENU();
xcall _Display_TOUCH_MENU
.dbline 933
; Display_TOUCH_Message(15);
ldi R16,15
xcall _Display_TOUCH_Message
.dbline 934
; Clr_TOUCH_KEY_DISP_F();
lds R24,_FLAG
andi R24,127
sts _FLAG,R24
.dbline 935
; SEI();
sei
.dbline 936
; break;
xjmp L40
L170:
.dbline 938
; case 15: //风量修改
; CLI();
cli
.dbline 939
; Set_LiuLiang_Value= KEY_TEMP[3] * 1000 + KEY_TEMP[2] * 100 +KEY_TEMP[1] * 10 + KEY_TEMP[0];
lds R2,_KEY_TEMP+2
ldi R24,100
mul R24,R2
movw R2,R0
lds R18,_KEY_TEMP+3
clr R19
ldi R16,1000
ldi R17,3
xcall empy16s
movw R4,R16
add R4,R2
adc R5,R3
lds R2,_KEY_TEMP+1
ldi R24,10
mul R24,R2
add R4,R0
adc R5,R1
lds R2,_KEY_TEMP
clr R3
add R4,R2
adc R5,R3
sts _Set_LiuLiang_Value+1,R5
sts _Set_LiuLiang_Value,R4
.dbline 940
; if(Set_LiuLiang_Value>1280) Set_LiuLiang_Value=1280;
ldi R24,1280
ldi R25,5
cp R24,R4
cpc R25,R5
brsh L174
X34:
.dbline 940
sts _Set_LiuLiang_Value+1,R25
sts _Set_LiuLiang_Value,R24
L174:
.dbline 941
; EEPROM_write(EE_Set_FL_AddrL, Set_LiuLiang_Value%256);
lds R18,_Set_LiuLiang_Value
andi R19,0
ldi R16,50
ldi R17,0
xcall _EEPROM_write
.dbline 942
; EEPROM_write(EE_Set_FL_AddrH, Set_LiuLiang_Value/256);
lds R18,_Set_LiuLiang_Value
lds R19,_Set_LiuLiang_Value+1
mov R18,R19
clr R19
ldi R16,51
ldi R17,0
xcall _EEPROM_write
.dbline 943
; OCR0=255-(Set_LiuLiang_Value/10);
ldi R18,10
ldi R19,0
lds R16,_Set_LiuLiang_Value
lds R17,_Set_LiuLiang_Value+1
xcall div16u
ldi R24,255
ldi R25,0
movw R2,R24
sub R2,R16
sbc R3,R17
out 0x31,R2
.dbline 944
; Display_TOUCH_MENU();
xcall _Display_TOUCH_MENU
.dbline 945
; Display_TOUCH_Message(15);
ldi R16,15
xcall _Display_TOUCH_Message
.dbline 946
; Clr_TOUCH_KEY_DISP_F();
lds R24,_FLAG
andi R24,127
sts _FLAG,R24
.dbline 947
; SEI();
sei
.dbline 948
; break;
xjmp L40
L54:
.dbline 951
; }
; else
; k=20;
ldi R20,20
.dbline 952
; }
xjmp L40
L52:
.dbline 954
; else
; if(k==11) //取消
cpi R20,11
brne L177
X35:
.dbline 955
; {
.dbline 956
; Display_Time_CLR();
xcall _Display_Time_CLR
.dbline 957
; Display_TOUCH_MENU();
xcall _Display_TOUCH_MENU
.dbline 958
; Display_TOUCH_Message(15);
ldi R16,15
xcall _Display_TOUCH_Message
.dbline 959
; Clr_TOUCH_KEY_DISP_F();
lds R24,_FLAG
andi R24,127
sts _FLAG,R24
.dbline 960
; }
xjmp L40
L177:
.dbline 962
; else
; if(k==12) //清除
cpi R20,12
brne L179
X36:
.dbline 963
; {
.dbline 964
; KEY_TEMP[0]=KEY_TEMP[1];
lds R2,_KEY_TEMP+1
sts _KEY_TEMP,R2
.dbline 965
; KEY_TEMP[1]=KEY_TEMP[2];
lds R2,_KEY_TEMP+2
sts _KEY_TEMP+1,R2
.dbline 966
; KEY_TEMP[2]=KEY_TEMP[3];
lds R2,_KEY_TEMP+3
sts _KEY_TEMP+2,R2
.dbline 967
; KEY_TEMP[3]=KEY_TEMP[4];
lds R2,_KEY_TEMP+4
sts _KEY_TEMP+3,R2
.dbline 968
; KEY_TEMP[4]=KEY_TEMP[5];
lds R2,_KEY_TEMP+5
sts _KEY_TEMP+4,R2
.dbline 969
; KEY_TEMP[5]=0;
clr R2
sts _KEY_TEMP+5,R2
.dbline 970
; }
xjmp L40
L179:
.dbline 972
; else
; if(k==13) //标定
cpi R20,13
breq X72
xjmp L40
X72:
X37:
.dbline 973
; {
.dbline 974
; delay_nms(800);
ldi R16,800
ldi R17,3
xcall _delay_nms
.dbline 975
; if(keyboard()==13)
xcall _keyboard
mov R22,R16
cpi R16,13
breq X73
xjmp L193
X73:
X38:
.dbline 976
; switch(MENU_NUM)
lds R22,_MENU_NUM
clr R23
cpi R22,7
ldi R30,0
cpc R23,R30
breq L198
X39:
cpi R22,8
ldi R30,0
cpc R23,R30
brne X74
xjmp L214
X74:
X40:
cpi R22,9
ldi R30,0
cpc R23,R30
brne X75
xjmp L238
X75:
X41:
cpi R22,10
ldi R30,0
cpc R23,R30
brne X76
xjmp L265
X76:
X42:
cpi R22,11
ldi R30,0
cpc R23,R30
brne X77
xjmp L294
X77:
X43:
xjmp L40
L198:
.dbline 979
; {
; case 7: //标定52PPM
; BDLD_052 = BDLD_AD_Value;
lds R2,_BDLD_AD_Value
lds R3,_BDLD_AD_Value+1
sts _BDLD_DianYa+1,R3
sts _BDLD_DianYa,R2
.dbline 980
; Set_LD_Value = 52;
ldi R24,52
ldi R25,0
sts _Set_LD_Value+1,R25
sts _Set_LD_Value,R24
.dbline 981
; LD_PID.SetPoint = 52;
sts _LD_PID+1,R25
sts _LD_PID,R24
.dbline 982
; BDLD_130 = (BDLD_AD_Value * 13)/5;
movw R18,R2
ldi R16,13
ldi R17,0
xcall empy16s
ldi R18,5
ldi R19,0
xcall div16u
sts _BDLD_DianYa+2+1,R17
sts _BDLD_DianYa+2,R16
.dbline 983
; BDLD_208 = (BDLD_AD_Value * 20)/5;
lds R18,_BDLD_AD_Value
lds R19,_BDLD_AD_Value+1
ldi R16,20
ldi R17,0
xcall empy16s
ldi R18,5
ldi R19,0
xcall div16u
sts _BDLD_DianYa+4+1,R17
sts _BDLD_DianYa+4,R16
.dbline 984
; BDLD_300 = (BDLD_AD_Value * 27)/5;
lds R18,_BDLD_AD_Value
lds R19,_BDLD_AD_Value+1
ldi R16,27
ldi R17,0
xcall empy16s
ldi R18,5
ldi R19,0
xcall div16u
sts _BDLD_DianYa+6+1,R17
sts _BDLD_DianYa+6,R16
.dbline 985
; BDLD_520 = (BDLD_AD_Value * 36)/5;
lds R18,_BDLD_AD_Value
lds R19,_BDLD_AD_Value+1
ldi R16,36
ldi R17,0
xcall empy16s
ldi R18,5
ldi R19,0
xcall div16u
sts _BDLD_DianYa+8+1,R17
sts _BDLD_DianYa+8,R16
.dbline 986
; BDLD_780 = (BDLD_AD_Value * 46)/5;
lds R18,_BDLD_AD_Value
lds R19,_BDLD_AD_Value+1
ldi R16,46
ldi R17,0
xcall empy16s
ldi R18,5
ldi R19,0
xcall div16u
sts _BDLD_DianYa+10+1,R17
sts _BDLD_DianYa+10,R16
.dbline 987
; Sound_Nms(70);
ldi R16,70
ldi R17,0
xcall _Sound_Nms
.dbline 988
; delay_nms(100);
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 989
; BDLD_YN_FLAG052=1;
ldi R24,1
sts _BDLD_YN_FLAG052,R24
.dbline 990
; CLI();
cli
.dbline 991
; EEPROM_write(EE_BDLD_052_AddrL, BDLD_052%256);
lds R18,_BDLD_DianYa
andi R19,0
ldi R16,82
ldi R17,0
xcall _EEPROM_write
.dbline 992
; EEPROM_write(EE_BDLD_052_AddrH, BDLD_052/256);
lds R18,_BDLD_DianYa
lds R19,_BDLD_DianYa+1
mov R18,R19
clr R19
ldi R16,83
ldi R17,0
xcall _EEPROM_write
.dbline 993
; EEPROM_write(EE_BDLD_130_AddrL, BDLD_130%256);
lds R18,_BDLD_DianYa+2
andi R19,0
ldi R16,84
ldi R17,0
xcall _EEPROM_write
.dbline 994
; EEPROM_write(EE_BDLD_130_AddrH, BDLD
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -