有关使用液晶屏显示波形的问题

2019-07-20 22:12发布

各位电子工作者们,本人是新手,最近应导师要求做一块stm32产生控制波形(控制后面的发射板),并使用自带adc采集发射电压与电流并用液晶屏进行波形的显示。我查了一下资料,发现大多数液晶屏显示实验显示的都是字符,对于怎么显示波形资料较少。我想的是先读取adc采集的值,然后将其转化成电压的值,在将这个电压转换成屏幕上点的坐标(具体转换方法我还不太清楚,想板子焊完后试试),最后将两点进行连线。不断进行采集,从而不断连线,最后产生波形。但是这样我碰到了一个问题,就是随着不断的采集,对应点的一个坐标就会不断增加,一段时间后肯定会超过屏幕的显示范围,这个时候该怎么设计程序啊?如果将这个坐标重置为开始时的坐标的话就会覆盖前面的波形,而不是像示波器一样波形向前“流动”。各位大神,该怎么办呢?不知道我有没有表达清楚。如果有其他的显示波形的方法,也麻烦指导一下。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
zdfwyh
1楼-- · 2019-07-21 03:26
所有的坐标点是保存的数组中的,如320点宽的屏幕,定义x[320],x[0]~x[319]表示每个点的y值,在第一屏是由0一直增加到319,到320时,就
x[0]=x[1];x[1]=x[2].......x[318]=x[319];x[319]=最新值,然后清屏,从x[0]到x[319]重画所有的点,就是这么个思路
xuyaqi
2楼-- · 2019-07-21 04:21
一屏画完后可以清屏画下一屏,要流动的话可以先把老的向后移再画新的。
xinxian
3楼-- · 2019-07-21 05:57
我对STM32做示波器的程序不是很了解,不过直觉感觉,你的lcd只需要一个写点的函数就可以了。
至于你说的循环扫描,可以使用一个for循环做,要根据你LCD走,这个要调试一下才知道。
个人见解
tan逸
4楼-- · 2019-07-21 08:30
 精彩回答 2  元偷偷看……
tan逸
5楼-- · 2019-07-21 13:31
xinxian 发表于 2016-5-17 11:55
我对STM32做示波器的程序不是很了解,不过直觉感觉,你的lcd只需要一个写点的函数就可以了。
至于你说的循 ...

用写点的方式也行,只要点取得足够密,也能形成图线,循环扫描我用的是while,但是还是那个问题,就是如何实现屏幕整体向后移动,从而使最新的点可以自然地连接在后面,就像示波器一样?
xuyaqi
6楼-- · 2019-07-21 17:31
tan逸 发表于 2016-5-17 12:10
老的向后移我不太清楚怎么移,前面的图线已经画到屏上了,移动的话是要整体向后移一位,这个该怎么用程序 ...

如果移一位,先清屏把原先横坐标在x的点画在x-1位置上,其余点依次类推,腾出的位置画新点。

一周热门 更多>