⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sound.lis

📁 AVR 8515音乐演示demo程序
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                         .module sound.c
                         .area vector(rom, abs)
                         .org 18
 0012 0EC0              rjmp _timer0
                         .org 12
 000C 22C0              rjmp _timer1
                         .area lit(rom, con, rel)
 0000                 _music_data::
 0000 B801              .word 440
 0002 5802              .word 600
 0004 EE01              .word 494
 0006 C800              .word 200
 0008 0B02              .word 523
 000A 5802              .word 600
 000C B801              .word 440
 000E C800              .word 200
 0010 0B02              .word 523
 0012 9001              .word 400
 0014 EE01              .word 494
 0016 C800              .word 200
 0018 B801              .word 440
 001A C800              .word 200
 001C EE01              .word 494
 001E 9001              .word 400
 0020 4A01              .word 330
 0022 9001              .word 400
 0024 EE01              .word 494
 0026 5802              .word 600
 0028 0B02              .word 523
 002A C800              .word 200
 002C 4202              .word 578
 002E 5802              .word 600
 0030 EE01              .word 494
 0032 C800              .word 200
 0034 4202              .word 578
 0036 9001              .word 400
 0038 0B02              .word 523
 003A C800              .word 200
 003C EE01              .word 494
 003E C800              .word 200
 0040 B801              .word 440
 0042 2003              .word 800
 0044 9302              .word 659
 0046 9001              .word 400
 0048 7003              .word 880
 004A 9001              .word 400
 004C 1003              .word 784
 004E 9001              .word 400
 0050 7003              .word 880
 0052 C800              .word 200
 0054 1003              .word 784
 0056 C800              .word 200
 0058 BA02              .word 698
 005A 9001              .word 400
 005C 9302              .word 659
 005E C800              .word 200
 0060 4202              .word 578
 0062 C800              .word 200
 0064 9302              .word 659
 0066 9001              .word 400
 0068 B801              .word 440
 006A 9001              .word 400
 006C 0000              .word 0
 006E C800              .word 200
 0070 BA02              .word 698
 0072 9001              .word 400
 0074 4202              .word 578
 0076 C800              .word 200
 0078 9302              .word 659
 007A 5802              .word 600
 007C 0B02              .word 523
 007E C800              .word 200
 0080 EE01              .word 494
 0082 C800              .word 200
 0084 4A01              .word 330
 0086 C800              .word 200
 0088 0B02              .word 523
 008A C800              .word 200
 008C EE01              .word 494
 008E C800              .word 200
 0090 B801              .word 440
 0092 2003              .word 800
 0094 9302              .word 659
 0096 9001              .word 400
 0098 7003              .word 880
 009A 9001              .word 400
 009C 1003              .word 784
 009E 9001              .word 400
 00A0 7003              .word 880
 00A2 C800              .word 200
 00A4 1003              .word 784
 00A6 C800              .word 200
 00A8 BA02              .word 698
 00AA 9001              .word 400
 00AC 9302              .word 659
 00AE C800              .word 200
 00B0 4202              .word 578
 00B2 C800              .word 200
 00B4 9302              .word 659
 00B6 9001              .word 400
 00B8 B801              .word 440
 00BA 9001              .word 400
 00BC 0000              .word 0
 00BE C800              .word 200
 00C0 BA02              .word 698
 00C2 9001              .word 400
 00C4 4202              .word 578
 00C6 C800              .word 200
 00C8 9302              .word 659
 00CA 5802              .word 600
 00CC 0B02              .word 523
 00CE C800              .word 200
 00D0 EE01              .word 494
 00D2 C800              .word 200
 00D4 4A01              .word 330
 00D6 C800              .word 200
 00D8 0B02              .word 523
 00DA C800              .word 200
 00DC EE01              .word 494
 00DE C800              .word 200
 00E0 B801              .word 440
 00E2 2003              .word 800
 00E4 0000              .word 0
 00E6 0000              .word 0
 00E8                   .dbfile D:\ICC-AVR\examples.sl\music_8535\sound.c
 00E8                   .dbsym s music_data _music_data A[232:58:2]i
                         .area data(ram, con, rel)
 0000                   .dbfile D:\ICC-AVR\examples.sl\music_8535\sound.c
 0000                 _delay::
 0000                   .blkb 2
                         .area idata
 0000 0000              .word 0
                         .area data(ram, con, rel)
 0002                   .dbfile D:\ICC-AVR\examples.sl\music_8535\sound.c
 0002                   .dbsym s delay _delay i
                         .area text(rom, con, rel)
 0000                   .dbfile D:\ICC-AVR\examples.sl\music_8535\sound.c
 0000                   .dbfunc s music_init _music_init fI
                         .even
 0000                 _music_init::
 0000                   .dbline -1
 0000                   .dbline 42
                       ; /**********************************************
                       ;              http://www.sl.com.cn
                       ;       双龙电子公司----电脑音乐演示程序(ICCAVR)
                       ;                  作者:詹卫前
                       ;           1、学习定时器T0溢出中断的使用
                       ;           2、学习定时器T1比较中断的使用
                       ;           3、学习电脑音乐的产生
                       ; **********************************************/
                       ; #include <io8535.h>
                       ; #include <macros.h>
                       ; #pragma interrupt_handler timer0:IT_TIMER0_OVF0
                       ; #pragma interrupt_handler timer1:IT_TIMER1_COMPA
                       ; const unsigned int music_data[][2]=
                       ; /*******************************************
                       ;        卡秋莎音乐数据{x,y}
                       ;        x:对应音符音阶(频率),0表示休止符
                       ;        y:对应音符节拍
                       ; ********************************************/
                       ; {
                       ; {440,600} ,{494,200} ,{523,600} ,{440,200},
                       ; {523,400} ,{494,200} ,{440,200} ,{494,400},
                       ; {330,400} ,{494,600} ,{523,200} ,{578,600},
                       ; {494,200} ,{578,400} ,{523,200} ,{494,200},
                       ; {440,800} ,{659,400} ,{880,400} ,{784,400},
                       ; {880,200} ,{784,200} ,{698,400} ,{659,200},
                       ; {578,200} ,{659,400} ,{440,400} ,{  0,200},//休止符
                       ; {698,400} ,{578,200} ,{659,600} ,{523,200},
                       ; {494,200} ,{330,200} ,{523,200} ,{494,200},
                       ; {440,800} ,{659,400} ,{880,400} ,{784,400},
                       ; {880,200} ,{784,200} ,{698,400} ,{659,200},
                       ; {578,200} ,{659,400} ,{440,400} ,{  0,200},//休止符
                       ; {698,400} ,{578,200}, {659,600} ,{523,200},
                       ; {494,200} ,{330,200}, {523,200} ,{494,200},
                       ; {440,800} ,
                       ; {0,0}};
                       ; #pragma data:data
                       ; unsigned int delay=0;
                       ; /*******************************
                       ;        MCU初始化
                       ; *******************************/
                       ; void music_init(void)
                       ;  {
 0000                   .dbline 43
                       ;   MCUCR=0x00;
 0000 2224              clr R2
 0002 25BE              out 0x35,R2
 0004                   .dbline 44
                       ;   DDRC=0x01;
 0004 81E0              ldi R24,1
 0006 84BB              out 0x14,R24
 0008                   .dbline 45
                       ;   TCCR1A=0x00;
 0008 2FBC              out 0x2f,R2
 000A                   .dbline 46
                       ;   TCCR1B=0x09;
 000A 89E0              ldi R24,9
 000C 8EBD              out 0x2e,R24
 000E                   .dbline 47
                       ;   TCCR0=0x03;
 000E 83E0              ldi R24,3
 0010 83BF              out 0x33,R24
 0012                   .dbline 48
                       ;   TCNT0=0x19;
 0012 89E1              ldi R24,25
 0014 82BF              out 0x32,R24
 0016                   .dbline 49
                       ;   TIMSK=(1<<OCIE1A)|(1<<TOIE0);
 0016 81E1              ldi R24,17
 0018 89BF              out 0x39,R24
 001A                   .dbline -2
 001A                   .dbline 50
                       ;   }
 001A                 L1:
 001A                   .dbline 0 ; func end
 001A 0895              ret
 001C                   .dbfunc s timer0 _timer0 fI
                         .even
 001C                 _timer0::
 001C 8A93              st -y,R24
 001E 9A93              st -y,R25
 0020 8FB7              in R24,0x3f
 0022 8A93              st -y,R24
 0024                   .dbline -1
 0024                   .dbline 55
                       ; /**************************************************
                       ;       T0中断程序,产生音乐节拍
                       ; **************************************************/  
                       ; void timer0(void) 
                       ;     {
 0024                   .dbline 56
                       ;      delay++;
 0024 80910000          lds R24,_delay
 0028 90910100          lds R25,_delay+1
 002C 0196              adiw R24,1
 002E 90930100          sts _delay+1,R25
 0032 80930000          sts _delay,R24
 0036                   .dbline 57
                       ;      TCNT0=0x19;
 0036 89E1              ldi R24,25
 0038 82BF              out 0x32,R24
 003A                   .dbline -2
 003A                   .dbline 58
                       ;     }
 003A                 L2:
 003A 8991              ld R24,y+
 003C 8FBF              out 0x3f,R24
 003E 9991              ld R25,y+
 0040 8991              ld R24,y+

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -