【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的同学们选择该题请三思!

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 17:04:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 17:04:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 17:04:03       58 阅读
  4. Python语言-面向对象

    2024-07-16 17:04:03       69 阅读

热门阅读

  1. 并查集,LeetCode 721. 账户合并

    2024-07-16 17:04:03       22 阅读
  2. 人像视频淡入淡出效果的灵敏检验方法

    2024-07-16 17:04:03       20 阅读
  3. Go并发编程和调度器

    2024-07-16 17:04:03       22 阅读
  4. 开源软件的浪潮:趋势、参与经验与共赢未来

    2024-07-16 17:04:03       22 阅读
  5. linux查看进程使用的端口号信息

    2024-07-16 17:04:03       21 阅读
  6. 自动驾驶SLAM

    2024-07-16 17:04:03       17 阅读
  7. c++无大害小病毒6

    2024-07-16 17:04:03       19 阅读