51单片机实现流水灯

我们想实现流水灯,即D1亮D2~D8灭,延时一会,再让D2亮,D1,D3~D8灭延时一会,一次循环,但不推荐这样操作,我们可以利用左移来实现流水灯。

软件设计

cs 复制代码
#include <REGX52.H>

typedef unsigned int u16;
typedef unsigned char u8;
#define LED_PORT	P2//一般宏定义都用大写,使用宏定义将P2端口定义
void delay_10us(u16 ten_us)
{
	while(ten_us--);
}
void main()
{
	while(1)
	{
		u8 i=0;
		for(i=0;i<8;i++)
		{
			LED_PORT=~(0x01<<i);//i=0,D0亮,i=1,D1亮
			delay_10us(50000);
		}
	}
}

0x01表示P2.7~P2.0是0000 0001,当i=0时,移0位,就是没移,然后取反就是1111 1110,D1点亮;当i=1时,左移一位就是0000 0010,取反就是1111 1101,D2点亮,以此循环点亮。

相关推荐
Ronin-Lotus3 小时前
嵌入式硬件篇---ESP32驱动异常
嵌入式硬件·esp32
Cyrus_柯4 小时前
单片机(STM32-ADC模数转换器)
stm32·单片机·嵌入式硬件·adc
南山十一少4 小时前
STM32CubeMX + HAL库:基于DHT11温湿度监测实现
stm32·单片机·嵌入式硬件
Hallin_Me5 小时前
单片机的第一个程序—LED灯的控制
单片机·嵌入式硬件
砖头拍死你6 小时前
51单片机如何使用printf打印unsigned long的那些事
java·前端·51单片机
乌恩大侠8 小时前
卫星物联网:使用兼容 Arduino 的全新 Iridium Certus 9704 开发套件深入探索
单片机·嵌入式硬件·物联网
lixzest8 小时前
Stm32中USB 对时钟的要求
stm32·单片机·嵌入式硬件
螺丝钉的扭矩一瞬间产生高能蛋白8 小时前
MCU+RTOS调试
c语言·stm32·单片机·嵌入式硬件·嵌入式
范纹杉想快点毕业9 小时前
Zynq SOC FPGA嵌入式裸机设计和开发教程自学笔记:硬件编程原理、基于SDK库函数编程、软件固化
网络·笔记·stm32·单片机·嵌入式硬件·tcp/ip·fpga开发
安庆平.Я10 小时前
STM32——寄存器映射
c语言·stm32·单片机·嵌入式硬件·电脑