Ⅰ 任務:用C語言設計程序,完成8個數碼管的顯示控制
假設8個數碼管公共端均接地,同時顯示1-9
#include
#include
#define
uchar
unsigned
char
#define
uint
unsigned
int
uchar
code
dsy_code[]=
{
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0x82,0xf8,0x80,0x90,0xff
};
void
delayms(uint
x)
{
uchar
t;
while(x--)
for(t=120;t>0;t--);
}
void
main()
{
uchar
i=0;
p0=0x00;
while(1)
{
p0=~dsy_code[i];
i=(i+1)%10;/*顯示0-9*/
delayms(200);
}
}
下面程序從左到右顯示
#include
#include
#define
uchar
unsigned
char
#define
uint
unsigned
int
uchar
code
dsy_code[]=
{
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90
};
void
delayms(uint
x)
{
uchar
i;
while(x--)
{
for(i=200;i>0;i--);
}
}
void
main()
{
uchar
i,k=0x80;
while(1)
{
for(i=8;i>0;i--)
{
p2=0xff;
k=_crol_(k,1);
p0=dsy_code[8-i];
p2=k;
delayms(3);
}
}
}
Ⅱ 如何用C語言靜態顯示讓8段數碼管每個段同時顯示不同的數
按照你的要求,只能使用多個一位的
數碼管
,多為的要不同顯示只能用動態。(多段數碼管內部電路限制)
每一個數碼管都接一個八位
鎖存器
所有鎖存器輸入都接P1
然後用單片機P2控制鎖存器的
使能
,
這樣代碼和動態顯示代碼差不多。但是不會有動態的閃爍
Ⅲ 51單片機顯示八位數碼管的C語言程序
1、最開始,我們先打開keil。