当前位置: 首页 > news >正文

基于单片机的语音存储与回放系统设计

2 硬件电路设计

该系统可分为三个部分:微控制器控制部分、语音记录和回放部分,功率放大器部分。采用51单片机为控制核心,采用ISD4004进行录音和播放。P0连接按钮用于记录和播放,并连接到LED,显示当前的记录和播放状态。
2.1 时钟电路
时钟电路由晶体振荡器和电容器组成,时钟电路就像平时家里用的时钟一样控制着任何工作的时间。时钟电路的用途很多,时钟电路被广泛使用,它的主要工作是产生与时钟一样精确的振荡器电路。任何工作都按时间顺序排列。产生该时间的电路是时钟电路,如图2-1所示。

图2-1 时钟电路
2.2 复位电路
复位电路在微型计算机系统中是非常简单的电路,但它非常重要。其主要功能是上电复位,以确保在打开电源后可以正确启动系统。当系统遭受导致系统故障的某些外部原因时,可以通过“重置”按钮将系统重置为正常工作状态。复位电路的电路图如图2-2所示。打开电源时,仅当VCC超过4.75V且低于5.25V时,复位信号才被清除,晶体振荡器稳定工作,微机电路开始正常工作。

图2-2 复位电路
2.3 显示电路
本次项目使用的是LCD1602显示模块,它可以同时显示32个字符。1602通过D0〜D7的8位数据端子发送数据和命令。该端口连接到微控制器的P0端口。V0端口用于调整显示器的对比度。一个10K可变电阻器连接到此端口,可以通过调整电阻的大小来控制显示屏的亮度。 RS是寄存器选择的控制端子。该端口连接到微控制器的P24引脚。该端口连接到微控制器的P25引脚。图2-3给出了电路原理图。

图2-3 LCD1602电路原理图

3 软件设计

该软件的设计基于硬件,并且要由该软件实现的功能基于常规硬件。如果硬件不能正常工作,则意味着没有好的软件可以实现任何功能。如果没有软件,那用再好的硬件也是毫无作用的。将需要实现的功能确定之后,如果调试正确,就会可以开始设计本次项目需要的软件模块了。本次项目使用51单片机作为开发的基础,软件格式采用Keil C51来进行汇编语言的编译。
3.1 编程工具软件Keil C51
Keil C51集成开发环境是基于80C51内核的微处理器软件开发平台。他可以独立完成整个项目的建立,也就是完成整个开发过程。用于单片机应用系统的常用软件编写语言是汇编、C、BASIC、C ++等。对于51单片机而言,使用最广泛的是汇编语言和C语言。
使用Keil C需要以下五个步骤来开发单片机程序:
(1)选择创建一个全新的项目,然后选择本次项目中使用的单片机机型。
(2)μVision3中的文件编辑器功能,可以用来编写源程序文件,并且需要将此文件添加到新建的这个项目中去。
(3)通过μVision3的各种选项,配置Cx51编译器、Ax51宏汇编器、BL51/Lx51连接定位器以及Debug调试器的功能。
(4)使用μVision3软件,将编写后的源程序将编写后的源程序代码进行编译,然后生成HEX格式的可执行文件,如果在编译过程中出现错误,那么就返回到第2步对源程序代码进行修改。
(5)如果编译没有错误,那么就证明源程序代码没有错误,这时就可以将源程序代码导入仿真软件中进行仿真操作。
本次项目中选用的汇编语言可以直接与计算机的底层软件进行交互,它可以直接访问硬件的存储器或者端口,并且没有局限性,能够对二进制代码进行完美的操控,很好的发挥出硬件的优势,运行速度也会大大提高,所以本次项目我选用了汇编语言对这个项目进行调试。
3.2 程序设计原理
对软件的设计可以和硬件的设计相结合,因为不管哪个功能是由硬件完成的,哪个任务是由软件完成的,基本都可以在硬件设计完成后确定。
软件的总体设计思路可以分为两类:其中一类是执行软件,这一类软件可以完成计算测量、显示、打印、输出等非常实质性操作,另一类是起到执行协调作用的监视软件,这是用来起到协调作用的,在整个软件系统中充当调度员的角色。所以软件的设计有两类,他们各具特色,并且软件的设计很偏重算法,还与硬件之间有很大的联系。
在进行软件的设计时,应该将所有的模块列举出来,然后通过数据结构规划好,所有的模块规划好之后,就可以进行监控了,编程比较容易,但是监控就比较难了,这就像是当一名员工容易,但是当一名领导就比较困难。
3.3 系统主程序设计
主程序的设计思路,是考虑到4个按键的接口,通过单片机循环扫描来检测是否有按键被按下去,当任何一个按键被按下后,都会去执行该按键的这个子程序。例如当单片机扫描识别到按键被按下时,这个时候单片机就会去执行录音的程序,当单片机扫描识别到放音按键被按下时,单片机就会停止录音程序,去运行放音的子程序,每个状态在执行时切换下一个状态时都需要按下停止按键清除状态标志。流程图如图3-1所示。

图3-1 按键检测流程图

4 系统调试

4.1 硬件调试
通过单片机控制语音芯片完成的语音存储与回访系统的电路比较大,而且回涉及到很多的模块电路,比如会涉及到单片机的最小系统、时钟电路、液晶显示模块等等,所以在焊接时要十分注意,涉及到多种模块的这种电路,哪怕只要存在一处的焊接错误,就会导致整个系统的检测无法完成,因为电路中交叉的线路非常多,所以在焊接过程中避免焊接错误和短路现象,如果电路连接错误,将给检测带来极大的不便,并且该电路具有更多的交叉线。请注意处理各种尖锐的针脚,否则会刺破被覆的电线并导致短路。
检查正确性后,我们开始在通用板上焊接。 PCB图如图4-1所示。

图4-1 PCB图
在系统的硬件调试中遇到了许多问题。回想一下,只要仔细考虑,就可以避免这些问题。以下是主要问题:
一开始,我认为微控制器无法正常驱动ISD4004,因此无法进行记录和播放。
解决方案:搜索相关信息后,必须在微控制器的P0端口上添加一个上拉电阻,以正常驱动外部芯片。
4.2 软件调试
该系统是一个相对复杂的数字系统,因此其程序也相对复杂,因此在编写程序和调试过程中存在许多问题。首先,为了更好地测试效果,在确认没有错误之后,我直接在PROTUES软件下启动了仿真,然后将程序刻录到实际环境中运行。最终,在对模块子例程进行了许多修改之后,它逐渐完成并最终解决了软件中的各种问题。在软件调试过程中遇到的主要问题如下:
1.程序刻录后,LCD屏幕闪烁并且亮度不均匀。
解决方案:首先,逐步修改呼叫延迟,以解决显示闪烁的问题。其次,由于这项工作使用的是在动态扫描模式下显示的数字,因此动态扫描速度非常快,人眼看不到它,但是当调用显示程序时,如果返回时未屏蔽最后一个值,则它将它将看起来非常明亮。现象,因此将屏蔽子命令添加到了显示器的背面,从而最终解决了该问题。
2.当用户按下按钮时,微控制器读取的值与设置值不同。
解决方案:检查一下键盘的连接,并建立新的连接。
4.3 调试结果
测试中如果未显示LCD液晶,需要先使用测试仪测试电路,以观察是否存在漏焊,虚焊或组件损坏。
搜索了一系列问题后,系统最终可以正常工作并完成所有功能。
4.4 调试结果展示

文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。

http://www.jsqmd.com/news/210918/

相关文章:

  • 信息安全从入门到精通:技术、管理与法规的全景解读
  • 基于单片机的蓝牙无线密码锁设计
  • 如何规划你的网络安全认证之路?详解通往CISSP的“黄金跳板”证书
  • 智能能耗优化:汽车制造企业如何落地EMS系统
  • 图解TCP核心机制:一张速查表搞定协议要点、面试题与实战调优
  • 基于单片机的智能晾衣架控制系统的设计与实现
  • 助力航空精密制造:Tube Qualify在管路在线检测与弯曲分析中的应用
  • 2026移动端工程师AI大模型3个月速成计划:从App开发到智能体架构师!
  • 网络协议硬核解析:应对HTTP/TCP/UDP及NoSQL的灵魂拷问与设计原理
  • 谷歌重磅测试Nano Banana2Flash AI图像模型,极速+高性价比双突破
  • 解决报错Error in sitecustomize; set PYTHONVERBOSE for traceback:NameError: name ‘reload‘ is not defined
  • 一篇文章讲透网络协议知识体系:从TCP/IP、HTTP到NoSQL的协议栈全景
  • 只会写Prompt怎么行?揭秘生产级Agent炼成之路:这10大工程维度,你一定要懂!
  • 突破传统点式测量:DIC技术在复合材料全场变形与损伤表征中的应用
  • 配管配线工程量计算规范实操
  • 耐达讯自动化CAN转PROFIBUS网关让软启动器如何让包装线告别“信号迷宫”
  • 3C电子制造质检升级:拍照式蓝光3D扫描在精密测量中的应用实践
  • 网络分析工具Wireshark系列专栏:20-Wireshark 快捷键大全,文末附备忘录
  • 如何用 4 种可靠的方法更换 iPhone
  • 从日跑百单到月入1.5W,外卖骑手的网络安全转行路
  • 工业通信中的“工业战狼”!耐达讯自动化CAN转PROFIBUS网关
  • 云负载测试实战:JMeter进阶 - 突破单机瓶颈,驾驭分布式云端压测
  • 计算机毕业设计springboot课程思政教学资源库 基于SpringBoot的高校思政课程数字化资源管理平台 SpringBoot+Vue 课程思政教学资源共享与互动系统
  • 2026运维工程师35岁倒计时:别等被淘汰!网安黄金窗口期早转行早享受
  • 拒绝噪声,提升RAG准确率!RobustMask原理深度拆解,排序模型的正确用法,干货太硬核了!
  • 网络分析工具Wireshark系列专栏:19-命令行工具 tshark
  • 微服务架构下的性能测试策略
  • 如何解决长上下文“太拥挤”难题?一文讲透上下文工程与RAG的演进,收藏这篇就够了!
  • 收藏!Java开发者零门槛转型大模型:从入门到企业级落地
  • 收藏!大模型知识蒸馏方向深度调研(小白 程序员入门必备)