原创 CC1110的I/O与键盘

2010-3-22 19:54 1229 2 2 分类: MCU/ 嵌入式
对于从51直接转型来做CC1110的朋友们来说,做键盘可能会遇到点麻烦。麻烦就是无法扫到键值,下面就说说为什么得不到键值。
下面的讨论电路是在I/O上接一个100K的电阻到地,I/O过一开关接AVDD,按键接P11,1有效。在不对I/O相关寄存器进行任何配置的情况下,CC1110的I/O状态是普通I/O口,方向是输入,可是读1来判断键值却得不到,原因是还没有选择下拉,下拉。正确做法是设按键相对应的I/O位为下拉。下面给出简单的代码:
P1SEL &= ~0X01;//普通I/O
P1DIR &= ~0X01;//输入
P1INP  &= ~0X01;//有上拉、下拉
P2INP |= 0X40; //选择下拉
好了,以上就是对P11的设置方法,不过还有另一个方法同样可行,而且可节约1条语句,不容易犯错,方法就是I/O设为三态,代码如下:
P1SEL &= ~0X01;//普通I/O
P1DIR &= ~0X01;//输入
P1INP |= 0X01;//三态
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
2
关闭 站长推荐上一条 /3 下一条