在写这个帖子之前,先给个我之前的帖子的链接:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=5095479&bbs_page_no=1&search_mode=4&search_text=Pony279&bbs_id=9999
其实做完那个简单的MP3播放功能之后我就想开发做录音功能了,可惜,我又想学这又想学那的。。。一直没把时间花在这上面,
估计坛子里还没有人用51来搞VS1003录音的吧(貌似搜到有用STM32搞的),我想主要原因是文件系统上的问题了,因为在51上搞文件系统确实比较麻烦,
大侠们都没多少时间花在这上面,也不实际吧。在寒假的时候抽出时间来折腾,把我以前写的文件系统给完善了,实现了文件写的功能,不过也一直没用上,
终于今天搞这个录音用上了,哈哈~
现在的测试代码也比较简单的,先上视频(视频效果不好。。。不会做功放。。。不好意思。。。)
点击此处下载 ourdev_724361OOZZG8.zip(文件大小:5.49M) (原文件名:20120305009.zip)
视频中描述的功能其实是这样的。。。
我先说了一句:Hey ~ man.
然后声音就录下来并写到SD卡上了。
然后就控制VS1003不停的播放刚才录下来的内容(耳机在我摄像的手机旁边,没录到。。。效果不好。。。不要被我富有磁性的声音迷倒了哈)
测试代码的功能是这样的:
一上电,初始化完成后就进入录音模式,开始录音
然后当我串口发送任意字符时,录音停止,开始不停的回放。(串口发送信息刚才也没录。。。)
然后是代码以及全部资料:
工程代码ourdev_724362BH9BLN.zip(文件大小:117K) (原文件名:STC12-MP3.zip)
VS1003的datasheet以及一个中文资料ourdev_724363LSTFXS.zip(文件大小:1.87M) (原文件名:IC.zip)
VS1003和SD模块的电路图,其实是买的模块,电路图我自己也没仔细看 ourdev_724364VRR07A.zip(文件大小:296K) (原文件名:sch.zip)
至于电路连接,在程序的SD模块和VS1003模块相应的.c文件里写的很清楚了,我帖上来:
VS1003模块:
sbit VS_SO = P1^6; //串行数据输出,单片机从VS1003中读取数据
sbit VS_SI = P1^5; //串行数据输入,由单片机写入到VS1003
sbit VS_SCK = P1^7; //串行时钟,由单片机产生
sbit VS_XCS = P1^0; //片选信号
sbit VS_XRESET = P1^1; //复位信号
sbit VS_XDCS = P1^2; //数据片选
sbit VS_DREQ = P1^3; //数据请求
SD模块:
//管脚定义
sbit SD_CS=P1^4;
//{ 硬件SPI管脚
sbit clk = P1^7;
sbit miso = P1^6;
sbit mosi = P1^5;
//} 硬件SPI管脚 //如果改了这些,SPI_ReadWriteByte也得改了。。。
再来张图好了,硬件上只有最小系统和一个STC自动下载辅助工具是我自己做的,有兴趣的也可以搜我以前的帖子,帮我提高下我的淫气我是不会介意的~
(原文件名:20120305572.jpg)
为了节省时间,所以测试代码写得比较简陋,欢迎拍砖或鉴赏或围观~
呵呵,想换条裤子,不知这个帖子分量够不?
|