单片机C51编程(C语言):用数码管实现学号的显示。我们学号是从704193101到704193146。

初学…不懂…特请教各位…直接显示~~~
2025-03-13 02:27:47
推荐回答(3个)
回答1:

是否要输入?还是直接显示?
是用串口输入?还是键盘输入?
补充问题,我看到补充后会给与解答.

动态显示后三位,前六位因数值固定,用数码管直接显示,不于单片机连接。数码管用共阳。
main函数部分根据自己情况自行编制
以下为显示部分

uchar code SEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar code ACT[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

void delay(uint k)
{
unsigned int i,j;
for(i=0;i {
for(j=0;j<121;j++){;}
}
}

void display(uint date)
{
P0=SEG7[date%10];P2=ACT[0];delay(1);
P0=SEG7[(date%100)/10];P2=ACT[1];delay(1);
P0=SEG7[(date%1000)/100];P2=ACT[2];delay(1);
P0=0X00;P2=0Xff;
}

回答2:

分俩子程序:递加和显示,最基础的,自己多看看书吧。

回答3:

很简单的问题,为何不问自己的老师呢?