普中51单片机——LED流水灯模块
1、GPIO概念
GPIO(general purpose intput output)是通用输入输出端口的简称,可以通过软件来控制其输入和输出。51 单片机芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯、 控制以及数据采集的功能。
1.1、GPIO分类

(1)电源引脚:引脚图中的 VCC、 GND 都属于电源引脚。
(2)晶振引脚:引脚图中的 XTAL1、XTAL2 都属于晶振引脚。
(3)复位引脚:引脚图中的 RST/VPD 属于复位引脚,不做其他功能使用。
(4)下载引脚:51 单片机的串口功能引脚(TXD、RXD)可以作为下载引脚使用。
(5) GPIO 引脚:引脚图中带有 Px.x 等字样的均属于GPIO 引脚。从引脚图可以看出,GPIO 占用了芯片大部分的引脚,共达 32 个,分为了4 组,P0、P1、P2、P3,每组为 8 个 IO,而且在 P3 组中每个 IO 都具备额外功能,只要通过相应的寄存器设置即可配置对应的附加功能,同一时刻,每个引脚只能使用该引脚的一个功能。
2、LED简介
LED 即发光二极管。它具有单向导电性,通过 5mA 左右电流即可发光,电流越大,其亮度越强,但若电流过大, 会烧毁二极管,一般我们控制在3 mA-20mA之间,通常我们会在 LED 管脚上串联一个电阻,目的就是为了限制通过发光二极管的电流不要太大,因此这些电阻又可以称为“限流电阻”。当发光二极管发光时,测量它两端电压约为 1.7V,这个电压又叫做发光二极管的“导通压降”。
3、LED模块电路

4、点亮LED灯
4.1、点亮D1灯代码
#include <Atmel/REGX52.H>void main()
{// 点亮D1灯P2_0 = 0;// 点亮D1灯//P2 = 0xFE;while (1);
}
4.2 D1灯1秒闪烁
#include <Atmel/REGX52.H>
#include <INTRINS.H>void Delay1000ms() //@11.0592MHz
{unsigned char data i, j, k;_nop_();_nop_();i = 43;j = 6;k = 203;do {do {while (--k);} while (--j);} while (--i);
}void main()
{while (1) {P2_0 = ~P2_0;Delay1000ms();}
}
4.3、LED流水灯
#include <Atmel/REGX52.H>
#include <INTRINS.H>void Delay1000ms() //@11.0592MHz
{unsigned char data i, j, k;_nop_();_nop_();i = 43;j = 6;k = 203;do {do {while (--k);} while (--j);} while (--i);
}void main()
{while (1) {for (int i = 0; i < 8; i++){// 驱动LED灯P2=~(0x01<<0);// 延时1sDelay1000ms();}}
}
相关文章:
普中51单片机——LED流水灯模块
1、GPIO概念 GPIO(general purpose intput output)是通用输入输出端口的简称,可以通过软件来控制其输入和输出。51 单片机芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯、 控制以及数据采集的功能。 1.1、GPIO分类 &a…...
智已汽车x-signature 登录算法 签到
智已汽车x-signature 登录算法 签到 python代码成品...
浅谈留学essay之初级研究:What, why and how
所谓初级研究(primary research)指的是对研究者从观察、实践、访谈、问卷等第一手研究方法中得出的原始数据进行分析的研究方式。其主要特征是直接性(directness)、客观性(factual)、一手性(fir…...
Mac启动服务慢问题解决,InetAddress.getLocalHost().getHostAddress()慢问题。
项目启动5分钟,很明显有问题。像网上其他的提高jvm参数就不说了,应该不是这个问题,也就快一点。 首先找到自己的电脑名称(用命令行也行,只要能找到自己电脑名称就行,这里直接在共享里看)。 复制…...
电商营销活动-抽奖业务
目录 一、抽奖系统的核心功能 二、抽奖系统的业务逻辑 三、抽奖系统的业务优势 四、抽奖系统的业务注意事项 电商营销活动中的抽奖系统业务,是一种通过设立抽奖活动来吸引用户参与、提升用户活跃度和转化率的营销手段。以下是对电商营销活动抽奖系统业务的详细解…...
虚拟DOMdiff算法
一.什么是虚拟DOM? 虚拟DOM是 VUE 一个比较核心的概念,为什么会有虚拟DOM呢?首先可以与传统的网页开发做个对比,在没有 VUE 和 REACT 框架之前,我们都是使用原生 JavaScript 或者 jQuery,那时候是直接对 D…...
IDEA实现javaweb用户登录(增删改查)
IDEA实现javaweb用户登录(增删改查) 文章目录 IDEA实现javaweb用户登录(增删改查)前言一、IDEA 软件的简单使用1 创建一个普通 java 项目2 新增 web 配置将项目由普通的Java项目变为 javaweb项目2.1 新增 web 配置2.2 新增项目文件…...
JS进阶01-异步编程、跨域、懒加载
目录 一、异步编程 1.1.异步编程的基本概念与重要性 1.2.事件循环(Event Loop)机制 1.3.JavaScript异步编程的常见方式及详解 示例 1.4.异步编程的最佳实践 二、跨域 2.1.什么是跨域 2.2.怎么解决跨域 1. JSONP(JSON with Padding&…...
2012年 数模美赛 C题 犯罪克星
一、问题重述 银河犯罪建模中心(ICM)正在调查一个犯罪阴谋。调查人员已经识别出一些阴谋成员,但希望在逮捕之前确定其他成员和领导人。所有嫌疑人和可能的同谋者都受雇于同一家公司,并在一个大的综合办公室里工作。该公司正在开发…...
社区团购中 2+1 链动模式商城小程序的创新融合与发展策略研究
摘要:本文聚焦于社区团购这一新兴零售模式的发展态势,深入探讨 21 链动模式商城小程序与之融合的创新机制与应用策略。通过剖析社区团购的运营模式、优势特点以及发展现状,结合 21 链动模式商城小程序的功能特性,研究二者协同作用…...
【Go底层】time包Ticker定时器原理
目录 1、背景2、go版本3、源码解释【1】Ticker结构【2】NewTicker函数解释 4、代码示例5、总结 1、背景 说到定时器我们一般想到的库是cron,但是对于一些简单的定时任务场景,标准库time包下提供的定时器就足够我们使用,本篇文章我们就来研究…...
RoBERTa- 稳健优化的 BERT 预训练模型详解
一、引言 自 BERT(Bidirectional Encoder Representations from Transformers)问世,预训练语言模型在自然语言处理(NLP)领域掀起革命浪潮,凭卓越表现大幅刷新诸多任务成绩。RoBERTa 承继 BERT 架构&#x…...
【C++】continue语句、goto语句
1、continue 语句 作用:在循环语句中,跳过本次循环中余下尚未执行的语句。继续下一次循环。 注意:continue只能用于循环中。 示例: 代码: //continue的用法 #include<iostream> using namespace std; int ma…...
postgresql与pgvector安装与使用
环境变量修改 打开 .bashrc 文件进行编辑: vim ~/.bashrc在文件的末尾添加上面的环境变量配置 # 添加 PostgreSQL 可执行文件路径到系统 PATH export PATH/home/....../pg/postgresql-12.4/bin:$PATH# 设置 PostgreSQL 数据目录 export PGDATA/home/....../pg/pos…...
开箱即用,阿里开源!专业AI 聊天界面工具包:Ant Design X
Ant Design X是一个基于Ant Design体系的创新解决方案,为构建高效的AI交互界面提供了便利和支持。从精细的原子组件到快速集成的模型服务,Ant Design X让开发者能轻松应对各种需求。本文将结合实际场景,展示Ant Design X的功能与使用方法。 为…...
详解版本控制工作原理及优势,常见的版本控制系统对比(HelixCore、Git、SVN等)
什么是版本控制软件?从基础层面来说,版本控制(也可称版本管理)就是随时间跟踪和管理文件变更的过程,而版本控制软件有助于实现这一过程的自动化。但这仅仅是其功能及其重要性的开端。 什么是版本控制? 版本…...
Vue2 vs Vue3:核心原理与性能优化详解
Vue2 vs Vue3:核心原理与性能优化详解 Vue.js 是目前主流的前端框架之一,随着 Vue3 的发布,框架内部的实现和使用方式都发生了显著变化。本文将从 Vue2 和 Vue3 的核心实现原理出发,详细解析两者的区别,并分析 Vue3…...
Qt+GDAL属性计算软件开发记录
一.GDAL添加字段 void MainWindow::addField(QString fieldName){OGRFieldDefn * fieldDefn new OGRFieldDefn(fieldName.toStdString().c_str(), OFTInteger);ly->CreateField(fieldDefn);srand((int)time(NULL));while (true){OGRFeature * feature ly->GetNextFeat…...
在超表面中琼斯矩阵的使用
琼斯矩阵(Jones Matrix) 是一种线性代数方法,用于描述光的偏振状态和偏振变化,是偏振光学中重要的数学工具。它在 超表面理论设计 中广泛应用,尤其是在设计和调控光与物质相互作用时,例如偏振控制、相位调制…...
在macOS上从源码部署RAGFlow-0.14.1
一、macOS配置 1. macOS配置 我使用MacBook Pro,chip 是 Apple M3 Pro,Memory是18GB,macOS是 Sonoma 14.6.1。 2.安装Docker和Docker compose 官方要求 Docker ≥ 24.0.0 & Docker Compose ≥ v2.26.1,我的版本如下&#x…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态
前言 在人工智能技术飞速发展的今天,深度学习与大模型技术已成为推动行业变革的核心驱动力,而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心,系统性地呈现了两部深度技术著作的精华:…...
2.2.2 ASPICE的需求分析
ASPICE的需求分析是汽车软件开发过程中至关重要的一环,它涉及到对需求进行详细分析、验证和确认,以确保软件产品能够满足客户和用户的需求。在ASPICE中,需求分析的关键步骤包括: 需求细化:将从需求收集阶段获得的高层需…...
ffmpeg(三):处理原始数据命令
FFmpeg 可以直接处理原始音频和视频数据(Raw PCM、YUV 等),常见场景包括: 将原始 YUV 图像编码为 H.264 视频将 PCM 音频编码为 AAC 或 MP3对原始音视频数据进行封装(如封装为 MP4、TS) 处理原始 YUV 视频…...
