No.24006 作者:foyyof 邮件:foyyyof@yahoo.com.cn ID:8095 登陆:10次 文章数:44篇 最后登陆IP:125.120.145.91 最后登陆:2008/4/24 10:23:58 注册:2003/1/3 12:32:00 财富:189 发帖时间:2003/4/9 22:33:03 发贴者IP:218.0.3.226 标题:foyyof::(小程序)键盘扫描:怎么会这样?DX帮忙,实在不解! 摘要:No.24006:(小程序)键盘扫描:怎么会这样?DX帮忙,实在不解! 我用的是芯片是华邦的W78E52B,P1口的p1.0,p1.1,p1.2接3-8译码器,与 p1.4,p1.5,p1.6,p1.7组成矩阵(共32键),具体扫描也就是传统做法如下: void Keyscan() interrupt 1 using 1 { uchar pbf,n,key=0; TL0=0x55;//定时器初植 TH0=0x95;//利用定时器来做定时扫描,不用延时去抖动:每隔20ms扫描一次. n=0; //利用n来计算相应的键值 pbf=0xf0;//74ls138的Q0=0,扫描开始; P1=pbf;送P1口 if((P1&0xf0)!=0xf0) //判断是否有键闭合?有,则进一步确定键值。否则退出 { while(key==0&&n <8)//扫描条件:是否找到闭合键?不然就一直扫描8行(也就是 { if(p14==0) key=4* ......
>>返回讨论的主题
|
老古网执行:15毫秒 最大:78531毫秒 查询6次
|
|