PIC10F206读管脚的疑问

2020-02-07 09:37发布

        目前我在使用PIC10F206的时候出现一个奇怪的问题。
        我将PIC10F206的GP0管脚通过100K电阻上拉到5V,然后将GP0设置为输入,接着读取GP0管脚电平,读出来的却是低电平,不知是怎么回事,求高手指点。
        代码如下:
  1. OPTION = ~T0CS;
  2. TRISGPIO = 0x0B;
  3. FOSC4 = 0;
  4. while(1)
  5. {
  6.         tmp = GP0;
  7.         if(tmp==0)
  8.         {
  9.                 alarm_wave();
  10.         }
  11.         else
  12.         {
  13.                 GP2_LOW;
  14.         }
  15. }
复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
zstu2012
1楼-- · 2020-02-08 09:07
dmzy 发表于 2014-2-9 16:49
这个电路我是用3.6V锂电池供电的,而且我看datasheet上说供电在2.2~5.5V之间,所以供电应该没问题,而且 ...

1.加到temp赋值语句后面试试。
youmcu
2楼-- · 2020-02-08 09:07
本帖最后由 youmcu 于 2014-2-10 22:08 编辑

PIC10F206是有内置比较器的,默认是开的吧关了就可以了,以下为数据手册内容:
8.1 比较器配置
片上比较器输入(GP0/CIN+ 和GP1/CIN-)以及比较器
输出(GP2/COUT)都是可控的。CMCON0、 OPTION
和TRIS 寄存器用来控制这些引脚(见图8-1)。
youmcu
3楼-- · 2020-02-08 13:20
在程序中对CMCON0寄存器设置一下,详看数据手册   8.0 比较器模块
dmzy
4楼-- · 2020-02-08 18:37
youmcu 发表于 2014-2-10 22:15
在程序中对CMCON0寄存器设置一下,详看数据手册   8.0 比较器模块

非常感谢,就是这里的问题,关闭比较器后,GP0就能正常使用了
huangxiaowei
5楼-- · 2020-02-08 19:40
 精彩回答 2  元偷偷看……

一周热门 更多>