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

📄 音乐.lis

📁 用AVR 音乐合成: 1.音乐数据存放于芯片的flash存贮器中2.PA口显示不同的音阶变化。 3.音乐数据的低四位选择音调频率
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module _音乐.c
                        .area text(rom, con, rel)
 0000                   .dbfile 音乐.c
 0000                   .dbfunc e delay_us _delay_us fV
 0000           ;           time -> R16,R17
                        .even
 0000           _delay_us::
 0000                   .dbline -1
 0000                   .dbline 32
 0000           ; /*******************************************************************
 0000           ;         实验名称:音乐合成演示实验
 0000           ;                   作者:王晓波
 0000           ;                       晶振:内部    8M
 0000           ;               接线方法:
 0000           ;                       1.PC0和PD7分别接扬声器的两个输入端子。
 0000           ;                       2.PA0-PA3分别接I/O输出的O0-O3。
 0000           ;         使用说明:
 0000           ;                           1.音乐数据存放于芯片的flash存贮器中。
 0000           ;                               2.PA口显示不同的音阶变化。
 0000           ;                               3.音乐数据的低四位选择音调频率,
 0000           ;                               高四位*5后,为音调持续时间。
 0000           ; ********************************************************************/
 0000           ; #include <iom16v.h>
 0000           ; #include <macros.h>
 0000           ; #define DO    63622   //523
 0000           ; #define RE    63831   //587
 0000           ; #define       MI      64017   //659
 0000           ; #define FA    64102   //698
 0000           ; #define       SO      64259   //784
 0000           ; #define LA    64398   //880
 0000           ; #define       TI      64522   //988                                                   
 0000           ; #define DO_H  64578   //1046
 0000           ; #define RE_H  64683   //1174
 0000           ; #define MI_H  64776   //1318
 0000           ; #define FA_H  64819   //1397
 0000           ; #define SO_H  64897   //1568
 0000           ; #define LA_H  64966   //1760
 0000           ; #define TI_H  65028   //1976
 0000           ; #define DO_HH 65057   //2093
 0000           ; void delay_us(int time)
 0000           ; {//微秒级延时程序     
 0000           L2:
 0000                   .dbline 34
 0000           ;       do
 0000           ;       {
 0000                   .dbline 35
 0000           ;          time--;
 0000 0150              subi R16,1
 0002 1040              sbci R17,0
 0004                   .dbline 36
 0004           ;       }       
 0004           L3:
 0004                   .dbline 37
 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 40
 0016           ; }
 0016           ; void delay_ms(unsigned int time)
 0016           ; {//毫秒级延时程序
 0016 05C0              xjmp L7
 0018           L6:
 0018                   .dbline 42
 0018                   .dbline 43
 0018 08EE              ldi R16,1000
 001A 13E0              ldi R17,3
 001C F1DF              xcall _delay_us
 001E                   .dbline 44
 001E 4150              subi R20,1
 0020 5040              sbci R21,0
 0022                   .dbline 45
 0022           L7:
 0022                   .dbline 41
 0022           ;       while  (time!=0)
 0022 4030              cpi R20,0
 0024 4507              cpc R20,R21
 0026 C1F7              brne L6
 0028           X0:
 0028                   .dbline -2
 0028           L5:
 0028 0E940000          xcall pop_gset1
 002C                   .dbline 0 ; func end
 002C 0895              ret
 002E                   .dbsym r time 20 i
 002E                   .dbend
                        .area lit(rom, con, rel)
 0000           _sound::
 0000 404C              .byte 64,'L
 0002 4A49              .byte 'J,'I
 0004 C849              .byte 200,'I
 0006 4746              .byte 'G,'F
 0008 E54E              .byte 229,'N
 000A 4D4E              .byte 'M,'N
 000C 6C2D              .byte 'l,45
 000E 4E4D              .byte 'N,'M
 0010 2C2D              .byte 44,45
 0012 2E2D              .byte 46,45
 0014 6F2D              .byte 'o,45
 0016 2C2D              .byte 44,45
 0018 2C29              .byte 44,41
 001A 2A2B              .byte 42,43
 001C 2A29              .byte 42,41
 001E C84C              .byte 200,'L
 0020 4E49              .byte 'N,'I
 0022 4648              .byte 'F,'H
 0024 C526              .byte 197,38
 0026 28E5              .byte 40,229
 0028 8365              .byte 131,'e
 002A 2668              .byte 38,'h
 002C 2926              .byte 41,38
 002E 2845              .byte 40,'E
 0030 6C2F              .byte 'l,47
 0032 3D1C              .byte 61,28
 0034 2A2C              .byte 42,44
 0036 E969              .byte 233,'i
 0038 2A47              .byte 42,'G
 003A 4665              .byte 'F,'e
 003C 2648              .byte 38,'H
 003E 4943              .byte 'I,'C
 0040 4836              .byte 'H,54
 0042 1526              .byte 21,38
 0044 18E5              .byte 24,229
 0046 6A2C              .byte 'j,44
 0048 4749              .byte 'G,'I
 004A 2628              .byte 38,40
 004C 8533              .byte 133,51
 004E 1543              .byte 21,'C
 0050 2526              .byte 37,38
 0052 2729              .byte 39,41
 0054 C625              .byte 198,37
 0056 2668              .byte 38,'h
 0058 294C              .byte 41,'L
 005A 4A49              .byte 'J,'I
 005C 2A29              .byte 42,41
 005E 4926              .byte 'I,38
 0060 2583              .byte 37,131
 0062 8826              .byte 136,38
 0064 2826              .byte 40,38
 0066 2523              .byte 37,35
 0068 2526              .byte 37,38
 006A 28C5              .byte 40,197
 006C 0404              .byte 4,4
 006E 494A              .byte 'I,'J
 0070 4A6A              .byte 'J,'j
 0072 2948              .byte 41,'H
 0074 4668              .byte 'F,'h
 0076 29C8              .byte 41,200
 0078 494A              .byte 'I,'J
 007A 4A6A              .byte 'J,'j
 007C 2C4A              .byte 44,'J
 007E 4A49              .byte 'J,'I
 0080 4ACA              .byte 'J,202
 0082 4C4D              .byte 'L,'M
 0084 4D6D              .byte 'M,'m
 0086 2C4A              .byte 44,'J
 0088 4A4C              .byte 'J,'L
 008A 4DCC              .byte 'M,204
 008C 494A              .byte 'I,'J
 008E 4A69              .byte 'J,'i
 0090 2A4A              .byte 42,'J
 0092 494A              .byte 'I,'J
 0094 4618              .byte 'F,24
 0096 E629              .byte 230,41
 0098 2929              .byte 41,41
 009A 2846              .byte 40,'F
 009C 2929              .byte 41,41
 009E 2928              .byte 41,40
 00A0 4649              .byte 'F,'I
 00A2 4A48              .byte 'J,'H
 00A4 692A              .byte 'i,42
 00A6 4C2D              .byte 'L,45
 00A8 2D2D              .byte 45,45
 00AA 2C4A              .byte 44,'J
 00AC 2929              .byte 41,41
 00AE 2928              .byte 41,40
 00B0 4646              .byte 'F,'F
 00B2 4546              .byte 'E,'F
 00B4 E600              .byte 230,0
 00B6                   .dbsym e sound _sound A[182:182]kc
 00B6           _TONETABLE::
 00B6 86F8              .word 63622
 00B8 57F9              .word 63831
 00BA 11FA              .word 64017
 00BC 66FA              .word 64102
 00BE 03FB              .word 64259
 00C0 8EFB              .word 64398
 00C2 0AFC              .word 64522
 00C4 42FC              .word 64578
 00C6 ABFC              .word 64683
 00C8 08FD              .word 64776
 00CA 33FD              .word 64819
 00CC 81FD              .word 64897
 00CE C6FD              .word 64966
 00D0 04FE              .word 65028
 00D2 21FE              .word 65057
 00D4                   .dbsym e TONETABLE _TONETABLE A[30:15]ki
                        .area vector(rom, abs)
                        .org 32
 0020 0C941700          jmp _timer1_ovf_isr
                        .area lit(rom, con, rel)
                        .area text(rom, con, rel)
 002E                   .dbfile 音乐.c
 002E                   .dbfunc e timer1_ovf_isr _timer1_ovf_isr fV
                        .even
 002E           _timer1_ovf_isr::
 002E 2A92              st -y,R2
 0030 3A92              st -y,R3
 0032 8A93              st -y,R24
 0034 2FB6              in R2,0x3f
 0036 2A92              st -y,R2
 0038                   .dbline -1
 0038                   .dbline 84
 0038           ;     {         
 0038           ;               delay_us(1000);
 0038           ;               time--;
 0038           ;      }
 0038           ; }                                                     
 0038           ; const unsigned char sound[]={ //乐曲数据表
 0038           ;                         /*************梁祝****************/
 0038           ;                                               0x40,0x4c,0x4a,0x49,0xc8,0x49,0x47,0x46,
 0038           ;                                               0xe5,0x4e,0x4d,0x4e,0x6c,0x2d,0x4e,
 0038           ;                                               0x4d,0x2c,0x2d,0x2e,0x2d,0x6f,0x2d,
 0038           ;                                               0x2c,0x2d,0x2c,0x29,0x2a,0x2b,
 0038           ;                                               0x2a,0x29,0xc8,0x4c,0x4e,0x49,0x46,0x48,
 0038           ;                                               0xc5,0x26,0x28,0xe5,0x83,0x65,0x26,
 0038           ;                                               0x68,0x29,0x26,0x28,0x45,0x6c,0x2f,0x3d,

⌨️ 快捷键说明

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