c51扫描键盘程序

来源:百度知道 编辑:UC知道 时间:2024/06/08 04:15:13
#include<reg51.h> //头文件
#include<stdio.h>

int hang; //定义行号
int lie; //定义列号

int KeyScan(); //子函数声明
void Delay();

void main() //主函数
{
int Key;
while(1) //开始循环扫描键盘
{
Key=KeyScan(); //键盘扫描子函数
if(Key==1) //如果扫描到按键按下
{
P2=0x80; //点亮发光二极管
}
Delay(); //延时
P2=0x00; //熄灭发光二级管
}
}

void Delay() //延时子函数
{
long i;
for(i=10000;i>0;i--); //可以根据系统的时钟频率来调整
}
int KeyScan() //键盘扫描子函数
{
P1=0xF0; //列输出全0
if((P1&0xF0)!=0xF0) //扫描行,如果不全为0,则进入
{
switch(P1) //获得行号
{
case 0x70:
hang=1;
break;
case 0xB0:
hang=2;
break;
case 0xD0:
hang=3;
break;
case 0xE0:
hang=4;
break;
default:
break;
}
Delay(); //延时去抖动
P1=

我拿着她的手,我们结合在一起,
协奏曲十一
满月的光炫,
他给予我的永远不够
他们解说着,用兴奋的声音,用挥舞的手势
满怀悲痛化纸钱。哈哈

就是这样啊