当前位置: 首页 > news >正文

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

一:硬件电路

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

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

 二:软件实现部分 两种

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

#include "reg52.h"#define LED_PORT	P2	// 定义单片机的P2端口 为 LED_PORTtypedef 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_PORTtypedef 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);	 	// 延时函数		}					}		 
}

http://www.lryc.cn/news/136713.html

相关文章:

  • 探究代理服务器在网络安全与爬虫中的双重作用
  • JavaWeb-学习目录
  • C语言题目 - 调用qsort函数对数组进行排序
  • Matplotlib学习笔记
  • 对比flink cdc和canal获取mysql binlog优缺点
  • SpringCloud学习笔记(三)_服务提供者集群与服务发现Discovery
  • .NET 8 Preview 7 中的 ASP.NET Core 更新
  • Ajax+Vue+ElementUI
  • python读取pdf、doc、docx、ppt、pptx文件内容
  • 鸿鹄工程项目管理系统 Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统 em
  • maven无法从阿里云中央仓库下载jar包的解决方法
  • Nevron Open Vision for .NET Crack
  • 玩转单元测试之cppmockfree
  • Open3D点云数据处理(二十一):最小二乘多项式拟合
  • 智能手表:华米稳、华为猛
  • 【日常积累】Linux中vi/vim的使用
  • 基于React实现日历组件详细教程
  • Web安全测试(二):HTTP状态码、响应和url详解
  • 什么是算法评价指标
  • 什么是软件压力测试?软件压力测试工具和流程有哪些?
  • Wireshark流量分析例题
  • 聚观早报|2023戴尔科技峰会助力创新;小米汽车电池供应商敲定
  • 大学生创业出路【第二弹】科创训练营
  • EG3D: Efficient Geometry-aware 3D Generative Adversarial Networks [2022 CVPR]
  • 进行Stable Diffusion的ai训练怎么选择显卡?
  • 【Linux】【驱动】第一个相对完整的驱动编写
  • PHP 高德地图,获取经纬度
  • Node基础--Node基础使用体验
  • 22 从0到1:API测试怎么做?常用API测试工具简介
  • Skywalking Kafka Tracing实现