2748|0

356

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

新塘M451做简单示波器 [复制链接]

本帖最后由 ihalin 于 2016-8-24 23:33 编辑

最近参加牛卧堂的比赛 用m451做了个示波器 采用的是spi 屏幕 SPI刷新波形很慢(ili9341屏幕驱动不起,马上要交作品了)  最后使用软件触发加只清除前一次波形(不清屏)的方式显示波形 画出来的波形十分稳定 20khz的三角波 配置ADC的采样率1msps
  
触发使用的是软件实现的 就是先定义一个 1000个数据 ADC123_Buff[1000] 然后设定触发的位置
AD_Trg = 2048 ;


然后  
  1. for(i=0;i<1000;i++)//找触发位置
  2.                  {
  3.                       if(ADC123_Buff[i+1]<AD_Trg && ADC123_Buff[i+1]>AD_Trg)
  4.                                         {
  5.                                                 Trg_p =i;
  6.             break;        
  7.                                         }                                                
  8.                  }
复制代码

然后在到触发位置后面取320个点 其他数据都丢弃
最后是画波形而实现方法
先定义两个数组
一个数组是现在要画点的数据data2[320]画点的颜色是黄色
另一个数组是data1[320]是前一次画的波形的数据目的是清除上一次的波形 点的颜色是背景颜色黑色
  1. for(i=0;i<320;i++)
  2. {
  3. POINT_COLOR = BLACK;//黑色的和背景颜色一样
  4. LCD_DrawPoint(i,data1[i]);//这样就把前一次的点清除了
  5. POINT_COLOR = YELLOW;//黄色是波形的颜色
  6. LCD_DrawPoint(i,data2[i]);//这样就把前一次的点清除了
  7. }
复制代码

因为有触发所以波形十分稳定
简单的频率的计算(周期信号): 先算出320个点有多少个周期一个周期多少个点组成(周期信号)  因为ADC的采样率固定可以知道ADC一秒钟可以采集多少个点就可以算出一个波形的周期 周期的倒数就是频率  (简单的计算)
还是用定时器 计数器来计算频率好。
幅度值简单计算; 求出320个点中有多少个周期然后单独算出每个周期的最大值然后求平均值

马上就要交作品了。。。
待续还在完善。。。。。。。。。




此帖出自stm32/stm8论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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