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

一:硬件电路

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.hqwc.cn/news/81420.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python土力学与基础工程计算.PDF-土的三项组成

5.3 Python求解 Python 求解代码如下&#xff1a; 1. # 定义已知参数 2. G_s 2.7 # 比重 3. w 0.2 # 含水量 4. e 0.6 # 孔隙比 5. gamma_w 9.81 # 水的重度 6. 7. # 根据公式计算饱和度 8. S_r G_s * w / e 9. print("饱和度为", S_r) 10. 11.…

OpenEuler 安装mysql

下载安装包 建议直接使用在openEuler官方编译移植过的mysql-5.7.21系列软件包 参考&#xff1a;操作系统迁移实战之在openEuler上部署MySQL数据库 | 数据库迁移方案 | openEuler社区官网 MySQL 5.7.21 移植指南&#xff08;openEuler 20.03 LTS SP1&#xff09; | 数据库移植…

Element Plus el-table 数据为空时自定义内容【默认为 No Data】

1. 通过 Table 属性设置 <div class"el-plus-table"><el-table empty-text"暂无数据" :data"tableData" style"width: 100%"><el-table-column prop"date" label"Date" width"180" /&g…

微短剧赛道风口下的一站式点播解决方案

微短剧行业正风生水起。 一种全新的剧集模式正迅速崛起&#xff0c;并引起广泛关注。 从线下电影院的“巨幕”到PC端“网络大电影”&#xff0c;从“长视频”再到如今移动端1-3分钟的“微短剧”&#xff0c;影视行业在过去几年经历了一场深刻又显著的变化。 微短剧&#xff0…

使用Nodejs创建简单的HTTP服务器,借助内网穿透工具实现公网访问的方法分享

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation&#xff0…

【生态经济学】利用R语言进行经济学研究技术——从数据的收集与清洗、综合建模评价、数据的分析与可视化、因果推断等方面入手

查看原文>>>如何快速掌握利用R语言进行经济学研究技术——从数据的收集与清洗、综合建模评价、数据的分析与可视化、因果推断等方面入手 近年来&#xff0c;人工智能领域已经取得突破性进展&#xff0c;对经济社会各个领域都产生了重大影响&#xff0c;结合了统计学、…

HTTPS代理搭建技巧分享

今天我们来分享一下如何搭建一个能够实现中间人 检测和防护的HTTPS代理。保护我们的网络通信安全是至关重要的&#xff0c;让我们一起学习如何构建一个安全可靠的HTTPS代理吧&#xff01; 什么是中间人 &#xff1f; 首先&#xff0c;让我们来了解一下什么是中间人 。中间人 是…

数据结构 | 堆

本文简要总结堆的概念。 更新&#xff1a;2023 / 8 / 20 数据结构 | 堆 堆概念方法插入步骤 删除步骤 示例大根堆堆插入删除堆排序 代码实现Python大根堆1.2. heapq 小根堆1.2. heapq 参考链接 堆 概念 如果谈到堆排序&#xff0c;那么必然要说说什么是 大根堆 max heap 和 …

UVM Heartbeat机制

1. 前言 在硬件电路中&#xff0c;为了使系统在异常情况下能自动复位&#xff0c;一般都需要引入看门狗(Watchdog)。看门狗其实就是一个定时器电路。当看门狗启动后&#xff0c;计数器开始自动计数&#xff0c;经过一定时间&#xff0c;如果没有被清零&#xff0c;计数器溢出就…

投影标杆,旗舰实力,极米投影仪Z7X为用户创造影院级体验

2023年&#xff0c;在彩电消费市场复苏疲软的背景下&#xff0c;智能投影这个显示新品类却持续走红。今年第一季度&#xff0c;极米科技推出Z系列全新一代产品极米Z7X&#xff0c;和极米Z6相比&#xff0c;在保持轻薄体积不变的情况下将亮度提升了83%&#xff0c;达到600CCB 流…

MAC电脑外放没有声音解决方案

烦人呐&#xff0c;我的mac外接显示屏幕&#xff0c;显示器没有音频输出&#xff0c;需要mac笔记本的音频输出&#xff0c;但是经常打开后&#xff0c;mac没有声音输出&#xff0c;需要重启电脑才能生效。亲测一下方法有效&#xff0c;请参考&#xff1a; 文章目录 一、短期方案…

THINKPHP 微联云投票系统源码独立版 + 支持刷礼物

THINKPHP 微联云投票系统源码独立版 支持刷礼物 nginxphp7.2以上 mysql5.6以上 简单测试后台基本没什么问题&#xff0c;暂时发现H5前端有bug,自行修复。