导航:首页 > 操作系统 > 单片机vs1003

单片机vs1003

发布时间:2022-05-20 16:46:14

A. 关于51单片机、sd卡和vs1003的问题

不能~
补充回答:
恩我有VS1003的资料(英文的)你看看就知道了~SD卡需要单片机读取数据后给他的指令脉冲才行,但他自身是不能读SD卡或FLASH存储器的~另外读那个区也是单片机给存储器指令来读的~

B. STC的单片机有没有带MP3解码的 请给我介绍几个最容易开发做MP3的芯片谢谢

STC里面只是一个简单的8051内核再加上若干诸如:定时器,外部中断,AD转换器之类的外设,是没有MP3解码器的
你要开发MP3的话有VS1003或者VS1003专用解码芯片,需要用单片机把音频数据流送给它解码才能发出声音来,可以去了解一下

C. 能将多个音频文件同时放在vs1003芯片中吗

VS1003音频解码芯片MP3播放器实现的问题

玩MP3播放,之前已经实现了VS1003的正弦波测试,从耳机可以听到一定频率的声音了。之后开始写程序,希望从MMC/SD卡读取文件发送到VS1003播放。我的板子上MMC卡和VS1003都接在同一个硬件SPI接口上,靠不同的片选控制。程序的思路就是单片机从MMC卡读取一个扇区(512字节)的音频文件暂存在SRAM中,然后再依次将其发送到VS1003的串行数据口(SDI),循环以上过程从而实现音频文件的播放。原理还是很简单的,但是编出来的程序却不能播放声音出来,通过串口输出的调试信息看到有数据传送,可就是不响。经过仔细检查程序发现是引用的一个函数的变量类型指定错了(应该为unsigned int,写成了unsigned char)。排除这个错误后再实验,更新程序,上电运行,初始化MMC卡和VS1003,发命令开始播放文件,从耳机里传来了久违的音乐声。当时还是很激动的,毕竟从能出声(正弦波)到能放音乐之间花费的时间太久了。
能播放MP3之后又试了WMA,也是没有问题的。接下来的就是选不同的MP3文件进行码率测试了。最初,程序能流畅播放8,16,24,32,48,64kbps文件,再往上就会卡,估计是文件传送的速度不够快,开始优化程序。首先把SPI的时钟调到8Mhz,再实验,感觉好了点,但改善不大。问题出在哪呢?回过头来再看程序,读MMC卡的函数里我使用了循环,循环512次每次读一个字节,这样完成一个block的读取,发送数据到VS1003的函数也是如此。这样写程序层次感很好,但感觉循环的开销太大了(因为是512次循环,变量还必须用int型的)。于是改程序,在读扇区函数里每次循环读8字节数据,只需循环64次了,VS1003函数也同样修改。这样再试验,板子已经可以流畅播放128kbps的MP3,峰值数据传输率达到140k。有了这次的成功,我继续对程序优化,再次修改MMC_read(),每次循环读64字节数据,循环8次。VS1003_write()中每次循环读32字节数据,循环16次(数据手册说VS1003在芯片空闲时,至少能接收32字节数据,再多就需要查询DREQ引脚状态再判断)。这回提升的效果也很让人振奋,播放160k码率文件很流畅,换用高码率文件测试峰值数据传输速率172kbps。优化程序的成就感还是很大的:)
之后又对SPI中断函数动了手术,去掉了关中断和开中断的语句(因为我的中断函数中执行的语句就2条),尽量压缩处理时间。另外在SPI发送数据后有一个等待发送完成的检测环节,必须等SPI发送完毕才可以进行下一次发送,经过分析后,我发现这个检测可以去掉,因为我的SPI时钟已经达到8M,CPU工作在33M,STC宏晶的数据手册上显示一条指令大都在2-3个时钟周期内才可以完成,再加上每次SPI发送后我都需要移动指针(又是一条指令),而这时SPI发送早已完成。因此可以不必检测,直接再次发送数据。按照这个思路修改程序后,我的板子解码速度已经达到272kbps了,后来又做了些小的修改最高解码速率稳定在280kbps。至此,除了320k CBR编码的MP3播放有点卡以外,其他各种音频文件已没有任何问题(当然得是VS1003支持的格式:))。
在这个程序的开发过程中,我深深地感到仔细很重要,另外,有时候可以突破陈规大胆尝试(去掉SPI发送完毕检测就是一例)。现在模式只能顺序播放MMC卡中指定区域的数据,下一步我准备移植FAT文件系统到MCU上,这样就可以按文件播放了。希望我的经历对同样在用STC单片机,VS1003的朋友有所益处。

STC12+VS1003播放MP3程序开发历程
控制VS1003成功-〉播放正弦波-〉播放MP3成功-〉性能提高-〉64kbps-〉112kbps-〉140kbps-〉172kbps-〉272kbps-〉280kbps

D. 51单片机读取MP3文件通过vs1003播放耳机有杂音怎么解决

MP3模块输出后的电路原理,PCB布局布线都有可能有问题。

E. (51单片机c语言)vs1003b得出的14个频谱值具体是什么数据,如何在LED显示

VS1003 是一个单片MP3/WMA/MIDI音频解码器和ADPCM编码器。它包含一个高性能,自主产权的低功耗DSP
处理器核VS_DSP4,工作数据存储器,为用户应用提供5KB 的指令RAM 和0.5KB 的数据RAM。串行的控制和数据接口,4
个常规用途的I/O 口,一个UART,也有一个高品质可变采样率的ADC和立体声DAC,还有一个耳机放大器和地线缓冲器。
VS1003
通过一个串行接口来接收输入的比特流,它可以作为一个系统的从机。输入的比特流被解码,然后通过一个数字音量控制器到达一个18 位过采样多位ε-Δ
DAC。通过串行总线控制解码器。除了基本的解码,在用户RAM 中它还可以做其他特殊应用,例如DSP 音效处理。

=============================================================
51搞这个, 有点吃力. 音频也许可以, 视频就不要想了.

将mp3数据送入到vs1003解码, 由它的adc转换成音频数字信号, 音频的范围10-20Khz, 在这个范围内选择14个频点, 对应14列LED, 根据频点的频谱大小, 来设置LED列的多少.

至于数据的FFT变换, 不清楚怎么实现.

F. 51单片机声音输出

看你要输出什么样的音频。
1、如果只是很简单的像某些有声贺卡那样的话,接一个无源喇叭,自己控制I/O输出一个方波,通过控制方波的频率来调节音调,然后将不同的频率组合起来,连续播放就是一首简单的歌曲。
2、如果要输出MP3,那就需要一块音频解码芯片,比如VS1003。单片机将存储在外部存储器里(比如U盘)的歌曲信息通过接口芯片传给音频解码芯片,解码之后就能输出歌曲了。

第二种情况相对比较复杂,涉及到如何高效读取存储的歌曲信息和高效传输这些信息。

G. 用Proteus进行MP3仿真,没有音频解码芯片VS1003怎么办

这个不用仿真,直接上板子就行。。。。单片机控制MP3我做过本科时候,你上电子发烧友,搜“stc12c5a60s2 单片机 MP3 ”关键字看看我的做法就行。

H. STC12C5A60S2单片机对VS1003MP3解码模块音频解码时候出现的问题

没见程序,不知道程序有没有问题;我做的时候就不是直接连SPI接口的,我是用9014来隔离的很好用没问题

I. 谁知道怎么用单片机读取sd卡上的MP3文件并播放

可以,需要MP3解码器,解码器有软件解码器,硬件解码器(硬件解码器去淘宝找)。比较麻烦,说不清楚!

J. 最近在研究STC12C5A60S2单片机,买了个vs1003语音模块,网上找不到相关资料

系统控制
主控制芯片选用STC 12C5A16S2 LQFP44封装

1个时钟/机器周期8051、无法解密、低功耗,超低价、高速,高可靠性、强抗静电,强抗干扰
系统选择
本系统以STC12C5A60S2单片机为控制核心。STC12C5A60S2单片机是台湾宏晶公司2010年推出的新一代超强抗干扰、高速、搞可靠性、超低功耗的8051单片机,编程语言完全兼容传统8051单片机。

STC12C5A60S2/AD/PWM 系列主要性能:
●高速:1 个时钟 / 机器周期,增强型 8051 内核,速度比普通 8051 快 8~12 倍
●宽电压:5.5~3.3V,2.2~3.6V(STC12LE5A60S2 系列)
●增加第二复位功能脚(高可靠复位,可调整复位门槛电压,频率<12MHz 时,无需此功能)
●增加外部掉电检测电路,可在掉电时,及时将数据保存进EEPROM,正常工作时无需操作EEPROM
●低功耗设计:空闲模式, (可由任意一个中断唤醒)
●低 功耗设计:掉电模式(可由外部中断唤醒) ,可支持下降沿 / 上升沿和远程唤醒
●工作频率:0~35MHz,相当于普通 8051:0~420MHz
●时钟:外部晶体或内部 RC 振荡器可选,在 ISP 下载编程用户程序时设置
● 8/16/20/32/40/48/52/56/60/62K 字节片内 Flash 程序存储器,擦写次数 10 万次以上
● 1280 字节片内 RAM 数据存储器
●芯片内 EEPROM 功能,擦写次数 10 万次以上
● ISP / IAP,在系统可编程 / 在应用可编程,无需编程器 / 仿真器
● 8 通道,10 位高速 ADC,速度可达 25 万次 / 秒,2 路 PWM 还可当 2 路 D/A 使用
● 2 通道捕获 / 比较单元(PWM/PCA/CCP ) , --- 也可用来再实现 2 个定时器或 2 个外部中断(支持上升沿 / 下降沿中断)
● 4 个 16 位定时器,兼容普通 8051 的定时器 T0/T1,2 路 PCA 实现 2 个定时器
●可编程时钟输出功能,T0 在 P3.4 输出时钟,T1 在 P3.5 输出时钟,BRT 在 P1.0 输出时钟
●硬件看门狗(W D T )
●高速 SPI 串行通信端口
●全双工异步串行口(UART),兼容普通 8051 的串口
●先进的指令集结构,兼容普通 8051 指令集,有硬件乘法 / 除法指令
●通用 I/O 口(36/40/44 个) ,复位后为: 准双向口 / 弱上拉(普通 8051 传统 I/O 口) 可设置成四种模式:准双向口 / 弱上拉,推挽 / 强上拉,仅为输入 / 高阻,开漏 每个 I/O 口驱动能力均可达到 20mA,但整个芯片最大不得超过 100mA

STC12C5A60S2/AD/PWM 系列单片机的优点 :
●速度快, 1 个时钟 / 机器周期,可用低频晶振,大幅降低 E M I
●支持掉电唤醒的管脚:INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,RxD/P3.0, CCP0/P1.3( 或 P4.2),CCP1/P1.4(或 P4.3),EX_LVD/P4.6
●超低功耗: 掉电模式:外部中断唤醒功耗 <0.1uA,支持下降沿 / 上升沿 / 低电平和远程唤醒 适用于电池供电系统 ,如水表,气表,便携设备等 . 空闲模式: ●典型功耗 <1.3mA, 正常工作模式:2mA - 7mA
●输入 / 输出口多,最多有 44 个 I/O 口,A/D 做按键扫描还可以节省很多 I/O
●在系统可编程, 无需编程器, 无需仿真器,可远程升级
●可送 STC-ISP 下载编程器,1 万片 / 人 / 天
●内部集成高可靠复位电路,外部复位电路可彻底省掉,当然也可以继续用 外部复位电路

2.1.2 STC12C5A60S2 系列 1T 单片机简介
STC12C5A60S2/AD/PWM 系列单片机是宏晶科技生产的单时钟 / 机器周期(1T)的单片机,是高速 / 低功耗 / 超强抗干扰的新一代 8051 单片机,指令代码完全兼容传统 8051,但速度快 8-12 倍.内部集成 MAX810 专用 复位电路,2 路 PWM,8 路高速 10 位 A/D 转换(250K/S),针对电机控制,强干扰场合.
1. 增强型 8051 CPU,1T,单时钟 / 机器周期,指令代码完全兼容传统 8051
2 . 工作电压: STC12C5A60S2 系列工作电压: 5.5V - 3 . 3 V (5 V 单片机) STC12LE5A60S2 系列工作电压:3.6V - 2 . 2 V (3 V 单片机)
3. 工作频率范围:0 - 35MHz,相当于普通 8051 的 0~420MHz
4. 用户应用程序空间 8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K 字节......
5. 片上集成 1280 字节 RAM
6. 通用 I/O 口(36/40/44 个) ,复位后为: 准双向口 / 弱上拉(普通 8051 传统 I/O 口) 可设置成四种模式:准双向口 / 弱上拉,推挽 / 强上拉,仅为输入 / 高阻,开漏 每个 I/O 口驱动能力均可达到 20mA,但整个芯片最大不要超过 55mA
7 . I S P (在系统可编程)/ I A P (在应用可编程) ,无需专用编程器,无需专用仿真器 可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片
8. 有 EEPROM 功能(STC12C5A62S2/AD/PWM 无内部 EEPROM)
9. 看门狗
10. 内部集成 MAX810 专用复位电路(外部晶体 12M 以下时,复位脚可直接 1K 电阻到地) 11. 外部掉电检测电路: 在 P4.6 口有一个低压门槛比较器 5V 单片机为 1.32V,误差为 +/-5%,3.3V 单片机为 1.30V,误差为 +/-3%
12. 时钟源:外部高精度晶体 / 时钟,内部 R/C 振荡器(温漂为 +/-5% 到 +/-10% 以内) 用户在下载用户程序时,可选择是使用内部 R/C 振荡器还是外部晶体 / 时钟 常温下内部 R/C 振荡器频率为:5.0V 单片机为: 11MHz ~ 15.5MHz 3.3V 单片机为: 8MHz ~ 12MHz 精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准
13. 共 4 个 16 位定时器 两个与传统 8051 兼容的定时器 / 计数器,16 位定时器 T0 和 T1,没有定时器 2,但有独立波特率发生器 做串行通讯的波特率发生器 再加上 2 路 PCA 模块可再实现 2 个 16 位定时器
14. 2 个时钟输出口,可由 T0 的溢出在 P3.4/T0 输出时钟,可由 T1 的溢出在 P3.5/T1 输出时钟
15. 外部中断 I/O 口 7 路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的 PCA 模块, Power Down 模式可由外部中断唤醒, INT0/P3.2, INT1/P3.3, T0/P3.4, T1/P3.5, RxD/P3.0, CCP0/P1.3(也可通过寄存器设置到 P4.2 ), CCP1/P1.4 (也可通过寄存器设置到 P4.3)
16. PWM(2 路)/PCA(可编程计数器阵列,2 路) --- 也可用来当 2 路 D/A 使用 --- 也可用来再实现 2 个定时器 --- 也可用来再实现 2 个外部中断(上升沿中断 / 下降沿中断均可分别或同时支持)
17. A/D 转换, 10 位精度 ADC,共 8 路,转换速度可达 250K/S(每秒钟 25 万次)
18. 通用全双工异步串行口(UART),由于 STC12 系列是高速的 8051,可再用定时器或 PCA 软件实现多串口
19. STC12C5A60S2 系列有双串口,后缀有 S2 标志的才有双串口,RxD2/P1.2(可通过寄存器设置到 P4.2), TxD2/P1.3(可通过寄存器设置到 P4.3)
20. 工作温度范围: -40 - +85℃(工业级) / 0 - 75℃(商业级)
21. 封装:PDIP-40,LQFP-44,LQFP-48 I/O 口不够时,可用 2 到 3 根普通 I/O 口线外接 74HC164/165/595(均可级联)来扩展 I/O 口, 还可用 A/D 做按键扫描来节省 I/O 口,或用双 CPU,三线通信,还多了串口.

引脚结构图:

单片机在线编程电路:

阅读全文

与单片机vs1003相关的资料

热点内容
国什么app 浏览:366
rtk文件夹没了怎么办 浏览:187
饥荒安卓闪退怎么办 浏览:635
python二次开发cad 浏览:304
程序员直播机器人舞团 浏览:769
devc指针编译问题 浏览:1002
支持dsd硬解压声卡 浏览:771
怎么查看u盘加密区 浏览:184
台电加密是什么格式 浏览:158
php论坛版块在哪个文件夹 浏览:442
暗黑的服务器为什么维护 浏览:624
android内存溢出的原因 浏览:18
标志307的压缩比是多少 浏览:636
服务器启动为什么叫三声 浏览:997
追风筝的人英文pdf 浏览:940
解压小熊手机壳 浏览:348
成都市区建成面积算法 浏览:662
智能家居单片机 浏览:98
买男装用什么app好 浏览:857
文件夹合并了怎么拆开 浏览:262