【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.hqwc.cn/news/545318.html

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

相关文章

Oracle19c静默部署

Oracle19c静默部署文档 下载地址 https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#db_free 一、系统基础配置 1、创建用户和用户组 # 创建oinstall和dba用户组 groupadd oinstall groupadd dba# 创建Oracle用户 useradd -g oinstall…

解决谷歌浏览器最新chrome94版本CORS跨域问题

项目场景: 谷歌浏览器升级到chrome94版本出现CORS跨域问题 问题描述 解决谷歌浏览器最新chrome94版本CORS跨域问题。 CORS跨域问题: 升级谷歌浏览器最新chrome94版本后,提示Access to XMLHttpRequest at ‘http://localhost:xxxx/api’ fro…

Linux基础开发工具之yum与vim

1. Linux软件包管理器——yum 1.1 什么是软件包? 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, …

antd5 虚拟列表原理(rc-virtual-list)

github:https://github.com/react-component/virtual-list rc-virtual-list 版本 3.11.4(2024-02-01) 版本:virtual-list-3.11.4 Development npm install npm start open http://localhost:8000/List 组件接收 Props PropDescriptionTypeDefaultchildrenRender …

基于springboot创建mybatis

第一步:创建项目 第二步:添加依赖 第三步:连接MySQL 第四步:添加MySQL配置 #驱动类名称 spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver #数据库连接的url spring.datasource.urljdbc:mysql://localhost:3306/myb…

谷粒商城 环境开始搭建

1. 使用vagrant 的快速创建虚拟机 傻瓜式下一步.除了存储路径修改到其他盘 打开如下链接,进入vagrant search 镜像 仓库 https://app.vagrantup.com/boxes/search 使用vagrant 就能 连接virtualBox 迅速创建一个 Linux 系统 安装vagrant Install | Vagrant | H…

大数据面试题之SQL题

大数据面试题之SQL题 1.有一个录取学生人数表,记录的是每年录取学生人数和入学学生的学制 以下是表结构: CREATE TABLE admit ( id int(11) NOT NULL AUTO_INCREMENT, year int(255) DEFAULT NULL COMMENT ‘入学年度’, num int(255) DEFAULT NULL COMM…

6547网 | 2024年3月CCF GESP认证真题及答案

2024年3月16日的CCF GESP编程能力等级认证部分真题及答案官网已经发布,同学们可以估分了,目前已经出了C认证的一至八级真题及答案出了,Python认证一至五级及八级真题及答案出了,图形化编程Scratch真题目前还没有出,出了…

中国联通智慧矿山行业解决方案

中国联通国际公司以其全球化服务能力,针对矿山行业的特殊挑战提供了定制化的解决方案,尤其是在网络通信基础设施搭建和智能应用部署方面,助力企业克服远程作业环境下的通信难题,并有效拓展海外市场。 对于矿山类企业而言&#xf…

Ubuntu虚拟机的IP总频繁变化,导致Xshell断开连接

文章目录 一、IP变化的原因二、解决方法:固定IP三、参考文章 一、IP变化的原因 1.DHCP协议 虚拟机系统(Ubuntu、CentOS、UOS等Linux系统)启动后,加入本地局域网网络时,会向本地网络申请租约一个IP地址,租约时长不定。我这里租约时…

【数据可视化】使用Python + Gephi,构建中医方剂关系网络图!

代码和示例数据下载 前言 在这篇文章中,我们将会可视化 《七版方剂学》 的药材的关系,我们将使用Python制作节点和边的数据,然后在Gephi中绘制出方剂的网络图。 Gephi是一个专门用于构建网络图的工具,只要你能提供节点和边的数…

GRACE:梯度引导的可控检索增强基于属性的生成

在本文中,我们提出通过梯度引导的可控检索(GRACE)来增强基于属性的生成,考虑到目标属性(见图1)。具体来说,我们训练一个鉴别器来计算给定上下文的属性分布。我们构建了一个检索库,存…