嵌入式三级中的一个题目,麻烦大神看下? “ 输入密码的键盘采用非标准键盘键盘接口设计成4x3的阵列,若设计师选用了GPE0~GPE3来输出键盘行扫描信号,选用GPD0~GPD2来输入键盘列信号,请补充完善下面的键盘扫描函数: #define KEYOUTPUT(*(volatile INT8U *)0x56000044)//定义GPE数据端口 #define KEYIUTPUT(*(volatile INT8U *)0x56000034)//定义GPD数据端口 INT16U ScanKey() { INT16U key=0xFFFF; INT6U i; INT8 temp=0xFF,output; rGPDCON=rGPDCON&0xFFFFFFC0; rGPECON=(rGPECON&0xFFFFFF00)|0x00000055; for(i=1;((i<=8&&(i>0));i<<=1)) { output|=0xFF; output&=(~i); KEYOUTPUT=output; temp=KEYIUTPUT; if((temp&0x07)!=0x07); { key=(~i); key<<=8; key|=((temp&0x07)|0xF8); return(key); } } return 0xFFFF; } ”若第三行第二列的键被按下,则返回值是多少? |
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |