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

初学…不懂…特请教各位…
直接显示~~~

第1个回答  2009-04-29
是否要输入?还是直接显示?
是用串口输入?还是键盘输入?
补充问题,我看到补充后会给与解答.

动态显示后三位,前六位因数值固定,用数码管直接显示,不于单片机连接。数码管用共阳。
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<k;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个回答  2009-04-27
分俩子程序:递加和显示,最基础的,自己多看看书吧。
第3个回答  2009-04-27
很简单的问题,为何不问自己的老师呢?