4.LED闪烁

1.C语言的预处理命令:
typedef的使用:
增强程序可移植性,因为在不同软件当中位宽不同
typedef unsigned char u8;
typedef unsigned int u16;
即用u8,u16代替unsigned char/int,8指8位即一个字节(unsigned char占用一个字节),16指16位即两个字节(unsigned int占用两个字节)
2.while循环函数

while(i<10)
{
	i=i+1;
}

计算表达式的值,为真则执行循环体
3.延时函数:
利用占用CPU时间来达到延时

void delay(u16 i)//i=1大约延时10us
{
	while(i--);
}

程序:

#include
typedef unsigned char u8;
typedef unsigned int u16;

sbit led=P2^0;//D1

void delay(u16 i)
{
	while(i--);
}

void main()
{
	while(1)
	{
		 led=0;
		 delay(50000);//450ms
		 led=1;
		 delay(50000);//450ms
	}
}

利用仿真计算延时时间:
点击此处
4.LED闪烁_第1张图片
修改为12.0,符合开发板实际使用的晶振
在这里插入图片描述
设置断点
4.LED闪烁_第2张图片
点击开始仿真
4.LED闪烁_第3张图片
reset计时时间
4.LED闪烁_第4张图片
开始运行
4.LED闪烁_第5张图片
第二个断点处:
4.LED闪烁_第6张图片
第三个断点处:
4.LED闪烁_第7张图片
相减得到延时时间约为450ms

你可能感兴趣的:(51单片机)