keil uVision4界面:
写法1
#include<reg51.h> //包含8051单片机寄存器定义的头文件
void delay(int x) //延时函数
{
int i,j;
for(i=x;i>0;i--)
for(j=120;j>0;j--);
}
void main() //主函数
{
while(1)
{
P1=0xE7; //1 1 1 0 0 1 1 1
delay(800);
P1=0xDB; //1 1 0 1 1 0 1 1
delay(800);
P1=0xBD; //1 0 1 1 1 1 0 1
delay(800);
P1=0x7E; //0 1 1 1 1 1 1 0
delay(800);
P1=0xff; //1 1 1 1 1 1 1 1
delay(800); }
}
写法2
#include<reg51.h>
//包含8051单片机寄存器定义的头文件
#define uchar unsigned char
uchar tab[]={0XE7,0XDB,0XBD,0X7E,0Xff }; //5个数据为左移点亮数据
void delay(int x) //延时函数
{
int i,j;
for(i=x;i>0;i--)
for(j=120;j>0;j--);
}
void main() //主函数
{
uchar a;
while(1)
{
for(a=0;a<5;a++)
{
P1=tab[a]; //向P1口送出点亮数据
delay(500); //延时,即点亮一段时间
}
}
}
proteus仿真界面:
![](https://img-blog.csdnimg.cn/img_convert/b75be2ebb18635df74b2611aa845aa27.png)