ICCAVR中,怎么将unsigned int 类型的数字1234,转换成在1602b液晶屏上显示的“12.34”
ICCAVR中,怎么将unsigned int 类型的数字1234,转换成在1602b液晶屏上显示的“12.34”啊? 显示(1234/100) 再显示"."再显示(1234%100) unsigned int 类型的数字范围0-65536,如果你确定小数点为2位(定点数),那么就是0.00-655.35。1。开一个5个单元的char[]数组
2。设计一16位二进制转BCD码的函数,将INT变量的各个位(万、千、百、十、个)转换后放入char[]中。
3。将char[]中的每一个单元的数加上0X30送显示(ASCII,一般LCD),或将char[]中的每一个单元的数转换成7段码输出(LED数码管)。 谢谢,我先试试 不用这样.
Display(NUM/1000);
Display((NUM%1000)/100);
Display('.');
Display((NUM%100)/10);
Display(NUM%10); 不错啊 楼上的 马朝老师,那如果用浮点数该怎么做呢? 6楼,这恐怕不是AVR的问题吧,你使用任何的单片机都会出现这个问题。把数字电路等基础的东西打扎实,否则你不会真正掌握AVR的应用。
页:
[1]