4.1.按键--按下按键使LED点亮

原创 2016年06月01日 16:17:57

实验目的:按键–按下按键使LED点亮

预备知识:
(1)按键原理图
这里写图片描述
(2)上拉电阻。
这里写图片描述
从独立按键的原理图可以看出,每一个按键的一极接在IO引脚地上,一极接在GND上。当按键被按下的时候,按键两极接通,相应的按键的IO引脚变成0(低电压),其实按键还会接一个上拉电阻,当按键弹起的状态下,上拉电阻拉高按键的点评,也就是说,按键弹起的时候,相应的按键对应的IO引脚是高电平。我么可以通过每个按键对应的IO引脚的电平高低来判断按键是否被按下。
(3)轮询式、中断式。轮询式:CPU每隔一段时间就去读按键对应的IO引脚的电平。中断后面再讲。
(4)独立按键可以同时按下多个按键,而矩阵按键同一时间只能按下一个按键。
实验过程:
(1)分析原理图对应接线按键和LED灯
(2)led1是led的正极

实验代码:

#include<reg51.h>

sbit led1 = P0^0;   //定义位变量 一个led
sbit key1 = P1^0;   //定义位变量一个按键


void main(void)
{
    while(1)
    {
        if(key1 == 1)       //按键处于弹起状态时,上拉电阻使该IO引脚为高电平
        {
            //按键弹起状态
            led1 = 0;     // 熄灭led

        }
        else
        {
            //按键被按下
            led1 = 1;     //  点亮led

        }
    }

}
/********************************************************************/
上面是只有一个按键对用一个led,现在多写几个看看好不好使
/********************************************************************/

#include<reg51.h>

sbit led1 = P0^0;
sbit led2 = P0^1;
sbit led8 = P0^7;
sbit key1 = P1^0;
sbit key2 = P1^1;
sbit key8 = P1^7;

void main(void)
{
    while(1)
    {
        if(key1 == 1)       //按键处于弹起状态时,上拉电阻使该IO引脚为高电平
        {
            //按键弹起状态
            led1 = 0;     // 熄灭led

        }
        else
        {
            //按键被按下
            led1 = 1;     //  点亮led

        }

        if(key2 == 1)
        {
            led2 = 0;
        }
        else
        {
            led2 = 1;
        }

        if(key8 == 1)
        {
            led8 == 0;
        }
        else 
        {
            led8 == 1;
        }
    }

}
版权声明:本文为博主原创文章,转载请注明出处。

相关文章推荐

Arduino 用两个按键分别控制两个LED灯点亮

实验简介 使用两个按键,分别控制两个LED灯的点亮与关闭。 按一下,亮,再按一下灭,走起...... 先说明一下4脚按键开关的工作原理 示例效果 BOM表 Arduino Uno    *...
  • ling3ye
  • ling3ye
  • 2016年10月26日 15:28
  • 4795

按键中断,点亮LED实验

硬件:mini2440开发板编译环境:ads烧写到nand flash1,  按键本开发板总共有 6 个用户测试用按键,它们均从 CPU 中断引脚直接引出,属于低电平触发,这些引脚也可以复用为 GPI...

Linux驱动开发之S3C2440按键点亮LED

  • 2011年05月25日 16:30
  • 169KB
  • 下载

[2014.3.17]mini2440裸机跑马灯/按键点亮LED的C程序

【led.c】 #define GPGCON (int*)0x56000060 #define GPGDAT (int*)0x56000064 #define GPGUP (int*)0x560000...

OK6410按键中断点亮lED

首先理清楚要准备的几个方面 1.LED初始化 2.按键初始化 3.中断初始化 4.中断处理程序 首先初始化LED,以前说过了,不说 按键初始化,这里既然要用到中断,就不用传统的延时消抖的办法了,...

按键按下-灯亮(应用程序)!

//应用程序实现的方法有两种: (平时实验就是积累项目经验, 到真正项目时就可以轻装上阵了,不要以为会了就不动手做实验) 1>用 select系统调用监控 驱动是否可读  如果有按键按下 表示可读...
  • wenhui_
  • wenhui_
  • 2011年10月06日 10:53
  • 1125

Andorid屏幕唤醒异常,Power按键无法点亮屏幕的分析

写在前面:     关于这个话题我们需要了解屏幕唤醒的一些基本流程,物理按键的Keycode,CPU使用率,Low Memeory,还需要关注ANR(由于广播是按顺序发送的,ANR会导致唤醒屏幕的广...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:4.1.按键--按下按键使LED点亮
举报原因:
原因补充:

(最多只允许输入30个字)