源程序#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit Key=P0^0;
void Delay(uint ms);
void main()
{ uchar i,key1,shift;
while(1)
{
key1=Key;
if(key1==1)
{ shift=0x80;
for(i=0;i<8;i++)
{ P1=~shift;
Delay(500); shift>>=1;}}
else { shift=0x01;
for(i=0;i<8;i++)
{P1=~shift;
Delay(500); shift<<=1;}}}}
void Delay(uint ms)
{ uchar i;
while(ms--)
for(i=0;i<120;i++);}