【TB作品】51单片机,MSP430单片机,STM32单片机,简易波形发生器

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

二、 简易波形发生器 (限MSP430、STM32单片机)
任务要求:
制作一个简易波形发生器,具有如下功能:
1、能够产生方波、正弦波,并可通过示波器观察到;(30分)
2、可通过按键切换2种波形的产生;(20分)
3、在OLED显示屏上显示当前输出的波形类型的名称、频率和幅值;(20分)
4、通过独立按键修改波形的频率、幅值;(10分)
5、LED1~LED8同时亮起,且输出波形的幅值越大,LED灯亮度越大。(20分)

附加题:
在本题基础上,增加产生三角波的功能。

【注释】
1、本题目需要用到DA输出模块和独立按键模块,其引脚连接可查询手柄板原理图,更多模块信息请参考说明书或网络资料。
2、由于开发板的DA 转换器参考电压为2.048V,故输出波形幅值不能大于2V。
3、在通过按键进行幅值和频率的设置时,通过按键A6切换两种波形的产生,通过按键A7进行频率设置和幅值设置的切换,按键A4为幅值或频率上调键,按键A5为幅值或频率的下调键(芯片板插槽为一字型的按键代号为P批次的板子,请参考注意事项中的第八条)。
4、附加任务中,使用按键A6进行三种波形的切换,其他按键功能不变。
5、对于所产生的波形频率和幅值不做要求。如采用下方提到的“简易示波器”进行程序调试,简易波形频率在1到5赫兹之间。
考虑到同学们假期里可能找不到示波器进行试验,现提供板载简易示波器程序(基于口袋开发板的简易示波器,以附件形式发放)。该程序通过单片机内部AD采样通道采集信号,并将波形显示于手柄板OLED显示屏上。如同学们需要使用,请在该程序的基础上添加本题的程序。使用效果见下图:

图一 板子输出锯齿波并且通过自身AD采样将其显示

图二 上图锯齿波在真实示波器上的对比效果

“示波器程序”仅提供波形信号采集和显示,原程序采样周期20ms,未提供波形发生的程序,这部分正是同学们需要自己完成的。简易示波器仅提供波形显示,如需其它详细功能,请同学们自行完善。
“简易示波器”具体使用方法见附件!由于STC89C51单片机无内部ADC,故无“简易示波器”功能,51的同学们选择该题请三思!

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

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

相关文章

QT 多线程 QThread

继承QThread的线程 继承 QThread 是创建线程的一个普通方法。其中创建的线程只有 run() 方法在线程里的。其他类内定义的方法都在主线程内。 通过上面的图我们可以看到,主线程内有很多方法在主线程内,但是子线程,只有 run() 方法是在子线…

基于STM32设计的药品柜温湿度监测系统(华为云IOT)(184)

基于STM32设计的药品柜温湿度监测系统(华为云IOT)(184) 文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】整体需求总结【3】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】ESP8266工作模式配置【3】华为云IOT手机APP界面开发思路1.3 项目开发背景【1】选题的意义【2…

R语言学习笔记6-数据框

R语言学习笔记6-数据框 数据框(DataFrame)介绍数据框用途创建数据框从矩阵创建数据框索引和切片添加和修改列数据框的预处理数据框的排序数据框的合并与拆分数据框的计算与汇总数据框的筛选处理缺失值应用函数处理数据重塑数据框使用 dplyr 进行数据框的管道操作数据框的时间序…

使用 WebSocket 进行实时数据传输

以下是使用 WebSocket 进行实时数据传输的一般步骤: 一、前端部分 (一)创建 WebSocket 连接 const socket new WebSocket(ws://your-server-url); 在上述代码中,将 ws://your-server-url 替换为您实际的服务器 WebSocket 地…

SvANet:微小医学目标分割网络,增强早期疾病检测

SvANet:微小医学目标分割网络,增强早期疾病检测 提出背景前人工作医学对象分割微小医学对象分割注意力机制 SvANet 结构图SvANet 解法拆解解法逻辑链 论文:SvANet: A Scale-variant Attention-based Network for Small Medical Object Segmen…

【JAVA poi-tl-ext 富文本转word】

富文本转word 环境使用poi-tl-ext的原因富文本转word代码 环境 jdk 1.8 <dependency><groupId>io.github.draco1023</groupId><artifactId>poi-tl-ext</artifactId><version>0.4.16</version> </dependency>poi-tl-ext已经包…

可灵重大升级!新增Web端上线、首尾帧控制、单次生成视频时长增加至10s!

快手视频生成大模型“可灵”&#xff08;Kling&#xff09;&#xff0c;作为全球首个真正用户可用的视频生成大模型&#xff0c;自面世以来&#xff0c;凭借其无与伦比的视频生成效果&#xff0c;在全球范围内赢得了用户的热烈追捧与高度评价。截至目前&#xff0c;申请体验其内…

修正版头像上传组件

修正版头像上传组件 文章说明核心源码展示运行效果展示源码下载 文章说明 在头像剪切上传一文中&#xff0c;我采用div做裁剪效果&#xff0c;感觉会有一些小问题&#xff0c;在昨天基于canvas绘制的功能中改进了一版&#xff0c;让代码变得更简洁&#xff0c;而且通用性相对高…

永恒之蓝:一场网络风暴的启示

引言 在网络安全的漫长历史中&#xff0c;“永恒之蓝”&#xff08;EternalBlue&#xff09;是一个不可忽视的里程碑事件。它不仅揭示了网络世界的脆弱性&#xff0c;还促使全球范围内对网络安全的重视达到了前所未有的高度。本文将深入探讨“永恒之蓝”漏洞的起源、影响及其对…

【WebGIS】从设计层面设计系统

本项目在通过现代信息技术手段&#xff0c;对古村古镇进行多方位、多角度的数字化记录、展示与传播&#xff0c;实现文化遗产的数字化保护、活化利用与共享。项目内容主要包括&#xff1a;1&#xff09;古村古镇数据库的建立&#xff1a;通过多种渠道收集古村古镇的各类信息&am…

期货量化交易客户端开源教学第八节——TCP通信服务类

private FReciveStr: AnsiString; {接收到的数据} IsConErr: Boolean; {网络连接是否失败} FSocket_LB: Integer; {TCP连接类别,0为交易,1为行情,2为查询} FRetryCount: Integer; {网络连接重试次数} FLoginErrEvent: TLoginErrEvent; {…

如何从 PDF 中删除背景

您是否曾经收到过充满分散注意力背景的扫描 PDF 文档&#xff1f;也许是带有繁忙水印的旧收据或背景光线不均匀的扫描文档。虽然这些背景可能看起来没什么大不了的&#xff0c;但它们会使您的工作空间变得混乱&#xff0c;并使您难以专注于重要信息。轻松删除这些不需要的元素并…

短视频SEO矩阵系统:源码开发与部署全攻略

在数字化时代&#xff0c;短视频已成为人们获取信息、娱乐休闲的重要方式。随着短视频平台的兴起&#xff0c;如何让自己的内容在众多视频中脱颖而出&#xff0c;成为每个创作者和内容运营者关注的焦点。本文将为您深入解析短视频SEO矩阵系统的源码开发与部署&#xff0c;助您在…

MT6825磁编码IC在智能双旋机器人中的应用

MT6825磁编码IC在智能双旋机器人中的应用&#xff0c;无疑为这一领域的创新和发展注入了新的活力。作为一款高性能的磁性位置传感器&#xff0c;MT6825以其独特的优势&#xff0c;在智能双旋机器人的运动控制、定位精度以及系统稳定性等方面发挥了关键作用。 www.abitions.com …

django ninja get not allowed 能用 put delete

遇到一个奇怪的问题&#xff0c;django-ninja 编写的 get post 方法不能使用 # 获取Material router.get(/material, responseList[MaterialSchemaOut]) paginate(MyPagination) def list_material(request, filters: Filters Query(...)):qs retrieve(request, Material, f…

Midjourney v6.5 可能会在“7月底”发布,并改进了真实感和皮肤纹理

Midjourney v6.5即将发布&#xff0c;这一更新将大幅提升图像的真实感和皮肤纹理&#xff0c;为用户带来更逼真的视觉体验。首席执行官David Holz在电话会议中宣布&#xff0c;新版本将提高图像清晰度&#xff0c;特别是在手部和皮肤细节上&#xff0c;同时改进Web应用程序和个…

ABAP调用BAPI时COMMIT WORK AND WAIT未按照预期同步提交问题分析

背景&#xff1a; 在做ABAP开发时&#xff0c;经常会有连续调用BAPI的需求&#xff0c;比如先创建销售订单&#xff0c;再依据销售订单创建交货单&#xff0c;再对交货单进行过账等类似的一连串调用&#xff0c;这种类似的场景往往需要前一步操作的数据完全写入数据库才能进行…

编译打包自己的云手机(redroid)镜像

前言 香橙派上跑云手机可以看之前的文章&#xff1a; 香橙派5plus上跑云手机方案一 redroid(带硬件加速)香橙派5plus上跑云手机方案二 waydroid 还有一个cuttlefish方案没说&#xff0c;后面再研究&#xff0c;cuttlefish的优势在于可以自定义内核且selinux是开启的&#xf…

vue3下载base64文件

如果后端明确告诉你返回的是base64&#xff0c;那请求头就不用带responseType: “blob”,和普通的接口一样发送就行 await materialsFile({ id: proxy.$route.query.id }).then((res) > {if (res) {// atob先解码base64数据const raw window.atob(res.data);// 获取解码后…

vscode 远程开发

目录 vscode 远程连接 选择 Python 环境 vscode 远程连接 按 CtrlShiftP 打开命令面板。输入并选择 Remote-SSH: Open SSH Configuration File...。选择 ~/.ssh/config 文件&#xff08;如果有多个选项&#xff09;。在打开的文件中添加或修改你的 SSH 配置。 这个可以右键…