[开源]STC32位8051开源示波器-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 106|回复: 0

[开源]STC32位8051开源示波器

[复制链接]
发表于 2022-10-14 19:04 | 显示全部楼层 |阅读模式



虚拟显示示波器


示波器参数:
工作电压:5.0V(TYPE C接口)。
MCU: STC32G12K128。
主频:35MHz。
通信方式:USB-CDC。
ADC:最高采样800KHz 12位,本示波器使用最高采样率500KHz。
模拟带宽:探头x1大于等于250mV/DIV,探头x10大于等于2.5V/DIV:100KHz。
显示:  虚拟显示480x320。
        水平16格,一格25点,一共400点,存储深度4000点。
        垂直10格,每格25点,一共250点。
时基:1-2-5步进,50s 20s 10s 5s 2s 1s 500ms 200ms 100ms 50ms
                 20ms 10ms 5ms 2ms 1ms 500us 200us 100us 50us
垂直幅度:探头x1:  10V   5V  2.5V  1V  500mV  250mV  100mV  50mV/DIV。
          探头x10:100V  50V  25V  10V    5V    2.5V     1V     0.5V/DIV。
最高输入电压:探头x1: ±50V,探头x10:±500V。
触发模式:上升沿触发,下降沿触发。触发电压固定为0V。
触发方式:自动、标准、单次。
硬件板照片:
输入为标准的BNC插座,直接连接示波器输入探头。
“信号输入”为与BNC并联的插针,方便使用杜邦线接被测信号(或者没有示波器探头时用于信号输入)。
板上同时提供100Hz正弦波(用PWM输出滤波产生),输出插针,用于演示示波器功能。
板上同时提供1000Hz方弦波(用定时器高速脉冲输出),输出插针,用于演示示波器功能或调整补偿电容。
“下载按钮”为P3.2、OFF两个按钮。
TYPE C接口连接电脑,用于下载程序、供电、USB通信。
下图为输入、输出插针定义,下载按钮定义。
下载程序。
将板子通过USB-TYPE C连接电脑,双击运行“stc-isp-v6.90E.exe”(或更高的版本),选择芯片型号为STC32G12K128,打开要下载的HEX文件,选择IRC频率为35MHz。同时按着板上的下载按钮OFF和P3.2,然后释放OFF按钮,1秒后再释放P3.2按钮,“扫描串口”会显示“STC USB Writer (HID1)”,表示已经连接成功,此时点击左下角的“下载/编程”按钮,即可下载程序。如下图所示。

连接设备:
将板子通过USB-TYPE C连接电脑,STC-ISP会识别到设备。如果是XP或WIN7系统,则有可能要安装驱动才能识别、连接。下图所示电脑识别为“USB串行设备(COM3)”

设置运行:
点击“调试接口”,在下拉菜单中选择“接口设置”。

选择“将所有调试接口绑定到串口助手”。

点击“调试接口”,选择“数字示波器-480*320”。
在“串口助手”中选择前面自动识别的串口,本例为COM3,然后打开串口,然后就可以看到示波器了。将输入连接到板子的1000Hz方波信号,可见下图的示波器界面。

示波器横轴为时间,纵轴为幅度电压,还有一些操作按键。
垂直幅度:左上角的“<< 1V >>”为垂直灵敏度选择,所示为1V/DIV,点击“<<”会增大,点击“>>”会减小,从大到小为:
探头x1:  10V   5V  2.5V  1V  500mV  250mV  100mV  50mV/DIV。
   探头x10:100V  50V  25V  10V    5V    2.5V     1V     0.5V/DIV。
当示波器探头调到X10档时,所示电压X10就是实际电压。
纵轴同时显示电压值,方便观察电压。
水平时基:上面的“<< 1ms >>”为水平时基选择,所示为1ms/DIV,点击“<<”会增大,点击“>>”会减小,从大到小为:50s 20s 10s 5s 2s 1s 500ms 200ms 100ms 50ms  20ms 10ms 5ms 2ms 1ms 500us 200us 100us 50us。
水平轴同时显示时间刻度,方便观察时间。同时鼠标也会显示测量线。

频率:左上角会实时显示频率,图示为1000Hz,这个频率是采样1秒测到的,不是通过波形计算获得。
运行/停止:右上角显示绿色“运行”,表示正在刷新显示波形,显示红色“停止”则停止刷新,波形保持。
“运行/停止”按钮用于切换这两个模式。
触发模式: “上升沿”按钮用于切换触发模式(上升沿触发,下降沿触发),同时显示当前的触发模式。
为了简单,总是在波形开始时刻同步,触发电平为0V。
触发方式: “自动”按钮用于切换触发方式(自动/标准/单次)。
自动就是连续不停采样显示波形。
标准(也叫普通)就是有触发才显示波形,无触发就一直等待。
单次就是等待触发一次显示后停止采样,波形静止显示。
垂直位置:右下角的上下箭头键在运行模式时用于调整波形垂直的位置。在停止模式时,上下箭头键无效。
移动波形:右下角的左右箭头键,在停止模式观察波形时用于左右移动波形(波形时基放大后才可移动)。
在运行模式时,左右箭头键无效。

处于停止模式时,可以放大时基(最大10倍)来做水平放大,放大后还可以用左右箭头键移动波形,观察细节,移动波形后左下角会一直跟踪显示波形左边起始位置的时刻。鼠标移动到波形上,还可以实时显示电压和时间值。

将鼠标移到显示波形区域点击右键,选择“设置”,可以进入设置波形界面,如下图所示:

输入补偿调整:
板子上有一个可调电容,用于调整输入补偿。示波器输入接1KHz方波,调整补偿电容,直到合适为止。
最佳补偿,上升沿、下降沿陡峭但无过冲。
示波器探头处于X10档时,也可以调整探头上的补偿电容获得最佳补偿。
应用例子:观察红外接收头信号(NEC码)。
示波器探头输入短路到GND,AC/DC开关拨到DC,自动触发方式,处于运行模式,点击上下箭头键移动显示的水平线到-2V位置(触发电压固定为0V,所以输入信号的0V移到-2V比较合适。),然后示波器探头连接到红外接收头输入脚,示波器设置为1V/DIV,5ms/DIV,下降沿触发模式,标准触发方式,示波器就开始等待信号。拿遥控器随便按下一个键,示波器会收到一串信号,并且静止显示,然后点击停止,就可以缩放波形进行观察分析了。初始录到的波形如下图:
STC开源全球最强悍的8051示波器
https://www.stcai.com/newsinfo/4315738.html

STC USB-CDC /就是串口,

STC 最快的 1T 8051 做示波器就是简单稳定,STC的 12位ADC 高精准稳定
www.STCAI.com,  逢人必送开天斧,感恩莫忘屠龙刀!
请STC 免费+包邮 送我 STC32位8051-老梁USB示波器
请STC 免费+包邮 送我 开天斧-STC8H8K64U-USB示波器-核心功能实验板

我要用 开天斧-STC8H8K64U核心功能实验板 做USB示波器
我要用 开天斧-STC8H8K64U核心功能实验板 做USB科学计算器
水平放大5倍至1ms/DIV,鼠标移到同步头上升沿,显示8.88ms:
再放大到500us/DIV,用左右箭头键移动波形,可以看到数据0或数据1的细节,左下角的时间为波形左移的时间:

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-9-21 08:15 , Processed in 0.068189 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表