求大佬指教单片机16位数据的BCD码转换

2019-07-15 08:29发布

就是这种这种8位的十六进制数temp(0~255)
百位 bai=temp/100;
temp=temp%100;//取余数
shi=temp/10;
ge=temp%10;

16位的也是一样,只是先除以1000(不太懂后面的)

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
14条回答
勇哥-lzu
2019-07-16 13:06
PKZz 发表于 2018-5-5 10:41
改成了unsigned long int 还是在只能显示小与255的数,请问是不是51单片机只能计算8位的原因?16位数据是不是要分成2部分来计算?

显示不出来还是显示的不正确,比如256显示为0,这是显示不正确,应为uchar 最大是255;如果是这样,将uchar 改成unsigned short或者int就可以了;如果是没有数字或者乱码就很奇怪了

51单片机虽然是8位的,但是可以处理16位的short和32位int数据,不需要进行特别的处理;这些编译器会做的

一周热门 更多>