【TB作品】MSP430,波形发生器,单片机,Proteus仿真

文章目录

  • 题目
  • 效果
  • 梯形波100个点产生方法
  • 锯齿波100个点产生方法
  • c代码和proteus仿真

题目

114
波形发生器的制作
设计要求
设计一个能产生正弦波、方波、三角波、梯形波、锯齿波的波形发生器。设置5个开关K1~K5(从
上到下),分别对应正弦波、方波、三角波、梯形波、锯齿波,按一下其中一个开关,则选择出所要
产生的波形。

效果

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

梯形波100个点产生方法

python:

import numpy as np
import matplotlib.pyplot as plt# 定义梯形波参数
total_points = 100
min_value = 0
max_value = 255# 假设每个部分的点数相等,因此每部分25个点
points_per_section = total_points // 4# 生成梯形波的各个部分
rising_edge = np.linspace(min_value, max_value, points_per_section, endpoint=False)
top = np.full(points_per_section, max_value)
falling_edge = np.linspace(max_value, min_value, points_per_section, endpoint=False)
bottom = np.full(total_points - 3 * points_per_section, min_value)# 合并生成完整的梯形波
trapezoidal_wave = np.concatenate((rising_edge, top, falling_edge, bottom))
# int 化
trapezoidal_wave = trapezoidal_wave.astype(int)print(trapezoidal_wave.tolist())
# 绘制梯形波形
plt.plot(trapezoidal_wave)
plt.title('Trapezoidal Wave')
plt.ylim(min_value - 10, max_value + 10)
plt.show()

在这里插入图片描述

锯齿波100个点产生方法

python

import numpy as np
import matplotlib.pyplot as plt# 定义锯齿波参数
total_points = 100  # 一个周期的总点数
max_value = 255
num_teeth = 2  # 一个周期内锯齿波的数量# 计算单个锯齿波的点数
points_per_tooth = total_points // num_teeth# 生成单个锯齿波
single_tooth = np.linspace(0, max_value, points_per_tooth, endpoint=False)# 生成完整的锯齿波,由两个单个锯齿波拼接而成
sawtooth_wave = np.tile(single_tooth, num_teeth)
sawtooth_wave = sawtooth_wave.astype(int)
sawtooth_wave = sawtooth_wave.tolist()
# sawtooth_wave = sawtooth_wave[::-1]
print(sawtooth_wave)
# 绘制锯齿波形
plt.plot(sawtooth_wave)
plt.title('Sawtooth Wave')
plt.ylim(-10, max_value + 10)  # 设置y轴范围以略微超出最小和最大值
plt.show()

在这里插入图片描述

c代码和proteus仿真

https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2

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

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

相关文章

短剧分销怎么赚钱的?保姆级教程助你短剧cps推广赚大钱

短剧分销怎么赚钱的?小白也能月入过万/“蜂小推“保姆级教程,助你短剧分销赚大钱! 相信大家或多或少都在某些群里看到一些“霸道总裁爱上职场小菜鸟...”“这类链接,无利不起早,为什么会有那么多在群里分享这些狗血视…

Pycharm连接远程服务器Anoconda中的虚拟环境

在配置远程解释器时,踩过一些坑,现在记录一下配置过程: 步骤1: 打开pycharm的File里面的Settings 里面的Project:你的项目名称目录下的Python Interpreter。 步骤二: 点击右上角的“add interpreter”,选择…

Tomcat内存马

Tomcat内存马 前言 描述Servlet3.0后允许动态注册组件 这一技术的实现有赖于官方对Servlet3.0的升级,Servlet在3.0版本之后能够支持动态注册组件。 而Tomcat直到7.x才支持Servlet3.0,因此通过动态添加恶意组件注入内存马的方式适合Tomcat7.x及以上。…

【AI+编程】利用chatGPT编写python程序处理日常excel工作提升效率小技巧

之前写过一篇AI编程相关的文章 【人工智能】为啥我最近很少写python编程文章了,浅谈AI编程RPA提升工作效率 。 最近有同学私信我,怎么利用AI编程来提升工作效率,除了文章里讲的 使用AI帮忙写算法、代码提示、代码优化、不同语言转换(如J…

Axios异步框架和Json数据格式

一.Axios异步框架 对原生的Ajax进行封装,简化书写。 给大家提供一下axios的源码: 链接:https://pan.baidu.com/s/1ZSrUBe0B4dIq7d6NpUzqOQ 提取码:gr86 将源码粘贴到项目之中。 1.基础使用 首先单独创建一个Servlet&#xf…

Godot 学习笔记(2):信号深入讲解

文章目录 前言相关链接环境信号简单项目搭建默认的信号先在label里面预制接收函数添加信号 自定义无参数信号为了做区分,我们在label新增一个函数 自定义带参数信号Button代码label代码连接信号 自定义复杂参数信号自定义GodotObject类ButtonLabel连接信号 信号函数…

数字IC实践项目(9)—SNN加速器的设计和实现(tiny_ODIN)

数字IC实践项目(9)—基于Verilog的SNN加速器 写在前面的话项目整体框图完整电路框图 项目简介和学习目的软件环境要求 Wave&CoverageTiming,Area & Power总结 写在前面的话 项目介绍: SNN硬件加速器是一种专为脉冲神经网…

uniapp样式穿透修改uview的按钮button图标

需求&#xff1a; 想给按钮icon和text改字体颜色&#xff0c;结果发现图标颜色并没有改变 .u-button{width: 300rpx;background-color: aliceblue;color: #aaaa7f;margin-top: 20rpx; }接下来用样式穿透解决 1、首先&#xff0c;给UI组件包裹一层view <view class"t…

ElasticSearch:数据的魔法世界

​ 欢迎来到ElasticSearch的奇妙之旅&#xff01;在这个充满魔法的搜索引擎世界中&#xff0c;数据不再是沉闷的数字和字母&#xff0c;而是变得充满活力和灵动。无论你是刚刚踏入数据探索的小白&#xff0c;还是已经对搜索引擎有所了解的行者&#xff0c;本篇博客都将为你揭示…

unity内存优化之AB包篇(微信小游戏)

1.搭建资源服务器使用(HFS软件(https://www.pianshen.com/article/54621708008/)) using System.Collections; using System.Collections.Generic; using UnityEngine;using System;public class Singleton<T> where T : class, new() {private static readonly Lazy<…

【集成开发环境】-VS Code:C/C++ 环境配置

简介 VS Code&#xff0c;全称Visual Studio Code&#xff0c;是一款由微软开发的跨平台源代码编辑器。它支持Windows、Linux和macOS等操作系统&#xff0c;并且具有轻量级、高效、可扩展等特点&#xff0c;深受广大开发者的喜爱。 VS Code拥有丰富的功能特性&#xff0c;包括…

计算机三级网络技术综合题第三题、第四题详细解析

第三大题 DHCP报文分析&#xff08;10分&#xff09; 一、DHCP工作流程&#xff08;一般情况下&#xff09; 报文摘要 对应上面报文1—4 报文1、3DHCP&#xff1a;Request&#xff1b; 报文2、4DHCP&#xff1a;Reply。 例题&#xff08;第三套&#xff09;&#xff1a;在一…

程序员入行忠告!

点击下方“JavaEdge”&#xff0c;选择“设为星标” 第一时间关注技术干货&#xff01; 关注我&#xff0c;紧跟本系列专栏文章&#xff0c;咱们下篇再续&#xff01; 作者简介&#xff1a;魔都技术专家兼架构&#xff0c;多家大厂后端一线研发经验&#xff0c;各大技术社区头部…

十五、自回归(AutoRegressive)和自编码(AutoEncoding)语言模型

参考自回归语言模型&#xff08;AR&#xff09;和自编码语言模型&#xff08;AE&#xff09; 1 自回归语言模型&#xff08; AR&#xff09; 自回归语言模型&#xff08;AR&#xff09;就是根据上文内容&#xff08;或下文内容&#xff09;预测下一个&#xff08;或前一个&…

安装OpenEBS,镜像总是报错ImagePullBackOff或者ErrImagePull的解决方法

按照 KubeSphere 官方文档安装 OpenEBS&#xff0c;镜像总是报错ImagePullBackOff或者ErrImagePull的解决方法 helm 有很多更换 源 的文章&#xff0c;有一些是写更换阿里云的源&#xff0c;但是阿里云的源根本没更新OpenEBS的镜像。 在网上找到1个可用的源&#xff1a; 可用的…

探讨TCP的可靠性以及三次握手的奥秘

&#x1f31f; 欢迎来到 我的博客&#xff01; &#x1f308; &#x1f4a1; 探索未知, 分享知识 !&#x1f4ab; 本文目录 1. TCP的可靠性机制1.2可靠性的基础上,尽可能得提高效率 2. TCP三次握手过程3. 为何不是四次握手&#xff1f; 在互联网的复杂世界中&#xff0c;TCP&am…

基于springboot的高校教师教研信息填报系统

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…

亚马逊云科技Glue

Glue 最重要的部分&#xff0c; ETL&#xff1a;用于从 A 点&#xff08;我们的源数据&#xff09;提取、转换和加载数据到 B 点&#xff08;目标文件或数据存储库&#xff09;。 AWS Glue 会为您执行大量此类工作。 转换通常是更繁重的工作&#xff0c;需要从各种来源进行组合…

【嵌入式DIY实例】-自动割草机器

自动割草机器 文章目录 自动割草机器1、割草机器介绍2、硬件准备3、功能设计4、硬件接线5、代码实现本文将介绍如何使用 Arduino 构建一个简易自动割草机机器人或割草机机器人。该机器人可以自动剪掉花园里多余的草。如果花园里有障碍物,它会自动改变方向。帮助以减少人力。 警…

【Elasticsearch】windows安装elasticsearch教程及遇到的坑

一、安装参考 1、安装参考&#xff1a;ES的安装使用(windows版) elasticsearch的下载地址&#xff1a;https://www.elastic.co/cn/downloads/elasticsearch ik分词器的下载地址&#xff1a;https://github.com/medcl/elasticsearch-analysis-ik/releases kibana可视化工具下载…