开发板led模块电路图如下:
- 在keil中,sbit的声明要放在全局变量的位置,若放在函数中,会报错。
- 延时函数的变量使用unsigned char,而不是int,因为char所占空间为1字节,为int所占空间为4字节,因此使用char可以节约内存。但是unsigned char仅能表示0~255,所以延时函数中的参数最大为255,若要更大,则使用int。
#include<reg52.h>
#include<intrins.h>
#define uc unsigned char
sbit led1=P2^0;
void delay(uc n)
{
uc i,j;
for(i=1;i<=n;i++)
for(j=110;j>=1;j--);
}
void main()
{
while(1)
{
led1=0;
delay(200);
led1=1;
delay(200);
}
}