搜索
bottom↓
回复: 21

手持示波仪软件初稿,请相关软件编写人员认领任务,谢谢

[复制链接]

出0入0汤圆

发表于 2009-4-12 00:05:17 | 显示全部楼层 |阅读模式
今天晚上将我自己先前实验写的代码按照我在这个帖子发出的模块、流程进行了整理,写出了如下的框架代码。
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3278713&bbs_page_no=1&bbs_id=3040

目前,按键驱动、LCD驱动、主程序流程、按键处理、ADC中断代码等都已基本完成,剩下的工作主要集中在
波形显示、波形数据处理、硬件触发、ADC采样程控部分等部分代码。请ghost2 dvhome myworkmail认领部分内容,我们一起尽快完成基本的功能。

点击此处下载 ourdev_435578.zip(文件大小:1.35M) (原文件名:STMDSO_0411.zip)

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入42汤圆

发表于 2009-4-12 11:12:41 | 显示全部楼层
帮顶一下

出0入0汤圆

 楼主| 发表于 2009-4-12 13:26:33 | 显示全部楼层
如何画栅格?
我们用的LCD垂直方向有64个点,本来正好分为4个栅格,每个栅格16点。但用这样的方法画线:
    for(i = 0; i <= 4; i++)
        LCD_BufferDrawXDotLine(0, i*16, 160, LCD_SET);

只能画出4条线,Y坐标分别为0,16,32,48;Y坐标为64的那条线超过范围(0~63)了,这样看起来就不好看了,怎么解决呢?

出0入0汤圆

发表于 2009-4-13 10:19:33 | 显示全部楼层
波形数据处理,硬件触发、ADC采样程控这些任务你能解释一下吗?比如波形数据处理是要求平均值还是什么?硬件触发是什么意思?外中断吗?

出0入0汤圆

发表于 2009-4-13 10:36:32 | 显示全部楼层
一般都是要画一个框吧?

如果画框,就好处理了,界面也比较好看

但是就是显示区域变小了

出0入0汤圆

发表于 2009-4-13 11:00:46 | 显示全部楼层
我做硬件触发、ADC采样好了。

出10入120汤圆

发表于 2009-4-13 11:12:21 | 显示全部楼层
192*64的液晶很难处理好
分成5条线吧,坐标分别为 1、16、31(基线)、46、61

出0入0汤圆

 楼主| 发表于 2009-4-13 11:27:46 | 显示全部楼层
3楼,硬件触发是外部比较电路给的中断信号。数据处理部分具体怎么做你可以自己考虑,我们一起讨论,只需给其他模块提供计算峰峰值、有效值、频率等信息即可。

4楼,栅格画出来了,就不要再画框了吧,毕竟空间太少了。

6楼,分成5条线吧,坐标分别为 1、16、31(基线)、46、61,
这样就是15个点一个垂直栅格了,可能也只好这么办了。

我做波形显示部分吧。

出0入0汤圆

发表于 2009-4-13 17:46:57 | 显示全部楼层
还剩下的就是数据处理了,是吧?

没人要就我来吧

出0入0汤圆

发表于 2009-4-14 09:30:34 | 显示全部楼层
那我呢?要不ghost2你把硬件触发让给我吧,一人做一样吧,也快点

出0入0汤圆

发表于 2009-4-14 17:37:52 | 显示全部楼层
硬件触发、ADC采样程控还需要详细讨论一下,不过估计代码量已经不大了。

出0入476汤圆

发表于 2009-4-14 20:37:03 | 显示全部楼层
屏太小了,可以用大一点的,贵不了多少

出0入0汤圆

发表于 2009-4-15 10:49:20 | 显示全部楼层
针对STM8S的运算速度,有效值要怎么来做才合适???如果要算很精准(譬如输入非正弦波),好像不太现实


或者是直接取峰峰值*1.41  ??

出0入0汤圆

发表于 2009-4-15 11:56:39 | 显示全部楼层
均方根,如果可以 自己写开方算法,不用浮点运算。
这个功能选择启动,就不会总是太慢了。

出0入0汤圆

发表于 2009-4-15 12:36:24 | 显示全部楼层
自己写的二分法开方 不怎么好。坛子上有另外一种开方程序,只是看不懂。
unsigned int sqrti(unsigned long Val)
{
unsigned long Vax;
unsigned int Vmax,Vmin=0,Vmid;
unsigned char i=16;
if(Val>0xffff)
Vmax=0xffff;
else
Vmax=(int)Val;
while(i)
{i--;
  Vax=((unsigned long)Vmax+(unsigned long)Vmin+1)>>1;
  Vmid=(unsigned int)Vax;
  if(Vmin==Vmid) break;  
  Vax=Vax*Vax;
  if(Val<Vax)
    Vmax=Vmid;
  else if(Val>Vax)
    Vmin=Vmid;
  else break;}
return Vmid;
}

出0入0汤圆

 楼主| 发表于 2009-4-15 12:44:36 | 显示全部楼层
直接取峰峰值*1.41,我觉得可行。

出0入0汤圆

发表于 2009-4-15 12:56:53 | 显示全部楼层
有谁会用示波器只测正弦波?
用这个方法出有效值,不如只出平均值和峰峰值好了。

出0入0汤圆

发表于 2009-4-15 12:57:51 | 显示全部楼层
而且峰值/1.414才是

出0入0汤圆

发表于 2009-4-15 13:07:26 | 显示全部楼层
也可以做假有效值,就是把负的变成正的加上去,取平均值。

出0入0汤圆

发表于 2009-4-15 13:16:50 | 显示全部楼层
【17楼】 ZealotNH 发仔


-_-!!!!!  我犯低级错误了

出0入0汤圆

发表于 2009-4-16 23:41:46 | 显示全部楼层
那个均方根算法是否要求采样数据必须是刚好一个周期的数据呢?

出0入0汤圆

发表于 2009-4-17 17:18:30 | 显示全部楼层
不太可能,因为硬件触发也是需要时间的,如果是顶点采样,频率飘一点,就会出错,而且你的第一个采样点就正好落在一个周期开始的位置吗?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-27 06:22

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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