#include
#define uchar unsigned char
#define uint unsigned int
sbit LS138A=P2^2;
sbit LS138B=P2^3;
sbit LS138C=P2^4;
uchar code table[]={0x76,0x79,0x38,0x38,0x3f}; // HELLO的断码
void delay(uint z) //延时子函数
{
uint x,y;
for(x=z;x>0;x--)
for(y=1000;y>0;y--);
}
void main()
{
while(1)
{
LS138A=0; LS138B=0; LS138C=0; //位选第一位
P0=table[0];
delay(100);
LS138A=1; LS138B=0; LS138C=0; //位选第一位
P0=table[1];
delay(100);
LS138A=0; LS138B=1; LS138C=0; //位选第一位
P0=table[2];
delay(100);
LS138A=1; LS138B=1; LS138C=0; //位选第一位
P0=table[3];
delay(100);
LS138A=0; LS138B=0; LS138C=1; //位选第一位
P0=table[4];
delay(100);
}
}
/*程序用到了38译码器做为位选信号,调节延时函数中的参数就可以调节HELLO出现的速度
当延时适当短的时候就可以同时显示HELLO*/