LED实验
目录
1.LED介绍
1.1LED原理图:
2.单片机运行代码的流程
3.进制的转换
4.C51数据类型
5.小编的单片机型号:STC89C52RC/LE52RC,最高波特率:9600
6.点亮一个LED 代码
步骤
代码:
7.LED闪烁
在STC内操作:
代码:
8.LED流水灯:
8.1 第一步
8.2 第二步
8.3 第三步
8.4 第四步
8.5 最终代码:
9.LED流水灯Plus:
1.LED介绍
中文名:发光二极管
外文名:Light Emitting Diode 简称:LED
用途:照明、广告灯、指引灯、屏幕
1.1LED原理图:
LED模块与MCU的P20端口连接
2.单片机运行代码的流程
代码输入到CPU通过,配置的寄存器,寄存器通过驱动器,来控制硬件电路,执行我们想要的功能
3.进制的转换
关键是二进制和十六进制的转换
4.C51数据类型
5.小编的单片机型号:STC89C52RC/LE52RC,最高波特率:9600
6.点亮一个LED 代码
对P2口输入二进制 1是关 0是开
步骤
通过PCB原理图可以知道控制LED灯亮灭的是P2口的,并且接入+VCC5V即高电平1,LED灯要那个亮的话那个线,P2端要设置为0,不亮就设置为1,有电势差,即有电流流过灯亮;
P2=1111 1110,即第一个灯亮其他灯不亮,但是我们读取是从下面的,所有不是(P2=0111 1111)这样写;
用到P2口,所有要导入头文件#....鼠标右键点击就可以加进来;
不能识别 P2=1111 1110这样的类型,所有将它转为16进制,开头用0x表示16进制的数
P2=0xFE ; //1111 1110 转换可以网上搜索,计算器也可以直接算;
一个亮一个灭P2=0x55; //0101 0101
代码:
#include <REGX52.H>void main()P2=0x55;//0101 0101while(2>1){}
}
7.LED闪烁
在STC内操作:
用STC可以生成延迟函数:根据晶振改系统频率,还有其他信息;
复制生成代码到主函数上面,如下图代码:(void:无返回值,这里()可以设置参数);while、do...while都表示循环;
代码:
#include <REGX52.H>
#include <INTRINS.H>void Delay500ms() //@12.000MHz
{unsigned char i, j, k;_nop_();i = 4;j = 205;k = 187;do{do{while (--k);} while (--j);} while (--i);
}void main()
{while(1){P2 = 0xFE;Delay500ms();P2 = 0xFF;Delay500ms();}
}
_nop_(),表示空语句,什么都不做,这个函数要加头文件如下:
要在主函数,及程序入口调用才可以实现延迟:如下
8.LED流水灯:
8.1 第一步
将LED闪烁中的延迟代码复制过来;
在main函数里面控制P2口灯的亮灭,代码如下,如上图放在while循环里面;
8.2 第二步
下载到板子上测试即可
生成延迟1秒函数,复制到main()函数前面
8.3 第三步
修改生成的延迟函数,可设置控制延时时间
8.4 第四步
主函数修改延时加参数就可以了
8.5 最终代码:
#include <REGX52.H>
#include <INTRINS.H>void Delay500ms() //@12.000MHz
{unsigned char i, j, k;_nop_();i = 4;j = 205;k = 187;do{do{while (--k);} while (--j);} while (--i);
}void main()
{while(1){P2=0xFE;//1111 1110Delay500ms();P2=0xFD;//1111 1101Delay500ms();P2=0xFB;//1111 1011Delay500ms();P2=0xF7;//1111 0111Delay500ms();P2=0xEF;//1110 1111Delay500ms();P2=0xDF;//1101 1111Delay500ms();P2=0xBF;//1011 1111Delay500ms();P2=0x7F;//0111 1111Delay500ms();}
}
9.LED流水灯Plus:
基于LED流水灯改造
#include <REGX52.H>void Delay1ms(unsigned int xms) //@12.000MHz
{unsigned char i, j;while(xms){i = 2;j = 239;do{while (--j);} while (--i);xms--;}}void main()
{while(1){P2=0xFE;//1111 1110Delay1ms(1000);P2=0xFD;//1111 1101Delay1ms(1000);P2=0xFB;//1111 1011Delay1ms(100);P2=0xF7;//1111 0111Delay1ms(100);P2=0xEF;//1110 1111Delay1ms(100);P2=0xDF;//1101 1111Delay1ms(100);P2=0xBF;//1011 1111Delay1ms(100);P2=0x7F;//0111 1111Delay1ms(100);}}
相关文章:
LED实验
目录 1.LED介绍 1.1LED原理图: 2.单片机运行代码的流程 3.进制的转换 4.C51数据类型 5.小编的单片机型号:STC89C52RC/LE52RC,最高波特率:9600 6.点亮一个LED 代码 步骤 代码: 7.LED闪烁 在STC内操作&#x…...
python+pytest接口自动化测试--日志记录
前言:代码可以直接复制使用 解决问题: 问题1:日志重复记录的问题,比如运行一个模块日志会记录很多遍(通过handlers是否存在解决的) 问题2:运行测试用例进行多个模块相互调用.日志记录不全的问题(通过共享公共的handlers解决问题) 首先写一个日志记录的工具 # 这个是个日志的…...
Android 蓝牙开发调试总结
Android 蓝牙开发调试总结 文章目录 Android 蓝牙开发调试总结一、前言二、蓝牙开发1、开关和连接控制2、相关日志3、相关广播4、demo示例 三、其他1、Android 蓝牙开发调试小结2、Android14 蓝牙启动流程3、Android14 蓝牙 BluetoothService 启动和相关代码介绍4、Android13 蓝…...
混淆矩阵(Confusion Matrix)
混淆矩阵(Confusion Matrix)是一个用于评估分类模型性能的工具,特别是在机器学习和统计学领域。它展示了模型预测结果与实际结果之间的关系。混淆矩阵通常用于二分类或多分类问题中,但也可以扩展到更多类别的情况。 一、混淆矩阵…...
C语言——操作符
一.操作符的分类 算术操作符: - * / %移位操作符:<< >>位操作符: & | ^赋值操作符: - * / % > & | ^单⽬操作符: ! -- & * - ~ sizeof …...
大数据处理利器:Hadoop 入门指南
一、Hadoop 是什么?—— 分布式计算的基石 在大数据时代,处理海量数据需要强大的技术支撑,Hadoop 应运而生。Apache Hadoop 是一个开源的分布式计算框架,致力于为大规模数据集提供可靠、可扩展的分布式处理能力。其核心设计理念是…...
追踪大型语言模型的思想(上)(来自针对Claude的分析)
概述 像 Claude 这样的语言模型并非由人类直接编程,而是通过大量数据进行训练。在训练过程中,它们会学习解决问题的策略。这些策略被编码在模型为每个单词执行的数十亿次计算中。对于我们这些模型开发者来说,这些策略是难以捉摸的。这意…...
系统 Python 与 Conda 环境的灵活切换
在现代 Python 开发中,经常需要在系统 Python 和 Conda 环境中的 Python 之间切换。无论是处理不同项目的依赖冲突,还是测试代码在不同 Python 版本下的兼容性,灵活切换 Python 环境都是开发者的必备技能。本文将详细介绍如何实现 Python 环境的灵活切换,并提供 Conda 命令…...
【HTTP】《HTTP 全原理解析:从请求到响应的奇妙之旅》
文章目录 一、HTTP 协议1.1、HTTP 是什么1.2、理解 "应用层协议"1.3、理解 HTTP 协议的工作过程1.4、HTTP协议格式1.5、协议格式总结 二、HTTP 请求1.1、认识 URL1.1.1、URL 基本格式1.1.2、关于 URL encode 1.2、认识 "方法"1.2.1 、GET 方法1.2.2、 POST…...
重生之我在2024学Fine-tuning
一、Fine-tuning(微调)概述 Fine-tuning(微调)是机器学习和深度学习中的一个重要概念,特别是在预训练模型的应用上。它指的是在模型已经通过大量数据训练得到一个通用的预训练模型后,再针对特定的任务或数据…...
若依前后端分离项目中可以删除哪些原若依有的?
在若依(RuoYi)前后端分离项目中完成二次开发后,可以删除以下未使用的模块和文件以简化项目结构。以下分模块和风险点说明: --- ### **一、后端(Spring Boot)可删除内容** #### 1. **未使用的功能模块** …...
element-plus中,vue3项目,el-input密码框禁止浏览器自动弹出浏览器历史密码提示框
原代码(密码框是text框): <el-form-item label"用户名" :label-width"formLabelWidth" v-if"!localOrhuawei" prop"userName"><el-input v-model"formDialog.userName" />&l…...
二叉树的遍历与构造
唉,好想回家,我想回家跟馒头酱玩,想老爸老妈。如果上天再给我一次选择的机会,我会选择当一只小动物,或者当棵大树也好,或者我希望自己不要有那么多多余的情绪,不要太被别人影响,开心…...
「Mac畅玩AIGC与多模态23」开发篇19 - Markdown 富文本输出工作流示例
一、概述 本篇基于格式化文本整合的经验,进一步介绍如何通过 LLM 输出标准 Markdown 内容,并在前端正确渲染出标题、列表、加粗等富文本格式,提升展示效果与内容结构可读性。 二、环境准备 macOS 系统Dify 平台已部署并可访问 三、在 Dif…...
记录学习《手动学习深度学习》这本书的笔记(十)
因为最近在做《语音与语言理解综合处理》的实验,所以打算先看第14章:自然语言处理:预训练和第15章:自然语言处理:应用,之后再来看第13章:计算机视觉。 第十四章:自然语言处理&#…...
Flowable7.x学习笔记(二十一)查看我的发起
前言 “查看我的发起”功能,就是将当前用户作为流程发起人启动的所有流程实例集中展示,帮助用户随时跟踪自己提交的业务请求的状态与历史,提升透明度与可控性。 业务人员通常不知道流程引擎底层如何运转,只关心“我提交的报销/申请…...
【Bootstrap V4系列】学习入门教程之 组件-折叠(Collapse)
Bootstrap V4系列 学习入门教程之 组件-折叠(Collapse) 折叠(Collapse)How it works一、Example二、Horizontal 水平的三、Multiple targets 多个目标四、Accordion example 手风琴示例 折叠(Collapse) 通…...
ROS1和ROS2使用桥接工具通信
前提:主从机在同一局域网内,可以互相ping通 我的两个设备其中一个无法连接wifi,ubuntu老生常谈的问题.....,获得新的技能:手机蓝牙提供网络,两个设备连接手机蓝牙就可以连接网络并且处于同一个局域网内。 我的主机为…...
尤雨溪宣布:Vue 生态正式引入 AI
在前端开发领域,Vue 框架一直以其易用性和灵活性受到广大开发者的喜爱。 而如今,Vue 生态在人工智能(AI)领域的应用上又迈出了重要的一步。 尤雨溪近日宣布,Vue、Vite 和 Rolldown 的文档网站均已添加了llms.txt文件,这一举措旨在让大型语言模型(LLM)更方便地理解这些…...
分布式id的两大门派!时钟回拨问题的解决方案!
2.1 两大门派 目前业界的分布式ID实现路径归结起来有两派:一派以雪花算法为代表,不强依赖DB能力,只使用分布式节点自身信息(时间戳节点ID序列号)的编码生成唯一序列,好处是去中心化、无单点风险࿱…...
QMK键盘固件配置详解
QMK键盘固件配置详解 前言 大家好!今天给大家带来QMK键盘固件配置的详细指南。如果你正在DIY机械键盘或者想要给自己的键盘刷固件,这篇文章绝对不容错过。QMK是目前最流行的开源键盘固件框架之一,它允许我们对键盘进行高度自定义。接下来&a…...
Jenkins 服务器上安装 Git
安装 Git # 更新包列表 sudo apt update# 安装 Git sudo apt install git 验证安装 # 检查 Git 版本 git --version 查看所有全局配置 git config --global --list 查看特定配置项 # 查看用户名配置 git config --global user.name# 查看邮箱配置 git config --global u…...
自由浮动时间和总浮动时间对比
一、自由浮动时间的定义 在项目进度管理中,自由浮动时间(Free Float)是指在不推迟项目后续任务最早开始时间的前提下,一个任务能够延迟的时间长度。它是针对单个任务而言的,主要考虑该任务与其紧后任务之间的关系。 …...
2025.05.07-华为机考第二题200分
📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 02. 社区智能安防系统设计 问题描述 随着智慧社区建设的发展,LYA小区需要设计一套高效的安防监控系统。该小区布局可以用一棵二叉树来表示,树的每个节点代表一户居民家庭。 为了…...
分布式架构详解
一、分布式架构的概念与设计目标 1. 基本概念 分布式架构(Distributed Architecture)是分布式计算技术的应用和工具,指将一个复杂系统拆分为多个独立的组件(或服务),并将这些组件部署在不同物理节点(服务…...
码蹄集——平方根X、整除幸运数
目录 MT1075 平方根X MT1078 整除幸运数 MT1075 平方根X 知识点: 上取整:ceil;下取整:floor;四舍五入:round 判断是否为完全平方数的方法:利用sqrt函数结果为double,将其结果相乘&a…...
【MATLAB源码-第277期】基于matlab的AF中继系统仿真,AF和直传误码率对比、不同中继位置误码率对比、信道容量、中继功率分配以及终端概率。
操作环境: MATLAB 2022a 1、算法描述 在AF(放大转发)中继通信系统中,信号的传输质量和效率受到多个因素的影响,理解这些因素对于系统的优化至关重要。AF中继通信的基本架构由发射端、中继节点和接收端组成。发射端负…...
ACE-Step - 20秒生成4分钟完整歌曲,音乐界的Stable Diffusion,支持50系显卡 本地一键整合包下载
ACE-Step 是由ACE Studio与StepFun联合开发的音乐生成模型,被誉为“音乐界的Stable Diffusion”。该模型以其惊人的生成速度和多样化功能引发行业热议,支持19种语言,可在短短20秒内生成一首长达4分钟的完整音乐作品,效率比主流模型…...
007 Linux 开发工具(上)—— vim、解放sudo、gc+
🦄 个人主页: 小米里的大麦-CSDN博客 🎏 所属专栏: Linux_小米里的大麦的博客-CSDN博客 🎁 GitHub主页: 小米里的大麦的 GitHub ⚙️ 操作环境: Visual Studio 2022 文章目录 Linux 开发工具(上)Linux 编辑器 —— vim…...
React学习路线图-Gemini版
前端开发学习路线图 (针对编程新手,主攻 React 框架) 总原则:先打好地基,再盖楼。 无论学习哪个框架,扎实的 HTML、CSS 和 JavaScript 基础是成功的关键。React 是基于 JavaScript 构建的,所以深入理解 JS 至关重要。…...
注意力(Attention)机制详解(附代码)
Attention机制是深度学习中的一种技术,特别是在自然语言处理(NLP)和计算机视觉领域中得到了广泛的应用。它的核心思想是模仿人类的注意力机制,即人类在处理信息时会集中注意力在某些关键部分上,而忽略其他不那么重要的…...
国内外Agent产品进展汇总
MCP(Model Context Protocol)是一个开放标准协议,旨在标准化应用程序向大型语言模型提供上下文信息的方式。通过集成MCP扩展,Agent可以访问和利用各种外部工具和服务,丰富了Agent的功能范围,使其能够执行更…...
AI Workflow
AI Workflow(人工智能工作流)指的是在构建、部署和管理AI模型与应用时所涉及的一系列步骤和流程。它将数据处理、模型训练、评估、部署及监控等环节有机结合起来,以实现高效、可重复的AI解决方案开发过程。以下是对AI Workflow核心组成部分及…...
MySQL OCP 认证限时免费活动 7 月 31 日 前截止!!!
为庆祝 MySQL 数据库发布 30 周年,Oracle 官方推出限时福利:2025 年 4 月 20 日至 7 月 31 日期间,所有人均可免费报考 MySQL OCP(Oracle Certified Professional)认证考试。该认证验证持证者在 MySQL 数据库管理、优化…...
【无标题】MPC软件
MPC软件是一款先进的多变量预测控制解决方案 专为复杂工业过程优化设计 **核心功能** 实时动态建模 多变量协调控制 滚动时域优化 自适应调整策略 干扰抑制 鲁棒性强 适用于时变系统 **技术优势** 基于模型预测算法 提前计算最优控制序列 处理输入输出约束 保障系…...
【EasyPan】loadDataList方法及checkRootFilePid方法解析
【EasyPan】项目常见问题解答(自用&持续更新中…)汇总版 一、loadDataList方法概览 /*** 文件列表加载接口* param session HTTP会话对象* param shareId 必须参数,分享ID(使用VerifyParam进行非空校验)* param …...
Java程序题案例分析
目录 一、基础语法 1. 类与对象 2. 接口与抽象类 二、面向对象语法 1. 继承与多态 2. 四种访问修饰符 三、设计模式相关语法 一、策略模式(接口回调实现) 1. 完整实现与解析 二、工厂模式(静态工厂方法实现) 1. 完整实…...
【Lanqiao】数位翻转
题目: 思路: 写蓝桥不能不写dp,就像.... 题目数据给的不大,所以我们可以考虑一种 n*m 的做法,那么对于这种题目可以想到的是用dp来写,但是如何构造转移方程与状态是个难事 由于这题对于任意一个数我们有两…...
基于QT(C++)实现(图形界面)校园导览系统
校园导览系统 一、任务描述 大学校园充满着忙忙碌碌的学生和老师们,但是有时候用户宝贵的时间会被复杂的道路和愈来愈多的建筑物的阻碍而浪费,为了不让同学们在自己的目的地的寻路过程中花费更多的时间,我们着手开发这样一款校园导览系统。…...
【C/C++】虚函数
📘 C 虚函数详解(Virtual Function) 📌 什么是虚函数? 虚函数(Virtual Function) 是 C 中实现运行时多态(Runtime Polymorphism) 的核心机制。 它允许派生类 重写&…...
no main manifest attribute, in xxx.jar
1、问题: Spring Boot项目在idea中可以正常运行,但是运行Spring Boot生成的jar包,报错: 1、no main manifest attribute, in xxx.jar 2、xxx.jar中没有主清单属性 2、解决办法: 删除pom.xml中<configuration&g…...
使用 AI 如何高效解析视频内容?生成思维导图或分时段概括总结
一、前言 AI 发展的如此迅速,有人想通过 AI 提效对视频的解析,怎么做呢? 豆包里面有 AI 视频总结的功能,可以解析bilibili网站上部分视频,如下图所示: 但有的视频解析时提示: 所以呢&#x…...
比较入站和出站防火墙规则
组织需要仔细配置防火墙规则,监控网络的传入和传出流量,从而最大限度降低遭受攻击的风险。在有效管理入站和出站防火墙规则前,了解入站与出站流量的区别至关重要。 一、什么是入站流量? 入站流量指的是并非源自网络内部…...
开放式耳机什么品牌的好用?性价比高的开放式耳机品牌推荐一下
这几年蓝牙耳机发展得很快,从最早的入耳式,到现在流行的开放式,选择越来越多。我自己是比较偏向佩戴舒适的类型,用过开放式之后就回不去了。它不堵耳、不压迫,戴着轻松不累,对我这种耳朵容易不适的人来说太…...
WPF之高级绑定技术
文章目录 引言多重绑定(MultiBinding)基本概念实现自定义IMultiValueConverterMultiBinding在XAML中的应用示例使用StringFormat简化MultiBinding 优先级绑定(PriorityBinding)基本概念PriorityBinding示例实现PriorityBinding的后…...
k8s高可用集群,自动化更新证书脚本
#!/bin/bash # 切换到证书目录 cd /etc/kubernetes/pki || exit # 备份原有证书(重要!) sudo cp -r apiserver.crt apiserver.key \ apiserver-etcd-client.crt apiserver-etcd-client.key \ apiserver-kubelet-client…...
【Python 函数】
Python 中的函数(Function)是可重复使用的代码块,用于封装特定功能并提高代码复用性。以下是函数的核心知识点: 一、基础语法 1. 定义函数 def greet(name):"""打印问候语""" # 文档字符串&…...
Filecoin矿工资金管理指南:使用lotus-shed actor withdraw工具
Filecoin矿工资金管理指南:使用lotus-shed actor withdraw工具 引言lotus-shed actor withdraw命令概述命令语法参数选项详解常见使用场景1. 提取全部可用余额2. 提取指定数量的FIL3. 通过受益人地址发送交易 最佳实践资金安全管理操作流程优化 常见问题与解决方案提…...
AI辅助DevOps与自动化测试:重构软件工程效率边界
随着AI技术渗透至软件开发生命周期,DevOps与自动化测试领域正经历颠覆性变革。本文系统性解析AI在需求分析、测试用例生成、部署决策、异常检测等环节的技术实现路径,结合微软Azure DevOps、Tesla自动驾驶测试等典型场景,探讨AI如何突破传统效…...
css内容省略——text-overflow: ellipsis
title: css内容省略 date: 2025-05-07 19:41:17 tags: css text-overflow: ellipsis text-overflow: ellipsis用于在文本溢出容器时显示省略号(…) 1.单行省略 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"&g…...