- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
录音笔设计和制作
录音笔的设计与制作
摘要:该实验设计基于AVRmega16开发板平台,介绍和分析了市场上流行的录音笔的基本原理,并做出了较为简单的录音笔模型展示其原理!主要功能有录音,存储,删除,放音等!
关键字:单片机 录音笔 录音与放音
我们的课程设计是基于 该系列的单片机,在硬件滤波的基础上,实现录音笔的各项功能!所作的录音笔具有可移植性强,功能简单,可以简单继续添加更多相关功能的模型!
对市场上流行已久的录音笔,我们有着学习相关知识以及制作的兴趣,又加上单片机课程给我们提供了相关的实验器材,所以说我们的目的最主要是学习,当然也有好奇的心理在里面。我们制作的录音笔能够进行简单语音信号的采集,存储与播放。
对于应用于实际生活中的各种语音信号的处理,还有很大差距,这有待于系统设计的进一步完善和改进,功能的进一步扩充。
硬件部分:
电路图如下:
硬件设计思想:
用麦克风采集音频信号,经过一次功放,然后用电容进行一次滤波,电容的大小采用2.2nf,滤波后进行AD转换,转换后的信号存在AT45DB081B中,然后用单片机调出信号,经过一次放大,将信号传到扬声器播放。
电路图上,mag16以上的电路图就是用来采集信号的,放大信号用的是LM324集成功放芯片。
Mag16一下的电路图用来放音,也是经过一次信号放大,再放大的同时尽心信号过滤,分别用了2.2nf和22nf的电容接地来实现!
软件部分:
软件设计思想:
首先是设备初始化,但是我在初始化程序中ADC.定时器等并没有进行初始化,只是告诉芯片PA0应该设置为输入,不上拉使能(为AD转换的输入通道设置),用于SPI的输出端口哪些应该为输入,哪些该为输出,如此等简单的引脚初始化。初始化完成之后,就进入主程序中进行键盘扫描,速度极其的快,无键盘按下时甚至只用不到1微秒的时间。一旦检测到哪个键按下就进入相应的程序中去。
录音程序的设计思想:
检测到录音键按下后进入,然后ADC初始化同时开始一次AD转换,延时等待一小会,AD转换结束了。接着SPI、定时器初始化,从此就靠定时器来主导整个录音程序的运行了。
定时器有中断,其中有要求TCNT0设置这个基本的操做,还有一个就是ADSC置位要求进行下一次转换。至于AD转化的值则在AD中断中往一个已经建好循环队列中写。定时器定时80微秒,一次AD转换是在定是一开始就进行,需要时间52微秒,也就是说定时器溢出时AD中断一定结束了,下一次中断之前数据一定已经进入了队列中,如此循环。而在这两个终端中间有大量的时间给我利用循环队列的特点向Dataflash中写数据。Dataflash有2048页,每一页有264字节,在每一页写满之前,程序不会再检测按键,一直到一页写满了,才检测按键,如果仍旧是按下则继续录音,否则退出。退出后如果存储空间未满则存储位置的参数会保留,下次录音可以接下去。如果满了,则录音工作指示灯永远都不会亮了,除非重启。
但是在退出录音程序时,ADC、SPI、定时器会全部关闭,再进入程序时再初始化开启。
放音程序的设计思想:
与录音程序相同,进入程序之后才开启所需要的功能。不同的是先开录音工作指示灯,SPI,然后向Dataflash要一次数据,再开TIMER2的快速PWM功能。
一次PWM时间是16微秒,每五次更新一次,通过调节占空比来实现DA转换的功能。同样的每五次中断期间都有足够的时间给程序向Dataflash要数据。
放音程序最大的特点是那些控制参数虽然是全局变量,但是它们在进入程序的第一时间就被初始化了,在就要退出程序的最后时刻再次被初始化。这样就使得整个程序可以进行循环放音,但是每次都是从头开始,放开按键时停止,再按下时从头开始。以此结束时会因为人很不可能恰好在退出程序时放开按键,所以放音键按下的状态会在下一个按键检测循环中被检测到,并进入方音程序。
软件实现具体流程:
返回录音程序放音程序
返回
录音程序
放音程序
开始
端口初始化
按键检测
开始
端口初始化
相关软件程序模块源代码以及相关功能:
//ICC-AVR application builder : 2007-6-22 17:58:09
// Target : M16
// Crystal: 16.000Mhz
#include iom16v.h
#include macros.h
#define BUFFER1_READ 0x54
#define BUFFER2_READ 0x56
#define MAIN_TO_BUFFER1 0x53
#define MAIN_TO_BUFFER2 0x55
#define BUFFER1_WRITE 0x84
#define BUFFER2_WRITE 0x87
#define BUFFER1_TO_MAIN_WITH 0x83
#de
您可能关注的文档
最近下载
- 外教社新世纪英专本科生系列(修订版):英语阅读 第1册 PPT课件Unit 3.pptx VIP
- 毕业论文的选题及开题报告的撰写.pptx VIP
- 初中语文2025届中考常考易错字词汇总(多音字+形声字+易错字形+易错成语).pdf VIP
- 4清洁生产的实施途径.pptx VIP
- 中视科华有限公司北京技术服务分公司招聘笔试题库2025.pdf
- JJG 1201-2024 数字式轮胎压力表.pdf
- 高标准农田建设项目监理实施细则.docx
- 四川省成都市2022-2023学年八年级下册期末物理试卷3(含答案).pdf VIP
- 钩端螺旋体病疫情应急处置技术方案.doc VIP
- GB 24430.1-2009 家用双层床安全第1部分:要求.docx VIP
文档评论(0)