打印

PIC16F690 RC0按键输入无效

[复制链接]
3227|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jx_207|  楼主 | 2011-1-9 21:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大侠:
     我在使用PIC690的片子时,RC0设为输入,禁止掉AN4,在RC0上接一个按键开关,并且有10K电阻上拉,但是用万用表量RC0上的电压为0.4伏。初始化代码如下:TRISC = 0x09;
ANSEL = 0x00;
if(RC0 == 0)
   LED = 1;
  else
   LED = 0;

结果是按键后LED没有亮,有的时候不去按键,LED就在闪。

查了几天,不知道啥原因,请各位高手帮忙分析下RC0的设置对不对?
沙发
jx_207|  楼主 | 2011-1-9 21:22 | 只看该作者
补充下,同理在RC3上接一个一样的按键电路,按键是正常的。

使用特权

评论回复
板凳
yewuyi| | 2011-1-9 23:05 | 只看该作者
只保留一个空的main()空函数,其它所有代码都屏蔽掉,配置正确的振荡配置字,然后给MCU通电,测量PORTC.0上的电平是什么,如果测量不到HIGH的话,那可能是芯片该端口坏了。

否则,你就自查自己的代码吧。

使用特权

评论回复
地板
jx_207|  楼主 | 2011-1-10 17:57 | 只看该作者
我的代码就是如下:
void main(void)
{
      TRISC = 0x09;
      ANSEL = 0x00;
      while(1)
     {
         if(RC0 == 0)
         LED = 1;
         else
         LED = 0;
     }
}

#define LED RC2

另外,谢谢yewuyi的回复,我这个口设为输出拉高是正常的。
振荡选为内部时钟。谢谢!

使用特权

评论回复
5
l4157| | 2011-1-11 08:11 | 只看该作者
好像比较器也要复用这些管脚,关闭先..

使用特权

评论回复
6
NE5532| | 2011-1-16 19:45 | 只看该作者
AN和比较器都要关闭,另外为高也不一定是好的,我昨天就因为示波器漏电打烂一片SI4432,表现就是端口与VCC短路。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

33

帖子

0

粉丝