资讯专栏INFORMATION COLUMN

毕业设计 - 题目:基于单片机的录音器设计与实现 - 物联网 嵌入式

fobnn / 1421人阅读

摘要:信息的安全性可控性已成为录音系统的重要研究内容。系统设计系统架构通过单片机与语音功能集成芯片,以及液晶芯片进行设计,由单片机控制来实现语音的录制存储以及播放清除等功能。


1 简介

Hi,大家好,这里是丹成学长,今天向大家介绍一个 单片机项目


大家可用于 课程设计 或 毕业设计

技术解答、毕设帮助、开题指导print("Q 746876041") 

2 绪论

2.1 课题背景与目的

在近代电子工程应用中, 录音系统已经越来越多的以数字信号形式, 并运用数字电路技术来处理信息。 录音系统作为一种音频捕获设备在音频信息获取方面有着广泛的应用。 目前, 市面上的录音系统只能提供录音、 监听、 查询、 回放和管理等基本功能。 传统的录音设备无法满足野生动物保护等特殊场合对录音设备远程可控性的要求, 以及记者、 警察这类特殊人群对取证录音的加密保护需要。信息的安全性、 可控性已成为录音系统的重要研究内容。

实现数字录音技术、 移动通信控制技术和信息加密技术的基础上, 学长设计了一款基于 STM32 的专用数字录音系统, 实现了数字录音、 实时加密以及远程控制功能, 实现信息的安全性和可控性。

3 系统设计

3.1 系统架构

通过 51 单片机与语音功能集成芯片 ISD4004, 以及 LCD12864 液晶芯片进行设计, 由单片机控制 ISD4004 来实现语音的录制存储以及播放清除等功能。 并且通过 LCD12864 来实现良好的人机交互界面。 具体框图如下所示:

学长考虑到采用资源不多的 51 单片机, 这样节省了资源同时单片机运算速度已经足够用于检测按键, 以及控制录音笔进行各种操作, 而且这种设计无需对数字信号进行编码压缩的复杂的操作, 实现简单, 功耗不高, 相对而言成本也不高, 所以本设计采用了此方案

3.2 硬件部分

(略)

3.3 软件部分

主程序流程

系统接通电源后, 主程序初始化后进入开机界面然后进入主循环,首先是按键检测, 提示密码输入, 正确则进入主菜单选择界面, 否则重复输入, 有三次校正密码的机会, 三次输入密码错误则蜂鸣器提示报警系统必须手动重启, 正确进入菜单后, 进行所需的选择然后, 通过 12864显示出设计相关信息。

录放声音程序设计

ISD4004 通过单片机控制, 当检测到按下录音键, 单片机通过 SPI接口发送相应指令将输入的信号进行采样, 经过芯片内部的一系列处理, 保存在芯片的储存器中。 当检测到按下放音键时, 发送放音指令使其处于放音状态。 录放程序流程图如下:

LCD12864 程序设计

设计采用的是 LCD12864 液晶显示, 由于其本身带有驱动模块液晶屏, 所以对于该显示操作程序可以分为开显示, 设置显示初始行, 写数据和清屏等部分。 12864 的写命令程序, 写数据程序, 显示程序都以子程序的形式在 12864 库函数里, 方便程序函数之间调用。

DS1302 程序设计

在 DS1302 的时钟日历或者 RAM 进行数据传送时, DS1302 必须首先发送命令字节。 若进行单字节传送, 8 位命令字节传送结束之后,在下个 2SCLK 周期的上升沿输入数据字节, 或者在下 8 个 SCLK 周期的下降沿输出数据字节。

3.4 实现效果

3.5 部分相关代码

/************************************************  作者:丹成学长,Q746876041************************************************/void ISD_SPI_Send8( uchar addr_8 ); //spi 串行发送, 8 位数据void ISD_SPI_Send16( uint addr_16 ); //spi 串行发送, 16 位数据uint ISD_SPI_Rowadd(void); //读取 16 位行地址void ISD_Stop(void); //发送 stop 指令void ISD_PowerUp(void); // 上电 0X20void ISD_PowerDown(void);  //掉电 0X10void ISD_Play(void); //发送当前地址放音指令void ISD_SetPlay(uint add); //发送指定地址放音指令void ISD_Rec(void); //发送当前地址录音指令void ISD_SetRec(uint add); //发送指定地址录音指令void PLAY_now(uchar add_set); //按指定地址段开始播放void REC_now(uchar add_set); // 按指定地址段开始录音void isd_voice_year(uchar i1,uchar i2,uchar i3,uchar i4,uchar i5,uchari6); //播报年月日void isd_voice_hour(uchar i1,uchar i2,uchar i3,uchar i4,uchar i5,uchari6); //播报时分秒void isd_voice_baoshi(void);  //播报"报时"void isd_rec_play(void); //录音放音一体化void addr_display(uint addr,uchar flag); //录放音地址显示void main_menu(void);//主菜单void main_menu1(void);void main_menu2(void);void start(void);//开始界面void start1(void);void initialize(void); //初始化void write_com(uchar com);  //写指令void write_dat(uchar dat);  //写数据void CGRAM(void); // CGRAM 自定义显示字符void init_photo(void);  //图片初始化void photo(uchar *address);//图片显示void photo2(void);void display1(void);  //登陆界面void display2(void);  //欢迎界面void display3(void);void display_design(void);void write_ds1302_byte(uchar dat); //写操作写入一个字节void write_ds1302(uchar address,uchar dat);//DS1302 写入数据uchar read_ds1302_byte(uchar address);  //单字节读数据操作void set_rtc(void);  //校对时间void read_ds1302(void);  //读 ds1302 所有数据void time_deal(void); //处理数据, bcd 转换成十进制void ds1302_display(void); //显示界面void ds1302_display_data(void);  //显示年星期月日时秒分数据void ds1302_main(void); //时间主函数void write_ds1302_byte(uchar dat); //写操作写入一个字节void write_ds1302(uchar address,uchar dat);//DS1302 写入数据uchar read_ds1302_byte(uchar address);  //单字节读数据操作void set_rtc(void);  //校对时间void read_ds1302(void);  //读 ds1302 所有数据void time_deal(void); //处理数据, bcd 转换成十进制void ds1302_display(void); //显示界面void ds1302_display_data(void);  //显示年星期月日时秒分数据void ds1302_main(void); //时间主函数void init_ds18b20(void); //初始化void delay(uint t);//延时void write_byte(uchar dat);//  DS18B20 写 1 个字节函数uchar read_byte(void);//  DS18B20 读 1 个字节函数uchar read_temperature(void);//读温度uint read_temperature1(void);  //读温度, 两位小数处理void display(uchar temp,uint temp1);//温度显示void ds18b20_tem(void); //温度显示void ds18b20_1302(void);  //ds1302 里的温度显示void voice_temperature(uchar i1,uchar i2);//播报温度/*******************************************************************篇幅有限,只展示部分代码作者:丹成学长,Q746876041********************************************************************/

4 最后

技术解答、毕设帮助、开题指导print("Q 746876041") 

单片机毕设项目大全:
https://blog.csdn.net/huawei123444/article/details/119822845

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/123565.html

相关文章

  • 毕业设计 - 题目: 基于片机智能小车 - 入式 联网 本科毕设

    摘要:基于单片机的智能小车控制就是其中的一个体现。本设计实现了一种基于单片机的自动避障智能模型车系统,通过红外传感器采集路况信息,通过对检测信息的分析,自动控制转向电机转向,改变行驶路径,绕过障碍物,从而实现车稳定避障。 ...

    Genng 评论0 收藏0
  • 毕业设计 - 题目基于RFID门禁系统 - 片机 联网 入式

    摘要:门禁系统可有效管理门的开启关闭对出入人员进行监控管理。基于的门禁系统通过对射频卡的识别,保证那些持有相应证件的人员能自由进出,阻止外来人员或无法提供证件的人员进入。 ...

    dingda 评论0 收藏0
  • 毕业设计 - 题目基于片机指纹识别考勤系统 - 入式 联网

    摘要:本文在充分理解考勤系统原则和目标的基础上,采用单片机对考勤进行硬件设计并采用面向对象的思想进行上位机管理系统的设计。该芯片共内置个中文汉字,个字符的码字符库及点阵显示。单片机指纹考勤系统参数设定流程如图所示。 ...

    antz 评论0 收藏0
  • 基于片机蓝牙控制窗帘电路系统

    摘要:设计简介本设计是基于单片机的蓝牙控制窗帘电路系统,主要实现以下功能可通过显示温湿度光照强度窗帘状态和模式可通过按键调整光照强度最小值可通过蓝牙连接手机进行远程控制可通过获取温湿度可通过光敏电阻获取光照强度。 设计简介: 本设计是基于单片机的蓝牙控制窗帘电路系统,主要实现以下功能: 可通过LC...

    lowett 评论0 收藏0
  • 基于片机智能家居控制系统

    摘要:中控部分采用了单片机,其主要作用是获取输入部分数据,经过内部处理,控制输出部分。 设计简介: 本设计是基于单片机的智能家居控制系统,主要实现以下功能: 可通过DS18B20实时测量环境温度温度具有上下限,自动模式下温度超出限值,GMS发送短信温度上下限通过手机蓝牙设置系统可通过手机蓝牙、红外...

    zacklee 评论0 收藏0

发表评论

0条评论

fobnn

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<