![](http://image.lceda.cn/pullimage/1BSBuKuKzswjBjJOjPDR79fMqE3T5Jl6jK0m4i40.jpeg)
描述
此项目为基于stm32f103c8t6的双通道示波器,由于作者能力有限,又不愿意直接用现成的所谓“烧录了就能用”的代码,所以此项目完成周期可能会很长,但作者会尽自己所能去做。
stm32f103c8t6主频最高72MHz,资源有:64K*8bit的Flash,20K*8bit的SRAM,两个12bitADC合计12个通道,一个高级定时器TIM1及三个通用定时器TIM2、3、4等等。
另外购买的模块为1.8寸128*180的TFT屏幕。
硬件工程文件里存放了自制的板子和硬木课堂提供的示例,在硬件上的修改有:将所有运算放大器替换为LMV321-TR(注意区别于“LMV321”,两者的电源电压范围不同,LMV321-TR才适用于此项目中+-12V电源的应用)。
软件使用标准库开发。
目前实现的功能
1. 显示所测信号的频率;
2. 屏幕显示固定背景(硬件SPI1,待移植或改板子引脚);
3. 按键控制继电器选倍率及屏幕显示对应倍率,初始默认为X10倍率;
短期规划
1. 移植屏幕从SPI1到SPI2;
2. 实现DMA转运,刷新指定的屏幕区域;
3. 实现测峰峰值及平均值;
4. 绘制波形(数组存数据然后画点显示?);
5. 编码器修改横纵轴单位长度(一个编码器控制一路,通过检测“按下”,对应修改量闪烁来选择修改ScaleX还是ScaleY,同时屏幕更新单位长度信息);
6. 自建中文字库,可以通过按键来选择中文版还是英文版;
7. 增加亚克力面板外壳;
更多的愿景(看时间和能力再做了):
1. 重新选主控芯片,资源足够然后尽可能压缩成本
2. SD卡存波形信息(c8t6没有SD卡接口的资源)
3. 跑系统?还没细了解(实验室的示波器似乎都是跑系统的?)(FreeRTOS和UCOS);
4. 不使用时低功耗模式?
设计图
![](/_next/static/media/empty2.28562477.png)
BOM
![](/_next/static/media/empty1.f115c8c9.png)
![](/_next/static/media/clone.4d8f0c21.png)