基于51单片机的FM数字收音机系统电路设计

**单片机设计介绍,基于51单片机的FM数字收音机系统电路设计

文章目录

  • 一 概要
  • 二、功能设计
    • 设计思路
  • 三、 软件设计
    • 原理图
  • 五、 程序
  • 六、 文章目录

一 概要

  基于51单片机的FM数字收音机系统是一种用于接收和播放FM广播信号的设备,以下是一个基本的电路设计介绍:

硬件部分:

  1. 51单片机:选择适合的51系列单片机,如AT89S52。
  2. FM接收模块:使用专用的FM接收模块,如RDA5807M,用于接收FM广播信号。
  3. 音频功放:选择合适的音频功放芯片,用于放大接收到的音频信号。
  4. 音频输出:可以选择集成音箱等设备,用于输出音频。
  5. 按键和显示模块:使用按钮或触摸按键和LCD显示屏等模块,用于控制和显示收音机的频道和其他设置。
  6. 天线:使用合适的天线,如简单的导线或FM天线,用于接收FM信号。

软件部分:

  1. 程序设计:使用汇编语言或C语言编写嵌入式程序,实现FM收音机的功能。
  2. 接收控制:通过51单片机控制FM接收模块的频率调谐、信号接收和解码。
  3. 频道选择:通过按键或触摸按钮等设备,实现频道的切换和调整。
  4. 音频控制:通过控制音频功放芯片,实现音量调节和音频输出设备的控制。
  5. 设置管理:实现对系统设置的管理,包括保存和读取频道信息、调节音量等。
  6. 显示和交互:通过LCD显示屏显示当前频道和其他信息,通过按键和触摸按钮与用户进行交互。

系统工作流程:

  1. 设置天线进行FM信号接收。
  2. 单片机控制FM接收模块进行频率调谐和信号接收。
  3. 解码接收到的音频信号,并进行解调和解码。
  4. 控制音频功放芯片进行音频信号的放大。
  5. 将放大后的音频信号通过音频输出设备,如音箱,进行播放。
  6. 用户通过按键或触摸操作,可以选择频道、调节音量等。

需要注意的是,由于FM收音机系统涉及到调谐、解码、放大、音量控制等复杂的电路设计,因此在实际制作电路时,需要仔细设计、布线和调试,确保电路的稳定性和性能符合要求。同时,还需根据实际应用需求进行系统功能的扩展和优化。

二、功能设计

单片机FM收音机采用51单片机+LCD1602液晶+TEA5767模块+LM386+喇叭设计而成。

1.主控芯片采用51单片机系列

2.LCD1602液晶显示当前所收听的FM频道,可以通过按键进行调换。

3.收音芯片采用TEA5767模块,体积小,效果好。

4.本设计功放电路采用LM386芯片,并且可以通过电位器进行音量调节,随心所欲。

5.收音机效果好坏很大程度取决于天线的质量,采用可伸缩式天线(效果远超导线),收音效果棒!采用高功率高质量喇叭,声音清晰响亮。

在这里插入图片描述

设计思路

设计思路
文献研究法:搜集整理相关单片机系统相关研究资料,认真阅读文献,为研究做准备;

调查研究法:通过调查、分析、具体试用等方法,发现单片机系统的现状、存在问题和解决办法;

比较分析法:比较不同系统的具体原理,以及同一类传感器性能的区别,分析系统的研究现状与发展前景;

软硬件设计法:通过软硬件设计实现具体硬件实物,最后测试各项功能是否满足要求。

三、 软件设计

本系统原理图设计采用Altium Designer19,具体如图。在本科单片机设计中,设计电路使用的软件一般是Altium Designer或proteus,由于Altium Designer功能强大,可以设计硬件电路的原理图、PCB图,且界面简单,易操作,上手快。Altium Designer19是一款专业的整的端到端电子印刷电路板设计环境,用于电子印刷电路板设计。它结合了原理图设计、PCB设计、多种管理及仿真技术,能够很好的满足本次设计需求。

————————————————

仿真实现
本设计利用protues8.7软件实现仿真设计,具体如图。

Protues也是在单片机仿真设计中常用的设计软件之一,通过设计出硬件电路图,及写入驱动程序,就能在不实现硬件的情况进行电路调试。另外,protues还能实现PCB的设计,在仿真中也可以与KEIL实现联调,便于程序的调试,且支持多种平台,使用简单便捷。
————————————————

原理图

在这里插入图片描述

五、 程序

本设计利用KEIL5软件实现程序设计,具体如图。作为本科期间学习的第一门编程语言,C语言是我们最熟悉的编程语言之一。当然,由于其功能强大,C语言是当前世界上使用最广泛、最受欢迎的编程语言。在单片机设计中,C语言已经逐步完全取代汇编语言,因为相比于汇编语言,C语言编译与运行、调试十分方便,且可移植性高,可读性好,便于烧录与写入硬件系统,因此C语言被广泛应用在单片机设计中。keil软件由于其兼容单片机的设计,能够实现快速调试,并生成烧录文件,被广泛应用于C语言的编写和单片机的设计。
在这里插入图片描述

————————————————

在这里插入图片描述

六、 文章目录

目 录

摘 要 I
Abstract II
引 言 1
1 控制系统设计 2
1.1 主控系统方案设计 2
1.2 传感器方案设计 3
1.3 系统工作原理 5
2 硬件设计 6
2.1 主电路 6
2.1.1 单片机的选择 6
2.2 驱动电路 8
2.2.1 比较器的介绍 8
2.3放大电路 8
2.4最小系统 11
3 软件设计 13
3.1编程语言的选择 13
4 系统调试 16
4.1 系统硬件调试 16
4.2 系统软件调试 16
结 论 17
参考文献 18
附录1 总体原理图设计 20
附录2 源程序清单 21
致 谢 25

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/169175.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu22.04 安装 jupyterlab

JupyterLab Install JupyterLab with pip: pip install jupyterlabNote: If you install JupyterLab with conda or mamba, we recommend using the conda-forge channel. Once installed, launch JupyterLab with: jupyter lab

Pycharm创建项目新环境,安装Pytorch

在python项目中,很多项目使用的各类包的版本是不一致的。所以我们可以对每个项目有专属于它的环境。所以这个文章就是教你如何创建新环境。 一、创建新环境 首先我们需要去官网下载conda。然后在Pycharm下面添加conda的可执行文件。 用conda创建新环境。 二、…

CSS新特性(2-2)

CSS新特性(2-2) 前言box相关box-shadow background背景rgba颜色与透明度transform:rotate(Xdeg) 2D旋转transform:tranlate 平移 前言 本文继续讲解CSS3其他的新特性,想看之前新特性点击这里,那么好本文正式开始。 box相关 box…

二十三种设计模式全面解析-揭秘访问者模式:开启对象间灵活交互之门

在软件设计中,我们经常会遇到需要对一组对象进行操作和处理的情况。但是,如果对象结构复杂且对象类型众多,传统的处理方式可能会导致代码的冗长和维护困难。然而,访问者模式(Visitor Pattern)以其优雅的解决…

开源与闭源

我的观点: 开源与闭源软件都有各自的优势和劣势,没有绝对的对错之分。.. 一、开源和闭源的优劣势比较 开源的好处与劣处 优势: 创新与合作:开源软件能够吸引更多的开发者参与到项目中来,促进创新和合作。开放的源代码…

Redis(一):初始Redis

Redis基本介绍 Redis 的全称是 Remote Dictionary Server,Redis是一个开放源代码、内存数据结构存储系统,被广泛应用于缓存、消息队列、实时统计等场景。Redis使用C编写,支持多种数据结构,例如字符串(strings&#xf…

【ArcGIS Pro微课1000例】0036:栅格影像裁剪与提取(矢量范围裁剪dem高程数据)

本实验讲解在ArcGIS Pro中进行栅格影像裁剪与提取(矢量范围裁剪dem高程数据)的方法。DEM、DOM、DSM等栅格数据方法也可以实现。 文章目录 一、加载实验数据二、裁剪工具的使用1. 裁剪栅格2. 按掩膜提取一、加载实验数据 加载配套实验数据包中的0036.rar中的dem数据和矢量裁剪…

jconsole的基本使用和死锁的检测

jconsole的基本使用和死锁的检测 因为jconsole是JDK自带的,所以安装了JDK就可以直接打开了。 1. 打开方式 cmd命令行打开:输入jconsole,然后按Enter JDK安装目录,bin目录下,双击即可打开 选择一个进程然后打开 可…

C语言字符串

字符串 字符串字面量 字符串字面量是用一对双引号括起来的字符序列。 例:"When you come to a fork in the road,take it." 延续字符串字面量 如果发现字符串字面量太长而无法放置在单独一行以内,只要把第一行用字符 \ 结尾,那…

深入解析Selenium动作链:精通点击、拖拽、切换等操作

背景: 一些交互动作都是针对某个节点执行的。比如,对于输入框,我们就调用它的输入文字和清空文字方法;对于按钮,就调用它的点击方法。其实,还有另外一些操作,它们没有特定的执行对象&#xff0…

中国信通院王蕴韬:从“好用”到“高效”,AIGC需要被再次颠覆

当下AIGC又有了怎样的颠覆式技术?处于一个怎样的发展阶段?产业应用如何?以及存在哪些风险?针对这些问题,我们与中国信通院云计算与大数据研究所副总工程师王蕴韬进行了一次深度对话,从他哪里找到了这些问题…

C#中的警告CS0120、CS0176、CS0183、CS0618、CS8600、CS8602、CS8604、CS8625及处理

目录 一、CS0120 二、CS0176 1.解决前 2.解决后 3.解决办法 三、CS0183 四、CS0618 五、CS8600 六、CS8602 七、CS8622 1. 解决前: 2. 解决后: 3.解决方法: 八、CS8604和CS8625 一、CS0120 严重性 代码 说明 项目 文件 行…

电路 buck-boost相关知识

BUCK-BOOST 文章目录 BUCK-BOOST前言一、DC-DC工作模式电容电感特性伏秒积平衡原理 二、BUCK电路三、BOOST电路四、BUCK-BOOST电路总结 前言 最近需要用到buck-boost相关的电路知识,于是便写下这篇文章复习一下。 一、DC-DC 在学习buck-boost电路之前我们先来看一…

邮件泄密案例分析

近日,一起令人震惊的事件在美军方内部引发了广泛关注。据报道,美军方意外将数百万封包含敏感信息的邮件发至非洲国家马里。这些邮件涉及的内容十分广泛,包括军事行动计划、人员部署、战术策略等,甚至还有部分涉及国家安全和战略决…

前缀和——238. 除自身以外数组的乘积

文章目录 🍷1. 题目🍸2. 算法原理🍥解法一:暴力求解🍥解法二:前缀和(积) 🍹3. 代码实现 🍷1. 题目 题目链接:238. 除自身以外数组的乘积 - 力扣&a…

代码随想录算法训练营第五十八天|739. 每日温度、496. 下一个更大元素 I

第十章 单调栈part01 739. 每日温度 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用…

小程序项目:springboot+vue基本微信小程序的学生健康管理系统

项目介绍 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时…

C++ Qt QDataStream用法介绍

作者:令狐掌门 技术交流QQ群:675120140 csdn博客:https://mingshiqiang.blog.csdn.net/ 文章目录 基本使用QDataStream写入数据QDataStream读取数据数据流版本错误处理复杂类型自定义类型示例注意事项Qt中QDataStream 提供了一种与平台无关的方式来序列化二进制数据。这意味…

武汉教育E卡通学生证照片尺寸要求及证件照集中采集方法

”武汉教育E卡通“电子学生证旨在数字化中小学生身份,提供通用的教育卡,实现身份认证的电子化、权威化和集成化。校内一卡通系统包括刷卡考勤、电子班牌、图书借阅等,全面记录学生在校业务。同时,采集社会通行、实践活动等数据&am…

vue子组件修改prop的值

1.通过sync修饰符配合$emit&#xff0c;update实现 父组件&#xff1a; <template><child-view :num.sync"num"></child-view> </template> <script>import childView from ./assembly/childexport default {components: {childView…