如何用单片机把ascl转成字符,并在lcd上面显示出来??
如何用单片机把ascl转成字符,并在lcd上面显示出来??求单片机的编写程序。。。新手上路,各位大侠多多帮忙。。。。...
如何用单片机把ascl转成字符,并在lcd上面显示出来??求单片机的编写程序。。。新手上路,各位大侠多多帮忙。。。。
展开
4个回答
展开全部
ascl?你说的是ascii码吧?lcd是1602吗?如果是的话那就不用费心了,你写入ascii码lcd1602会自动转成字符的,比如你写入65,显示出来的就是65所对应的ascii字符'A'了,根本不需要自己事先转化
更多追问追答
追问
是ascii码没错,之前我提问的时候写错了。
lcd就是用1602。
这么说吧,我有一个模块,输出的是A的是ascii码,现在通过单片机串口,想把A显示在LCD上,这个过程的单片机编码。刚开始学习,单片机编程方面实在有难度,能不能请大侠帮忙写一小段,或者给个差不多的链接供我学习下?
万分感谢!
追答
只能给你1602部分的代码,然后你只需在程序里把串口读回的ascii码传递给1602写数据的函数就行了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要转的数小于10的话+‘0’就可以了
比如:
1 转字符 1+‘0’就可以在LCD上显示1了。
要转换串的话用取余。
比如:
123 转字符串
uchar temp = 123, i = 3;
uchar a[3];
while(temp > 0)
{
a[i] = temp % 10 + '0';
temp /= 10;
i--;
}
这样在数组里面就是a[3]="123"了
比如:
1 转字符 1+‘0’就可以在LCD上显示1了。
要转换串的话用取余。
比如:
123 转字符串
uchar temp = 123, i = 3;
uchar a[3];
while(temp > 0)
{
a[i] = temp % 10 + '0';
temp /= 10;
i--;
}
这样在数组里面就是a[3]="123"了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有个转CHAR语句 也可以接串
不过简单点你可以用数组定义数码
不过简单点你可以用数组定义数码
追问
麻烦您了,能不能说的具体点呢?最好能提供实际程序,这样可能比较好理解,链接也可以挖。。。
追答
sprintf(str2,"%d",fs);
sprintf(str3,"%d",fg);
sprintf(str4,"%d",ms);
sprintf(str5,"%d",mg);
sprintf(str2,"%s%s",str2,str3);
sprintf(str2,"%s%s",str2,str6);
sprintf(str2,"%s%s",str2,str4);
sprintf(str2,"%s%s",str2,str5);
/*(str2+1)=*str3;
*(str2+2)=':';
*(str2+3)=*str4;
*(str2+4)=*str5;*/
write(0xc0,str2); //液晶显示提示信息
上面是接串的比较麻烦,是我刚开始不懂时编的。你可以定义一个数组直接取数组里的数(即所用码数)给LCD显示函数,这样简单点
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询