📄 ac15-1.lis
字号:
03F6 L66:
03F6 .dbline 249
03F6 ; int i;
03F6 ; for(i=1;i<n;i++){;}
03F6 4017 cp R20,R16
03F8 5107 cpc R21,R17
03FA DCF3 brlt L63
03FC .dbline -2
03FC L62:
03FC 0E940000 xcall pop_gset1
0400 .dbline 0 ; func end
0400 0895 ret
0402 .dbsym r i 20 I
0402 .dbsym r n 16 I
0402 .dbend
0402 .dbfunc e main _main fV
0402 ; key_val -> R10
0402 ; rd_val -> R22
0402 ; wr_val -> R20
.even
0402 _main::
0402 2297 sbiw R28,2
0404 .dbline -1
0404 .dbline 253
0404 ; }
0404 ; //******************************************
0404 ; void main(void)
0404 ; {
0404 .dbline 254
0404 ; uchar key_val,wr_val=0,rd_val=0;
0404 4427 clr R20
0406 .dbline 254
0406 6627 clr R22
0408 .dbline 255
0408 ; port_init();
0408 B7DE xcall _port_init
040A .dbline 256
040A ; Delay_nms(400);
040A 00E9 ldi R16,400
040C 11E0 ldi R17,1
040E A5DE xcall _Delay_nms
0410 .dbline 257
0410 ; InitLcd();
0410 42DE xcall _InitLcd
0412 .dbline 258
0412 ; LcdWriteCommand(0x01,1);
0412 21E0 ldi R18,1
0414 01E0 ldi R16,1
0416 61DE xcall _LcdWriteCommand
0418 .dbline 259
0418 ; LcdWriteCommand(0x0c,1);
0418 21E0 ldi R18,1
041A 0CE0 ldi R16,12
041C 5EDE xcall _LcdWriteCommand
041E .dbline 260
041E ; ePutstr(0,0,str0);
041E 80E0 ldi R24,<_str0
0420 90E0 ldi R25,>_str0
0422 9983 std y+1,R25
0424 8883 std y+0,R24
0426 2227 clr R18
0428 0027 clr R16
042A EADD xcall _ePutstr
042C .dbline 261
042C ; Delay_nms(10);
042C 0AE0 ldi R16,10
042E 10E0 ldi R17,0
0430 94DE xcall _Delay_nms
0432 .dbline 262
0432 ; ePutstr(0,1,str1);
0432 80E0 ldi R24,<_str1
0434 90E0 ldi R25,>_str1
0436 9983 std y+1,R25
0438 8883 std y+0,R24
043A 21E0 ldi R18,1
043C 0027 clr R16
043E E0DD xcall _ePutstr
0440 .dbline 263
0440 ; Delay_nms(10);
0440 0AE0 ldi R16,10
0442 10E0 ldi R17,0
0444 8ADE xcall _Delay_nms
0446 A9C0 xjmp L69
0448 L68:
0448 .dbline 266
0448 ; /********************************************/
0448 ; while(1)
0448 ; {
0448 .dbline 267
0448 ; DisplayOneChar(9,0,wr_val/100+0x30);
0448 14E6 ldi R17,100
044A 042F mov R16,R20
044C 0E940000 xcall div8u
0450 802F mov R24,R16
0452 805D subi R24,208 ; addi 48
0454 8883 std y+0,R24
0456 2227 clr R18
0458 09E0 ldi R16,9
045A 11DE xcall _DisplayOneChar
045C .dbline 268
045C ; Delay_nms(10);
045C 0AE0 ldi R16,10
045E 10E0 ldi R17,0
0460 7CDE xcall _Delay_nms
0462 .dbline 269
0462 ; DisplayOneChar(10,0,(wr_val/10)%10+0x30);
0462 1AE0 ldi R17,10
0464 042F mov R16,R20
0466 0E940000 xcall div8u
046A 1AE0 ldi R17,10
046C 0E940000 xcall mod8u
0470 802F mov R24,R16
0472 805D subi R24,208 ; addi 48
0474 8883 std y+0,R24
0476 2227 clr R18
0478 0AE0 ldi R16,10
047A 01DE xcall _DisplayOneChar
047C .dbline 270
047C ; Delay_nms(10);
047C 0AE0 ldi R16,10
047E 10E0 ldi R17,0
0480 6CDE xcall _Delay_nms
0482 .dbline 271
0482 ; DisplayOneChar(11,0,wr_val%10+0x30);
0482 1AE0 ldi R17,10
0484 042F mov R16,R20
0486 0E940000 xcall mod8u
048A 802F mov R24,R16
048C 805D subi R24,208 ; addi 48
048E 8883 std y+0,R24
0490 2227 clr R18
0492 0BE0 ldi R16,11
0494 F4DD xcall _DisplayOneChar
0496 .dbline 272
0496 ; Delay_nms(10);
0496 0AE0 ldi R16,10
0498 10E0 ldi R17,0
049A 5FDE xcall _Delay_nms
049C .dbline 274
049C ;
049C ; DisplayOneChar(8,1,rd_val/100+0x30);
049C 14E6 ldi R17,100
049E 062F mov R16,R22
04A0 0E940000 xcall div8u
04A4 802F mov R24,R16
04A6 805D subi R24,208 ; addi 48
04A8 8883 std y+0,R24
04AA 21E0 ldi R18,1
04AC 08E0 ldi R16,8
04AE E7DD xcall _DisplayOneChar
04B0 .dbline 275
04B0 ; Delay_nms(10);
04B0 0AE0 ldi R16,10
04B2 10E0 ldi R17,0
04B4 52DE xcall _Delay_nms
04B6 .dbline 276
04B6 ; DisplayOneChar(9,1,(rd_val/10%10)+0x30);
04B6 1AE0 ldi R17,10
04B8 062F mov R16,R22
04BA 0E940000 xcall div8u
04BE 1AE0 ldi R17,10
04C0 0E940000 xcall mod8u
04C4 802F mov R24,R16
04C6 805D subi R24,208 ; addi 48
04C8 8883 std y+0,R24
04CA 21E0 ldi R18,1
04CC 09E0 ldi R16,9
04CE D7DD xcall _DisplayOneChar
04D0 .dbline 277
04D0 ; Delay_nms(10);
04D0 0AE0 ldi R16,10
04D2 10E0 ldi R17,0
04D4 42DE xcall _Delay_nms
04D6 .dbline 278
04D6 ; DisplayOneChar(10,1,rd_val%10+0x30);
04D6 1AE0 ldi R17,10
04D8 062F mov R16,R22
04DA 0E940000 xcall mod8u
04DE 802F mov R24,R16
04E0 805D subi R24,208 ; addi 48
04E2 8883 std y+0,R24
04E4 21E0 ldi R18,1
04E6 0AE0 ldi R16,10
04E8 CADD xcall _DisplayOneChar
04EA .dbline 279
04EA ; Delay_nms(10);
04EA 0AE0 ldi R16,10
04EC 10E0 ldi R17,0
04EE 35DE xcall _Delay_nms
04F0 .dbline 281
04F0 ;
04F0 ; key_val=scan_key();
04F0 50DE xcall _scan_key
04F2 A02E mov R10,R16
04F4 .dbline 282
04F4 ; switch(key_val)
04F4 CA2C mov R12,R10
04F6 DD24 clr R13
04F8 C601 movw R24,R12
04FA 8F3B cpi R24,191
04FC E0E0 ldi R30,0
04FE 9E07 cpc R25,R30
0500 11F1 breq L80
0502 8FEB ldi R24,191
0504 8C15 cp R24,R12
0506 9D05 cpc R25,R13
0508 34F0 brlt L83
050A L82:
050A C601 movw R24,R12
050C 8F37 cpi R24,127
050E E0E0 ldi R30,0
0510 9E07 cpc R25,R30
0512 29F1 breq L81
0514 2FC0 xjmp L72
0516 L83:
0516 C601 movw R24,R12
0518 8F3D cpi R24,223
051A E0E0 ldi R30,0
051C 9E07 cpc R25,R30
051E 71F0 breq L77
0520 8F3D cpi R24,223
0522 E0E0 ldi R30,0
0524 9E07 cpc R25,R30
0526 34F1 brlt L72
0528 L84:
0528 C601 movw R24,R12
052A 8F3E cpi R24,239
052C E0E0 ldi R30,0
052E 9E07 cpc R25,R30
0530 09F0 breq L74
0532 20C0 xjmp L72
0534 X0:
0534 .dbline 283
0534 ; {
0534 L74:
0534 .dbline 284
0534 ; case 0xef:if(wr_val<255)wr_val++;break;
0534 4F3F cpi R20,255
0536 F0F4 brsh L72
0538 .dbline 284
0538 4395 inc R20
053A .dbline 284
053A 1CC0 xjmp L72
053C L77:
053C .dbline 285
053C ; case 0xdf:if(wr_val>0)wr_val--;break;
053C 2224 clr R2
053E 2416 cp R2,R20
0540 C8F4 brsh L72
0542 .dbline 285
0542 4A95 dec R20
0544 .dbline 285
0544 17C0 xjmp L72
0546 L80:
0546 .dbline 286
0546 ; case 0xbf:wr_24c01(10,wr_val);delay_iic(2500);
0546 242F mov R18,R20
0548 0AE0 ldi R16,10
054A 1EDF xcall _wr_24c01
054C .dbline 286
054C 04EC ldi R16,2500
054E 19E0 ldi R17,9
0550 4BDF xcall _delay_iic
0552 .dbline 287
0552 ; DisplayOneChar(15,0,0xef);break;
0552 8FEE ldi R24,239
0554 8883 std y+0,R24
0556 2227 clr R18
0558 0FE0 ldi R16,15
055A 91DD xcall _DisplayOneChar
055C .dbline 287
055C 0BC0 xjmp L72
055E L81:
055E .dbline 288
055E ; case 0x7f:rd_val=rd_24c01(10);delay_iic(2500);
055E 0AE0 ldi R16,10
0560 B6DE xcall _rd_24c01
0562 602F mov R22,R16
0564 .dbline 288
0564 04EC ldi R16,2500
0566 19E0 ldi R17,9
0568 3FDF xcall _delay_iic
056A .dbline 289
056A ; DisplayOneChar(15,1,0xef);break;
056A 8FEE ldi R24,239
056C 8883 std y+0,R24
056E 21E0 ldi R18,1
0570 0FE0 ldi R16,15
0572 85DD xcall _DisplayOneChar
0574 .dbline 289
0574 .dbline 290
0574 ; default:break;
0574 L72:
0574 .dbline 292
0574 08EC ldi R16,200
0576 10E0 ldi R17,0
0578 F0DD xcall _Delay_nms
057A .dbline 293
057A 80E2 ldi R24,32
057C 8883 std y+0,R24
057E 2227 clr R18
0580 0FE0 ldi R16,15
0582 7DDD xcall _DisplayOneChar
0584 .dbline 293
0584 0AE0 ldi R16,10
0586 10E0 ldi R17,0
0588 E8DD xcall _Delay_nms
058A .dbline 294
058A 80E2 ldi R24,32
058C 8883 std y+0,R24
058E 21E0 ldi R18,1
0590 0FE0 ldi R16,15
0592 75DD xcall _DisplayOneChar
0594 .dbline 294
0594 0AE0 ldi R16,10
0596 10E0 ldi R17,0
0598 E0DD xcall _Delay_nms
059A .dbline 296
059A L69:
059A .dbline 265
059A 56CF xjmp L68
059C X1:
059C .dbline -2
059C L67:
059C 2296 adiw R28,2
059E .dbline 0 ; func end
059E 0895 ret
05A0 .dbsym r key_val 10 c
05A0 .dbsym r rd_val 22 c
05A0 .dbsym r wr_val 20 c
05A0 .dbend
.area bss(ram, con, rel)
0000 .dbfile d:\MYDOCU~1\ac15-1\ac15-1.c
0000 _cnt::
0000 .blkb 1
0001 .dbsym e cnt _cnt c
0001 _com_data::
0001 .blkb 1
0002 .dbsym e com_data _com_data c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -