完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
kbscan(void) 键扫描函数
uchar kbscan(void) { uchar sccode,recode; P1=0xf0; if((P1&0xf0)!=0xf0) { delays(); if((P1&0xf0)!=0xf0) { sccode=0xfe; /*逐行扫描初值*/ while((sccode&0x10)!=0) { P1=sccode; /*输出行扫描码*/ if((P1&0xf0)!=0xf0) { recode=(P1&0xf0)|0xf0; return((~scoode)+(~recode));/*返回特征字节码*/ } else sccode=(sccode<<1)|0x01;/*行扫描码左移一位*/ } } } return(0); /*无键按下,返回值为0*/ 真的看不懂啊?比如 P1=0xf0; if((P1&0xf0)!=0xf0); 有变化吗?P1不就是0xf0,吗,和0xf0与一下,不还是自己吗?if里面不一直 是假(0)吗,看好几天了,真蛋疼啊 |
|
相关推荐
3 个讨论
|
|
你的是什么程序,矩阵键盘吗?貌似程序不对吧
|
|
|
|
|
|
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 23:17 , Processed in 0.687319 second(s), Total 60, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号