0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于十六位单片机实现数码录音及播放系统的设计

电子设计 来源:甘肃科技 作者:吴小红 2021-03-17 16:03 次阅读

SPCE061A是台湾凌阳公司生产的一种新型的十六位单片机,该款单片机资源丰富,具有极高的性价比。SPCE061A具有可编程音频处理功能,同时又具有串口输入输出端口SIO(它提供了一个1位的串行接口,用于与其它设备进行数据通讯),本文就是介绍利用SPCE061A的这两个资源和串行接口的FLASH(SPR1024)来开发数码录音及播放系统。

本系统只使用5个IO口,还有好多资源没有用到。因此,开发者可以在此基础上扩展系统的功能,比如,使用SPCE061A的通用异步串行接口UART来实现与PC机的通讯,或者使用其他的IO口来外挂USB器件实现与PC机的USB通讯,制作复杂的录、放音系统。

1 系统结构

系统结构框图如图3.7所示,它主要由按键输入、音频录入、音频输出和SPR1024存储扩展这四部分组成。

基于十六位单片机实现数码录音及播放系统的设计

按键输入部分:它由3个按键组成。

音频录入部分:主要由MIC、自动增益电路、AD转换电路构成。

音频输出部分:主要由LM386放大器,喇叭播放器组成。

SPR1024 FLASH部分:主要用来存储编码后的语音数据。

2 硬件设计

本系统主要采用SPCE061A单片机和SPR1024 FLASH芯片。其中SPR1024也是台湾凌阳科技公司生产的,它是串行接口的FLASH,是40脚DIP封装的IC。它的工作电压范围为2.7V“3.6V,存储容量为128K * 8位,FLASH内部结构以1k字节为一页,共128页。该芯片与SPCE061A的IOB0和IOB1相连的管脚是21pin的SCLK,4pin的ADPAD。

SPCE061A是性价比极高、资源丰富的一款十六位单片机,使用它可以非常方便的实现语音的录放系统。SPCE061A的A/D转换器有8个通道,其中有1个通道是MIC-IN输入,它专门用于对语音信号进行采样。语音信号经Mic转换成电信号,由隔直电容隔掉直流成分,然后输入至SPCE061A内部前置放大器。SPCE061A内部自动增益控制电路AGC能随时跟踪、监视前置放大器输出的音频信号电平,当输入信号增大时,AGC电路自动减小放大器的增益;当输入信号减小时,AGC电路自动增大放大器的增益,以便使进入A/D的信号保持在最佳电平,又可使削波减至最小。 2路10位精度的DA,只需要外接功放(LM386)电路即可完成语音的播放。

系统的硬件连接图如图3.8所示。图中三个按键控制着系统的录音、停止、放音三个过程。按下Record键,采集语音数据,编码后存储语音数据到SPR1024;按下Stop键,停止录音;按下Play键,播放所录语音。

图3.8 硬件连接图

3 软件设计

本系统软件设计流程图如图3.9所示:

录放音的编解码是靠调用库函数完成,不需要我们设计硬件电路。凌阳公司提供了丰富的库函数,我们只要了解库函数的使用,就能轻松完成语音录放。本系统采用的是凌阳公司提供的音频格式SACM_A2000,它的压缩编码率是16Kbit/s,因此可以计算出1Mbit的存储器可以存放播放1M/16K = 64秒的语音数据。凌阳的音频格式有许多种,由于篇幅关系,不在这里详细讲述,请参考相关资料

本系统底层驱动程序包括IO口初始化、SPR1024的读写、擦除使用的是汇编语言编写的。上层程序包括语音的录放采用C语言编写。程序以函数的形式封装对SPR1024芯片的操作,上层程序可以轻松调用这些函数,实现对SPR1024读写、擦除操作。这些主要源于凌阳十六位单片机具有易学易用的效率较高的一套指令系统和集成开发环境。在此环境中,支持标准C语言,可以实现C语言与凌阳汇编语言的互相调用。

4 总结

本系统只是实现SPCE061A的一个基本应用,设计者只要对该系统的电路、程序稍加改动,就可以实现语音复读机、跟读机、留言机、以及电话录音仪等功能。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6034

    文章

    44528

    浏览量

    633606
  • 接口
    +关注

    关注

    33

    文章

    8537

    浏览量

    150906
  • usb
    usb
    +关注

    关注

    60

    文章

    7909

    浏览量

    264139
收藏 人收藏

    评论

    相关推荐

    proteus能模仿十六位单片机芯片吗?如果能的话能模仿

    proteus能模仿十六位单片机芯片吗?如果能的话能模仿什么芯片?那家公司生产的?什么型号?
    发表于 02-28 09:05

    关于十六位单片机的问题

    我是一名刚学会c51单片机单片机初学者,现在想学习飞思卡尔凌阳之类的十六位芯片的操作,我却找不到什么资料,我想问一下我该从何做起?买什么书比较好?用什么软件来仿真,kei能仿真飞思卡尔之类的吗 ?电路模拟用proteus行吗?
    发表于 03-03 11:44

    现在十六位单片机,32位的单片机用的广泛吗?

    现在十六位单片机,32位的单片机用的广泛吗?都用在什么地方,还有加强版的8位单片机用在什么地方,有神么新的功能?谢谢大家乐,目前想学习更高一层的
    发表于 04-04 15:39

    现在十六位单片机,32位的单片机用的广泛吗?

    现在十六位单片机,32位的单片机用的广泛吗?都用在什么地方,还有加强版的8位单片机用在什么地方,有神么新的功能?谢谢大家乐,目前想学习更高一层的
    发表于 04-04 15:41

    现在十六位单片机,32位的单片机用的广泛吗?

    现在十六位单片机,32位的单片机用的广泛吗现在十六位单片机,32位的单片机用的广泛吗?都用在
    发表于 04-04 15:42

    现在十六位单片机,32位的单片机用的广泛吗?

    现在十六位单片机,32位的单片机用的广泛吗?都用在什么地方,还有加强版的8位单片机用在什么地方,有神么新的功能?谢谢大家乐,目前想学习更高一层的
    发表于 04-04 15:43

    现在十六位单片机,32位的单片机用的广泛吗?

    现在十六位单片机,32位的单片机用的广泛吗?都用在什么地方,还有加强版的8位单片机用在什么地方,有神么新的功能?谢谢大家乐,目前想学习更高一层的
    发表于 04-04 15:59

    请问十六位数据传输给单片机的p口所接受到的数据是什么?

    一个十六位数据传输给单片机的p口,,它所接受到的数据是什么。。。。高八位?低八位?
    发表于 09-16 10:35

    十六位模数转换器AD7705及其应用

    AD7705 是AD 公司最近推出的十六位模数转换器。我们主要介绍了它的功能和特点,给出了基于AD7705 实际应用的硬件、软件设计方法,以及部分程序源代码,总结了实际应用中必须注意的
    发表于 04-20 09:36 74次下载

    使用SPCE061A扩展K9F1208实现数码录音播放

        摘要:SPCE061A是凌阳公司设计的一种新型的十六位单片机,该
    发表于 03-11 11:51 1223次阅读
    使用SPCE061A扩展K9F1208<b class='flag-5'>实现</b><b class='flag-5'>数码</b><b class='flag-5'>录音</b>及<b class='flag-5'>播放</b>

    十六位二进制数比较器

    十六位二进制数比较器
    发表于 04-13 11:05 5030次阅读
    <b class='flag-5'>十六位</b>二进制数比较器

    采用SPCE061A设计的SIO实现数码录音播放

    采用SPCE061A设计的SIO实现数码录音播放 本文就是介绍利用SPCE061A的这两个资源和串行接口的FLASH(SPR1024)来开发数码
    发表于 04-20 11:45 1015次阅读
    采用SPCE061A设计的SIO<b class='flag-5'>实现</b><b class='flag-5'>数码</b><b class='flag-5'>录音</b>及<b class='flag-5'>播放</b>

    凌阳十六位单片机与51单片机的比较分析

    本文首先介绍了凌阳十六位单片机与51单片机的优点,其次详细的从硬件、性能和功能这三个方面来阐述了凌阳十六位单片机与51
    发表于 04-11 11:44 7070次阅读

    使用SPCE061A的SIO实现数码录音播放

    关键词:SIO , SPCE061A , 播放 , 数码录音 SPCE061A是台湾凌阳公司生产的一种新型的十六位单片机,该款
    发表于 11-09 09:17 339次阅读

    使用51单片机实现六位数码管时钟的程序免费下载

    本文档的主要内容详细介绍的是使用51单片机实现六位数码管时钟的程序免费下载。
    发表于 07-19 17:38 32次下载
    使用51<b class='flag-5'>单片机</b><b class='flag-5'>实现</b><b class='flag-5'>六位数码</b>管时钟的程序免费下载