单片机lcd显示函数

 我来答
匿名用户
2011-06-02
展开全部
  单片机lcd显示函数
  数字系统里,字符有它的编码,比如你在在LCD上显示7,这个7它的意义是个字符,那么你必须加个引号,因为加了个引号后,编译程序就会知道它是一个“字符”而不是一个数字(实际上,加引号的7会被编译程序翻译成37H,对应7的ASIIC码”。为什么非要用“字符”呢,因为LCD只认字符,它只对“字符”进行显示,就像上面的例子,LCD知道37H是字符7,所以会显示字符7。如果不用引号,那么编译程序就单纯的把它当作一个常量送过去,到LCD时,LCD ”看"到的是07H,它当然不会显示出字符7出来。
  要显示PC传来的数组,重写一个函数如下:
  void LCD_printstr(unsigned char * Pch)
  {
  unsigned char chnum=20; //一个字串里最多有几个字符,这里是20个,可以改
  while(chnum!=0) //循环取字符当一个字串不能超过20个,防止陷入死循环
  {
  if (*Pch)!=0x0d ; //数组里的字符串以0x0d,也就是回车符结束,如果不是回车符,
  //表示还未到字串结尾,PC传过来的字串要以0x0d结束,当然别的
  //特殊字符也可以
  {
  LCD_write_data(* Pch); //显示字符
  //如果上面的函数显示后不会自动向右移动,在此处加入移动字符位置的函数
  Pch++; //指向下一个字符
  chnum--; //字符计数减1
  }
  }//循环结束
  }
  比如你存字符的数组是unsgiend char str[],调用函数的方法如下:
  LCD_printstr(&str);

  丹凤呈祥龙献瑞 红桃贺岁杏迎春 福满人间
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式