#include <STC15F2K60S2.H>
#define uchar unsigned char
#define uint unsigned int
void delay(int n);
void show();
sbit beer=P0^6;
int i;
uchar table[]={
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void main()
{
P2=0xA0;beer=0;P2=0x00;
P0=0xFF;
P2=(P2&0x1f)|0x80;
while(1)
{
show();
}
}
void delay(int n)
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<125;j++);
}
void show()
{
for(i=0;i<8;i++)
{
P0=~table[i];
delay(1000);
}
}
循环左移
#include <STC15F2K60S2.H>
#define uchar unsigned char
#define uint unsigned int
void delay_ms(int n);
sbit beer=P0^6;
void main()
{
int i=0;
P2=0xA0;beer=0;P2 &= 0x1f;;
P2=0x80;
while(1)
{
P0=~((0x80)>>i);
i++;
if(i==8)i=0;
delay_ms(1000);
}
}
void delay_ms(int n)
{
int i,j;
for(i=n;i>0;i--)
for(j=110;j>0;j--);
}