完善资料让更多小伙伴认识你,还能领取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位就是上拉输入,不设置成输入,如何读取引脚电平变化
|
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2956 浏览 16 评论
3457 浏览 1 评论
8995 浏览 16 评论
4050 浏览 18 评论
1103浏览 3评论
570浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1857浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 19:08 , Processed in 1.172634 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号