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

51单片机点灯

51单片机点灯

1.点亮LED灯

#include "reg52.h"sbit ledOne = P3^7;void main()
{//灯亮,给一个P3.7低电平ledOne = 0;
}
给LED1对应标号的P3^7一个低电平,就能点亮LED灯

2.LED灯闪烁

#include "reg52.h"sbit ledOne = P3^7;void Delay500ms()		//@11.0592MHz
{unsigned char i, j, k;i = 4;j = 129;k = 119;do{do{while (--k);} while (--j);} while (--i);
}void main()
{//灯灭,给一个高电平//重复执行while(1){//灯亮,给一个P3.7低电平ledOne = 0;//数数,数的期间,维持低电平,灯亮,延迟Delay500ms();//灯灭,给一个高电平ledOne = 1;//数数,数的期间,维持高电平,灯灭,延迟Delay500ms();}}
使用延时函数

3.按键控制灯(状态位)

#include "reg52.h"
#include <intrins.h>#define ON_STATUS  1
#define OFF_STATUS 0sbit key1   = P2^1;
sbit key2   = P2^0;
sbit ledOne = P3^7;void Delay50ms()		//@11.0592MHz
{unsigned char i, j, k;_nop_();_nop_();i = 3;j = 26;k = 223;do{do{while (--k);} while (--j);} while (--i);
}void main()
{int ledMark = OFF_STATUS;ledOne = 1;//查询法检测,是否被按下while(1){if(key1 == 0)//KEY1位置和GND接通,表现为低电平,值为0{//感觉被按下,不知道是抖动还是人为,延迟50ms再判断一次//软件消除抖动Delay50ms();if(key1 == 0){//记住,key1被按下,记住,在其他地方点灯ledMark = ON_STATUS;}}if(key2 == 0){//KEY2位置和GND接通,表现为低电平,值为0ledMark = OFF_STATUS;}if(ledMark == OFF_STATUS){ledOne = 1;}else{ledOne = 0;}}
}

点灯时标志好,后面再判断

相关文章:

  • 数字身份保护:Web3如何改变个人隐私观念​
  • YOLOv8实例分割实战:TensorRT加速部署
  • 基于STM32的CAN通信协议选择与实现
  • LeetCode_16_中等_最接近的三数之和
  • 【网络】:网络套接字(UDP)
  • 用Visual Studio Code创建JavaScript运行环境【2024版】
  • ❤搭建一个Springboot项目(ltbjava)
  • idea控制台出现乱码的解决方案
  • nltk关键字抽取与轻量级搜索引擎(Whoosh, ElasticSearcher)
  • 代码随想录算法训练营第17天
  • 运行yolo v8 YOLOv8-CPP-Inference C++部署遇到的问题
  • SQL Server ISO镜像文件安装
  • 【C++】类和对象(一)
  • 代理IP在游戏中的作用有哪些?
  • MyBaties-增删查改
  • [PHP内核探索]PHP中的哈希表
  • JavaScript 如何正确处理 Unicode 编码问题!
  • JavaScript-如何实现克隆(clone)函数
  • 2017前端实习生面试总结
  • JDK 6和JDK 7中的substring()方法
  • js正则,这点儿就够用了
  • leetcode讲解--894. All Possible Full Binary Trees
  • NSTimer学习笔记
  • Python 反序列化安全问题(二)
  • React Native移动开发实战-3-实现页面间的数据传递
  • ReactNative开发常用的三方模块
  • SegmentFault 2015 Top Rank
  • Tornado学习笔记(1)
  • vuex 学习笔记 01
  • vue中实现单选
  • Zsh 开发指南(第十四篇 文件读写)
  • 大数据与云计算学习:数据分析(二)
  • - 概述 - 《设计模式(极简c++版)》
  • 后端_ThinkPHP5
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 如何胜任知名企业的商业数据分析师?
  • 深度学习入门:10门免费线上课程推荐
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 云大使推广中的常见热门问题
  • # Redis 入门到精通(八)-- 服务器配置-redis.conf配置与高级数据类型
  • $ git push -u origin master 推送到远程库出错
  • (二)Eureka服务搭建,服务注册,服务发现
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (算法)N皇后问题
  • (转)用.Net的File控件上传文件的解决方案
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .Net Memory Profiler的使用举例
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .NET开源项目介绍及资源推荐:数据持久层
  • .NET学习全景图
  • [012-1].第12节:Mysql的配置文件的使用
  • [240727] Qt Creator 14 发布 | AMD 推迟 Ryzen 9000芯片发布