📄 bi2.lis
字号:
0116 BF01 movw R22,R30
0118 2FB8 out 0xf,R2
011A L38:
011A .dbline 180
011A L39:
011A .dbline 179
011A 779B sbis 0xe,7
011C FECF rjmp L38
011E .dbline 181
011E 2FB0 in R2,0xf
0120 FA01 movw R30,R20
0122 2192 st Z+,R2
0124 AF01 movw R20,R30
0126 .dbline 182
0126 L36:
0126 .dbline 176
0126 2A2C mov R2,R10
0128 3324 clr R3
012A 822D mov R24,R2
012C 8150 subi R24,1
012E A82E mov R10,R24
0130 2220 tst R2
0132 79F7 brne L35
0134 .dbline 182
0134 ; while(!(SPSR&(1<<SPIF)))
0134 ; ;
0134 ; *prdata++=SPDR; // 读取数据
0134 ; };
0134 .dbline 183
0134 ; DiDS1302; // 关断SPI通讯
0134 C498 cbi 0x18,4
0136 .dbline 184
0136 ; sCURDATE[0]=change_1302(&temp_1302[0]);
0136 00E0 ldi R16,<_temp_1302
0138 10E0 ldi R17,>_temp_1302
013A 9EDF xcall _change_1302
013C 00932900 sts _sCURDATE,R16
0140 .dbline 185
0140 ; sCURDATE[1]=change_1302(&temp_1302[1]);
0140 00E0 ldi R16,<_temp_1302+1
0142 10E0 ldi R17,>_temp_1302+1
0144 99DF xcall _change_1302
0146 00932A00 sts _sCURDATE+1,R16
014A .dbline 186
014A ; sCURDATE[2]=change_1302(&temp_1302[2]);
014A 00E0 ldi R16,<_temp_1302+2
014C 10E0 ldi R17,>_temp_1302+2
014E 94DF xcall _change_1302
0150 00932B00 sts _sCURDATE+2,R16
0154 .dbline 187
0154 ; sCURDATE[3]=change_1302(&temp_1302[3]);
0154 00E0 ldi R16,<_temp_1302+3
0156 10E0 ldi R17,>_temp_1302+3
0158 8FDF xcall _change_1302
015A 00932C00 sts _sCURDATE+3,R16
015E .dbline 188
015E ; sCURDATE[4]=change_1302(&temp_1302[4]);
015E 00E0 ldi R16,<_temp_1302+4
0160 10E0 ldi R17,>_temp_1302+4
0162 8ADF xcall _change_1302
0164 00932D00 sts _sCURDATE+4,R16
0168 .dbline 189
0168 ; sCURDATE[5]=change_1302(&temp_1302[5]);
0168 00E0 ldi R16,<_temp_1302+5
016A 10E0 ldi R17,>_temp_1302+5
016C 85DF xcall _change_1302
016E 00932E00 sts _sCURDATE+5,R16
0172 .dbline 190
0172 ; sCURDATE[6]=change_1302(&temp_1302[6]);
0172 00E0 ldi R16,<_temp_1302+6
0174 10E0 ldi R17,>_temp_1302+6
0176 80DF xcall _change_1302
0178 00932F00 sts _sCURDATE+6,R16
017C .dbline 191
017C ; time[0][0]=sCURDATE[0];
017C 20902900 lds R2,_sCURDATE
0180 20920200 sts _time,R2
0184 .dbline 192
0184 ; time[0][1]=sCURDATE[1];
0184 20902A00 lds R2,_sCURDATE+1
0188 20920300 sts _time+1,R2
018C .dbline 193
018C ; time[0][2]=sCURDATE[2];
018C 20902B00 lds R2,_sCURDATE+2
0190 20920400 sts _time+2,R2
0194 .dbline -2
0194 L31:
0194 0E940000 xcall pop_gset4
0198 .dbline 0 ; func end
0198 0895 ret
019A .dbsym r prdata 20 pc
019A .dbsym r pwdata 22 pc
019A .dbsym r len 10 c
019A .dbsym r CMD 12 c
019A .dbend
.area lit(rom, con, rel)
0000 _sound::
0000 2A2A .byte 42,42
0002 4A2A .byte 'J,42
0004 2A4A .byte 42,'J
0006 2A2C .byte 42,44
0008 2829 .byte 40,41
000A 4A4A .byte 'J,'J
000C 2B2B .byte 43,43
000E 2B2B .byte 43,43
0010 2B2A .byte 43,42
0012 2A2A .byte 42,42
0014 2A29 .byte 42,41
0016 2928 .byte 41,40
0018 494C .byte 'I,'L
001A 2A2A .byte 42,42
001C 4A2A .byte 'J,42
001E 2A4A .byte 42,'J
0020 2A2C .byte 42,44
0022 2829 .byte 40,41
0024 4A4A .byte 'J,'J
0026 2B2B .byte 43,43
0028 2B2B .byte 43,43
002A 2B2A .byte 43,42
002C 2A2A .byte 42,42
002E 2C2C .byte 44,44
0030 2B29 .byte 43,41
0032 4848 .byte 'H,'H
0034 0000 .byte 0,0
0036 .dbsym e sound _sound A[54:54]kc
0036 _TONETABLE::
0036 44FC .word 64580
0038 ACFC .word 64684
003A 09FD .word 64777
003C 34FD .word 64820
003E 82FD .word 64898
0040 C8FD .word 64968
0042 06FE .word 65030
0044 22FE .word 65058
0046 56FE .word 65110
0048 85FE .word 65157
004A 9AFE .word 65178
004C C1FE .word 65217
004E E4FE .word 65252
0050 03FF .word 65283
0052 11FF .word 65297
0054 .dbsym e TONETABLE _TONETABLE A[30:15]ki
.area text(rom, con, rel)
019A .dbfile E:\temp\avr\bi2\bi2.c
019A .dbfunc e delay_us _delay_us fV
019A ; time -> R16,R17
.even
019A _delay_us::
019A .dbline -1
019A .dbline 335
019A ; }
019A ;
019A ;
019A ;
019A ;
019A ;
019A ;
019A ; /* 音阶常数=65536-8000000/8/2/f */
019A ; #define DO 64580 //523
019A ; #define RE 64684 //587
019A ; #define MI 64777 //659
019A ; #define FA 64820 //698
019A ; #define SO 64898 //784
019A ; #define LA 64968 //880
019A ; #define TI 65030 //988
019A ; #define DO_H 65058 //1046
019A ; #define RE_H 65110 //1174
019A ; #define MI_H 65157 //1318
019A ; #define FA_H 65178 //1397
019A ; #define SO_H 65217 //1568
019A ; #define LA_H 65252 //1760
019A ; #define TI_H 65283 //1976
019A ; #define DO_HH 65297 //2093
019A ;
019A ; /* 音乐数据 */
019A ; /* 四分之一拍为0x10, 二分之一拍为0x20, 一拍为0x40*/
019A ; /* 低1-1 2-2 3-3 4-4 5-5 6-6 7-7 */
019A ; /* 中1-8 2-9 3-A 4-B 5-C 6-D 7-E */
019A ; /* 高1-F*/
019A ; const unsigned char sound[]=
019A ; { //乐曲数据表
019A ;
019A ;
019A ; 0x2a,0x2a,0x4a,0x2a,0x2a,0x4a,0x2a,0x2c,0x28,0x29,
019A ; 0x4a,0x4a,0x2b,0x2b,0x2b,0x2b,0x2b,0x2a,0x2a,0x2a,
019A ; 0x2a,0x29,0x29,0x28,0x49,0x4c,0x2a,0x2a,0x4a,0x2a,
019A ; 0x2a,0x4a,0x2a,0x2c,0x28,0x29,0x4a,0x4a,0x2b,0x2b,
019A ; 0x2b,0x2b,0x2b,0x2a,0x2a,0x2a,0x2c,0x2c,0x2b,0x29,
019A ; 0x48,0x48,0x00,0x00
019A ; /*
019A ; 0x4a,0x2a,0x29,0x28,0x29,0x28,0x27,0x46,0x46,0x46,
019A ; 0x46,0x4b,0x2b,0x2a,0x29,0x28,0x29,0x2b,0x4a,0x4a,
019A ; 0x4a,0x4b,0x2b,0x2a,0x49,0x29,0x2b,0x4a,0x2a,0x28,
019A ; 0x46,0x48,0x47,0x4a,0x29,0x28,0x27,0x28,0x46,0x46,
019A ; 0x46,0x46,0x4a,0x2a,0x29,0x28,0x29,0x28,0x27,0x46,
019A ; 0x46,0x46,0x46,0x4b,0x2b,0x2a,0x29,0x28,0x29,0x2b,
019A ; 0x4a,0x4a,0x4a,0x4b,0x2b,0x2a,0x49,0x29,0x2b,0x4a,
019A ; 0x2a,0x28,0x46,0x48,0x47,0x4a,0x29,0x28,0x27,0x28,
019A ; 0x46,0x46,0x46,0x46,
019A ;
019A ; 0x43,0x43,0x45,0x49,0x49,0x49,0x48,0x48,0x45,0x44,
019A ; 0x44,0x44,0x43,0x43,0x43,0x43,0x44,0x45,0x46,0x46,
019A ; 0x46,0x45,0x45,0x45,0x43,0x43,0x45,0x49,0x49,0x49,
019A ; 0x48,0x48,0x45,0x44,0x44,0x44,0x43,0x43,0x45,0x45,
019A ; 0x46,0x47,0x48,0x48,0x48,0x48,0x48,0x48,0x49,0x49,
019A ; 0x45,0x47,0x46,0x45,0x43,0x43,0x45,0x48,0x48,0x48,
019A ; 0x46,0x46,0x48,0x49,0x49,0x48,0x47,0x47,0x47,0x45,
019A ; 0x45,0x45,0x43,0x43,0x45,0x49,0x49,0x49,0x48,0x48,
019A ; 0x45,0x44,0x44,0x44,0x43,0x43,0x45,0x45,0x46,0x47,
019A ; 0x48,0x48,0x48,0x48,0x40,0x40,
019A ;
019A ; 0x45,0x48,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x49,0x4a,
019A ; 0x49,0x48,0x48,0x48,0x48,0x48,0x45,0x48,0x4a,0x4a,
019A ; 0x48,0x4a,0x4c,0x4c,0x4b,0x4a,0x49,0x49,0x49,0x49,
019A ; 0x49,0x4c,0x4b,0x4a,0x4a,0x4a,0x49,0x48,0x48,0x49,
019A ; 0x4a,0x4c,0x4b,0x4b,0x4b,0x4b,0x4b,0x46,0x46,0x45,
019A ; 0x45,0x45,0x47,0x48,0x49,0x49,0x4a,0x49,0x48,0x48,
019A ; 0x48,0x48,0x48,0x48,
019A ; 0x23,0x24,0x25,0x44,0x45,0x24,0x23,0x22,0x42,0x40,0x40,0x23,0x22,0x21,0x41,0x28,
019A ; 0x48,0x23,0x25,0x45,0x40,0x40,0x21,0x21,0x42,0x21,0x21,0x41,0x20,0x28,0x47,0x26,
019A ; 0x17,0x16,0x15,0x45,0x40,0x31,0x11,0x21,0x21,0x21,0x22,0x42,0x40,0x20,0x23,0x23,
019A ; 0x24,0x25,0x24,0x23,0x24,0x25,0x26,0x23,0x23,0x42,0x42,0x40,0x23,0x22,0x21,0x41,
019A ; 0x28,0x28,0x28,0x23,0x25,0x45,0x45,0x40,0x20,0x25,0x46,0x28,0x28,0x48,0x20,0x29,
019A ; 0x47,0x26,0x17,0x16,0x15,0x45,0x25,0x25,0x26,0x28,0x18,0x16,0x26,0x28,0x26,0x28,
019A ; 0x19,0x19,0x49,0x49,0x20,0x25,0x2a,0x18,0x19,0x29,0x28,0x16,0x17,0x16,0x15,0x25,
019A ; 0x25,0x28,0x29,0x2a,0x29,0x48,0x28,0x48,0x2c,0x4c,0x4c,0x40,0x2a,0x2c,0x1c,0x1a,
019A ; 0x2a,0x2a,0x29,0x4a,0x2b,0x2a,0x4a,0x4a,0x40,0x2a,0x29,0x29,0x28,0x28,0x26,0x48,
019A ; 0x29,0x26,0x45,0x45,0x40,0x25,0x25,0x26,0x21,0x18,0x16,0x26,0x28,0x26,0x28,0x29,
019A ; 0x49,0x49,0x20,0x25,0x28,0x29,0x2a,0x29,0x49,0x28,0x48,0x2c,0x4c,0x4c,0x40,0x2a,
019A ; 0x2c,0x15,0x1a,0x2a,0x2a,0x29,0x4a,0x2b,0x2a,0x4a,0x4a,0x40,0x2a,0x29,0x29,0x28,
019A ; 0x28,0x26,0x28,0x28,0x29,0x26,0x45,0x45,0x40,0x25,0x25,0x26,0x28,0x28,0x26,0x2a,
019A ; 0x19,0x18,0x28,0x18,0x19,0x48,0x48,0x40,0x40,0x40,0x40,0x28,0x48,0x29,0x28,0x28,
019A ; 0x2a,0x1a,0x1a,0x1a,0x18,0x40,0x20,0x26,0x28,0x28,0x28,0x26,0x28,0x48,0x26,0x25,
019A ; 0x45,0x45,0x40,0x40,0x40,0x28,0x48,0x28,0x28,0x1c,0x1d,0x2d,0x2c,0x28,0x28,0x28,
019A ; 0x20,0x26,0x19,0x1a,0x29,0x19,0x18,0x28,0x28,0x26,0x21,0x29,0x49,0x49,0x40,0x20,
019A ; 0x28,0x29,0x2a,0x4a,0x4a,0x20,0x25,0x28,0x29,0x48,0x48,0x48,0x25,0x25,0x26,0x28,
019A ; 0x28,0x26,0x2a,0x19,0x18,0x28,0x18,0x19,0x49,0x49,0x40,0x40,
019A ;
019A ; 0x25,0x28,0x2A,0x4A,0x29,0x28,0x48,0x28,
019A ; 0x26,0x46,0x28,0x45,0x25,0x28,0x2A,0x4A,
019A ; 0x29,0x28,0x48,0x28,0x29,0x49,0x2A,0x49,
019A ; 0x40,0x2A,0x4A,0x2B,0x4C,0x40,0x3D,0x1D,
019A ; 0x2D,0x2D,0x4C,0x40,0x2A,0x4A,0x2C,0x48,
019A ; 0x28,0x2A,0x29,0x46,0x25,0x48,0x40,
019A ;
019A ; 0x2a,0x2a,0x4a,0x2a,0x2a,0x4a,0x2a,0x2c,0x28,0x29,
019A ; 0x4a,0x4a,0x2b,0x2b,0x2b,0x2b,0x2b,0x2a,0x2a,0x2a,
019A ; 0x2a,0x29,0x29,0x28,0x49,0x4c,0x2a,0x2a,0x4a,0x2a,
019A ; 0x2a,0x4a,0x2a,0x2c,0x28,0x29,0x4a,0x4a,0x2b,0x2b,
019A ; 0x2b,0x2b,0x2b,0x2a,0x2a,0x2a,0x2c,0x2c,0x2b,0x29,
019A ; 0x48,0x48,
019A ;
019A ; 0x4a,0x2a,0x29,0x28,0x29,0x28,0x27,0x46,0x46,0x46,
019A ; 0x46,0x4b,0x2b,0x2a,0x29,0x28,0x29,0x2b,0x4a,0x4a,
019A ; 0x4a,0x4b,0x2b,0x2a,0x49,0x29,0x2b,0x4a,0x2a,0x28,
019A ; 0x46,0x48,0x47,0x4a,0x29,0x28,0x27,0x28,0x46,0x46,
019A ; 0x46,0x46,0x4a,0x2a,0x29,0x28,0x29,0x28,0x27,0x46,
019A ; 0x46,0x46,0x46,0x4b,0x2b,0x2a,0x29,0x28,0x29,0x2b,
019A ; 0x4a,0x4a,0x4a,0x4b,0x2b,0x2a,0x49,0x29,0x2b,0x4a,
019A ; 0x2a,0x28,0x46,0x48,0x47,0x4a,0x29,0x28,0x27,0x28,
019A ; 0x46,0x46,0x46,0x46,
019A ;
019A ; 0x43,0x43,0x45,0x49,0x49,0x49,0x48,0x48,0x45,0x44,
019A ; 0x44,0x44,0x43,0x43,0x43,0x43,0x44,0x45,0x46,0x46,
019A ; 0x46,0x45,0x45,0x45,0x43,0x43,0x45,0x49,0x49,0x49,
019A ; 0x48,0x48,0x45,0x44,0x44,0x44,0x43,0x43,0x45,0x45,
019A ; 0x46,0x47,0x48,0x48,0x48,0x48,0x48,0x48,0x49,0x49,
019A ; 0x45,0x47,0x46,0x45,0x43,0x43,0x45,0x48,0x48,0x48,
019A ; 0x46,0x46,0x48,0x49,0x49,0x48,0x47,0x47,0x47,0x45,
019A ; 0x45,0x45,0x43,0x43,0x45,0x49,0x49,0x49,0x48,0x48,
019A ; 0x45,0x44,0x44,0x44,0x43,0x43,0x45,0x45,0x46,0x47,
019A ; 0x48,0x48,0x48,0x48,0x40,0x40,
019A ;
019A ; 0x45,0x48,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x49,0x4a,
019A ; 0x49,0x48,0x48,0x48,0x48,0x48,0x45,0x48,0x4a,0x4a,
019A ; 0x48,0x4a,0x4c,0x4c,0x4b,0x4a,0x49,0x49,0x49,0x49,
019A ; 0x49,0x4c,0x4b,0x4a,0x4a,0x4a,0x49,0x48,0x48,0x49,
019A ; 0x4a,0x4c,0x4b,0x4b,0x4b,0x4b,0x4b,0x46,0x46,0x45,
019A ; 0x45,0x45,0x47,0x48,0x49,0x49,0x4a,0x49,0x48,0x48,
019A ; 0x48,0x48,0x48,0x48,
019A ;
019A ; 0x00,0x00*/
019A ; };
019A ;
019A ; /* 音阶表 */
019A ; const unsigned int TONETABLE[15]={DO,RE,MI,FA,SO,LA,TI,DO_H,
019A ; RE_H,MI_H,FA_H,SO_H,LA_H,TI_H,DO_HH};
019A ; /* 音阶重装常数 */
019A ; unsigned int toneconst;
019A ;
019A ; void delay_us(int time)
019A ; {//微秒级延时程序
019A L58:
019A .dbline 337
019A ; do
019A ; {
019A .dbline 338
019A ; time--;
019A 0150 subi R16,1
019C 1040 sbci R17,0
019E .dbline 339
019E ; }
019E L59:
019E .dbline 340
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -