基于单片机收音机调幅系统设计仿真源码

news2024/11/29 2:54:02

**单片机设计介绍,基于单片机收音机调幅系统设计仿真源码

文章目录

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

一 概要

  基于单片机收音机调幅系统设计的仿真源码,主要实现了通过单片机控制调幅收音机的核心功能。以下是该设计仿真源码的概要:

首先,系统利用单片机(如C8051F330)作为核心控制器,生成特定频率的方波作为载波。这些方波通过PWM(脉冲宽度调制)方式产生,频率范围在522K~2M之间。为了确保载波信号的稳定性,源码中设计了二级RC电路和单管共射放大电路的电容反馈,用于滤除方波的高频部分,从而得到稳定的频率可调正弦载波。

接着,基带信号(即音频信号)通过调幅电路进行调制。调幅的基本原理是通过改变射频载波信号的振幅来传输音频信号。当基带信号的振幅变化时,射频载波信号的振幅也随之改变。具体实现上,基带信号的正弦波部分与射频载波信号相乘,使射频信号的振幅随着基带信号的振幅变化而变化。

调制后的射频信号通过天线发射,并在接收端进行解调。解调过程主要是去除射频载波信号,提取出调制信号。在调幅收音机中,解调后的信号经过放大和滤波处理,重新转换成音频信号。最终,音频信号通过扬声器或耳机输出,使人耳能够听到声音。

此外,系统还设计了选择性电路,用于筛选出特定电台的高频调幅信号,并将其转化为音频信号。这一过程称为解调,解调后的信号进行电压放大和功率放大后,再送到扬声器,从而实现广播的接收。

总的来说,基于单片机收音机调幅系统设计的仿真源码,实现了从载波生成、信号调制、发射、接收、解调到音频输出的完整过程,为收音机功能的实现提供了基础。通过优化电路设计和参数选择,可以确保系统在不同场景下都能保持稳定的音量和清晰的音质。

二、功能设计

使用C8051F330制成的调幅电台,实现收音机设计

用单片机PWM输出的522K~2M的方波做载波,将方波用二级RC将方波一边的高频部分滤掉,再用单管共射放大电路的电容反馈,把方波的另一边的高频部分滤掉,得到了稳定的频率可调正弦载波,再经一个管进行电流放大。

单片机的DA脚输出音频信号,单管将音频信号电流放大,再单管将音频信号与载波调制在一起,接到拉杆天线,完成!

设计思路

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

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

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

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

三、 软件设计

本系统原理图设计采用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.coloradmin.cn/o/1576696.html

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

相关文章

如何关闭WordPress的自动更新功能

Wordpress为什么自动更新 WordPress自动更新是为了提供更好的安全性和稳定性。 安全性:WordPress是一个广泛使用的内容管理系统,因此成为恶意攻击的目标。WordPress的自动更新功能确保你的网站及时获得最新的安全补丁和修复程序,以保护你的网…

ctfshow web入门 命令运行 web39---web52

ctfshow web入门 命令执行 昨天看了一下我的博客真的很恼火,不好看,还是用md来写吧 web39 查看源代码 看到include了,还是包含(其实不是) 源代码意思是当c不含flag的时候把c当php文件运行 php伪协议绕过php文件执行 data://text/plain 绕…

算法汇总啊

一些常用算法汇总 算法思想-----数据结构动态规划(DP)0.题目特点1.【重点】经典例题(简单一维dp)1.斐波那契数列2.矩形覆盖3.跳台阶4.变态跳台阶 2.我的日常练习汇总(DP)1.蓝桥真题-----路径 算法思想-----数据结构 数据结构的存储方式 : 顺序存储(数组) , 链式存储…

ubuntu安装nginx以及开启文件服务器

1. 下载源码 下载页面:https://nginx.org/en/download.html 下载地址:https://nginx.org/download/nginx-1.24.0.tar.gz curl -O https://nginx.org/download/nginx-1.24.0.tar.gz2. 依赖配置 sudo apt install gcc make libpcre3-dev zlib1g-dev ope…

轨迹规划 | 图解最优控制LQR算法(附ROS C++/Python/Matlab仿真)

目录 0 专栏介绍1 最优控制理论2 线性二次型问题3 LQR的价值迭代推导4 基于差速模型的LQR控制5 仿真实现5.1 ROS C实现5.2 Python实现5.3 Matlab实现 0 专栏介绍 🔥附C/Python/Matlab全套代码🔥课程设计、毕业设计、创新竞赛必备!详细介绍全…

护眼台灯什么品牌好?揭秘护眼台灯十大排名

台灯作为我们日常生活中使用率较高的照明工具,光源的品质也是很重要的!如果长时间使用一款质量不好的台灯,可能会影响我们的眼睛健康,特别是孩子的眼睛,还没有发育完全,影响更大。 要知道市面上很多劣质台…

IT廉连看——SpringBoot——SpringBoot快速入门

IT廉连看——SpringBoot——SpringBoot快速入门 1、idea创建工程 &#xff08;1&#xff09;普通Maven工程创建 工程名spring-boot-test 2、添加依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/PO…

理解 Golang 变量在内存分配中的规则

为什么有些变量在堆中分配、有些却在栈中分配&#xff1f; 我们先看来栈和堆的特点&#xff1a; 简单总结就是&#xff1a; 栈&#xff1a;函数局部变量&#xff0c;小数据 堆&#xff1a;大的局部变量&#xff0c;函数内部产生逃逸的变量&#xff0c;动态分配的数据&#x…

人工智能的分类有哪些

人工智能&#xff08;AI&#xff09;可以根据不同的分类标准进行分类。以下是一些常见的分类方法&#xff1a; 1. **按功能分类**&#xff1a; - 弱人工智能&#xff08;Narrow AI&#xff09;&#xff1a;也称为狭义人工智能&#xff0c;指专注于执行特定任务的AI系统&…

【蓝桥杯嵌入式】第十三届省赛(第二场)

目录 0 前言 1 展示 1.1 源码 1.2 演示视频 1.3 题目展示 2 CubeMX配置(第十三届省赛第二场真题) 2.1 设置下载线 2.2 HSE时钟设置 2.3 时钟树配置 2.4 生成代码设置 2.5 USART1 2.5.1 基本配置 2.5.2 NVIC 2.5.3 DMA 2.6 TIM 2.6.1 TIM2 2.6.2 TIM4 2.6.3 …

【Linux】 OpenSSH_9.3p1 升级到 OpenSSH_9.6p1(亲测无问题,建议收藏)

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;CSDN博客专家   &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01…

品牌门店稽查可调研内容

执行门店稽查的方式主要分为两类&#xff0c;明访和暗访&#xff0c;调研形式的不同&#xff0c;使得调查内容也有所差距&#xff0c;为了保证调研数据的真实性&#xff0c;目前稽查多为暗访&#xff0c;只有在需要对门店导购等的专业素养&#xff0c;或者产品库存盘点时做明访…

JAVA毕业设计134—基于Java+Springboot+Vue的社区医院管理系统(源代码+数据库+万字论文)

毕设所有选题&#xff1a; https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootVue的社区医院管理系统(源代码数据库万字论文)134 一、系统介绍 本项目前后端分离&#xff0c;分为管理员、用户、医生、前台四种角色 1、用户&#xff1a; 注…

有大学老师正用ChatGPT批改论文,让同学也这么做!

4月7日&#xff0c;CNN消息&#xff0c;美国伊萨卡学院-战略传播学教授Diane Gayeski&#xff0c;正在使用ChatGPT批改学生的论文。 当Diane收到学生提交的论文时&#xff0c;会将部分内容输入到ChatGPT&#xff0c;然后让其进行评分并给出详细的修改建议。 Diane也会让班里的…

js控制字数

效果图 js方法 // 控制字数新闻**描述**字数 const delNews () >{let limit 80;if(allObj.newsList && allObj.newsList.length > 0){allObj.newsList.forEach(item>{if(item.contentDescribe.length>80){item.contentDescribeitem.contentDescribe.sub…

mac系统内存(RAM)清理方法,一键式清理工具推荐!

在现代计算机体系结构中&#xff0c;运行内存&#xff08;RAM&#xff09;扮演着关键角色&#xff0c;是保证系统流畅高效运作的核心组件之一。RAM作为一种瞬态存储媒介&#xff0c;专门用来存放当前活跃的程序及其相关的临时数据。不同于硬盘驱动器&#xff08;HDD&#xff09…

外包干了25天,技术倒退明显

先说情况&#xff0c;大专毕业&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近6年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落&#xff01; 而我已经在一个企业干了四年的功能…

蓝桥杯练习系统(算法训练)ALGO-957 P0703反置数

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 一个整数的反置数指的是把该整数的每一位数字的顺序颠倒过来所得到的另一个整数。如果一个整数的末尾是以0结尾&#xff0c;那么在它的…

rsync 远程同步----------安全高效的异地备份策略

目录 一、rsync介绍 rsync和cp的区别 rsync和scp的区别 二、rsync同步方式 rsync备份的方式 三、配置rsync源服务器 ①本地复制 ②下行同步 ③上行同步 四、常用Rsync命令 五、配置源的两种表达方法 六、部署rsync下行同步 ①环境准备 ②配置rsync源服务器-------…

瞎写01 CSDN点1个赞[Python][JavaScript]

前言 瞎写系列&#xff0c;记录我那些突如其来的灵感和尝试&#xff0c;整理一些成功或者失败的尝试&#xff0c;虽然还是失败居多一些~&#x1f95d;&#x1f95d; 重要提醒&#xff1a;自动化操作虽然方便&#xff0c;但也有其风险性。本文内容仅作为入门学习之用&#xff0…