实验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);
		}
	}
}

最后我们编译下载程序。

再然后就是运行工程。

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

相关推荐
csg110715 小时前
PIC单片机驱动BH1750光照传感器,轻松获取环境光照数据
单片机·嵌入式硬件·物联网
雾削木15 小时前
使用 ESPHome 的核心指令
java·前端·javascript·单片机·嵌入式硬件
DLGXY17 小时前
STM32——输入捕获、编码器接口(十一)
stm32·单片机·嵌入式硬件
余生皆假期-1 天前
永磁同步电机二次起步处理
单片机·嵌入式硬件
DLGXY1 天前
STM32——TIM定时器、定时中断、RCC时序(八)
stm32·单片机·嵌入式硬件
CQ_YM1 天前
ARM之I2C
arm开发·单片机·嵌入式硬件·嵌入式
让世界再也没有bug1 天前
测试工具之一 ------示波器
单片机·嵌入式硬件·硬件测试·嵌入式软件测试
CircuitWizard1 天前
STM32 + 淘晶驰T1串口屏波形显示
stm32·单片机·嵌入式硬件
A9better1 天前
嵌入式开发学习日志53——互斥量
stm32·嵌入式硬件·学习
Q_21932764551 天前
基于单片机的个性化服装尺寸红外 测量仪的设计
单片机·嵌入式硬件