【问题标题】:PICkit2 flashing led with ButtonPICkit2 带按钮的闪烁 LED
【发布时间】:2011-05-11 13:39:10
【问题描述】:

我正在使用带有 16f690 芯片的 PICkit2 低引脚数演示板。我已经能够编写简单的代码来打开和关闭 LED,但是在尝试使用按钮来更改 LED 的状态时,无法这样做。我的代码如下,以及设备原理图的链接。

#include <htc.h>

__CONFIG(MCLRE_OFF &  BOREN_OFF & PWRTE_OFF & IESO_OFF & CP_OFF & FCMEN_ON);

void main()
{
    //initialization
    TRISAbits.RA3 = 1;      //make button (RA3) input
    TRISCbits.RC0 = 0;      //make LED (RC0) output

    for(;;)                 // loop forever
    {
        //set RC0 if RA3 is low (button pressed), else clear RC0
        if(PORTAbits.RA3)
        {
            RC0 = 1;
        }
        else
        {
            RC0 = 0;
        }
    }
}

Demo Board User’s Guide

【问题讨论】:

  • 您的开发板上是否连接了 JP5?

标签: pic demo led


【解决方案1】:

RA3 也是 /MCLR,数据表的表 3 表明该引脚上的上拉电阻仅通过外部 /MCLR 配置激活。如果没有上拉,您将不会得到更改。引脚读数是持续高还是低?

至少在调试时我会避免使用 RA3,如果您必须在发布代码中使用它,请在调试时将引脚换成另一个。

PORTA 的另一个常见问题是默认情况下它是一个模拟输入端口。 ANSEL 位已设置,需要清零才能用作数字输入,但 RA3 未映射到模拟输入。

【讨论】:

    【解决方案2】:

    我也遇到了同样的问题,发现如下。

    在 MPLAB IDE 的编程器设置中,勾选“3-State on Release from Reset”。我还将包含的头文件从“htc.h”更改为“pic.h”,该按钮现在可以使用了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多