4x4矩阵键盘程序毕业设计用过
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/******************************************************************** ********
文件
********************************************************************* *******/
#include""
#define uchar unsigned char
#define uint unsigned int
void delayms(uint i) ....按键9是9,按键10是0
{ uchar temp;
uint num=16;
P1=0xff; //先向P1口写1;端口读状态
P1=0xf0;
temp=P1;
if(temp!=0xf0)
{
delayms(50);
if(temp!=0xf0) //1111 0000
{
P1=0xfe; //1111 1110
temp=P1;
switch(temp)
{
case(0xfe):num=0;break; //1110 1110 按键16
case(0xde):num=0;break; //1101 1110 按键12 case(0xbe):num=8;break; //1011 1110 按键8 case(0x7e):num=4;break; //0111 1110 按键4
}
P1=0xfd; //1111 1101
temp=P1;
switch(temp)
{
case(0xed):num=0;break; //1110 1101 按键15 case(0xdd):num=0;break; //1101 1101 按键11 case(0xbd):num=7;break; //1011 1101 按键7 case(0x7d):num=3;break; //0111 1101 按键3 }
P1=0xfb; //1111 1011
temp=P1;
switch(temp)
{
case(0xeb):num=0;break; //1110 1011 按键14 case(0xdb):num=0;break; //1101 1011 按键10 case(0xbb):num=6; break; //1011 1011 按键6 case(0x7b):num=2;break; //0111 1011 按键2 }
P1=0xf7; //1111 0111
temp=P1;
switch(temp)
{
case(0xe7):num=0;break; //按键13
case(0xd7):num=9;break; //按键9
case(0xb7):num=5;break; //按键5
case(0x77):num=1;break; //按键1
}
}
}
return num;
}
/******************************文件******************************/
#include<>
extern unsigned int jianpan(void);