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<reg51.h>
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
	}
}

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值