标题: 单片机控制12864液晶如何显示负数? 求帮助 [打印本页]

作者: ne5532    时间: 2019-10-6 13:28
标题: 单片机控制12864液晶如何显示负数? 求帮助
用12864做显示,INT类型数据做递减时,负数时不能显示,或显示乱码,如何做才能让它显示负数?

作者: csmyldl    时间: 2019-10-6 18:06
要把负数取绝对值变为正数,在判断为负数时在数据前用程序加一个'-'符号
作者: ahshmj    时间: 2019-10-6 19:53
显示器是不会分什么正数负数的。你让他显示什么就显示什么。负数就是前面加一“一”横杠。你让他显示横杠不就行了吗?
作者: mosart    时间: 2019-10-8 10:43
负数是以反码存在的,你应该先看看数据类型这章。显示器才不会区分这些,需要程序去判断负数,然后转换成正数前面加个“-”
作者: qq1105424012    时间: 2019-10-8 11:01
显示器不会自己区分正负号,需要程序去判断。然后加“-”。
作者: 温酒斩华腾    时间: 2019-10-8 11:20
前面加个负号
作者: 早安。    时间: 2019-10-8 13:17
会不会是绘图RAM中本身就有数据,一旦打开绘图显示,他们就会显示出来?因为我写一个字符的点阵码时,其余的并没有填零。另外12864液晶显示图形时,是不是必须得写满整个屏幕(不用的填零)。
作者: ne5532    时间: 2019-10-8 20:59
上面各位师傅,是否数据实际上已经就是负数了,只是因为12864没有显示负数的功能,那么是否是先判断小于0再把它转换成正数再做显示,同时在这个正数的前面加一个“-”号?
作者: ne5532    时间: 2019-10-8 22:03
刚才仔细在网上看了下度娘, 还存在个疑问, 函数返回来的数,是先判断〈0,还是先把10进制数转成二进制,再判断最高位是否是1,再做处理?

因为函数返回来的值有正有负,如果是正就不需要处理,是负数就先处理,这样的效率高点,用先判断〈0这个方法可以全部判断出是正还是负数吗?
作者: snow52999    时间: 2019-10-11 16:34
值取绝对值,前面加-号


作者: 344224295    时间: 2019-10-12 13:16
程序判断,然后加字符 ‘-’
作者: ne5532    时间: 2019-10-15 12:04
344224295 发表于 2019-10-12 13:16
程序判断,然后加字符 ‘-’

用哪个程序呀,先判断小于0?还是先变成2进制判断高位呀?
作者: jiahao6681    时间: 2019-10-15 15:37
判断数字是否小于0,如果是,在数字前显示一个“-”,否则将符号区清掉数字正常显示
作者: ne5532    时间: 2019-10-25 21:28
明白了,谢谢各位师傅




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1