LCD1602是不能直接显示变量数值的,只能显示ASCII码,即显示字符。因此,要显示变量数值,需要把变量的每一位数转换成字符0~9。字符0~9的ASCII码是0x30~0x39 。举个例子吧,如果 n 变量是8位的,即unsigned char 型的,最大数是255,显示成十进制数是3位,即百十个位。因此,要把n 的百十个位分离出来,分别转换成字符0~9。然后送字符到LCD1602才能显示出来。
显示百位:a=n/100+0x30; //+0x30就是把百位转换成字符了显示十位:b=n/10%10+0x30;显示个位:c=n%10+0x30;按顺序把abc写到1602就行了。