📄 diy0816_11.lis
字号:
01EC 4444 .byte 'D,'D
01EE 4443 .byte 'D,'C
01F0 4343 .byte 'C,'C
01F2 4344 .byte 'C,'D
01F4 4546 .byte 'E,'F
01F6 4646 .byte 'F,'F
01F8 4545 .byte 'E,'E
01FA 4543 .byte 'E,'C
01FC 4345 .byte 'C,'E
01FE 4949 .byte 'I,'I
0200 4948 .byte 'I,'H
0202 4845 .byte 'H,'E
0204 4444 .byte 'D,'D
0206 4443 .byte 'D,'C
0208 4345 .byte 'C,'E
020A 4546 .byte 'E,'F
020C 4748 .byte 'G,'H
020E 4848 .byte 'H,'H
0210 4848 .byte 'H,'H
0212 4849 .byte 'H,'I
0214 4945 .byte 'I,'E
0216 4746 .byte 'G,'F
0218 4543 .byte 'E,'C
021A 4345 .byte 'C,'E
021C 4848 .byte 'H,'H
021E 4846 .byte 'H,'F
0220 4648 .byte 'F,'H
0222 4949 .byte 'I,'I
0224 4847 .byte 'H,'G
0226 4747 .byte 'G,'G
0228 4545 .byte 'E,'E
022A 4543 .byte 'E,'C
022C 4345 .byte 'C,'E
022E 4949 .byte 'I,'I
0230 4948 .byte 'I,'H
0232 4845 .byte 'H,'E
0234 4444 .byte 'D,'D
0236 4443 .byte 'D,'C
0238 4345 .byte 'C,'E
023A 4546 .byte 'E,'F
023C 4748 .byte 'G,'H
023E 4848 .byte 'H,'H
0240 4840 .byte 'H,64
0242 4045 .byte 64,'E
0244 484A .byte 'H,'J
0246 4A4A .byte 'J,'J
0248 4A4A .byte 'J,'J
024A 4A49 .byte 'J,'I
024C 4A49 .byte 'J,'I
024E 4848 .byte 'H,'H
0250 4848 .byte 'H,'H
0252 4845 .byte 'H,'E
0254 484A .byte 'H,'J
0256 4A48 .byte 'J,'H
0258 4A4C .byte 'J,'L
025A 4C4B .byte 'L,'K
025C 4A49 .byte 'J,'I
025E 4949 .byte 'I,'I
0260 4949 .byte 'I,'I
0262 4C4B .byte 'L,'K
0264 4A4A .byte 'J,'J
0266 4A49 .byte 'J,'I
0268 4848 .byte 'H,'H
026A 494A .byte 'I,'J
026C 4C4B .byte 'L,'K
026E 4B4B .byte 'K,'K
0270 4B4B .byte 'K,'K
0272 4646 .byte 'F,'F
0274 4545 .byte 'E,'E
0276 4547 .byte 'E,'G
0278 4849 .byte 'H,'I
027A 494A .byte 'I,'J
027C 4948 .byte 'I,'H
027E 4848 .byte 'H,'H
0280 4848 .byte 'H,'H
0282 4800 .byte 'H,0
0284 00 .byte 0
0285 .dbfile D:\SL-DIY~1\diy0208_16_11\diy0816_11.c
0285 .dbsym e sound _sound A[645:645]kc
0285 _TONETABLE::
0285 44FC .word 64580
0287 ACFC .word 64684
0289 09FD .word 64777
028B 34FD .word 64820
028D 82FD .word 64898
028F C8FD .word 64968
0291 06FE .word 65030
0293 22FE .word 65058
0295 56FE .word 65110
0297 85FE .word 65157
0299 9AFE .word 65178
029B C1FE .word 65217
029D E4FE .word 65252
029F 03FF .word 65283
02A1 11FF .word 65297
02A3 .dbsym e TONETABLE _TONETABLE A[30:15]ki
.area text(rom, con, rel)
0000 .dbfile D:\SL-DIY~1\diy0208_16_11\diy0816_11.c
0000 .dbfunc e delay_us _delay_us fV
0000 ; time -> R16,R17
.even
0000 _delay_us::
0000 .dbline -1
0000 .dbline 90
0000 ; //11. I/O端口的又一应用-声音输入处理。
0000 ; //请修改以上程序,如何用声控来启动。
0000 ; // www.sl.com.cn
0000 ; // teny@sl.com.cn 05-11-12
0000 ; // Target : mega16 Crystal: 8.0000Mhz
0000 ;
0000 ; #include <iom16v.h>
0000 ; #include <macros.h>
0000 ; /* 音乐数据 */
0000 ; /* 四分之一拍为0x10, 二分之一拍为0x20, 一拍为0x40*/
0000 ; /* 低1-1 2-2 3-3 4-4 5-5 6-6 7-7 */
0000 ; /* 中1-8 2-9 3-A 4-B 5-C 6-D 7-E */
0000 ; /* 高1-F*/
0000 ;
0000 ; const unsigned char sound[]={ //乐曲数据表
0000 ; 0x23,0x24,0x25,0x44,0x45,0x24,0x23,0x22,0x42,0x40,0x40,0x23,0x22,0x21,0x41,0x28,
0000 ; 0x48,0x23,0x25,0x45,0x40,0x40,0x21,0x21,0x42,0x21,0x21,0x41,0x20,0x28,0x47,0x26,
0000 ; 0x17,0x16,0x15,0x45,0x40,0x31,0x11,0x21,0x21,0x21,0x22,0x42,0x40,0x20,0x23,0x23,
0000 ; 0x24,0x25,0x24,0x23,0x24,0x25,0x26,0x23,0x23,0x42,0x42,0x40,0x23,0x22,0x21,0x41,
0000 ; 0x28,0x28,0x28,0x23,0x25,0x45,0x45,0x40,0x20,0x25,0x46,0x28,0x28,0x48,0x20,0x29,
0000 ; 0x47,0x26,0x17,0x16,0x15,0x45,0x25,0x25,0x26,0x28,0x18,0x16,0x26,0x28,0x26,0x28,
0000 ; 0x19,0x19,0x49,0x49,0x20,0x25,0x2a,0x18,0x19,0x29,0x28,0x16,0x17,0x16,0x15,0x25,
0000 ; 0x25,0x28,0x29,0x2a,0x29,0x48,0x28,0x48,0x2c,0x4c,0x4c,0x40,0x2a,0x2c,0x1c,0x1a,
0000 ; 0x2a,0x2a,0x29,0x4a,0x2b,0x2a,0x4a,0x4a,0x40,0x2a,0x29,0x29,0x28,0x28,0x26,0x48,
0000 ; 0x29,0x26,0x45,0x45,0x40,0x25,0x25,0x26,0x21,0x18,0x16,0x26,0x28,0x26,0x28,0x29,
0000 ; 0x49,0x49,0x20,0x25,0x28,0x29,0x2a,0x29,0x49,0x28,0x48,0x2c,0x4c,0x4c,0x40,0x2a,
0000 ; 0x2c,0x15,0x1a,0x2a,0x2a,0x29,0x4a,0x2b,0x2a,0x4a,0x4a,0x40,0x2a,0x29,0x29,0x28,
0000 ; 0x28,0x26,0x28,0x28,0x29,0x26,0x45,0x45,0x40,0x25,0x25,0x26,0x28,0x28,0x26,0x2a,
0000 ; 0x19,0x18,0x28,0x18,0x19,0x48,0x48,0x40,0x40,0x40,0x40,0x28,0x48,0x29,0x28,0x28,
0000 ; 0x2a,0x1a,0x1a,0x1a,0x18,0x40,0x20,0x26,0x28,0x28,0x28,0x26,0x28,0x48,0x26,0x25,
0000 ; 0x45,0x45,0x40,0x40,0x40,0x28,0x48,0x28,0x28,0x1c,0x1d,0x2d,0x2c,0x28,0x28,0x28,
0000 ; 0x20,0x26,0x19,0x1a,0x29,0x19,0x18,0x28,0x28,0x26,0x21,0x29,0x49,0x49,0x40,0x20,
0000 ; 0x28,0x29,0x2a,0x4a,0x4a,0x20,0x25,0x28,0x29,0x48,0x48,0x48,0x25,0x25,0x26,0x28,
0000 ; 0x28,0x26,0x2a,0x19,0x18,0x28,0x18,0x19,0x49,0x49,0x40,0x40,
0000 ;
0000 ; 0x25,0x28,0x2A,0x4A,0x29,0x28,0x48,0x28,
0000 ; 0x26,0x46,0x28,0x45,0x25,0x28,0x2A,0x4A,
0000 ; 0x29,0x28,0x48,0x28,0x29,0x49,0x2A,0x49,
0000 ; 0x40,0x2A,0x4A,0x2B,0x4C,0x40,0x3D,0x1D,
0000 ; 0x2D,0x2D,0x4C,0x40,0x2A,0x4A,0x2C,0x48,
0000 ; 0x28,0x2A,0x29,0x46,0x25,0x48,0x40,
0000 ;
0000 ; 0x2a,0x2a,0x4a,0x2a,0x2a,0x4a,0x2a,0x2c,0x28,0x29,
0000 ; 0x4a,0x4a,0x2b,0x2b,0x2b,0x2b,0x2b,0x2a,0x2a,0x2a,
0000 ; 0x2a,0x29,0x29,0x28,0x49,0x4c,0x2a,0x2a,0x4a,0x2a,
0000 ; 0x2a,0x4a,0x2a,0x2c,0x28,0x29,0x4a,0x4a,0x2b,0x2b,
0000 ; 0x2b,0x2b,0x2b,0x2a,0x2a,0x2a,0x2c,0x2c,0x2b,0x29,
0000 ; 0x48,0x48,
0000 ;
0000 ; 0x4a,0x2a,0x29,0x28,0x29,0x28,0x27,0x46,0x46,0x46,
0000 ; 0x46,0x4b,0x2b,0x2a,0x29,0x28,0x29,0x2b,0x4a,0x4a,
0000 ; 0x4a,0x4b,0x2b,0x2a,0x49,0x29,0x2b,0x4a,0x2a,0x28,
0000 ; 0x46,0x48,0x47,0x4a,0x29,0x28,0x27,0x28,0x46,0x46,
0000 ; 0x46,0x46,0x4a,0x2a,0x29,0x28,0x29,0x28,0x27,0x46,
0000 ; 0x46,0x46,0x46,0x4b,0x2b,0x2a,0x29,0x28,0x29,0x2b,
0000 ; 0x4a,0x4a,0x4a,0x4b,0x2b,0x2a,0x49,0x29,0x2b,0x4a,
0000 ; 0x2a,0x28,0x46,0x48,0x47,0x4a,0x29,0x28,0x27,0x28,
0000 ; 0x46,0x46,0x46,0x46,
0000 ;
0000 ; 0x43,0x43,0x45,0x49,0x49,0x49,0x48,0x48,0x45,0x44,
0000 ; 0x44,0x44,0x43,0x43,0x43,0x43,0x44,0x45,0x46,0x46,
0000 ; 0x46,0x45,0x45,0x45,0x43,0x43,0x45,0x49,0x49,0x49,
0000 ; 0x48,0x48,0x45,0x44,0x44,0x44,0x43,0x43,0x45,0x45,
0000 ; 0x46,0x47,0x48,0x48,0x48,0x48,0x48,0x48,0x49,0x49,
0000 ; 0x45,0x47,0x46,0x45,0x43,0x43,0x45,0x48,0x48,0x48,
0000 ; 0x46,0x46,0x48,0x49,0x49,0x48,0x47,0x47,0x47,0x45,
0000 ; 0x45,0x45,0x43,0x43,0x45,0x49,0x49,0x49,0x48,0x48,
0000 ; 0x45,0x44,0x44,0x44,0x43,0x43,0x45,0x45,0x46,0x47,
0000 ; 0x48,0x48,0x48,0x48,0x40,0x40,
0000 ;
0000 ; 0x45,0x48,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x49,0x4a,
0000 ; 0x49,0x48,0x48,0x48,0x48,0x48,0x45,0x48,0x4a,0x4a,
0000 ; 0x48,0x4a,0x4c,0x4c,0x4b,0x4a,0x49,0x49,0x49,0x49,
0000 ; 0x49,0x4c,0x4b,0x4a,0x4a,0x4a,0x49,0x48,0x48,0x49,
0000 ; 0x4a,0x4c,0x4b,0x4b,0x4b,0x4b,0x4b,0x46,0x46,0x45,
0000 ; 0x45,0x45,0x47,0x48,0x49,0x49,0x4a,0x49,0x48,0x48,
0000 ; 0x48,0x48,0x48,0x48,
0000 ;
0000 ; 0x00,0x00
0000 ; };
0000 ;
0000 ; /* 音阶表 */
0000 ; const unsigned int TONETABLE[15]={
0000 ; 64580,64684,64777,64820,64898,64968,65030,65058,
0000 ; 65110,65157,65178,65217,65252,65283,65297
0000 ; };
0000 ; /* 音阶重装常数 */
0000 ; /* 微秒级延时程序 */
0000 ; void delay_us(int time)
0000 ; {
0000 L2:
0000 .dbline 92
0000 ; do
0000 ; {
0000 .dbline 93
0000 ; time--;
0000 0150 subi R16,1
0002 1040 sbci R17,0
0004 .dbline 94
0004 ; }
0004 L3:
0004 .dbline 95
0004 ; while (time>1);
0004 81E0 ldi R24,1
0006 90E0 ldi R25,0
0008 8017 cp R24,R16
000A 9107 cpc R25,R17
000C CCF3 brlt L2
000E .dbline -2
000E L1:
000E .dbline 0 ; func end
000E 0895 ret
0010 .dbsym r time 16 I
0010 .dbend
0010 .dbfunc e delay_ms _delay_ms fV
0010 ; time -> R20,R21
.even
0010 _delay_ms::
0010 0E940000 xcall push_gset1
0014 A801 movw R20,R16
0016 .dbline -1
0016 .dbline 100
0016 ; }
0016 ;
0016 ; /* 毫秒级延时程序 */
0016 ; void delay_ms(unsigned int time)
0016 ; {
0016 05C0 xjmp L7
0018 L6:
0018 .dbline 102
0018 .dbline 103
0018 08EE ldi R16,1000
001A 13E0 ldi R17,3
001C F1DF xcall _delay_us
001E .dbline 104
001E 4150 subi R20,1
0020 5040 sbci R21,0
0022 .dbline 105
0022 L7:
0022 .dbline 101
0022 ; while(time!=0)
0022 4030 cpi R20,0
0024 4507 cpc R20,R21
0026 C1F7 brne L6
0028 X0:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -