找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2148|回复: 8
打印 上一主题 下一主题
收起左侧

单片机C语言程序如何加入取千位和小数点标定

[复制链接]
跳转到指定楼层
楼主
ID:981636 发表于 2021-12-21 23:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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控制,找不到方向了
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:86926 发表于 2021-12-22 08:19 | 只看该作者
S1/1000就是取千位,/是获取商,%是获取余数。小数部分可以乘10倍100倍或者1000倍放大后再像整数一样个十百位分离出来
回复

使用道具 举报

板凳
ID:396474 发表于 2021-12-22 08:28 | 只看该作者
S1%1000
回复

使用道具 举报

地板
ID:277550 发表于 2021-12-22 09:29 | 只看该作者
  disbuff[0]=S1/100%10;         //   取百位
  disbuff[1]=S1/10%10;           // 取十位
  disbuff[2]=S1%10;                //取个位
回复

使用道具 举报

5#
ID:213173 发表于 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]);
回复

使用道具 举报

6#
ID:311903 发表于 2021-12-22 11:13 | 只看该作者
sprintf
回复

使用道具 举报

7#
ID:883242 发表于 2021-12-22 12:43 | 只看该作者
这个不是7段LED,要看LCD Module说明书。
回复

使用道具 举报

8#
ID:401564 发表于 2021-12-22 12:59 | 只看该作者
sprintf最简单省事
但显示之前要先清除上次显示的内容,因为sprintf输出的长度不是固定的,会随着数据改变的
回复

使用道具 举报

9#
ID:981636 发表于 2021-12-22 20:36 | 只看该作者
各位大佬,有谢了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表