方法一:(这种方法比较好理解,但程序简单,而且太没水平,适合初级入门学者)
#include<reg52.h>
typedef unsigned char uint8;
typedef unsigned int uint16;
sbit ENLED=P1^4;
sbit ADDR0=P1^0;
sbit ADDR1=P1^1;
sbit ADDR2=P1^2;
sbit ADDR3=P1^3;
main()
{uint16 i;
ENLED=0;ADDR3=1;
ADDR0=0;ADDR1=1;ADDR2=1;
while(1)
{P0=0xFE;
for(i=0;i<10000;i++);
P0=0xFD;
for(i=0;i<10000;i++);
P0=0xFB;
for(i=0;i<10000;i++);
P0=0xF7;
for(i=0;i<10000;i++);
P0=0xEF;
for(i=0;i<10000;i++);
P0=0xDF;
for(i=0;i<10000;i++);
P0=0xBF;
for(i=0;i<10000;i++);
P0=0x7F;
for(i=0;i<10000;i++);
}
}
方法二:(这种方法简单的运用了 C 语言的取反、左移右移等方法,特点是程序简短,不
会过于繁多)
#include<reg52.h>
typedef unsigned char uint8;
typedef unsigned int uint16;
sbit ENLED=P1^4;
sbit ADDR0=P1^0;
sbit ADDR1=P1^1;
sbit ADDR2=P1^2;
sbit ADDR3=P1^3;