#include <reg52.h>
#include<intrins.h>
unsigned char L0,L1;
sbit beep=P3^7;
void Delay500ms();
void main()
{
unsigned int a;
a=8;
while(a- -);
{
L0=0xfe;
P0=L0;
beep=0;
Delay500ms();
L0=_crol_(L0,1);
}
因为每次循环后将L0移位,但是在新的一轮循环时又将L0置为oxfe。你可以把L0=0xfe;这句放在while(a- -)的前面。
while(a- -);这句不能有分号,有了分号循环体为空。
你的程序少了一个while(1)死循环。