如何用LCD1602实时显示接收到的数据

2019-07-14 19:08发布

请教如何将一个动态变化整数发送给1602显示出来?
       一般1602输入显示数据都是定义数组或者直接输入,但这是个动态的数,就不知道该怎么输送给1602了。。。      
比如我将动态的数赋值给a了,我该怎么再把a的值给lcd1602?
       我也考虑过使用占位符,但只会输出,不知道在这里具体应该怎么操作。。。百度半天也没找到想要的答案,,拜托大神给讲讲这里应该怎么写,感谢!!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
人中狼
1楼-- · 2019-07-15 16:28
用你ADC转换出来的数值更新数组里的数值就可以了,不过1602显示字符时ASCII码的,也就是显示数字1,实际向1602写入的数据是0x31。
别抢我的锅
2楼-- · 2019-07-15 21:50
人中狼 发表于 2017-12-15 10:20
用你ADC转换出来的数值更新数组里的数值就可以了,不过1602显示字符时ASCII码的,也就是显示数字1,实际向1602写入的数据是0x31。

噢,那我数组里应该怎么写呢,用占位符么?我只会数组里写固定的东西然后显示
别抢我的锅
3楼-- · 2019-07-15 23:28
人中狼 发表于 2017-12-15 10:34
假设定义一个数组ADC_DATA[5]={0};
那么你程序里的
a=adc/1000;

我改成这样了,也不对。。这该怎么改呢
  1.         u8 str[5]={0};
  2.         a=adc/1000;
  3.         b=(adc%1000)/100;
  4.         c=(adc%100)/1
  5.         d=adc%10;
  6.         str[0]=a+0x30;
  7.         str[1]=b+0x30;
  8.         str[2]=c+0x30;
  9.         str[3]=d+0x30;
  10.         LCD1602_Init();
  11.         LCD1602_Show_Str(4, 1, str);
复制代码
  1. void LCD1602_Show_Str(u8 x, u8 y, u8 str[])
  2. {
  3.         unsigned char i = 0;
  4.         LCD1602_Set_Cursor(x, y);
  5.         while(str[i] != '')
  6.         {
  7.                 LCD1602_Write_Dat(str[i]);
  8.                 i++;
  9.         }
  10. }
复制代码
别抢我的锅
4楼-- · 2019-07-16 01:22
人中狼 发表于 2017-12-15 10:34
假设定义一个数组ADC_DATA[5]={0};
那么你程序里的
a=adc/1000;

已经终于弄好了,哈哈,太感谢了,谢谢

一周热门 更多>