1 / 11
文档名称:

实例34~37_独立键盘、矩阵键盘、IO键盘、PS2键盘控制.doc

格式:doc   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实例34~37_独立键盘、矩阵键盘、IO键盘、PS2键盘控制.doc

上传人:nb6785 2016/2/14 文件大小:0 KB

下载得到文件列表

实例34~37_独立键盘、矩阵键盘、IO键盘、PS2键盘控制.doc

相关文档

文档介绍

文档介绍:专业资料专业专心专注【实例34】独立键盘控制/*---------------文件名称::独立按键检测程序说明:采用轮询方式查询P1口,采用延时法消除键盘抖动----------------*/#include<>/********************************函数名称:delay()功能:用于键盘消抖的延时函数说明:无入口参数:无返回值:无********************************/voiddelay(){unsignedchari;for(i=400;i>0;i--);}//主函数main()voidmain(void){unsignedcharkey;while(1){P1=0xff;//要想从P1口读数据必须先给P1口写1key=P1;//读入P1口的数据,赋值给变量keyif(key!=0x00)//判断是否有键按下,当没有键按下时,P1口的数据为0x00{delay();//延时去抖key=P1;//再次读入P1口的数据,赋值给变量keyif(key!=0x00)//再次判断是否有键按下switch(key){case0x01:key1();//键盘1功能函数。break;case0x02:key2();//键盘2功能函数。break;case0x04:key3();//键盘3功能函数。专业资料专业专心专注break;case0x08:key4();//键盘4功能函数。break;case0x10:key5();//键盘5功能函数。break;case0x20:key6();//键盘6功能函数。break;case0x40:key7();//键盘7功能函数。break;case0x80:key8();//键盘8功能函数。break;default:break;}}}}【实例35】矩阵式键盘控制/*---------------文件名称::矩阵式键盘示范程序说明:采用扫描方式,获取按键信息----------------*/#include<>#defineucharunsignedchar#defineuintunsignedint/********************************函数名称:delay()功能:用于键盘消抖的延时函数说明:无入口参数:无返回值:无********************************/voiddelay(void);/********************************专业资料专业专心专注函数名称:ucharkeyscan(void)功能:扫描键盘说明:无入口参数:无返回值:当有键按下时,返回按键值;无键按下时,返回0;********************************/ucharkeyscan(void);//主函数voidmain(void){ucharkey;while(1){key=keyscan();delay();}}voiddelay(void){uchari;for(i=200;i>0;i--){}}ucharkeyscan(void){ode,recode;P1=0xf0;if((P1&0xf0)!=0xf0)//判断是否有键按下{delay();//延时去抖if((P1&0xf0)!=0xf0){sccode=0xfe;while((sccode&0x10)!=0)//判断行扫描是否结束{P1=sccode;if((P1&0xf0)!=0xf0){recode=(P1&0xf0)|0x0f;return((~sccode)+(~recode));//返回按键特征码}ode=(sccode<<1|0x01);专业资料专业专心专注}}}return(0);}【实例36】改进型I/O端口键盘#include<>sbitkey0=P1^0;//=P1^1;//=P1^2;//=P1^3;//#definekeyP1unsignedcharkeydelay();//完成按键消抖的键盘处理程序unsignedcharkeyscan();//扫描程序voiddyNUM(unsignedintnum);//延时程序//--------------------------------------------------------------------------------------------------//函数名称keyde