老规矩,关闭蜂鸣器
void cls_buzz(void)
{
P2 = (P2&0x1F|0xA0);//给P2赋值——先将P2原有的值和0x1F进行与运算,再将得出的值与0xA0进行或运算,结果赋值给P2
P0 = 0x00;//将P0置零
P2 &= 0x1F;//将P2的值锁存
}
延时函数
void Delay(unsigned char x) //@12.000MHz
{
unsigned char i, j;
while(x>0){
i = 12;
j = 169;
do
{
while (--j);
} while (--i);
x--;
}
}
主函数部分
void main()
{
unsigned char i;
cls_buzz();
while(1)
{
for(i=0; i<8; i++)//循环函数控制位移
{
P2 = ((P2 &0x1f)|0x80);
P0 = 0xfe<<i; //左移语句,左移位数为i
P2 &= 0x1f;
Delay(500);//延时500毫秒
}
}
}