数码管显示数字(滚动和静态)

数码管显示数字(滚动和静态)

1. 8只数码管滚动显示单个数字**
代码:
#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]=
{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i–)
for(j=110;j>0;j–);
}
void main()
{
uchar i,k=0x80;
while(1)
{
for(i=0;i<8;i++)
{
P2=0xff; //关闭显示
k=crol(k,1);
P0=table[i]; //发送数字段码
P2=k; //发送数码管位选,打开对应的数码管
delayms(200);
}
}
}
2. 8只数码管显示多个数字**
代码
#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]=
{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i–)
for(j=110;j>0;j–);
}
void main()
{
uchar i,k=0x80;
P0=0xff;
P2=0x00;
while(1)
{
for(i=0;i<8;i++)
{
k=crol(k,1);
P2=k; //发送数码管位选,打开对应的数码管
P0=table[i+1]; //发送数字段码
delayms(2);
}
}
}

3. 仿真图:
数码管显示数字(滚动和静态)