一.独立按键实验
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;