端口和引脚
- 读端口就是读Pn端口寄存器;
- 读引脚就是读该引脚在Pn端口寄存器中的对应位,通过引用Pn端口寄存器的值,或者引用Pn端口寄存器中的对应位,就可以实现读端口或者读引脚。
BST-V51独立按键
- I/0口按下为0
- I/o口未按为1
键盘软件消抖
按键一般是利用机械触点的闭合、断开作用,由于机械触点的弹性作用,在其闭合、断开瞬间均右抖动过程,抖动时间一般在5—10mS。为了保证单片机对一次闭合,仅作一次键输入操作,必须在编程时候编写必要的程序代码来去除抖动影响,称键盘软件消抖。
初学者解决办法
后面一般会插入其他程序在这个时间段,现在是死等
代码实现
/*********************************************************************************
*实验名 :独立键盘输入
*实验效果 :按第1个独立按键K1 松开按键后 第一个LED灯状态改变
*
*********************************************************************************/
#include<reg52.h>
#include"bstv51.h"
void delay(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=112;j>10;j--);
}
void main()
{
bstv51_init();//学习板初始化函数
P1=0xff; //熄灭所有LED
while(1)
{
if(K1==0) //判断是否有按下信号,低电平按下
{
delay(10); //延时10ms
if(K1==0) //再次判断是否按下
{
while(K1==0); //判断是否松开按键
L0=~L0; //松开后执行程序 翻转LED灯
}
}
}
}