4乘4矩阵法Word格式.docx

上传人:b****2 文档编号:5918835 上传时间:2023-05-05 格式:DOCX 页数:7 大小:15.83KB
下载 相关 举报
4乘4矩阵法Word格式.docx_第1页
第1页 / 共7页
4乘4矩阵法Word格式.docx_第2页
第2页 / 共7页
4乘4矩阵法Word格式.docx_第3页
第3页 / 共7页
4乘4矩阵法Word格式.docx_第4页
第4页 / 共7页
4乘4矩阵法Word格式.docx_第5页
第5页 / 共7页
4乘4矩阵法Word格式.docx_第6页
第6页 / 共7页
4乘4矩阵法Word格式.docx_第7页
第7页 / 共7页
亲,该文档总共7页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

4乘4矩阵法Word格式.docx

《4乘4矩阵法Word格式.docx》由会员分享,可在线阅读,更多相关《4乘4矩阵法Word格式.docx(7页珍藏版)》请在冰点文库上搜索。

4乘4矩阵法Word格式.docx

0xf0)

case0x10:

j=0;

break;

case0x20:

j=1;

case0x40:

j=2;

case0x80:

j=3;

}

return(4*i+j);

else

P3=P3<

<

1;

i++;

return(key);

}

/**************************************************************

*功能:

P3外接4×

4按键,按照查表法读出键值

*返回:

按键值0~15/如无键按下,返回16

***************************************************************/

/*ucharkeyscan(void)

ucharcodeK_Tab[4][4]={

0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,

0xeb,0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77};

uchartemp1=0xfe,temp2,i,j;

for(i=0;

i<

4;

i++)

{//扫描低四位

P3=temp1;

//输出一行0

temp2=P3;

//马上就读入

if((temp2&

0xf0)!

=0xf0){//如果有键按下

for(j=0;

j<

j++)//就扫描高四位

if(temp2==K_Tab[i][j])//查表

returni*4+j;

//查到了就返回按键的数值

elsetemp1=_crol_(temp1,1);

return16;

//没有查到,返回按键松开的代码

}*///呵呵,实质性的语句不过9行,就是这么简练!

*名称:

KeyRvs()

P1外接4×

4按键,按照反转法读出键值

*输出:

ucharkeyscan(void)

uchartemH,temL,key;

P3=0xf0;

temH=P3;

//低四位先输出0;

读入,高四位含有按键信息

P3=0x0f;

temL=P3;

//然后反转输出0;

读入,低四位含有按键信息

//-----------------------------------------------------

//两次读入的时间间隔,必须尽量的小,以尽量避免按键状态发生变化

//有些人给出的程序,就没有注重这些,有些程序甚至还有间隔几个毫秒的!

//要知道,按键是会抖动的,夜长梦多,真不知道读出些什么!

//呵呵,做而论道给出的这个程序,读键的准确性最高。

switch(temH){

case0xe0:

key=0;

break;

case0xd0:

key=1;

case0xb0:

key=2;

case0x70:

key=3;

default:

return16;

//按下的不是上述按键,就当是没有按键

//delay(10);

switch(temL){

case0x0e:

returnkey;

case0x0d:

returnkey+4;

case0x0b:

returnkey+8;

case0x07:

returnkey+12;

}//本程序虽然稍多几行,但是没有循环,还可以提前返回,所以执行的速度最快

//

///4×

4

矩阵键盘

按键为

1-16

,按键显示

0-9

a-f

//////////////////

#include<

reg52.h>

#defineucharunsignedchar

ucharkey=0;

ucharcode

table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,

0xc6,0xa1,0x86,0x8e,0xc0};

voidshow(ucharkey)

{

P0=table[key];

显示数值

voidScan_key()//

扫描键盘

ucharm;

P1=0xff;

数码管全亮

P2=0x0f;

//P2

口赋初值低位

1

高位

0

m=P2;

switch(m)

P2=0xf0;

{key=0;

show(key);

{key=1;

{key=2;

{key=3;

{key=4;

{key=5;

{key=6;

{key=7;

{key=8;

{key=9;

{key=10;

{key=11;

{key=12;

{key=13;

{key=14;

{key=15;

default:

voidmain()

while

(1)

Scan_Key();

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 中医中药

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2