📄 main.s
字号:
.dbline 0 ; func end
ret
.dbsym r tt 20 c
.dbsym r ll 20 c
.dbsym r i 20 c
.dbend
.dbfunc e timer1_init _timer1_init fV
.even
_timer1_init::
.dbline -1
.dbline 212
; else ;
;
; }
; void timer1_init(void)
; {
.dbline 213
; TCCR1B = 0x00; //stop
clr R2
out 0x2e,R2
.dbline 214
; TCNT1H = 0xFD; //setup
ldi R24,253
out 0x2d,R24
.dbline 215
; TCNT1L = 0xE5;
ldi R24,229
out 0x2c,R24
.dbline 216
; TCCR1A = 0x00;
out 0x2f,R2
.dbline 217
; TCCR1B = 0x05; //start Timer
ldi R24,5
out 0x2e,R24
.dbline -2
L51:
.dbline 0 ; func end
ret
.dbend
.dbfunc e timer0_init _timer0_init fV
.even
_timer0_init::
.dbline -1
.dbline 220
; }
; void timer0_init(void) //1ms
; {
.dbline 221
; TCCR0 = 0x00; //stop
clr R2
out 0x33,R2
.dbline 223
; // ASSR = 0x00; //set async mode
; TCNT0 = 0x54; //set count
ldi R24,84
out 0x32,R24
.dbline 225
; // OCR0 = 0xAC;
; TCCR0 = 0x04; //start timer
ldi R24,4
out 0x33,R24
.dbline -2
L52:
.dbline 0 ; func end
ret
.dbend
.area vector(rom, abs)
.org 64
jmp _timer0_ovf_isr
.area text(rom, con, rel)
.dbfile F:\yyjapp\yymk\software\main.c
.dbfunc e timer0_ovf_isr _timer0_ovf_isr fV
.even
_timer0_ovf_isr::
st -y,R2
st -y,R3
st -y,R24
st -y,R25
in R2,0x3f
st -y,R2
.dbline -1
.dbline 230
.dbline 232
ldi R24,84
out 0x32,R24
.dbline 233
lds R24,_commtimer
lds R25,_commtimer+1
adiw R24,1
sts _commtimer+1,R25
sts _commtimer,R24
.dbline 234
ldi R24,1950
ldi R25,7
lds R2,_commtimer
lds R3,_commtimer+1
cp R24,R2
cpc R25,R3
brsh L54
.dbline 235
.dbline 236
clr R2
clr R3
sts _commtimer+1,R3
sts _commtimer,R2
.dbline 238
L54:
.dbline -2
L53:
ld R2,y+
out 0x3f,R2
ld R25,y+
ld R24,y+
ld R3,y+
ld R2,y+
.dbline 0 ; func end
reti
.dbend
.dbfunc e beep _beep fV
; second -> R16
.even
_beep::
.dbline -1
.dbline 241
; }
;
; #pragma interrupt_handler timer0_ovf_isr:17
; void timer0_ovf_isr(void)
; {
; // unsigned char oop;
; TCNT0 = 0x54; //1ms
; commtimer++;
; if(commtimer>1950)
; {
; commtimer=0;
; // WDR();
; }
; }
; void beep(unsigned char second)
; {
.dbline 242
; beep_second=second;
sts _beep_second,R16
.dbline 243
; beep_flag=1;
ldi R24,1
sts _beep_flag,R24
.dbline 244
; CLEAR_BELL();
sbi 0x17,5
.dbline 245
; CLEAR_LED0();
sbi 0x11,7
.dbline 246
; timer=0;
clr R2
clr R3
sts _timer+1,R3
sts _timer,R2
.dbline -2
L56:
.dbline 0 ; func end
ret
.dbsym r second 16 c
.dbend
.dbfunc e COMM_RX _COMM_RX fV
.even
_COMM_RX::
xcall push_gset1
.dbline -1
.dbline 249
; }
; void COMM_RX(void)
; {
.dbline 250
; RxHead0=0;
clr R2
sts _RxHead0,R2
.dbline 252
;
; sio_flag=0;
sts _sio_flag,R2
.dbline 254
; // CLEAR_LED0();
; switch(RX_BUF0[1])
lds R20,_RX_BUF0+1
clr R21
cpi R20,34
ldi R30,0
cpc R21,R30
breq L63
ldi R24,34
ldi R25,0
cp R24,R20
cpc R25,R21
brlt L66
L65:
cpi R20,17
ldi R30,0
cpc R21,R30
breq L62
xjmp L59
L66:
cpi R20,51
ldi R30,0
cpc R21,R30
breq L64
xjmp L59
X3:
.dbline 255
; {
L62:
.dbline 261
; // case 0x01:
; // senddata(0);
; // break;
;
; case 0x11:
; setup_curtime(); //设置模块当前时间
xcall _setup_curtime
.dbline 262
; break;
xjmp L59
L63:
.dbline 265
;
; case 0x22: //采集时间记录
; colle_time();
xcall _colle_time
.dbline 266
; break;
xjmp L59
L64:
.dbline 269
xcall _colle_even
.dbline 270
.dbline 273
L59:
.dbline -2
L57:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbend
.dbfunc e colle_even _colle_even fV
; i -> R20
.even
_colle_even::
xcall push_gset1
.dbline -1
.dbline 277
;
; case 0x33: //采集事件记录
; colle_even();
; break;
;
; default:
; break;
; }
; }
; void colle_even(void)
; {
.dbline 279
; unsigned char i;
; for(i=0;i<12;i++)
clr R20
xjmp L71
L68:
.dbline 280
mov R16,R20
clr R17
subi R16,0 ; offset = 512
sbci R17,254
xcall _EEPROMread
ldi R24,<_even_data
ldi R25,>_even_data
mov R30,R20
clr R31
add R30,R24
adc R31,R25
std z+0,R16
L69:
.dbline 279
inc R20
L71:
.dbline 279
cpi R20,12
brlo L68
.dbline 281
; even_data[i]=EEPROMread(0x200+i);
; send_even();
xcall _send_even
.dbline 282
; beep(2);
ldi R16,2
xcall _beep
.dbline -2
L67:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r i 20 c
.dbend
.dbfunc e send_even _send_even fV
; i -> R20,R21
.even
_send_even::
xcall push_gset1
.dbline -1
.dbline 286
;
; }
; void send_even(void)
; {
.dbline 288
; unsigned int i;
; SET_LIGHT();
cbi 0x17,6
.dbline 289
; TX_BUF0[0]=0x33;
ldi R24,51
sts _TX_BUF0,R24
.dbline 290
; TX_BUF0[1]=15;
ldi R24,15
sts _TX_BUF0+1,R24
.dbline 291
; TX_BUF0[2]=even_data[0];
lds R2,_even_data
sts _TX_BUF0+2,R2
.dbline 292
; TX_BUF0[3]=even_data[1];
lds R2,_even_data+1
sts _TX_BUF0+3,R2
.dbline 293
; TX_BUF0[4]=even_data[2];
lds R2,_even_data+2
sts _TX_BUF0+4,R2
.dbline 294
; TX_BUF0[5]=even_data[3];
lds R2,_even_data+3
sts _TX_BUF0+5,R2
.dbline 295
; TX_BUF0[6]=even_data[4];
lds R2,_even_data+4
sts _TX_BUF0+6,R2
.dbline 296
; TX_BUF0[7]=even_data[5];
lds R2,_even_data+5
sts _TX_BUF0+7,R2
.dbline 297
; TX_BUF0[8]=even_data[6];
lds R2,_even_data+6
sts _TX_BUF0+8,R2
.dbline 298
; TX_BUF0[9]=even_data[7];
lds R2,_even_data+7
sts _TX_BUF0+9,R2
.dbline 299
; TX_BUF0[10]=even_data[8];
lds R2,_even_data+8
sts _TX_BUF0+10,R2
.dbline 300
; TX_BUF0[11]=even_data[9];
lds R2,_even_data+9
sts _TX_BUF0+11,R2
.dbline 301
; TX_BUF0[12]=even_data[10];
lds R2,_even_data+10
sts _TX_BUF0+12,R2
.dbline 303
;
; TX_BUF0[13]=0x03;
ldi R24,3
sts _TX_BUF0+13,R24
.dbline 304
; TransmitByte0(TX_BUF0,14);
ldi R18,14
ldi R16,<_TX_BUF0
ldi R17,>_TX_BUF0
xcall _TransmitByte0
.dbline 305
clr R20
clr R21
xjmp L99
L96:
.dbline 305
L97:
.dbline 305
subi R20,255 ; offset = 1
sbci R21,255
L99:
.dbline 305
; for(i=0;i<3800;i++);
cpi R20,216
ldi R30,14
cpc R21,R30
brlo L96
.dbline 306
; CLEAR_LIGHT();
sbi 0x17,6
.dbline -2
L72:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r i 20 i
.dbend
.dbfunc e colle_time _colle_time fV
; i -> R20,R21
.even
_colle_time::
xcall push_gset1
.dbline -1
.dbline 309
; }
; void colle_time(void)
; {
.dbline 312
; unsigned int i;
;
; TX_BUF0[0]=0x22;
ldi R24,34
sts _TX_BUF0,R24
.dbline 313
; TX_BUF0[1]=88;
ldi R24,88
sts _TX_BUF0+1,R24
.dbline 314
; TX_BUF0[2]=EEPROMread(1*16+0);
ldi R16,16
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+2,R16
.dbline 315
; TX_BUF0[3]=EEPROMread(1*16+1);
ldi R16,17
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+3,R16
.dbline 316
; TX_BUF0[4]=EEPROMread(1*16+2);
ldi R16,18
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+4,R16
.dbline 317
; TX_BUF0[5]=EEPROMread(1*16+3);
ldi R16,19
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+5,R16
.dbline 318
; TX_BUF0[6]=EEPROMread(1*16+4);
ldi R16,20
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+6,R16
.dbline 319
; TX_BUF0[7]=EEPROMread(1*16+5);
ldi R16,21
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+7,R16
.dbline 320
; TX_BUF0[8]=EEPROMread(1*16+6);
ldi R16,22
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+8,R16
.dbline 322
;
; TX_BUF0[9]=EEPROMread(2*16+0);
ldi R16,32
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+9,R16
.dbline 323
; TX_BUF0[10]=EEPROMread(2*16+1);
ldi R16,33
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+10,R16
.dbline 324
; TX_BUF0[11]=EEPROMread(2*16+2);
ldi R16,34
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+11,R16
.dbline 325
; TX_BUF0[12]=EEPROMread(2*16+3);
ldi R16,35
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+12,R16
.dbline 326
; TX_BUF0[13]=EEPROMread(2*16+4);
ldi R16,36
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+13,R16
.dbline 327
; TX_BUF0[14]=EEPROMread(2*16+5);
ldi R16,37
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+14,R16
.dbline 328
; TX_BUF0[15]=EEPROMread(2*16+6);
ldi R16,38
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+15,R16
.dbline 330
;
; TX_BUF0[16]=EEPROMread(3*16+0);
ldi R16,48
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+16,R16
.dbline 331
; TX_BUF0[17]=EEPROMread(3*16+1);
ldi R16,49
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+17,R16
.dbline 332
; TX_BUF0[18]=EEPROMread(3*16+2);
ldi R16,50
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+18,R16
.dbline 333
; TX_BUF0[19]=EEPROMread(3*16+3);
ldi R16,51
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+19,R16
.dbline 334
; TX_BUF0[20]=EEPROMread(3*16+4);
ldi R16,52
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+20,R16
.dbline 335
; TX_BUF0[21]=EEPROMread(3*16+5);
ldi R16,53
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+21,R16
.dbline 336
; TX_BUF0[22]=EEPROMread(3*16+6);
ldi R16,54
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+22,R16
.dbline 338
;
; TX_BUF0[23]=EEPROMread(4*16+0);
ldi R16,64
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+23,R16
.dbline 339
; TX_BUF0[24]=EEPROMread(4*16+1);
ldi R16,65
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+24,R16
.dbline 340
; TX_BUF0[25]=EEPROMread(4*16+2);
ldi R16,66
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+25,R16
.dbline 341
; TX_BUF0[26]=EEPROMread(4*16+3);
ldi R16,67
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+26,R16
.dbline 342
; TX_BUF0[27]=EEPROMread(4*16+4);
ldi R16,68
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+27,R16
.dbline 343
; TX_BUF0[28]=EEPROMread(4*16+5);
ldi R16,69
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+28,R16
.dbline 344
; TX_BUF0[29]=EEPROMread(4*16+6);
ldi R16,70
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+29,R16
.dbline 346
;
; TX_BUF0[30]=EEPROMread(5*16+0);
ldi R16,80
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+30,R16
.dbline 347
; TX_BUF0[31]=EEPROMread(5*16+1);
ldi R16,81
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+31,R16
.dbline 348
; TX_BUF0[32]=EEPROMread(5*16+2);
ldi R16,82
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+32,R16
.dbline 349
; TX_BUF0[33]=EEPROMread(5*16+3);
ldi R16,83
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+33,R16
.dbline 350
; TX_BUF0[34]=EEPROMread(5*16+4);
ldi R16,84
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+34,R16
.dbline 351
; TX_BUF0[35]=EEPROMread(5*16+5);
ldi R16,85
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+35,R16
.dbline 352
; TX_BUF0[36]=EEPROMread(5*16+6);
ldi R16,86
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+36,R16
.dbline 354
;
; TX_BUF0[37]=EEPROMread(6*16+0);
ldi R16,96
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+37,R16
.dbline 355
; TX_BUF0[38]=EEPROMread(6*16+1);
ldi R16,97
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+38,R16
.dbline 356
; TX_BUF0[39]=EEPROMread(6*16+2);
ldi R16,98
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+39,R16
.dbline 357
; TX_BUF0[40]=EEPROMread(6*16+3);
ldi R16,99
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+40,R16
.dbline 358
; TX_BUF0[41]=EEPROMread(6*16+4);
ldi R16,100
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+41,R16
.dbline 359
; TX_BUF0[42]=EEPROMread(6*16+5);
ldi R16,101
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+42,R16
.dbline 360
; TX_BUF0[43]=EEPROMread(6*16+6);
ldi R16,102
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+43,R16
.dbline 362
;
; TX_BUF0[44]=EEPROMread(7*16+0);
ldi R16,112
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+44,R16
.dbline 363
; TX_BUF0[45]=EEPROMread(7*16+1);
ldi R16,113
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+45,R16
.dbline 364
; TX_BUF0[46]=EEPROMread(7*16+2);
ldi R16,114
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+46,R16
.dbline 365
; TX_BUF0[47]=EEPROMread(7*16+3);
ldi R16,115
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+47,R16
.dbline 366
; TX_BUF0[48]=EEPROMread(7*16+4);
ldi R16,116
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+48,R16
.dbline 367
; TX_BUF0[49]=EEPROMread(7*16+5);
ldi R16,117
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+49,R16
.dbline 368
; TX_BUF0[50]=EEPROMread(7*16+6);
ldi R16,118
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+50,R16
.dbline 370
;
; TX_BUF0[51]=EEPROMread(8*16+0);
ldi R16,128
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+51,R16
.dbline 371
; TX_BUF0[52]=EEPROMread(8*16+1);
ldi R16,129
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+52,R16
.dbline 372
; TX_BUF0[53]=EEPROMread(8*16+2);
ldi R16,130
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+53,R16
.dbline 373
; TX_BUF0[54]=EEPROMread(8*16+3);
ldi R16,131
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+54,R16
.dbline 374
; TX_BUF0[55]=EEPROMread(8*16+4);
ldi R16,132
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+55,R16
.dbline 375
; TX_BUF0[56]=EEPROMread(8*16+5);
ldi R16,133
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+56,R16
.dbline 376
; TX_BUF0[57]=EEPROMread(8*16+6);
ldi R16,134
ldi R17,0
xcall _EEPROMread
sts _TX_BUF0+57,R16
.dbline 378
;
; TX_BUF0[58]=EEPROMread(9*16+0);
ldi R16,144
ldi R17,0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -