51单片机玩转物联网基础篇03-独立按键

发布者:转眼人老最新更新时间:2022-05-16 来源: eefocus关键字:51单片机  物联网  独立按键 手机看文章 扫描二维码
随时随地手机看文章

前言

上一节,我们完成了51单片机控制LED灯,并实现流水灯效果,本节我们学习操作独立按键,并通过两个按键,分别打开和关闭所有LED灯,按键作为输入设备,在系统开发过程中十分常见,一般来说,按键可以设置系统参数、控制系统运行状态。


一、基础知识

1.按键简介

通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,电压信号会发生变化,常见的按键开关如下图所示,其中A端引脚在同侧,默认断开,B端引脚在不在同侧,默认导通,当按键按下时,A端导通,B端断开。

此类开关,按下时候通常不会立刻导通,开和关的瞬间伴有一连串抖动,一般为5ms到10ms,具体抖动时间由按键机械特性决定,抖动过程如下图所示:

为了解决这个问题,通常可以采用硬件消抖和软件消抖两种方式,硬件消抖原理是利用电容平波,再经过施密特反相器整形之后就得到了没有毛刺的脉冲波,大多数实际项目中为了节约成本,通常采用软件滤波方式,软件滤波一般采用延时方式处理,当首次检测到按键按下时,软件延时10ms左右时间,然后再次查看按键状态,如果还是按下则认为有按键按下。


2.按键检测原理

简单的独立按键连接电路原理图如下所示

独立按键电路中,按键一边接GND,另一边接到单片机IO口上,当按键按下时候,按键两边1和2导通,单片机P2.5引脚直接连接GND,电平为低电平,所以只需要让单片机不断的检测P2.5引脚的I/O口是否为低电平,一旦程序检测到I/O口引脚变为低电平说明按键按下了。


3.开发板按键硬件电路

实验使用开发板独立按键部分原理图如下,K1、K2、K3、K4四个按键一端引脚均接地,另一端接到单片机不同I/O口,可以根据不同I/O口的电平检测按键是否按下。

二、实例

1.创建工程

将上一节工程复制出来,并修改名字为02-key

2.程序修改

#include


sbit key1 = P2^4;

sbit key2 = P2^5;


unsigned char val = 0;


void delay_ms(int ms)

{

        int i = 0, j = 0;

        for (i = ms; i > 0; i--)

        {

                for (j = 110; j > 0; j--);

        }

}


int main(void)

{

        while(1)

        {

                if (0 == key1 || 0 == key2)

                {

                        delay_ms(10);

                        if (0 == key1)

                        {

                                P1 = 0x00;

                        }


                        if (0 == key2)

                        {

                                 P1 = 0xFF;

                        }

                }

                delay_ms(5);

        }

}


程序中检测KEY1和KEY2的状态,当按下KEY1时候,点亮LED3-LED10 8个LED灯,KEY2按键按下时候,熄灭LED3-LED10。


三、运行

编译代码后,按照第一节内容,将生成的project.hex文件下载到板子中,按下KEY1时候,效果如下图所示:

点击KEY2时候,灯熄灭,由于比较简单,就不放图了。

关键字:51单片机  物联网  独立按键 引用地址:51单片机玩转物联网基础篇03-独立按键

上一篇:51单片机玩转物联网基础篇04-蜂鸣器
下一篇:51单片机玩转物联网基础篇02-点亮LED灯,实现跑马灯效果

推荐阅读最新更新时间:2024-11-13 12:15

如何用51单片机实现交通信号灯
实验环境 软件: Keil5+Proteus7 元件(主要): AT89C51 * 1, BUTTON * 1, 7SEG-MPX2-CA * 1, LED-GREEN * 8, LED-RED * 4, LED-YELLOW * 4 实验原理 7SEG-MPX2-CA数码管 7SEG-MPX2-CA数码管是一个两位数的阳极数码管,有10个针脚,通过标号a-dp八个针脚控制,LED灯的显示,通过标号为1,2的针脚控制显示的是个位或是十位的数码管。 要通过数码管显示具体数字,7SEG-MPX2-CA由于是一个阳极的数码管,所以需要接收在针脚上接收相应的低电平来显示,如如果要显示数字0,则标号a-dp的针脚需要接收1100 0000也
[单片机]
南瑞集团:做好泛在电力物联网建设的坚强支撑者
南瑞集团有限公司是国家电网有限公司直属科研产业单位,是我国能源电力及工业控制领域卓越的IT企业,是国际知名的智能成套装备及整体解决方案提供商。主要从事电力自动化及保护,电力信息通信,电力电子,智能化电气设备,发电及水利自动化设备,轨道交通及工业自动化设备,非晶合金变压器的研发、设计、制造、销售、工程服务与工程总承包业务。 南瑞集团现有资产总额超700亿元,旗下拥有国电南瑞(600406)和置信电气(600517)两家上市公司,在资本市场展现了良好的高新技术企业形象。自主培养中国工程院院士2名,拥有国家级专家47名。82项科研成果获国家级科技奖励,获中国专利金奖2项,主导发布国际标准9项。连续十七届进入中国软件企业百强,连续十
[新能源]
上海富芮坤获得CEVA低功耗蓝牙IP授权许可并部署IoT产品
集微网消息,全球领先的智能和互连设备的信号处理IP授权许可厂商CEVA宣布,上海富芮坤微电子有限公司(Freqchip)已经获得授权许可,在其最新FR801x无线芯片(IC)系列中部署CEVA的RivieraWaves低功耗蓝牙技术。FR8010以富芮坤成熟的低功耗无线IC设计专业技术为基础,是FR801X系列的首款成员,是各种需要蓝牙的消费类产品的理想之选芯片,包括个人健康和健身可穿戴产品,以及智能家用电器。 上海富芮坤首席执行官黎传礼称:“蓝牙仍然是极低功耗电子器件在连接方面的主流选择。CEVA的RivieraWaves低功耗蓝牙IP获得各界广泛使用,并且在中国大规模量产,以超低功耗架构提供各种先进特性,且风险非常低,因此是我
[手机便携]
51单片机——串行通信
1 概述 通信的概念比较广泛,在单片机技术中,单片机与单片机或单片机与其他设备之间的数据传输称为通信。 1.1 并行通信和串行通信 根据数据传输方式的不同,可将通信分并行通信和串行通信两种。同时传输多位数据的方式称为并行通信。同时传输一位数据的方式称为串行通信。 如图1(a)所示,在并行通信方式下,单片机中的8位数据10011101通过8条数据线同时送到外部设备中。并行通信的特点是数据传输速度快,但由于需要的传输线多,故成本高,只适合近距离的数据通信。逐位传输数据的方式称为串行通信。 如图1(b)所示,在串行通信方式下,单片机中的8位数据10011101通过一条数据线逐位传送到外部设备中
[单片机]
<font color='red'>51单片机</font>——串行通信
河北石家庄供电公司创新推进泛在电力物联网建设
“塔元庄劲松养老院本月实时用电量3576千瓦时,用水量66.44吨,用热量928.1吉焦,用天然气量57.59立方米。”1月7日,在河北省石家庄市正定县能源大数据中心智慧能源共享服务平台(CIEMS)显示大屏上,586户企业和小区用能数据通过814个采集点位实时接入,日数据量达45.49万条。该平台通过拓展能源大数据多场景深度应用,面向政府、企事业单位及客户提供能效咨询、能源数据分析和用能提升方案等多种数据增值服务。 美丽乡村用上智慧能源 隆冬时节,塔元庄现代农业产业园蔬菜大棚区内几乎见不到农户劳作。原来,大棚都安装了智慧传感器,棚内的温湿度、土壤基质、植物养分等数据通过传感器实时传输到平台,喷灌和肥料都由系统自动
[新能源]
一见倾“芯”,贸泽电子将亮相第六届深圳国际嵌入式系统
半导体与电子元器件业顶尖工程设计资源与授权分销商贸泽电子(Mouser Electronics) 宣布携手ADI, Cinch, Maxim, TE与TI于本月21-23日参加“第六届深圳国际嵌入式系统展”,现邀请广大观众莅临贸泽电子展位(1号馆1Q12),透过微观沙盘探索智能家居,工厂,农业,养殖,楼宇等背后的科技原理,开启未来都市生活的大门。此外,观众还将有机会体验VR赛车等互动游戏,并参与开发板抽奖活动。 随著物联网的商机和应用逐渐实现,嵌入式技术越来越多地融入生产、工作、生活的方方面面,技术变革带来的便利性、创造力与生产力提升越来越明显,各领域对智能化技术与产品的需求也越来越旺盛。矢志不渝地支持国内电子工程行业展会,促
[嵌入式]
莱迪思半导体推出全新的iCE40 UltraPlus™器件
• 高效节能的并行处理,可实现实时监控以及计算加速 • 灵活的I/O可简化电路板设计、降低系统成本并加速产品上市进程 • 为智能物联网边缘(IoT-edge)设备提供高达1 Mbit的嵌入式存储器,用于传感器数据缓存 美国俄勒冈州波特兰市 — 2016年12月12日 — 莱迪思半导体公司(NASDAQ: LSCC),客制化智能互连解决方案市场的领先供应商,今日宣布推出全新的iCE40 UltraPlus™ FPGA,它是业界最高效节能的可编程移动异构计算(mobile heterogeneous computing, MHC)解决方案之一。作为iCE40 Ultra产品系列的最新成员,该器件相比前几代的产品可提供超过8倍的存
[嵌入式]
莱迪思半导体推出全新的iCE40 UltraPlus™器件
51单片机定时器/计数器提高
定时器方式0的使用 通过设置TMOD寄存器中的M1M0为00选择定时方式0,方式0的计数位数是13位,对T0来说,有TL0寄存器的低5位,和TH0的8位组成 那么最多能装入2^13=8192个数,也就是说,经过8192个计数,寄存器就会溢出,向CPU发出中断请求。 所以计算公式为 TH0=(8192-X)/32 TL0=(8192-X)2 程序例子: #include #define uchar unsigned char #define uint unsigned int sbit led1=P1^0; uchar num; void main() { TMOD=0X00;
[单片机]
<font color='red'>51单片机</font>定时器/计数器提高
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved