矩阵键盘

.H文件
#ifndef _MATRIX_H_
#define _MATRIX_H_

#include "STC15F2K60S2.h"
#include "delay.h"

#define line0 P30
#define line1 P31
#define line2 P32
#define line3 P33
#define list0 P44
#define list1 P42
#define list2 P35
#define list3 P34

unsigned char key_scan();

#endif

.C文件

#include "matrix.c"

unsigned char key_scan()
{
	unsigned char temp;
	
	line0=0; line1=0; line2=0; line3=0; list0=1; list1=1; list2=1; list3=1;
	if(list0==0||list1==0||list2==0||list3==0)
	{
		delay_5ms();
		if(list0==0||list1==0||list2==0||list3==0)
	         {
                    line0=0; line1=0; line2=0; line3=0; list0=1; list1=1; list2=1; list3=1;
		    if(list0==0) temp=1;                         
		    if(list1==0) temp=2;                           
		    if(list2==0) temp=3;
		    if(list3==0) temp=4;
		
	                line0=1; line1=1; line2=1; line3=1; list0=0; list1=0; list2=0; list3=0;
			if(line0==0) temp=temp-1;
			if(line1==0) temp=temp+3;
			if(line2==0) temp=temp+7;
			if(line3==0) temp=temp+11;
			while(line0!=0&&line1!=0&&line2!=0&& line3!=0);
		}
	}
	return temp;
}

猜你喜欢

转载自blog.csdn.net/qq_39815222/article/details/80303843
今日推荐