找回密码
 立即注册

QQ登录

只需一步,快速开始

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

数码管DS04如何把小数点前移

[复制链接]
跳转到指定楼层
楼主
ID:326353 发表于 2018-5-9 21:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
见题,我现在的程序只能显示小数点后一位,我想让他显示到小数点后三位该怎么做,

//数码管位选定义
sbit smg_we1 = P3^4;            //数码管位选定义
sbit smg_we2 = P3^5;
sbit smg_we3 = P3^6;
sbit smg_we4 = P3^7;

dis_smg[0] = smg_du[set_d % 10];                   //取小数显示
                dis_smg[1] = smg_du[set_d / 10 % 10] ;         //取个位显示
                dis_smg[2] = smg_du[set_d / 100 % 10] & 0xdf ; //取十位显示

数码显示函数*****************************/
void display()
{
        static uchar i;   
        i++;
        if(i >= smg_i)
                i = 0;        
        smg_we_switch(i);                 //位选
        P1 = dis_smg[ i];                 //段选               
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:326353 发表于 2018-5-9 22:13 | 只看该作者
基于51单片机的超声波测距的数码管显示
回复

使用道具 举报

板凳
ID:213173 发表于 2018-5-10 06:41 | 只看该作者
dis_smg[0] = smg_du[set_d % 10];        //取个显示
dis_smg[1] = smg_du[set_d / 10 % 10];   //取十位显示
dis_smg[2] = smg_du[set_d / 100 % 100]; //取百位显示
dis_smg[3] = smg_du[set_d / 1000] & 0xdf; //取千位显示+小数点
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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