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;
        }
    }

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

Stm32按键输入控制LED灯

说明:GPIOA,GPIO_Pin_0对应key1;GPIOA,GPIO_Pin_1对应
  • heirenheiren
  • heirenheiren
  • 2014年10月22日 19:41
  • 11364

STM32学习笔记之按键查询方式控制led灯的亮灭

其实接触STM32已经快半年了,端断续续的也学习了一下的STM32的各个模块的基本功能,刚开始的时候也是看比人的写的代码,看懂了然后再去修改,能够在自己的平台上实现基本的功能,也就是到现在才能真正的按...
  • yuewen2008
  • yuewen2008
  • 2013年01月06日 16:54
  • 3366

TI CC2530基础实验(GPIO通用I/O中断操作——按键控制灯的亮灭)

有关CC2530的GPIO基本知识、普通GPIO操作有关寄存器的介绍、IAR Embedder Workbench IDE软件使用: TI CC2530基础实验(普通GPIO操作——点亮led灯) C...
  • Thanksgining
  • Thanksgining
  • 2014年12月26日 14:21
  • 4942

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

实验目的:按键–按下按键使LED点亮预备知识: (1)按键原理图 (2)上拉电阻。 从独立按键的原理图可以看出,每一个按键的一极接在IO引脚地上,一极接在GND上。当按键被按下的时候,按...
  • Hanfeng_1999
  • Hanfeng_1999
  • 2016年06月01日 16:17
  • 612

ARM体系结构之点亮LED灯(C语言篇)

要在裸机上运行C语言程序,我们需要在运行C语言程序之前设置栈底指针,因为C语言中的变量与函数调用都是基于堆栈的。 怎么设置栈底指针呢,一句话就可以了 ldr pc,=1024*4至于为什么设置成4...
  • u011405813
  • u011405813
  • 2014年01月20日 17:12
  • 1056

Linux button按键驱动 多次中断控制相应LED灯亮灭闪

下午的时候完成了按键驱动的测试程序,接下来贴上新鲜出炉的按键控制相应LED灯亮灭闪的程序。 /***************************************************...
  • u010944778
  • u010944778
  • 2015年04月18日 19:42
  • 1028

Stm32按键中断使LED灯闪烁

main.c源代码: /* *说明: *PA0:KEY1;PA1:KEY2; *PA2:LED1;PA3:LED2; *PA9:USART1_TX;PA10:USART1_RX */ #incl...
  • heirenheiren
  • heirenheiren
  • 2014年11月07日 11:47
  • 6243

3_使用C语言控制LED灯实验

MSP430F1611芯片节点挂载 dmesg命令 看外设的挂载; tinyos中的命令:motelist(motelist -usb);./bsl_msp.sh代码编译下载:一般通过使用bash...
  • windsnow1
  • windsnow1
  • 2017年10月22日 14:04
  • 181

【Arduino官方教程第一辑】示例程序 1-3 点亮LED

这个例子展示了你在Arduino板Genuino板上能够看到的最简单”输出”操作。
  • amagamag
  • amagamag
  • 2016年04月16日 21:44
  • 2624

中断——按键控制LED状态

程序功能:按键控制LED状态,中断实现。 现象描述:当按下k键时,LED0总会闪烁,从而影响其他LED。 注意:用杜邦线把P3.2引脚(INT0)与开关K引脚相连。程序: ORG 000...
  • qq_16912257
  • qq_16912257
  • 2015年06月09日 07:43
  • 1187
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:4.1.按键--按下按键使LED点亮
举报原因:
原因补充:

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