两位一体数码管0到99的c语言编程

2025-04-04 22:36:59
推荐回答(2个)
回答1:

#include
sbit wei1=P3^0;
sbit wei2=P3^1;
unsigned char code DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显示段码值0~9
unsigned char Data[8]; //存储显示值的全局变量
void Delay(unsigned int t); //函数声明
main()
{
unsigned char num=0;
unsigned int j;
while(1)
{
Data[1]=DuanMa[num/10];
Data[0]=DuanMa[num%10];
num++;
if(num==100) //用于显示0~99
num=0;
for(j=0;j<5;j++)
{ wei1=0;
wei2=1;
P2=Data[1];
Delay(5000);
wei1=1;
wei2=0;
P2=Data[0];
Delay(5000);
}
}
}
void Delay(unsigned int t)
{
while(--t);
}
用的共阴极数码管,p2口接数码管数据输入端,p3.0和p3.1接使能端
我用proteus仿真了一下,个位总是闪,很是郁闷,不知是何原因,但你可以参考一下,找到原因了可以告诉我一声,谢谢!

回答2:

把你硬件电路贴出来