你这延时时间过短了,给你改一下试看,把延时函数里面的前2个循环后面的分号去掉才对。
- #include <at89x51.h>
- sbit L1=P0^1;
- void delay02s(void)
- {
- unsigned char i,j,k;
- for(i=20;i>0;i--)
- for(j=20;j>0;j--)
- for(k=248;k>0;k--);
- }
- void main()
- {
- while(1)
- {
- L1=0;
- delay02s();
- L1=1;
- delay02s();
- }
- }
复制代码
循环后有分号说明是空循环,一个循环完成后再一个循环,20循环2次248循环一次总加起来太短。
|