标题: 单片机C语言程序如何加入取千位和小数点标定 [打印本页]

作者: small2    时间: 2021-12-21 23:53
标题: 单片机C语言程序如何加入取千位和小数点标定
disbuff[0]=S1%1000/100;                           取百位
         disbuff[1]=S1%1000%100/10;                           取十位
           disbuff[2]=S1%1000%100%10;                           取个位
           LCD_set_xy( 3, 5 );                           写12864坐标起始位置
           LCD_Write_number(disbuff[0]);                           写12864,百位
           LCD_Write_number(disbuff[1]);                           
            LCD_set_xy( 3, 6 );                           
            LCD_Write_number(disbuff[2]);  
大神们,如上提,取千位的是如何表达,号定小数点如何写的,如1.234,12.34。123.4 小数点由P2.1 和P2.1控制,找不到方向了

作者: 蓝魄    时间: 2021-12-22 08:19
S1/1000就是取千位,/是获取商,%是获取余数。小数部分可以乘10倍100倍或者1000倍放大后再像整数一样个十百位分离出来
作者: 2286980347    时间: 2021-12-22 08:28
S1%1000
作者: devcang    时间: 2021-12-22 09:29
  disbuff[0]=S1/100%10;         //   取百位
  disbuff[1]=S1/10%10;           // 取十位
  disbuff[2]=S1%10;                //取个位
作者: wulin    时间: 2021-12-22 09:38
        S1=12864;
        disbuff[0]=S1/10000%10+'0';
        disbuff[1]=S1/1000%10+'0';
        disbuff[2]='.';
        disbuff[3]=S1/100%10+'0';
        disbuff[4]=S1/10%10+'0';
        disbuff[5]=S1%10+'0';

        //LCD显示12.864
        LcdWriteCom(0x80);//起始位置
        for(i=0;i<6;i++)
                LcdWriteData(disbuff[i]);
作者: xws245925587    时间: 2021-12-22 11:13
sprintf
作者: Hephaestus    时间: 2021-12-22 12:43
这个不是7段LED,要看LCD Module说明书。
作者: Y_G_G    时间: 2021-12-22 12:59
sprintf最简单省事
但显示之前要先清除上次显示的内容,因为sprintf输出的长度不是固定的,会随着数据改变的
作者: small2    时间: 2021-12-22 20:36
各位大佬,有谢了




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