单片机精进之路-2led灯闪烁

led灯闪烁的代码,主要逻辑是在一个死循环中,点亮led,延时一定时间,再关闭led,延时一定时间,如此循环往复,就实现了led的闪烁。delay02s函数实现延时功能,他是以消耗cpu时间实现延时的,再这段时间,cpu只执行这几行无效代码,而无法执行其他代码。

cpp 复制代码
#include<reg51.h>
  /*************************************************************************************
     第一行是一个"文件包含"处理。
  所谓"文件包含"是指一个文件将另外一个文件的内容全部包含进来
 这里的程序虽然只有4行,但C编译器在处理的时候却要处理几十或几百行
*****************************************************************************/
sbit P1_0=P1^0;                   //定义IO口

void delay02s(void)               //延时0.2秒子程序
{
	unsigned char i,j,k;  //定义3个无符号字符型数据。
	for(i=20;i>0;i--)     //作循环延时
	for(j=20;j>0;j--)
	for(k=248;k>0;k--);
}


void main(void)   //每一个C语言程序有且只有一个主函数,
{
	while(1)   //循环条件永远为真,以下程序一直执行下去。
	{
		P1_0=0;     // I/O口P1.0输出低电平,小灯被点亮。
		delay02s();  //延时经过0.2秒。
		P1_0=1;     // I/O口P1.0输出高电平,小灯熄灭。
		delay02s();  //延时经过0.2秒。
	}
}
相关推荐
宵时待雨1 小时前
STM32笔记归纳9:定时器
笔记·stm32·单片机·嵌入式硬件
逐步前行1 小时前
STM32_新建工程(寄存器版)
stm32·单片机·嵌入式硬件
bai5459362 小时前
STM32 CubeIDE 通过PWM占空比控制舵机角度
stm32·单片机·嵌入式硬件
松涛和鸣3 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
简单中的复杂3 小时前
【避坑指南】RK3576 Linux SDK 编译:解决 Buildroot 卡死在 host-gcc-final 的终极方案
linux·嵌入式硬件
上海合宙LuatOS4 小时前
LuatOS核心库API——【audio 】
java·网络·单片机·嵌入式硬件·物联网·音视频·硬件工程
Hhh __灏4 小时前
stm32的SRAM内存不足如何分析和优化?堆栈空间如何优化?
单片机
LS_learner4 小时前
Snapd和Apt—Linux 上两种完全不同的软件包管理系统
嵌入式硬件
点灯小铭5 小时前
基于51单片机的双档交流电压表设计与实现
单片机·嵌入式硬件·毕业设计·51单片机·课程设计·期末大作业