单片机LED灯闪烁

延时函数计算(相关代码生成):

cpp 复制代码
#include "reg52.h"
#include <INTRINS.H>
void Delay500ms()		//@11.0592MHz
{
	unsigned char i, j, k;

	_nop_();
	_nop_();
	i = 22;
	j = 3;
	k = 227;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}

void main()
{
	while(1)
	{
		P2=0x55;//0101 0101
		Delay500ms();
		P2=0x00;//0000 0000 0ΪÁÁ
		Delay500ms();
	}
}

LED流水灯:

使用C语言的查表和移位实现简单流水灯_c语言灯移位-CSDN博客

cpp 复制代码
#include "reg52.h"
#include <INTRINS.H>

void Delay1ms()		//@11.0592MHz
{
	unsigned char i, j;

	_nop_();
	i = 2;
	j = 199;
	do
	{
		while (--j);
	} while (--i);
}
void Delay_time(int x)//ms
{
	int i;
	for(i=0;i<x;i++)
	{
		Delay1ms();
	}
}
void main()
{
	unsigned char n;
	while(1)
	{
		P2=0xfe;
		for(n=0;n<8;n++)
		{
			Delay_time(200);
			P2<<=1;
			P2=P2|0x01;
		}
	}
}
相关推荐
Wangshanjie_981 小时前
【STM32】-单片机数据通讯基本概念
stm32·单片机
不落的太陽2 小时前
让测距功能与时俱进
单片机·嵌入式硬件
Funing72 小时前
stm32地址偏移:为什么相邻寄存器的地址偏移量0x04表示4个字节?
stm32·单片机·嵌入式硬件
竹照煜_ysn11 小时前
蓝桥杯51单片机设计
单片机·嵌入式硬件·51单片机
Electron-er12 小时前
汽车LIN总线通讯:从物理层到协议栈的深度解析
单片机·汽车电子·lin总线·lin总线通讯
Do vis82412 小时前
STM32第十六天蓝牙模块
stm32·单片机·嵌入式硬件
学不动CV了12 小时前
ARM单片机启动流程(二)(详细解析)
c语言·arm开发·stm32·单片机·51单片机
猫猫的小茶馆14 小时前
【STM32】通用定时器基本原理
c语言·stm32·单片机·嵌入式硬件·mcu·51单片机
jingshaoqi_ccc15 小时前
stm32的USART使用DMA配置成循环模式时发送和接收有着本质区别
stm32·单片机·嵌入式硬件
MingYue_SSS18 小时前
开关电源抄板学习
经验分享·笔记·嵌入式硬件·学习