⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m128_alky_touch_con1.s

📁 m8做的电压检测
💻 S
📖 第 1 页 / 共 5 页
字号:
	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 + -