51单片机学习笔记【二】——按键实验

这篇博客介绍了51单片机的按键实验,包括独立按键和矩阵键盘的使用。独立按键实验中,通过消抖处理控制LED小灯;矩阵键盘则利用行列扫描方法检测按键,实现更高效的空间利用。实验中涉及的接线配置和源代码也有详细说明。
摘要由CSDN通过智能技术生成

一.独立按键实验

1.电路原理图

独立按键

2.说明:使用排线连接JP10的和JP12,JP8连接JP5。本实验通过八个独立按键控制八个LED小灯。按键时会抖动,所以要消抖。

3.消抖检测

  • 先给按键对应的I/O口置1;
  • 判断I/O口是否为1;
  • 若是1,则说明按键按下,若是0,则按键没有按下;

4.源代码如下:

/***********************************************
   > File Name: 独立按键实验
   > Author: pengshp
   > Mail: pengshp3@outlook.com
   > Date: 2015年 7 月 16 日
*************************************************/
#include <reg51.h>     //此文件中定义了51的一些特殊功能寄存器
#include <intrins.h>
//--定义要使用的IO口--//
#define  GPIO_KEY P1           //独立键盘用P1口
#define  GPIO_LED P0           //led使用P0口

void Delay10ms(unsigned int c); //延时10ms
unsigned char Key_Scan();
void main()
{
    unsigned char ledValue, keyNum;
    ledValue = 0x01;
    while (1)
    {   
        keyNum = Key_Scan();  //扫描键盘
        switch (keyNum)
        {
            case(0xFE) :      //返回按键K1的数据
                ledValue = 0x01;
                break;
            case(0xFD) :      //返回按键K2的数据
                ledValue = 0x02;
                
  • 9
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值