单片机(二)使用位移 让灯亮

一:硬件电路

P2 口: P2.0~ P2.7 是这些 I0 口

LED 阳极接 电源 , P20 口 为低电平 可以让 LED灯 亮

二:软件实现部分 两种

① 通过循环 来展示从左 到右

复制代码
#include "reg52.h"


#define LED_PORT	P2	// 定义单片机的P2端口 为 LED_PORT

typedef unsigned int u16;  // 定义 无符号 整形类型  别名叫 u16
typedef unsigned char u8;  // 定义 无符号 字符类型	别名叫 u8 

void delay_times(u16 times)   // 1/定义一个延时函数 ;2;传一个延时的参数进去 	3、 u16 是定义 时间类型
{
	while(times--);   // while 循环自减  times 是传的时间
}


void main()
{
	u8 i = 0;	  // 定义 一个 i  i 是定义led 灯初始值的
	while(1)
	{
		for(i = 0; i<8; i++)	 // 8个led 灯 循环8次	  从第一个led 灯开始进入循环体
		{
		 	LED_PORT = ~(0x01<<i);  // 0000 0001  D1灭的 取反 灯亮1111 1110 ;<<i 位移 每次循环移动一位  
			delay_times(50000);	 	// 延时函数		
		}	
	}	
	 
}

② 通过移位 库函数 来进行移位 从左到右 ,从右到左

复制代码
#include "reg52.h"
#include "intrins.h"   // 包含 左移 右移的 头文件

#define LED_PORT	P2	// 定义单片机的P2端口 为 LED_PORT

typedef unsigned int u16;  // 定义 无符号 整形类型  别名叫 u16
typedef unsigned char u8;  // 定义 无符号 字符类型	别名叫 u8 

void delay_times(u16 times)   // 1/定义一个延时函数 ;2;传一个延时的参数进去 	3、 u16 是定义 时间类型
{
	while(times--);   // while 循环自减  times 是传的时间
}


void main()
{
	u8 i = 0;	  
	// 定义 一个 i  i 是定义led 灯初始值的

	LED_PORT = ~0x01;	   
	// D1 灯初始化,0x01 = 0000 0001 取反后 1111 1110 D1 灯亮

	delay_times(50000);	 	
	// 延时函数	

	while(1)
	{
		for(i = 0; i<7; i++)	 // 8个led 灯 循环8次	  从第一个led 灯开始进入循环体
		{
		 	LED_PORT = _crol_(LED_PORT,1);  
			//  右移(LED_PORT,1 间隔)
			delay_times(50000);	 	
			// 延时函数		
		}

		for(i = 0; i<7; i++)	 // 
		{
		 	LED_PORT = _cror_(LED_PORT,1);  
			//  左移(LED_PORT,1 间隔)
			delay_times(50000);	 	
			// 延时函数		
		}					
	}		 
}
相关推荐
一川月白7091 小时前
51单片机---硬件学习(跑马灯、数码管、外部中断、按键、蜂鸣器)
单片机·学习·51单片机·外部中断·蜂鸣器·数码管·跑马灯
月阳羊1 小时前
【硬件-笔试面试题-69】硬件/电子工程师,笔试面试题(知识点:电机驱动电路的反馈电路)
java·经验分享·嵌入式硬件·面试
weixin_468466853 小时前
树莓派32位与64位系统安装teamviewer远程软件
linux·单片机·自动化·树莓派·远程控制·vnc·teamviewer
沐欣工作室_lvyiyi4 小时前
2025-2026单片机物联网毕业设计题目推荐(定稿付款)
单片机·物联网·课程设计
曙曙学编程5 小时前
stm32——独立看门狗,RTC
c语言·c++·stm32·单片机·嵌入式硬件
sheepwjl5 小时前
《嵌入式硬件(四):温度传感器DS1820》
单片机·嵌入式硬件
三之又三6 小时前
PowerPMAC配置EtherCAT设备
嵌入式硬件·cnc·powerpmac
朝颜_祝余6 小时前
在电路浪涌测试中,TVS(瞬态电压抑制二极管)的防护效果确实会受到陪测设备中去耦网络(Decoupling Network,DN)的显著影响
单片机·嵌入式硬件
mei_you_n6 小时前
JLINK 调试器单步调试单片机
单片机·嵌入式硬件
HIZYUAN7 小时前
AG32 ( MCU+FPGA二合一 )是如何卷入了三相电能计量市场的
单片机·嵌入式硬件