单片机显示小数

nmn9dn nmn9dn 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我想在数码管上显示整数和小数部后三位,那们大侠帮我改下程序啊,先谢了
#include<reg52.h>
#define uchar unsigned char
#define static unsigned long int
sbit bb=P3^2; //外部中断位声明
sbit cc=P3^3;
static count,shiwan,wan,qian,bai,shi,ge;
static disnum,ad;
float ab,ac;
uchar code tabledu[]={ //数组变量
0x28,0x7e,0xa2,0x62,
0x74,0x61,0x21,0x7a,
0x20,0x60};
display(uchar,uchar,uchar,uchar,uchar,uchar);
delay(char) ;
void abc();
void main ()
{
count=0;
EA=1; //总中断开
EX0=1; //外部中断0开
IT0=1; //下降沿触发
TMOD=0xf0;
TR1=1;
while(1)
{
if(ac>=1000000) //计数值到一百万后清0
ac=0;
display(shiwan,wan,qian,bai,shi,ge) ; //显示程序
shiwan=ac/100000;
wan=(ac-(shiwan*100000))/10000;
qian=(ac-(shiwan*100000)-(wan*10000))/1000;
bai=(ac-(shiwan*100000)-(wan*10000)-(qian*1000))/100;
shi=(ac-(shiwan*100000)-(wan*10000)-(qian*1000)-(bai*100))/10;
ge=(ac-(shiwan*100000)-(wan*10000)-(qian*1000)-(bai*100)-shi*10)%10;
}
}
void abc()
{
ab=12/200;
ad=disnum/ab;
if(ad>0)
ad=+ac;
}
void tim1() interrupt 0
{
abc();
count++; //计数++
disnum++; //显示++
}
display(uchar shiwan,uchar wan,uchar qian,uchar bai,uchar shi,uchar ge)
{
P2=0xc0; //消影作用
P0=tabledu[shiwan];
P2=0xfd;
delay(0);

P2=0xc0;
P0=tabledu[wan];
P2=0xfb;
delay(0);

P2=0xc0;
P0=tabledu[qian];
P2=0xf7;
delay(0);

P2=0xc0;
P0=tabledu[bai];
P2=0xef;
delay(0);

P2=0xc0;
P0=tabledu[shi];
P2=0xdf;
delay(0);

P2=0xc0;
P0=tabledu[ge];
P2=0xbf;
delay(0);
// 0xfd,0xfb,0xf7,0xef,
// 0xdf,0xbf};
}
delay(char x) //延迟子程序
{
uchar a,b;
for(b=1000;b>0;b--)
for (a=x;a>0;a--) ;
}
...全文

相关推荐

单片机怎么显示小数点?数码管小数点显示程序

要在数码管上显示带小数点的数字,关键是理解显示数字和控制小数点是独立的。在单片机中通过特定的控制位来点亮小数点,而这个控制位不影响其他七段数字的显示。

weixin_38693657

单片机实现数码管显示小数

通过利用数码管的多位显示和刷新技术,我们可以将小数分离成整数部分和小数部分,并分别显示在数码管的不同位上,从而实现数码管显示小数的功能。通过编写相应的程序,并连接合适的硬件电路,我们可以在单片机应用中灵活地使用数码管显示小数。值得注意的是,本文提供的示例程序针对51单片机编写,如果使用其他类型的单片机,可能需要进行相应的修改。首先,我们需要准备一个支持多位显示的数码管,比如常见的共阳数码管或共阴数码管。为了实现数码管显示小数,我们可以利用数码管的多位显示功能和刷新技术。函数依次显示在数码管的不同位上。

IELLQUI6

单片机数码管显示数字及小数点

本文将介绍如何使用单片机控制数码管显示数字及小数点,并提供相应的源代码。将数码管模块的引脚与单片机开发板的引脚连接,确保连接正确。如果使用的是共阳数码管,通常将数码管的阳极引脚连接到单片机开发板的数字输出引脚;如果是共阴极数码管,则连接到单片机开发板的数字输出引脚。随后,数码管将显示带有小数点的数字12.34,同样每秒刷新一次。请注意,在使用不同的单片机和数码管模块时,引脚的连接可能会有所不同。因此,请根据自己的硬件配置和引脚分配,相应地修改代码中的引脚定义。将编写好的代码上传到单片机开发板中。

梦幻翅膀

51单片机教程实例34-显示小数点

本文将深入探讨51单片机教程实例34,主要关注如何在显示器上显示小数点,这对于制作各种需要数字显示的设备至关重要,如温度计、电压表或计时器等。

ZCY5202015

51单片机 显示年月日(带小数点)

本篇文档主要介绍了如何使用51单片机C语言实现带小数点的年月日动态显示,采用的是共阴极数码管。以下是详细的知识点概述:1. **51单片机基础**: - 这篇代码针对的是8051系列单片机,

欢乐的企鹅
评论 6
收藏 已收藏
分享
返回顶部
nmn9dn
C语言 70,039 成员 243,237 内容