[STM8] STM8 LCD显示的一些问题求指教

[复制链接]
1191|6
 楼主| yj96923 发表于 2019-1-25 10:12 | 显示全部楼层 |阅读模式
打算用LCD实时显示ADC采样的电压值出来,同事给了一个方法就是在while里写当ADC采样的值是0x00和0x14显示0.1V,0x14和0x28这样显示0,2以此类推到最大采样的电压5V。我感觉这样太浪费空间了。。能不能写一个数组类似下面这样的直接显示tab1每次采样的值出来,但是显示部分不知道怎么写 ,所以请教下各位 (芯片是STM8S208MB 板子是ST官方的UM0482的开发板)
Conversion_Value = ADC2_GetConversionValue();
    ADC=Conversion_Value*5;
    a=ADC/1000;
    b=(ADC%1000)/100;
    c=(ADC%100)/10;
    d=ADC%10;
    tab1[0]=a+0x30;
    tab1[1]=b+0x30;
    tab1[2]=c+0x30;
    tab1[3]=d+0x30;

mmuuss586 发表于 2019-1-25 10:15 | 显示全部楼层
没看明白什么意思
 楼主| yj96923 发表于 2019-1-25 10:39 | 显示全部楼层
mmuuss586 发表于 2019-1-25 10:15
没看明白什么意思

就是想LCD实时显示我ADC采样的电压值  想知道有什么简单的写法么
香水城 发表于 2019-1-25 11:00 | 显示全部楼层
你知道怎么计算得到那些数据了,整数位,小数点,小数位。
然后就是通过LCD进行字符的输出,具体怎么写查看相关LCD的驱动代码,它们一般都会配有演示代码,你改成相应芯片的驱动即可。
gaoyang9992006 发表于 2019-1-25 11:02 | 显示全部楼层
楼主你这思路很乱啊。
你的ADC是使用10位还是使用8位?
如果是使用8位,你的参考比如是VCC
你测的结果就是VCC*(测到的数据/2^8);这就是你要的电压。
比如你保留2位小数。
测到的结果比如是dat=1.23
你可以dat*100
就是123
123,通过除法和取余数操作分解成1,2,3
然后讲123三个数放一个数组里,比如uchar val[4]={1,'.',2,3};
你将这个数组送到LCD就行了。
gaoyang9992006 发表于 2019-1-25 11:04 | 显示全部楼层
显示时候你可以指定每个数的位置。如果你想用10位有效位,那后面可能会波动。你选用8位的,丢弃后面2位也可以。
gaoyang9992006 发表于 2019-1-25 11:04 | 显示全部楼层
直接计算就行了,你搞个表是啥意思?难道你要搞256空间的数组表?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

162

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部