6280|6

54

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

[求助]液晶显示位数及小数点问题 [复制链接]

我现在想用液晶显示器显示一个随机读取的数字(用c编程),比如说我已得到千位数字a,百位数字b,十位数字c,个位数字d,小数点后第一位e,(小数点后的第一位我用原来数乘以10得到的-有没有更好的办法???),小数点后第二位f,那么我如何把这些数送到显示位呢?
我的想法是这样的:
定义数组,wd[10]={这里放的是显示段码(0-9)},然后再定义数组,ad[6]={液晶显示屏的5位显示位},然后在得到一个随机数后,就这样处理
ad[0]=wd[a]; //ad[0]是最高位
ad[1]=wd;
ad[2]=wd[c];



ad[5]=wd[f];
不知这样行不行,各位还有没有更好的方法???不妨指点一下,还有小数点问题,比如说我现在是两位小数点,前面有4位整数,如果前面的整数是5位,那么我的小数点就保留一位,也就是说比前面有4位整数时要后移一位,如果前面的整数是6位,那么我的小数点就保留没有了,也就是说比前面有4位整数时要后移两位,我现在的问题是如何实现这个小数点随采样到的随机数而变呢?在软件中如何实现,望指点???

最新回复

不是要显示小数点吗?那小数点如何呢?上面只有0--9这10个数啊!!!  详情 回复 发表于 2007-1-16 17:57
 
点赞 关注

回复
举报

70

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
将浮点数转换为十进制字符串
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
conversion_5display(uint disp)//将显存中的数值转换为五位十进制数
{
d1=display_ta××e[(disp-disp%10000)/10000];
d2=display_ta××e[((disp%10000)-(disp%1000))/1000] ;
d3=display_ta××e[(disp%1000-disp%100)/100] ;
d4=display_ta××e[(disp%100-disp%10)/10] ;
d5=display_ta××e[disp%10];
}
 
 
 

回复

91

帖子

0

TA的资源

一粒金砂(初级)

4
 
display_zero(void)//显存判零清除显示
{
if (cs<10) {LCDM3=0;LCDM4=0;LCDM5=0;LCDM6=0;LCDM7=d5;}
if (cs>9&&cs<100){LCDM3=0;LCDM4=0;LCDM5=0;LCDM6=d4;LCDM7=d5;}
if (cs>99&&cs<1000){LCDM3=0;LCDM4=0;LCDM5=d3;LCDM6=d4;LCDM7=d5;}
if (cs>999&&cs<10000){LCDM3=0;LCDM4=d2;LCDM5=d3;LCDM6=d4;LCDM7=d5;}
if (cs>=10000){LCDM3=d1;LCDM4=d2;LCDM5=d3;LCDM6=d4;LCDM7=d5;}
}
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

5
 
#define disp_a 0x10
#define disp_b 0x20
#define disp_c 0x40
#define disp_d 0x80
#define disp_e 0x04
#define disp_f 0x01
#define disp_g 0x02
#define disp_h 0x08

uint display_ta××e[10]={ //显示段码表
disp_a+disp_b+disp_c+disp_d+disp_e+disp_f, //displays "0"
disp_b+disp_c, //displays "1"
disp_a+disp_b+disp_d+disp_e+disp_g, //displays "2"
disp_a+disp_b+disp_c+disp_d+disp_g, //displays "3"
disp_b+disp_c+disp_f+disp_g, //displays "4"
disp_a+disp_c+disp_d+disp_f+disp_g, //displays "5"
disp_a+disp_c+disp_d+disp_e+disp_f+disp_g, //displays "6"
disp_a+disp_b+disp_c, //displays "7"
disp_a+disp_b+disp_c+disp_d+disp_e+disp_f+disp_g, //displays "8"
disp_a+disp_b+disp_c+disp_d+disp_f+disp_g, //displays "9"
};
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

6
 
参考
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

7
 

小数点呢?

不是要显示小数点吗?那小数点如何呢?上面只有0--9这10个数啊!!!
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表