📄 aa.inc
字号:
MOV R2,AR6
; qianwei=i/1000;
; SOURCE LINE # 115
MOV R4,#03H
MOV R5,#0E8H
LCALL ?C?UIDIV
MOV qianwei,R7
; baiwei=(i/100)%10;
; SOURCE LINE # 116
MOV R4,#00H
MOV R5,#064H
MOV R7,AR3
MOV R6,AR2
LCALL ?C?UIDIV
MOV R4,#00H
MOV R5,#0AH
LCALL ?C?UIDIV
MOV baiwei,R5
; shiwei=(i/10)%10;
; SOURCE LINE # 117
MOV R4,#00H
MOV R5,#0AH
MOV R7,AR3
MOV R6,AR2
LCALL ?C?UIDIV
MOV R4,#00H
MOV R5,#0AH
LCALL ?C?UIDIV
MOV shiwei,R5
; gewei=i%10;
; SOURCE LINE # 118
MOV R6,AR2
MOV R7,AR3
MOV R4,#00H
MOV R5,#0AH
LCALL ?C?UIDIV
MOV gewei,R5
; LedShow(5,DownDataCom_0,0,1); //显示通道"0." 温度通道 下限
; SOURCE LINE # 119
MOV ?_LedShow?BYTE+03H,#01H
CLR A
MOV R3,A
MOV R5,#080H
MOV R7,#05H
LCALL _LedShow
; LedShow(4,DownDataCom_0,qianwei,0); //显示千位
; SOURCE LINE # 120
CLR A
MOV ?_LedShow?BYTE+03H,A
MOV R3,qianwei
MOV R5,#080H
MOV R7,#04H
LCALL _LedShow
; LedShow(3,DownDataCom_0,baiwei,0); //显示百位
; SOURCE LINE # 121
CLR A
MOV ?_LedShow?BYTE+03H,A
MOV R3,baiwei
MOV R5,#080H
MOV R7,#03H
LCALL _LedShow
; LedShow(2,DownDataCom_0,shiwei,0); //显示十位
; SOURCE LINE # 122
CLR A
MOV ?_LedShow?BYTE+03H,A
MOV R3,shiwei
MOV R5,#080H
MOV R7,#02H
LCALL _LedShow
; LedShow(1,DownDataCom_0,gewei,0); //显示个位
; SOURCE LINE # 123
CLR A
MOV ?_LedShow?BYTE+03H,A
MOV R3,gewei
MOV R5,#080H
MOV R7,#01H
LCALL _LedShow
; LedShow(0,DownDataCom,4,0); //设置灯点亮
; SOURCE LINE # 124
CLR A
MOV ?_LedShow?BYTE+03H,A
MOV R3,#04H
MOV R5,#090H
MOV R7,A
LJMP _LedShow
; END OF Initialize
; }
;
; ///////////////////////////////////////////////////////////////////////////////
; void main()
RSEG ?PR?main?CHUNLING
main:
USING 0
; SOURCE LINE # 128
; {
; SOURCE LINE # 129
; uint i;
; uchar symbol,j;
; uchar bsbuf;
; Initialize();
; SOURCE LINE # 133
LCALL Initialize
?C0018:
; do{
; SOURCE LINE # 134
; if(KEY_ZLG7289A==0)
; SOURCE LINE # 135
JNB KEY_ZLG7289A,$ + 6H
LJMP ?C0019
; {
; SOURCE LINE # 136
; symbol = ReadKey(); // 读出按键的值
; SOURCE LINE # 137
LCALL ReadKey
;---- Variable 'symbol?347' assigned to Register 'R7' ----
; switch(symbol)
; SOURCE LINE # 138
MOV A,R7
ADD A,#0F1H
JNZ $ + 5H
LJMP ?C0030
ADD A,#0F8H
JNZ $ + 5H
LJMP ?C0033
ADD A,#0F8H
JNZ $ + 5H
LJMP ?C0039
ADD A,#0F8H
JNZ $ + 5H
LJMP ?C0056
ADD A,#0F8H
JNZ $ + 5H
LJMP ?C0073
ADD A,#028H
JZ $ + 5H
LJMP ?C0077
; {
; SOURCE LINE # 139
; case(7): // 检测到按下 输入键 ENTER
; SOURCE LINE # 140
?C0021:
; if(status==0) //为测试时 enter才有作用
; SOURCE LINE # 141
JNB status,$ + 6H
LJMP ?C0028
; { if(set_up_down_sign==1)
; SOURCE LINE # 142
MOV R7,qianwei
MOV R6,#00H
MOV R4,#03H
MOV R5,#0E8H
JNB set_up_down_sign,?C0023
; {
; SOURCE LINE # 143
; limit_data[realtime_channel*2+1]=(uchar)((qianwei*1000+baiwei*100+shiwei*10+gewei)/ transform_value);
; SOURCE LINE # 144
LCALL ?C?IMUL
MOV R4,AR6
MOV R5,AR7
MOV A,baiwei
MOV B,#064H
MUL AB
ADD A,R5
MOV R5,A
MOV A,R4
ADDC A,B
MOV R4,A
MOV A,shiwei
MOV B,#0AH
MUL AB
ADD A,R5
MOV R7,A
MOV A,B
ADDC A,R4
MOV R6,A
MOV R4,#00H
MOV A,R7
ADD A,gewei
MOV R5,A
MOV A,R4
ADDC A,R6
MOV R4,A
CLR A
LCALL ?C?FCASTI
MOV R3,transform_value+03H
MOV R2,transform_value+02H
MOV R1,transform_value+01H
MOV R0,transform_value
LCALL ?C?FPDIV
LCALL ?C?CASTF
MOV A,realtime_channel
ADD A,ACC
ADD A,#LOW (limit_data+01H)
MOV R0,A
MOV @R0,AR7
; write24c16(realtime_channel*256,0x55);
; SOURCE LINE # 145
MOV A,realtime_channel
MOV R7,#00H
MOV R6,A
MOV R5,#055H
LCALL _write24c16
; write24c16(realtime_channel*256+8,limit_data[realtime_channel*2]);
; SOURCE LINE # 146
MOV A,realtime_channel
ADD A,ACC
ADD A,#LOW (limit_data)
MOV R0,A
MOV A,@R0
MOV R5,A
MOV A,realtime_channel
MOV R6,A
CLR A
ADD A,#08H
MOV R7,A
CLR A
ADDC A,R6
MOV R6,A
LCALL _write24c16
; write24c16(realtime_channel*256+16,limit_data[realtime_channel*2]);
; SOURCE LINE # 147
MOV A,realtime_channel
ADD A,ACC
ADD A,#LOW (limit_data)
MOV R0,A
MOV A,@R0
MOV R5,A
MOV A,realtime_channel
MOV R6,A
CLR A
ADD A,#010H
MOV R7,A
CLR A
ADDC A,R6
MOV R6,A
LCALL _write24c16
; }
; SOURCE LINE # 148
SJMP ?C0024
?C0023:
; else
; {
; SOURCE LINE # 150
; limit_data[realtime_channel*2]=(uchar)((qianwei*1000+baiwei*100+shiwei*10+gewei)/ transform_value);
; SOURCE LINE # 151
LCALL ?C?IMUL
MOV R4,AR6
MOV R5,AR7
MOV A,baiwei
MOV B,#064H
MUL AB
ADD A,R5
MOV R5,A
MOV A,R4
ADDC A,B
MOV R4,A
MOV A,shiwei
MOV B,#0AH
MUL AB
ADD A,R5
MOV R7,A
MOV A,B
ADDC A,R4
MOV R6,A
MOV R4,#00H
MOV A,R7
ADD A,gewei
MOV R5,A
MOV A,R4
ADDC A,R6
MOV R4,A
CLR A
LCALL ?C?FCASTI
MOV R3,transform_value+03H
MOV R2,transform_value+02H
MOV R1,transform_value+01H
MOV R0,transform_value
LCALL ?C?FPDIV
LCALL ?C?CASTF
MOV A,realtime_channel
ADD A,ACC
ADD A,#LOW (limit_data)
MOV R0,A
MOV @R0,AR7
; set_up_down_sign=1;
; SOURCE LINE # 152
SETB set_up_down_sign
; }
; SOURCE LINE # 153
?C0024:
; if(realtime_channel==2&&set_up_down_sign==1)
; SOURCE LINE # 154
MOV A,realtime_channel
CJNE A,#02H,?C0025
JNB set_up_down_sign,?C0025
; {
; SOURCE LINE # 155
; realtime_channel=0;set_up_down_sign=0;
; SOURCE LINE # 156
CLR A
MOV realtime_channel,A
CLR set_up_down_sign
; }
; SOURCE LINE # 157
SJMP ?C0028
?C0025:
;
; else if(realtime_channel<2&&set_up_down_sign==1)
; SOURCE LINE # 159
MOV A,realtime_channel
CLR C
SUBB A,#02H
JNC ?C0028
JNB set_up_down_sign,?C0028
; {
; SOURCE LINE # 160
; realtime_channel++;set_up_down_sign=0;
; SOURCE LINE # 161
INC realtime_channel
CLR set_up_down_sign
; }
; SOURCE LINE # 162
; }
; SOURCE LINE # 163
?C0028:
;
; while(KEY_ZLG7289A==0);
; SOURCE LINE # 165
JNB KEY_ZLG7289A,$ + 6H
LJMP ?C0077
SJMP ?C0028
; break;
; SOURCE LINE # 166
;
; case(15): // 检测到按下 测量键 MEASURE
; SOURCE LINE # 168
?C0030:
; LedShow(0,DownDataCom,0x20,0); //测量灯点亮
; SOURCE LINE # 169
CLR A
MOV ?_LedShow?BYTE+03H,A
MOV R3,#020H
MOV R5,#090H
MOV R7,A
LCALL _LedShow
; status=1;//处于测量状态
; SOURCE LINE # 170
SETB status
?C0031:
;
; while(KEY_ZLG7289A==0);
; SOURCE LINE # 172
JNB KEY_ZLG7289A,$ + 6H
LJMP ?C0077
SJMP ?C0031
; break;
; SOURCE LINE # 173
;
; case(23): // 检测到按下 右移键 ->
; SOURCE LINE # 175
?C0033:
; if(status==0) //设置状态才有作用
; SOURCE LINE # 176
JB status,?C0037
; {
; SOURCE LINE # 177
; if(set_position>1)
; SOURCE LINE # 178
MOV A,set_position
SETB C
SUBB A,#01H
JC ?C0035
; {
; SOURCE LINE # 179
; set_position--;
; SOURCE LINE # 180
DEC set_position
; }
; SOURCE LINE # 181
SJMP ?C0037
?C0035:
; else
; {
; SOURCE LINE # 183
; set_position=3; //从千位开始重设
; SOURCE LINE # 184
MOV set_position,#03H
; }
; SOURCE LINE # 185
; }
; SOURCE LINE # 186
?C0037:
;
; while(KEY_ZLG7289A==0);
; SOURCE LINE # 188
JNB KEY_ZLG7289A,$ + 6H
LJMP ?C0077
SJMP ?C0037
; break;
; SOURCE LINE # 189
;
; case(31): // 检测到按下 减少键 -
; SOURCE LINE # 191
?C0039:
; if(status==0) //处于设置状态 改变位置处的值大小
; SOURCE LINE # 192
JB status,?C0040
; {
; SOURCE LINE # 193
; switch(set_position)
; SOURCE LINE # 194
MOV A,set_position
JZ ?C0048
DEC A
JZ ?C0046
DEC A
JZ ?C0044
DEC A
JNZ ?C0054
; {
; SOURCE LINE # 195
; case(3):
; SOURCE LINE # 196
?C0042:
; if(qianwei>=1) //千位
; SOURCE LINE # 197
MOV A,qianwei
CLR C
SUBB A,#01H
JC ?C0043
; {
; SOURCE LINE # 198
; qianwei--;
; SOURCE LINE # 199
DEC qianwei
; }
; SOURCE LINE # 200
?C0043:
; LedShow(4,DownDataCom_0,qianwei,0); //显示千位
; SOURCE LINE # 201
CLR A
MOV ?_LedShow?BYTE+03H,A
MOV R3,qianwei
MOV R5,#080H
MOV R7,#04H
; break;
; SOURCE LINE # 202
SJMP ?C0115
; case(2): //百位
; SOURCE LINE # 203
?C0044:
; if(baiwei>=1)
; SOURCE LINE # 204
MOV A,baiwei
CLR C
SUBB A,#01H
JC ?C0045
; {
; SOURCE LINE # 205
; baiwei--;
; SOURCE LINE # 206
DEC baiwei
; }
; SOURCE LINE # 207
?C0045:
; LedShow(3,DownDataCom_0,baiwei,0); //显示百位
; SOURCE LINE # 208
CLR A
MOV ?_LedShow?BYTE+03H,A
MOV R3,baiwei
MOV R5,#080H
MOV R7,#03H
?C0112:
; break;
; SOURCE LINE # 209
SJMP ?C0115
; case(1): //十位
; SOURCE LINE # 210
?C0046:
; if(shiwei>=1)
; SOURCE LINE # 211
MOV A,shiwei
CLR C
SUBB A,#01H
JC ?C0047
; {
; SOURCE LINE # 212
; shiwei--;
; SOURCE LINE # 213
DEC shiwei
; }
; SOURCE LINE # 214
?C0047:
; LedShow(2,DownDataCom_0,shiwei,0); //显示十位
; SOURCE LINE # 215
CLR A
MOV ?_LedShow?BYTE+03H,A
MOV R3,shiwei
MOV R5,#080H
MOV R7,#02H
?C0113:
; break;
; SOURCE LINE # 216
SJMP ?C0115
; case(0): //个位
; SOURCE LINE # 217
?C0048:
; if(gewei>=1)
; SOURCE LINE # 218
MOV A,gewei
CLR C
SUBB A,#01H
JC ?C0049
; {
; SOURCE LINE # 219
; gewei--;
; SOURCE LINE # 220
DEC gewei
; }
; SOURCE LINE # 221
?C0049:
; LedShow(1,DownDataCom_0,gewei,0); //显示个位
; SOURCE LINE # 222
CLR A
MOV ?_LedShow?BYTE+03H,A
MOV R3,gewei
MOV R5,#080H
MOV R7,#01H
?C0114:
; break;
; SOURCE LINE # 223
SJMP ?C0115
; default: break;
; SOURCE LINE # 224
; }
; SOURCE LINE # 225
; }
; SOURCE LINE # 226
?C0040:
; else //处于测试时改变通道号
; {
; SOURCE LINE # 228
; if(realtime_channel>1)
; SOURCE LINE # 229
MOV A,realtime_channel
SETB C
SUBB A,#01H
JC ?C0052
; {
; SOURCE LINE # 230
; realtime_channel--;
; SOURCE LINE # 231
DEC realtime_channel
;
; }
; SOURCE LINE # 233
SJMP ?C0053
?C0052:
; else
; {
; SOURCE LINE # 235
; realtime_channel=2; //从二通道开始
; SOURCE LINE # 236
MOV realtime_channel,#02H
; }
; SOURCE LINE # 237
?C0053:
; LedShow(0,DownDataCom,0x20,0); //测量灯点亮
; SOURCE LINE # 238
CLR A
MOV ?_LedShow?BYTE+03H,A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -