当前位置: 首页 > 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;}}
}

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

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

相关文章:

  • sql注入之union联合注入
  • activiti解决实现ExecutionListener spring 自动注入@Autowired为null问题
  • 【Lazy ORM 整合druid 实现mysql监控】
  • 【Deeplabv3+】Ubutu18.04中使用pytorch复现Deeplabv3+第三步)-----CityscapesScripts生成自己的标签
  • 《动手学深度学习(PyTorch版)》笔记3.3
  • OpenGL ES 渲染 NV21、NV12 格式图像有哪些“姿势”?
  • P8813 [CSP-J 2022] 乘方 题解
  • Ubuntu 常用命令、docker 常用命令、unzip常用命令、tar常用命令
  • 保护医疗数据不受威胁:MPLS专线在医疗网络安全中的角色
  • Java面试题夺命连环问
  • 华为策略路由+NQA配置
  • 逆置字符串
  • 第九节HarmonyOS 常用基础组件14-DataPanel
  • Vue开发之proxy代理的配置(附带uniapp代理配置)
  • 【数据分享】2023年我国省市县三级的公司企业数量(21类公司企业/Excel/Shp格式)
  • 6JS对象
  • 粒子群算法求解港口泊位调度问题(MATLAB代码)
  • idea控制台出现乱码的解决方案
  • R语言【taxlist】——summary(),show(),print():打印taxlist对象及其内容的概述
  • 【深度学习】sdxl中的 text_encoder text_encoder_2 区别
  • 上位机图像处理和嵌入式模块部署(python opencv)
  • 父元素flex:1 高度却被子元素撑开的问题
  • 【LUA】mac状态栏添加天气
  • 网络原理-TCP/IP(1)
  • C# Socket 允许控制台应用通过防火墙
  • Centos安装mysql/mariadb
  • 2024 年, Web 前端开发趋势
  • Mysql 插入数据
  • 【每日一题】YACS 473:栈的判断
  • Python - 整理 MySQL 慢查询日志