
8位数码管动态显示的问题,请求大侠出手
/*8位8段共阴极数码管,p0.0-p0.7接74573锁存器输入段,74573输出端接数码管的a-dp段,138译码器输入段abc分别接p2.2,p2.3;p2.4;数...
/*8位8段共阴极数码管,p0.0-p0.7接74573锁存器输入段,74573输出端接数码管的a-dp段 ,
138译码器输入段abc分别接p2.2,p2.3;p2.4;数码管共阴极接138输出端 。138译码器和74573由电路硬件使能,能直接输出。系统要达到的目前:
1-8位数码管分别动态显示0-7这八个数字,选用c52单片机。问题是:只有最低位的数码管显示为0,其他数码管无显示*/
#include<reg52.h>
#define uc unsigned char
void delay(unsigned int mt);
uc code table[10]={0x3F,0x06,0X5B,0X4F,0X66,0X6D,0X7C,0X07,0X7F,0X67}; //定义八位数码管显示的数字0-9
unsigned int mt,a,j;
void mian()
{ unsigned int b,c;
while(1)
{
P0=0x00; //消影
for(c=0,b=0;b<8;b++,c=c+4) //在八个数码管上循环显示0-7;
{ P0 =0;
P2=c;
P0=table[b];
delay(500);
}
}
}
void delay(unsigned int mt) //延时程序
{
for(a=mt;a>0;a--)
for(j=110;j>0;j--);
} 展开
138译码器输入段abc分别接p2.2,p2.3;p2.4;数码管共阴极接138输出端 。138译码器和74573由电路硬件使能,能直接输出。系统要达到的目前:
1-8位数码管分别动态显示0-7这八个数字,选用c52单片机。问题是:只有最低位的数码管显示为0,其他数码管无显示*/
#include<reg52.h>
#define uc unsigned char
void delay(unsigned int mt);
uc code table[10]={0x3F,0x06,0X5B,0X4F,0X66,0X6D,0X7C,0X07,0X7F,0X67}; //定义八位数码管显示的数字0-9
unsigned int mt,a,j;
void mian()
{ unsigned int b,c;
while(1)
{
P0=0x00; //消影
for(c=0,b=0;b<8;b++,c=c+4) //在八个数码管上循环显示0-7;
{ P0 =0;
P2=c;
P0=table[b];
delay(500);
}
}
}
void delay(unsigned int mt) //延时程序
{
for(a=mt;a>0;a--)
for(j=110;j>0;j--);
} 展开
1个回答
展开全部
void mian()
{
unsigned int b,c;
while(1)
{
P0=0x00; //消影
c=0;//移到这里
for(b=0;b<8;b++) //在八个数码管上循环显示0-7;
{
P0 =0;
P2=c;
P0=table[b];
delay(500);
c++;//累加1
}
}
}
按这样去试试吧。
更多追问追答
追问
这个办法还不行,b的值不会增1,一直显示的是“0”
追答
573你是怎么接的?原理图提供一下。

2021-01-25 广告
提供户外强光下可视、高清高亮、超宽视角、工业级宽温中小尺寸TFT液晶屏,可差异化定制,接口可兼容SPI/MCU/RGB/MIPI。这方面更多更全面的信息其实可以找下深圳市鸿佳联合科技有限公司。深圳市鸿佳联合科技有限公司专注于中小尺寸TFT液...
点击进入详情页
本回答由深圳市鸿佳联合科技有限公司_提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询