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

📄 vs1003.txt

📁 MP3_PLAYER.rar
💻 TXT
📖 第 1 页 / 共 3 页
字号:
000040  f7fffffe          BL       Delay
;;;120        Mp3SoftReset();										//vs1003软复位
000044  e8bd4010          POP      {r4,lr}
000048  f7ffbffe          B.W      Mp3SoftReset
;;;121    
;;;122    }
;;;123    
                          ENDP

                  |L6.76|
00004c  4001080c          DCD      0x4001080c

                          AREA ||i.VsSineTest||, CODE, READONLY, ALIGN=2

                  VsSineTest PROC
;;;131    void VsSineTest(void)
;;;132    {
000000  b570              PUSH     {r4-r6,lr}
000002  4c61              LDR      r4,|L7.392|
;;;133    	Mp3PutInReset();  //xReset = 0   复位vs1003
000004  6820              LDR      r0,[r4,#0]
000006  f0200001          BIC      r0,r0,#1
00000a  6020              STR      r0,[r4,#0]
;;;134    	Mp3Reset();
00000c  f7fffffe          BL       Mp3Reset
;;;135    	Delay(1000);//wait(100);        //延时100ms     
000010  f44f757a          MOV      r5,#0x3e8
000014  4628              MOV      r0,r5
000016  f7fffffe          BL       Delay
;;;136    	SPIPutChar(0xff);//发送一个字节的无效数据,启动SPI传输
00001a  20ff              MOVS     r0,#0xff
00001c  f7fffffe          BL       SPIPutChar
;;;137    	Mp3DeselectControl();  
000020  6820              LDR      r0,[r4,#0]
000022  f0400002          ORR      r0,r0,#2
000026  6020              STR      r0,[r4,#0]
;;;138    	Mp3DeselectData();     
000028  6820              LDR      r0,[r4,#0]
00002a  f0400004          ORR      r0,r0,#4
00002e  6020              STR      r0,[r4,#0]
;;;139    	Mp3ReleaseFromReset(); 
000030  6820              LDR      r0,[r4,#0]
000032  f0400001          ORR      r0,r0,#1
000036  6020              STR      r0,[r4,#0]
000038  f6a4040c          SUB      r4,r4,#0x80c
;;;140    	
;;;141    	Mp3Reset();
00003c  f7fffffe          BL       Mp3Reset
;;;142    	Delay(500);//wait(100);	  
000040  106e              ASRS     r6,r5,#1
000042  4630              MOV      r0,r6
000044  f7fffffe          BL       Delay
;;;143    	
;;;144    	Mp3SetVolume(50,50);//设置音量
000048  2232              MOVS     r2,#0x32
00004a  4611              MOV      r1,r2
00004c  200b              MOVS     r0,#0xb
00004e  f7fffffe          BL       Mp3WriteRegister
;;;145                 
;;;146     	Mp3WriteRegister(SPI_MODE,0x08,0x20);//进入vs1003的测试模式
000052  2220              MOVS     r2,#0x20
000054  2108              MOVS     r1,#8
000056  2000              MOVS     r0,#0
000058  f7fffffe          BL       Mp3WriteRegister
;;;147    	Delay(500);
00005c  4630              MOV      r0,r6
00005e  f7fffffe          BL       Delay
;;;148    	while (GPIO_ReadInputData(GPIOA) & MP3_DREQ == 0);     //等待DREQ为高
000062  4849              LDR      r0,|L7.392|
000064  380c              SUBS     r0,r0,#0xc
000066  f7fffffe          BL       GPIO_ReadInputData
00006a  f604040c          ADD      r4,r4,#0x80c
;;;149    
;;;150     	Mp3SelectData();       //xDCS = 1,选择vs1003的数据接口
00006e  6820              LDR      r0,[r4,#0]
000070  f0200004          BIC      r0,r0,#4
000074  6020              STR      r0,[r4,#0]
;;;151     	
;;;152     	//向vs1003发送正弦测试命令:0x53 0xef 0x6e n 0x00 0x00 0x00 0x00
;;;153     	//其中n = 0x24, 设定vs1003所产生的正弦波的频率值,具体计算方法见vs1003的datasheet
;;;154        SPIPutChar(0x53);      
000076  2053              MOVS     r0,#0x53
000078  f7fffffe          BL       SPIPutChar
;;;155    	SPIPutChar(0xef);      
00007c  20ef              MOVS     r0,#0xef
00007e  f7fffffe          BL       SPIPutChar
;;;156    	SPIPutChar(0x6e);      
000082  206e              MOVS     r0,#0x6e
000084  f7fffffe          BL       SPIPutChar
;;;157    	SPIPutChar(0x24);      
000088  2024              MOVS     r0,#0x24
00008a  f7fffffe          BL       SPIPutChar
;;;158    	SPIPutChar(0x00);      
00008e  2000              MOVS     r0,#0
000090  f7fffffe          BL       SPIPutChar
;;;159    	SPIPutChar(0x00);
000094  2000              MOVS     r0,#0
000096  f7fffffe          BL       SPIPutChar
;;;160    	SPIPutChar(0x00);
00009a  2000              MOVS     r0,#0
00009c  f7fffffe          BL       SPIPutChar
;;;161    	SPIPutChar(0x00);
0000a0  2000              MOVS     r0,#0
0000a2  f7fffffe          BL       SPIPutChar
;;;162    	Delay(1000);
0000a6  4628              MOV      r0,r5
0000a8  f7fffffe          BL       Delay
;;;163    	Mp3DeselectData();//程序执行到这里后应该能从耳机听到一个单一频率的声音
0000ac  6820              LDR      r0,[r4,#0]
0000ae  f0400004          ORR      r0,r0,#4
0000b2  6020              STR      r0,[r4,#0]
;;;164      
;;;165        //退出正弦测试
;;;166    	Mp3SelectData();
0000b4  6820              LDR      r0,[r4,#0]
0000b6  f0200004          BIC      r0,r0,#4
0000ba  6020              STR      r0,[r4,#0]
;;;167    	SPIPutChar(0x45);
0000bc  2045              MOVS     r0,#0x45
0000be  f7fffffe          BL       SPIPutChar
;;;168    	SPIPutChar(0x78);
0000c2  2078              MOVS     r0,#0x78
0000c4  f7fffffe          BL       SPIPutChar
;;;169    	SPIPutChar(0x69);
0000c8  2069              MOVS     r0,#0x69
0000ca  f7fffffe          BL       SPIPutChar
;;;170    	SPIPutChar(0x74);
0000ce  2074              MOVS     r0,#0x74
0000d0  f7fffffe          BL       SPIPutChar
;;;171    	SPIPutChar(0x00);
0000d4  2000              MOVS     r0,#0
0000d6  f7fffffe          BL       SPIPutChar
;;;172    	SPIPutChar(0x00);
0000da  2000              MOVS     r0,#0
0000dc  f7fffffe          BL       SPIPutChar
;;;173    	SPIPutChar(0x00);
0000e0  2000              MOVS     r0,#0
0000e2  f7fffffe          BL       SPIPutChar
;;;174    	SPIPutChar(0x00);
0000e6  2000              MOVS     r0,#0
0000e8  f7fffffe          BL       SPIPutChar
;;;175    	Delay(1000);
0000ec  4628              MOV      r0,r5
0000ee  f7fffffe          BL       Delay
;;;176    	Mp3DeselectData();
0000f2  6820              LDR      r0,[r4,#0]
0000f4  f0400004          ORR      r0,r0,#4
0000f8  6020              STR      r0,[r4,#0]
;;;177    
;;;178        //再次进入正弦测试并设置n值为0x44,即将正弦波的频率设置为另外的值
;;;179        Mp3SelectData();       
0000fa  6820              LDR      r0,[r4,#0]
0000fc  f0200004          BIC      r0,r0,#4
000100  6020              STR      r0,[r4,#0]
;;;180    	SPIPutChar(0x53);      
000102  2053              MOVS     r0,#0x53
000104  f7fffffe          BL       SPIPutChar
;;;181    	SPIPutChar(0xef);      
000108  20ef              MOVS     r0,#0xef
00010a  f7fffffe          BL       SPIPutChar
;;;182    	SPIPutChar(0x6e);      
00010e  206e              MOVS     r0,#0x6e
000110  f7fffffe          BL       SPIPutChar
;;;183    	SPIPutChar(0x44);      
000114  2044              MOVS     r0,#0x44
000116  f7fffffe          BL       SPIPutChar
;;;184    	SPIPutChar(0x00);      
00011a  2000              MOVS     r0,#0
00011c  f7fffffe          BL       SPIPutChar
;;;185    	SPIPutChar(0x00);
000120  2000              MOVS     r0,#0
000122  f7fffffe          BL       SPIPutChar
;;;186    	SPIPutChar(0x00);
000126  2000              MOVS     r0,#0
000128  f7fffffe          BL       SPIPutChar
;;;187    	SPIPutChar(0x00);
00012c  2000              MOVS     r0,#0
00012e  f7fffffe          BL       SPIPutChar
;;;188    	Delay(1000);
000132  4628              MOV      r0,r5
000134  f7fffffe          BL       Delay
;;;189    	Mp3DeselectData(); 
000138  6820              LDR      r0,[r4,#0]
00013a  f0400004          ORR      r0,r0,#4
00013e  6020              STR      r0,[r4,#0]
;;;190    
;;;191    	//退出正弦测试
;;;192    	Mp3SelectData();
000140  6820              LDR      r0,[r4,#0]
000142  f0200004          BIC      r0,r0,#4
000146  6020              STR      r0,[r4,#0]
;;;193    	SPIPutChar(0x45);
000148  2045              MOVS     r0,#0x45
00014a  f7fffffe          BL       SPIPutChar
;;;194    	SPIPutChar(0x78);
00014e  2078              MOVS     r0,#0x78
000150  f7fffffe          BL       SPIPutChar
;;;195    	SPIPutChar(0x69);
000154  2069              MOVS     r0,#0x69
000156  f7fffffe          BL       SPIPutChar
;;;196    	SPIPutChar(0x74);
00015a  2074              MOVS     r0,#0x74
00015c  f7fffffe          BL       SPIPutChar
;;;197    	SPIPutChar(0x00);
000160  2000              MOVS     r0,#0
000162  f7fffffe          BL       SPIPutChar
;;;198    	SPIPutChar(0x00);
000166  2000              MOVS     r0,#0
000168  f7fffffe          BL       SPIPutChar
;;;199    	SPIPutChar(0x00);
00016c  2000              MOVS     r0,#0
00016e  f7fffffe          BL       SPIPutChar
;;;200    	SPIPutChar(0x00);
000172  2000              MOVS     r0,#0
000174  f7fffffe          BL       SPIPutChar
;;;201    	Delay(1000);
000178  4628              MOV      r0,r5
00017a  f7fffffe          BL       Delay
;;;202    	Mp3DeselectData();
00017e  6820              LDR      r0,[r4,#0]
000180  f0400004          ORR      r0,r0,#4
000184  6020              STR      r0,[r4,#0]
;;;203    
;;;204     }
000186  bd70              POP      {r4-r6,pc}
;;;205    
                          ENDP

                  |L7.392|
000188  4001080c          DCD      0x4001080c

                          AREA ||i.Mp3ReadRegister||, CODE, READONLY, ALIGN=2

                  Mp3ReadRegister PROC
;;;272    u16 Mp3ReadRegister(unsigned char addressbyte)
;;;273    {
000000  b570              PUSH     {r4-r6,lr}
000002  4c0d              LDR      r4,|L8.56|
000004  4603              MOV      r3,r0
;;;274    	u16 resultvalue = 0;
;;;275    	Mp3DeselectData();
000006  6820              LDR      r0,[r4,#0]
000008  f0400004          ORR      r0,r0,#4
00000c  6020              STR      r0,[r4,#0]
;;;276    	Mp3SelectControl();				//XCS = 0
00000e  6820              LDR      r0,[r4,#0]
000010  f0200002          BIC      r0,r0,#2

⌨️ 快捷键说明

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