基于STC8A8K MCU的简单示波器设计

发布者:hylh2008最新更新时间:2023-10-02 来源: elecfans关键字:MCU 手机看文章 扫描二维码
随时随地手机看文章

谈到为什么很多人选择成为一名“伟大”的嵌入式软件工程师,一部分人是读过相关的专业,顺理成章的干着相关的工作;而有另外一部分人他们目的非常的简单,就是想从0到1的DIY一些专属的小型的电子作品来获得内心对技术的好奇,也就是常说的这个人真爱"捣鼓"。


那么今天这里就分享一下B站up主“老刘爱捣鼓”的一个DIY作品,挺有意思的,有种"麻雀虽小五脏俱全"之感,对于那些刚入门嵌入式、MCU缺少一些实战经验的朋友,把他作为一个实战项目来学习还是不错的。 好了,下面是这款开源作品的一些信息: 这是一款采用STC8A8K MCU制造的简单示波器,只有零星组件,易于成型。这些功能可以涵盖简单的测量:

4e683a4c-6483-11ed-8abf-dac502259ad0.jpg

该作品主要的规格如下:

单片机: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中。

作品展示部分效果如下:

4e7f757c-6483-11ed-8abf-dac502259ad0.jpg

4ea410a8-6483-11ed-8abf-dac502259ad0.jpg

4ec4b95c-6483-11ed-8abf-dac502259ad0.jpg

好了,最好放该项目代码以及资料白嫖地址了:

https://github.com/CreativeLau/Mini-DSO

原文参考于:

GitHub - CreativeLau/Mini-DSO: 用STC单片机制作的简易示波器 / DIY Mini Digital Storage Oscilloscopes(DSO) with STC MCU


关键字:MCU 引用地址:基于STC8A8K MCU的简单示波器设计

上一篇:示波器探头阻值测量及工作原理
下一篇:平板示波器如何进行探头的补偿和衰减系数设定

推荐阅读最新更新时间:2024-11-09 18:51

单片机正弦波发生器设计
系统框图 该系统采用单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、信号的采集分析以及信号的处理和变换,采用按键输入,利用虚拟示波器显示波形的方案。将设计任务分解为按键电路、输出转换电路等模块。图3-2为系统的总体框图。 系统仿真 单击仿真界面左下方的开始按扭,仿真就开始了。具体仿真过程如下: (1)f=50HZ正弦波的调试结果 单片机源程序如下: #include reg52.h #define uchar unsigned char #define uint unsigned int #define DAdata P0 //DA数据端口 sbit DA_S1= P2^0; // 控制DAC0
[单片机]
<font color='red'>单片机</font>正弦波发生器设计
以C8051F020单片机为控制核心的一键多义按键管理程序的原理
设计采用高性能单片机C8051F020为控制芯片,监控示波器面板上40个按键、3个编码开关及4个电位器的状态。分别介绍了键盘、编码开关和电位器的工作原理,以及其与单片机连接的硬件电路及软件编程的实现。按键部分采用的键盘程序设计方法,给出了键码匹配子程序流程图。 监控程序负责系统中全部硬件和软件资源的分配、调度工作,它提供用户接口,使用户获得友好的工作环境,是系统设计中一个重要组成部分。 1C8051F020单片机概述 伴随着电子技术快速的发展,越来越多的人加入电子开发的大军。在学习电子技术和研发项目的过程中,避免不了要使用一些仪器,例如万用表、示波器等等,然而对于一些非专业的爱好者,拥有一台数字示波器是比较“奢侈”的。本设
[单片机]
以C8051F020<font color='red'>单片机</font>为控制核心的一键多义按键管理程序的原理
单片机按键扫描程序状态机方法
简介:设定一个定时器中断,每隔10MS 扫描一次按键。,读取值。。如果多个按键,又有多余的定时器,可以试试这个方法,效率高了。搞STM32 刚好。 cool. #define key_input PIND.7 // 按键输入口 #define key_state_0 0 #define key_state_1 1 #define key_state_2 2 char read_key(void) { static char key_state = 0; char key_press, key_return = 0; key_press = key_input; // 读按键I/O电平 switch (key_state
[单片机]
单片机学习札记之8 内部EEPROM的配置和使用
失,STC单片机的EEPROM不是真正的EEPROM,比如AT24C02,那才是真正的EEPROM,可以每次按字节擦除数据,而STC15W的都是用Flash模拟的,以512字节是一个扇区,每次擦除数据,必须全部擦除掉才可以,考虑到应用比较简单,用内部的EEPROM就凑合用吧。 接下来,我们测试下单片机内部的EEPROM是不是能够正常的存储我们的数据,能够掉电不丢失数据,测试前,我们先来移植STC关于EEPROM使用的例程,不需要改动,拿过来使用就好了。 然后,我们写一个程序,程序的功能是在指定的地址上读取数据,然后写入一个新的数据,每次上电,数据记忆上电次数,显示在数码管上 将程序编译之后下
[单片机]
<font color='red'>单片机</font>学习札记之8 内部EEPROM的配置和使用
stc15系列单片机 timer组件
/** * 文件名:timer.h */ #ifndef _TIMER_H #define _TIMER_H #define SYS_MCLK 11059200 //系统主时钟 #define FOSC 11059200 //晶振频率 #define USING_T0 #define USING_STC15_T2 #ifdef USING_T0 extern uint8_t tmr0LowByte, tmr0HighByte; void tmr0_init(uint8_t ms); #endif #ifdef USING_T1 extern uint8_t tmr1LowByte,
[单片机]
AVR单片机有什么优点_为什么要选择AVR单片机
  AVR单片机是ATMEL公司研制开发的一种新型单片机,它与51单片机、PIC单片机相比具有一系列的优点:   1:在相同的系统时钟下AVR运行速度最快;   2: 芯片内部的Flsah、EEPROM、SRAM容量较大;   3:所有型号的Flash、EEPROM都可以反复烧写、全部支持在线编程烧写(ISP);   4:多种频率的内部RC振荡器、上电自动复位、看门狗、启动延时等功能,零外围电路也可以工作;   5:每个IO口都可以以推换驱动的方式输出高、低电平,驱动能力强;   6:内部资源丰富,一般都集成AD、DA模数器;PWM;SPI、USART、TWI、I2C通信口;丰富的中断源等。   目前支持AVR单片机编译器的语
[单片机]
AVR<font color='red'>单片机</font>有什么优点_为什么要选择AVR<font color='red'>单片机</font>
【蓝桥杯单片机组】超声波模块
超声波模块分为发射、接收两个部分: 发射:通过跳线帽将P10与发射端相连 接收:连接P11,采用CX20106A作为解调芯片,主要频率在38K~41KHz,超声波实验中主要使用40Hz,当CX20106A接受到40KHz的信号时,会在7脚产生一个低电平下降脉冲,在实际调试的时候只关心芯片的7脚在收到信号是是否有一个下降沿产生。在本电路的调试中,如果一直发射超声波,在7脚将会有周期的低电平产生。不会像通常认为的那样,即一直发射信号时,7脚一直为低电平。这是刚用CX20106时的一个常见错误。 编程 思想: (1)开定时器开始定时 (2)发射超声波40KHz(每个电平维持100个NOP,一共8周期脉冲) (3)检测是否有RX ==
[单片机]
ARM7单片机(学习ing)—(五)、实时时钟(RTC)—01
一曲熟悉的音乐~~ Rihanna~~我的手机铃声~~ 今天就是实时时钟(RTC)~~ 我决定了~~ 把ARM7的资料整理完以后不会整理这些资料了~~ 网上还是很多的~~ 不过我还是会更新自己学习的心得的~~ 去了学校~~ 大三下学期了~~ 也没有这么多的时间和精力了~~ 记住这个时刻~~ Califunia King Bed~~ 五、实时时钟(RTC) 五—(01)、实时时钟相关应用和寄存器的介绍~~ 1、特性 2、描述 3、结构 4、寄存器描述 5、RTC中断 6、混合寄存器组 a、中断位置(IIR—0XE0024000) b、时钟节拍计数器(CTC—0XE0024004)
[单片机]
ARM7<font color='red'>单片机</font>(学习ing)—(五)、实时时钟(RTC)—01

推荐帖子

modelsim 6.2编译xilinx库报错
CompilingXilinxHDLLibrariesforModelSimSESimulatorLanguage=verilogBackingupsetupfilesifany...SourceTools(\'AUTO_DETECT\')=ERROR:CAEInterfaces:326-COMPXLIB:unabletofindsimulator(mti_se)executables以前用compxlib-smti_s
eeleader FPGA/CPLD
防泄密软件如何防止公司源代码、设计图纸泄露?
对于任何公司来说,运营数据、创作设计图纸、源代码以及核心知识产权等都是非常重要的,甚至关乎企业的存亡,为了保护这些重要信息不被泄露,避免公司损失,就需要防泄密软件来保护了。说到防泄密的问题,员工电脑有必要安装防泄密软件么?目前,很多企业对防泄密的要求是很高的,但是员工管理体系不完善,保密制度沦为一纸空谈,很容易出现重要信息泄密的情况,给公司造成巨大损失。所以对于企业来说,员工电脑安装防泄密系统是很有必要的,尤其是涉密企业或更注重核心知识产权的企业。那么,针对源代码行业的企
huaqidun WindowsCE
做USB驱动无法读回数据,请各位高手帮忙看下这段代码是不是有错....谢过 !
voidTHVMSDevice::SerialRead(KIrpI) { T.Trace(TraceInfo,__FUNCTION__\"++.IRP%p\\n\",I); T.Trace(TraceInfo,__FUNCTION__\"gotoRead-----successful!\\n\"); NTSTATUSstatus=STATUS_SUCCESS; KMemoryMem(I.Mdl());//
yunanxiang 嵌入式系统
专家谈对UPS电池的智能管理
本帖最后由jameswangsynnex于2015-3-320:02编辑要实现UPS的电池智能管理需要考虑多个方面,其中最重要的就是智能化的充放电管理和灵活的电池维护管理。电池精确的充放电管理,是延长电池寿命的重要因素。而电池维护操作的方便、灵活,则是保证系统安全、易用的关键。电池的智能化管理使全面提高UPS稳定性和高可用性成为可能。要合理地进行UPS电池的充放电管理,首先要准确全面地监控每一节电池的状态,包括电池容量、后备时间等。目前,大多数中、大容量UPS都设计并具备了
护花使者 移动便携
关于MPS移动电源芯片……
目前拿这个芯片来做5V3A,板子很小,双面板过不了EMC,超了十多个DB,后面改四层板之后OK了,接下来是一堆头疼的问题1.MP2632的手电筒功能短路或充电随机亮起2.LED指示灯带载放电会微亮3.放电至2.6V芯片才会关断,然后电池电压回升后又自动输出4.充电时,电池电压充至2.9V或4.0V左右时莫名的无充电电流,需重新插拔一次才正常第1个问题手电筒功能缺陷大家都知道,但是产品不需要此功能,所以接受,第二个LED灯微亮,把限流电阻放大些稍微好点但还是微亮,也试着接
gh131413 模拟电子
LPC1500体验+之三_led闪烁
本帖最后由youzizhile于2014-7-2821:02编辑 自从安装驱动和更新debug镜像成功后,就迫不及待的设计程序。首先是下载最新的示例代码:参照蓝雨夜的帖子@蓝雨夜编译相应的程序生成chip_15xx_lib.lib和board_nxp_lpcepresso_1549.lib,然后设置periph_blinky为活动工程,但是编译时总是说board_nxp_lpcepresso_1549.lib无法打开或者文件不存在,尝试了很多次都是同样的问题,而chi
youzizhile NXP MCU
小广播
最新测试测量文章
换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved