实验3:左右循环LED灯

获取流水灯工程:

方式一:

keil+proteus 完成最小系统,点亮led 灯实验_吴小凹的博客-CSDN博客

方式二:

Flowing_led.zip - 蓝奏云直接下载。

原理图修改:

无须修改只需要使用流水灯的工程即可,解压到桌面后直接打开。


代码修改:

打开代码如下所示。

在主循环中加入以下代码,这句代码就是led向另外一个方向游动的代码:

cpp 复制代码
	for(i=0;i<8;i++)
		{
				/*拉低P1端口*/
			P0=~(0x80>>i);
			delay_ms(500);
		}

最终代码:

cpp 复制代码
/*51单片机的头文件*/
#include <reg51.h>
#define uint16_t unsigned short
#define uint8_t unsigned char
		
  
// 定义一个函数,名称为delay_ms,接受一个无符号16位整数(uint16_t)作为参数,表示延迟的毫秒数。  
void delay_ms(uint16_t nms)  
{  
 // 定义一个无符号8位整数(uint8_t),名称为i,用于循环控制。  
 uint8_t i;  
 // 进入一个while循环,条件是nms大于0。当nms为0时,跳出循环。  
 while(nms--)  
 {  
 // 进入一个for循环,循环次数是120次,i的值从0递增到119。  
 for(i=0;i<120;i++);  
 }  
}
/*主函数*/
int main()
{
	uint8_t i;
	/*单片机等待*/
	while(1)
	{
		for(i=0;i<8;i++)
		{
				/*拉低P1端口*/
			P0=~(0x01<<i);
			delay_ms(500);
		}
		for(i=0;i<8;i++)
		{
				/*拉低P1端口*/
			P0=~(0x80>>i);
			delay_ms(500);
		}
	}
}

最后我们编译下载程序。

再然后就是运行工程。

最后友友们新的实验我们又结束咯。

相关推荐
嵌入式阿蔡10 小时前
传感器_03:电机驱动——让 GPIO 当指挥官,别让 GPIO 当电源
网络·stm32·单片机·嵌入式硬件·嵌入式实时数据库
国科安芯13 小时前
ASL706S:让 MCU 不再“失忆跑飞“的守护芯片
分布式·单片机·嵌入式硬件·安全·fpga开发·架构
树的枝15 小时前
【STM32】03.中断和EXTI外设
笔记·stm32·单片机·嵌入式硬件
单片机杂货铺16 小时前
【单片机毕业设计选题】基于stm32单片机儿童公路车速度检测报警
stm32·单片机·嵌入式硬件·51单片机·硬件工程·课程设计
振南的单片机世界18 小时前
看门狗硬核拆解:1.6秒不喂狗,硬件强制“掀桌子”
arm开发·stm32·单片机·嵌入式硬件
嵌入式阿蔡18 小时前
Linux_01:交叉编译与开发环境实战——从单片机跨到 Linux 的第一道坎
linux·运维·网络·单片机·嵌入式硬件·嵌入式实时数据库
NYFEA19 小时前
徕飞 FCA系列全面上新,一站式I/O扩展国产替代方案
单片机·嵌入式硬件
国科安芯20 小时前
ASL622S:把“信号失真“挡在门外的航天级运放
网络·单片机·嵌入式硬件·架构·状态模式·低轨卫星星座
XiHongShi201620 小时前
STM32H7 FLASH和SRAM标准例程
stm32·单片机·嵌入式硬件
单片机杂货铺21 小时前
【单片机毕业设计选题】基于单片机的智能牛奶保鲜箱设计
人工智能·stm32·单片机·物联网·毕业设计·课程设计