单片机,独立按键,(STC89C51)
通过代码实现:
k1按键按下,8盏灯点亮;
k2按键按下,8盏灯熄灭/;
k3按键按下,流水灯从左到右不停点亮;
k4按键按下,流水灯从右到左不停点亮;
独立按键原理图
LED模块原理图
代码部分实现:
#include "reg51.h"
#include<intrins.h>
sbit k1=P3^1; //定义P31口是k1
sbit k2=P3^0; //定义P30口是k2
sbit k3=P3^2;//定义P32口是k3
sbit k4=P3^3;//定义P33口是k4
void delayms(int ms)//延时函数
{ int i,j;for(j=0;j<ms;j++)for(i=0;i<300;i++);
}
void lsd1()//流水灯从左向右不停的亮
{while(k1==1&&k2==1&&k4==1){P2=_crol_(P2,1);delayms(100); //延时100ms}
}
void lsd2()//流水灯从右向左不停的亮
{while(k1==1&&k2==1&&k3==1){P2=_crol_(P2,1);delayms(100); //延时100ms}
}
void key()
{if(k1==0) //检测按键K1是否按下{ delayms(10); //消除抖动10msif(k1==0) //再次判断按键是否按下P2=0x00;while(!k1); //检测按键是否松开delayms(10);} //按下k2 led灭if(k2==0) //检测按键K2是否按下{ delayms(10); //消除抖动10msif(k2==0) //再次判断按键是否按下P2=0xff;while(!k2); //检测按键是否松开delayms(10);} if(k3==0) //检测按键K3是否按下{ delayms(10); //消除抖动10msif(k3==0) //再次判断按键是否按下P2=0xfe;//1111 1110lsd1();//调用函数 流水灯从左向右不停的亮 while(!k3); //检测按键是否松开delayms(10);} if(k4==0) //检测按键K4是否按下{ delayms(10); //消除抖动10msif(k4==0) //再次判断按键是否按下P2=0xfe;//1111 1110lsd2();//调用函数 流水灯从右向左不停的亮 while(!k4); //检测按键是否松开delayms(10);} }
void main(){ while(1){key(); }
}
单片机,独立按键,(STC89C51)相关推荐
- 单片机独立按键模块(含短按,长按,连发功能)
最近看了很多按键扫描的文章,发现各有长处,后来自己花了一点时间做了一个单片机独立按键扫描的模块,此模块优点颇多,支持短按,长按,连发功能,只要配置相关结构体就可以实现这些功能,唯一的缺点是不支持多按键 ...
- 51单片机-独立按键控制LED
1. 51单片机独立按键的位置: 独立按键的定义:独立按键相当于一种电子开关,按下时开关接通,松开时开关断开,实现原理是通过轻触按键内部的金属弹片受力弹动来实现接通和断开: 在整个51开发板的左下 ...
- 独立按键和矩阵按键c语言,单片机独立按键与矩阵按键原理图
当前位置:电工之家 > 电工知识 > 单片机 > 正文 单片机独立按键与矩阵按键原理图 时间:2017-02-22 12:40 来源:电工之家 单片机独立按键与矩阵按键原理图 独立按 ...
- 51单片机—独立按键的控制
目录 一.独立按键的介绍 1.按键介绍 2.按键原理图 3.按键抖动 4.按键的消抖 二.独立按键控制LED指示灯亮灭 三.按键实验视频 总结 一.独立按键的介绍 1.按键介绍 轻触按键,相当于一种电 ...
- 51单片机 | 独立按键实验
文章目录 一.按键介绍 二.硬件设计 三.软件设计 四.实验现象 开发板上板载 4 个独立按键.通过开发板上的独立按键 K1 控制 D1 指示灯亮灭.通过独立按键实验来介绍 IO 口作为输入的使用 ...
- 51单片机——独立按键实验,小白讲解,相互学习
按键介绍: 按键是一种电子开关,使用时轻轻按开关按钮就可式开关接通,当松手时,开关断开.开发板上使用的按键及内部简易图如下图: 按键管脚两端距离长的表示默认是导通状态,距离短的默认是断 ...
- 51单片机独立按键和矩阵按键实现
这里写目录标题 独立按键实验 矩阵按键实验 独立按键实验 按键是一种电子开关,使用时轻轻按开关按钮就可使开关接通,当松开手时, 开关断开.我们开发板上使用的按键及内部简易图如下图所示 管脚与管脚之间( ...
- m0单片机io口_51单片机独立按键和矩阵按键实现
独立按键实验 按键是一种电子开关,使用时轻轻按开关按钮就可使开关接通,当松开手时, 开关断开.我们开发板上使用的按键及内部简易图如下图所示 管脚与管脚之间(注意是距离)距离长的是导通状态,短的是接通状 ...
- 单片机按键防抖程序_单片机独立按键使用程序
独立按键是单片机中很重要的一个器件,在这篇文章里,通过这个用独立按键控制LED灯的小程序来介绍独立按键开关的使用. 1.按键分类与输入原理 按键按照结构原理科分为两类,一类是触点式开关 ...
最新文章
- OpenCV 【二十】给图像添加边界
- html引入jquery_jQuery
- AspNetCore 启动地址配置详解
- 【Hadoop】HDFS三组件:NameNode、SecondaryNameNode和DataNode
- CSS规范(OOCSS SMACSS BEM)
- Звезда 星星
- Android调用手机摄像头
- GB35114—①、术语、定义和缩略语
- 考研计算机专业课复试都有什么,2019计算机考研复试科目总结
- 机器学习:贝叶斯网络
- java简历校园经历_简历中的校园经历怎么写
- SAS硬盘安装Windows 7操作方法
- 入夏短裤热 教你怎么穿
- 将中文汉字转换成拼音
- Python数据可视化第 7 讲:matplotlib绘制直方图函数hist
- 机器学习的安全及隐私保护研究
- 关于计算机素养论文,计算机应用及青少年网络素养培养论文
- mesh 协调器 路由器_请TI技术支持和大神指点下,关于zigbee组建mesh路由网络的问题,谢谢!...
- 交货状态html什么意思,Marc Jacobs The Uptown 手提包
- Frame::Frame(1)
热门文章
- word(03)中MathType失效问题统一解决方案
- 深度学习-误差反向传播算法
- Java简介—动力节点Java学院
- 学校作业——配置ssm框架做一个简单的登陆注册
- SpringCloud eureka 高集群注册中心
- 超详解The server time zone value ‘�й���ʱ��‘ is unrecognized or represents more than one time zone
- 88.播放声音和音效
- 【Linux】内存检测工具Valgrind
- AHP层次分析法(Analytic Hierarchy Process)——个人学习笔记
- 黄浩老师cpp平时作业(二)蒙特卡罗阴影面积