求教:怎样将AD转换的二进制数据转换成十进制,用LCD1602显示?单片机C语言程序不知道怎么写...谢谢~
2个回答
展开全部
8位AD,最大255;
uchar num;
num=AD_receive();//把AD采集回来的数据保存
write_com(0x80);//1602从0x80开始显示数据
write_data(num/100+0x30); //显示字符百位,后面以此类推
write_data(num%100/10+0x30);//十位数
write_data(num%10+0x30);//个位数
至于1602的驱动程序,网上多得是,找找就有了
uchar num;
num=AD_receive();//把AD采集回来的数据保存
write_com(0x80);//1602从0x80开始显示数据
write_data(num/100+0x30); //显示字符百位,后面以此类推
write_data(num%100/10+0x30);//十位数
write_data(num%10+0x30);//个位数
至于1602的驱动程序,网上多得是,找找就有了
追问
我就是这么写的,可能是我表达的不好吧,因为我做的是烟雾报警器,所以我想把具体的浓度(0~10000ppm)显示在1602上,可是1602上显示的范围就是0~255,我试过写 num=num*10000/256;再逐位显示,可是不成...就是不懂怎么写...
追答
1602怎么可能显示那么少,是你变量数据类型设置有问题吧,要是显示10000,num数据类型设置为 unsigned int 型,0-65536,uchar 最大只到255,数据会溢出的,显示方式一样,取余和取整,每一位显示。
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32是一种由意法半导体(STMicroelectronics)公司设计和生产的单片机系列,广泛用于嵌入式系统、物联网(IoT)设备、汽车电子、工业自动化等领域。STM32具有以下优点:1. 低功耗:STM32单片机通常具有较低的功耗,...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询