一个行列键盘的输入例程

来源:本站
导读:目前正在解读《一个行列键盘的输入例程》的相关信息,《一个行列键盘的输入例程》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《一个行列键盘的输入例程》的详细说明。
简介:在这里给大家提供一个行列键盘的输入例程。

#include <reg51.h>#include <absacc.h>#define uchar unsigned char#define uint unsigned intvoid delays(void);uchar kbscan(void);void main(void){uchar key;while(1){ key=kbscan();    /*键扫描函数*/delays();     /*键消抖的延时函数*/}}// 键消抖的延时函数void delays(void){uchar i;for(i=300;i>0;i--);}//  kbscan(void) 键扫描函数uchar kbscan(void)  {uchar sccode,recode;P1=0xf0;        /*发全"0"行扫描码,列线输入*/if((P1&0xf0)!=0xf0)      /*若有键按下*/{delays();          /*延时去抖动*/if((P1&0xf0)!=0xf0){sccode=0xfe;     /*逐行扫描初值*/while((sccode&0x10)!=0){P1=sccode;     /*输出行扫描码*/if((P1&0xf0)!=0xf0)      /*本行有键按下*/{recode=(P1&0xf0)|0x0f;return((~sccode)+(~recode)); /*返回特征字节码*/}else sccode=(sccode<<1)|0x01; /*行扫描码左移一位*/}}}return(0);        /*无键按下,返回值为0*/} 

提醒:《一个行列键盘的输入例程》最后刷新时间 2024-03-14 01:02:35,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《一个行列键盘的输入例程》该内容的真实性请自行鉴别。