那么今天这里就分享一下B站up主“老刘爱捣鼓”的一个DIY作品,挺有意思的,有种"麻雀虽小五脏俱全"之感,对于那些刚入门嵌入式、MCU缺少一些实战经验的朋友,把他作为一个实战项目来学习还是不错的。 好了,下面是这款开源作品的一些信息: 这是一款采用STC8A8K MCU制造的简单示波器,只有零星组件,易于成型。这些功能可以涵盖简单的测量:
该作品主要的规格如下:- 单片机:STC8A8K64S4A12 @27MHz
- 显示屏:0.96“ OLED,分辨率为 128x64
- 控制器:一个 EC11 编码器
- 输入:单通道
- 秒/秒:500 毫秒、200 毫秒、100 毫秒、50 毫秒、20 毫秒、10 毫秒、5 毫秒、2 毫秒、1 毫秒、500us、200us、100us
100us( 仅在自动触发模式下可用) - 电压范围:0-30V
- 采样额定值:250kHz @100us/格
所有操作均由 EC11 编码器完成。输入包括单击,双击,长按,旋转和旋转时按。这似乎有点复杂,不用担心,下面有细节。该编码器的资源几乎已经耗尽。如果有新功能,可能需要额外的输入组件。主界面 - 参数模式
- 单击编码器:运行/停止采样。
- 双击编码器:进入波形滚动模式。
- 长按编码器:进入设置界面。
- 旋转编码器:调整参数。
- 按下时旋转编码器:在选项之间切换。
- 切换自动和手动量程:连续顺时针旋转编码器以进入自动量程。逆时针旋转编码器以进入手动范围。
主界面 - 波浪滚动模式
- 单击编码器:运行/停止采样。
- 双击编码器:进入参数模式。
- 长按编码器:进入设置界面。
- 旋转编码器:水平滚动波形。(仅在采样停止时可用)
- 按下时旋转编码器:垂直滚动波形(仅在采样停止时可用)
设置界面
- 单击式编码器:不适用
- 双击编码器:不适用
- 长按编码器:返回主界面。
- 旋转编码器:调整参数。
- 按下时旋转编码器:在选项之间切换。
功能
- 触发电平:对于重复信号,触发电平可以使其在显示屏上稳定。对于单发信号,触发电平可以捕获它。
- 触发斜率:触发斜率确定触发点是在信号的上升沿还是下降沿。
- 触发模式:
- 自动模式:连续扫描。单击编码器可停止或运行采样。如果触发,波形将显示在显示屏上,触发位置将放在图表的中心。否则,波形将不规则地滚动,并且显示屏上将显示“Fail”。
- 正常模式:完成预采样后,可以输入信号。如果触发,波形将显示在显示屏上并等待新的触发。如果没有新的触发器,波形将被保留。
- 单模:完成预采样后,可以输入信号。如果触发,将显示波形并停止采样。用户需要单击编码器才能开始下一次采样。
- 对于正常模式和单模式,请确保已正确调整触发电平,否则显示屏上不会显示波形。
- 指标:通常,指标 on 表示采样正在运行。更重要的用途是在单触发和正常触发模式下,在进入触发阶段之前,需要预先采样。在预采样阶段,指示器不会亮起。在指标亮起之前,我们不应该输入信号。选择的时间尺度越长,预采样的等待时间就越长。
- 保存设置:退出设置界面时,设置和主界面中的所有参数都将保存在EEPROM中。
作品展示部分效果如下: 好了,最好放该项目代码以及资料白嫖地址了:https://github.com/CreativeLau/Mini-DSO