完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
新学习单片机,在使用矩阵按键编写程序,涉及到矩阵按键方面的一个问题,程序如下:
void keycan() { uchar t,key; 6 = 0xfe; t = P6; t = t & 0xf0; if(t != 0xf0) { WaitNms(10); t = P6; t = t&0xf0; if(t != 0xf0) { t = P6; switch(t) { case 0xee: key=0; break; case 0xde: key=1; break; case 0xbe: key=2; break; case 0x7e: key=3; break; } ShowNUMChar(0x90,0x30+key,0x0f);//显示半宽0~?数字标点 WaitNms(100);//等待时间 } } } 现在的问题是给P6赋值用万用表测量是0xfe,但是按键按下之后,测量IO口,测量结果并不是0xee,是IO口配置的不对么?我是配置成推挽的 |
|
相关推荐
2个回答
|
|
开始配置寄存器的时候XBR不是可以让Io弱上拉么?而且我看的范例里面也没有上拉电阻啊,感觉还是比较奇怪的
|
|
|
|
IO口应该设置成双向的,如果你固定用端口低4位做输出的话,那高4位就是上拉输入,不设置成输入,如何读取引脚电平变化
|
|
|
|
只有小组成员才能发言,加入小组>>
3003 浏览 9 评论
2715 浏览 16 评论
3231 浏览 1 评论
8497 浏览 16 评论
3803 浏览 18 评论
9398浏览 3评论
648浏览 3评论
10600浏览 2评论
338浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
340浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-5-16 23:06 , Processed in 1.144211 second(s), Total 82, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号