(原创)51单片机C语言程序设计--速学教程实例(入门篇)之矩阵键盘(逐行扫描法).pdf
/******************************************************************/
/* 名称:矩阵键盘逐行扫描法 */
/* 作者:苏涛 */
/* 时间:2011-01-15 */
/* 单位:安徽建筑工业学院 电子与信息工程学院 */
/* 07级电子信息工程专业 二班 */
/******************************************************************/
#include //头文件调用,写程序时都要加上
#define uint unsigned int //宏定义,为了后面定义变量书写简便
#define uchar unsigned char
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,
0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//共阴数码管0-f
/******************************************************************/
/* 名称:延时函数 */
/* 功能:C语言中常用的for循环延时方法 */
/* 延时长短可以通过变量初值来改变 */
/******************************************************************/
void Delay1ms(uint count)
{
uint i,j;
for(i=0;i
for(j=0;j<110;j++);
}
/******************************************************************/
/* 名称:按键扫描函数 */
/* 功能:逐行检测是否有键按下 */
/* 有或者没有都有返回值 */
/******************************************************************/
uchar keyscan()
{
uchar num,temp;
P3=0x7f;
temp=P3;
temp=temp&0x0f;
if(temp!=0x0f)
{
Delay1ms(5);//按键去抖动
temp=P3;
temp=temp&0x0f;
if(temp!=0x0f)
{
te