单片机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);
丹凤呈祥龙献瑞 红桃贺岁杏迎春 福满人间
数字系统里,字符有它的编码,比如你在在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);
丹凤呈祥龙献瑞 红桃贺岁杏迎春 福满人间
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32是一种32位的微控制器,由意法半导体(STMicroelectronics)公司设计和生产。STM32是一种非常常见的嵌入式系统芯片,广泛应用于物联网、汽车、工业控制、医疗设备等领域。STM32具有以下特点:1. 体积小巧:STM...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询