用Button引导PICkit2闪烁

时间:2011-05-11 13:39:10

标签: pic demo led

我正在使用带有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

2 个答案:

答案 0 :(得分:4)

RA3也是/ MCLR,数据表的表3表示此引脚上的上拉仅在外部/ MCLR配置下激活。如果没有上拉,您将无法进行更改。引脚是连续读高还是低?

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

PORTA的另一个常见问题是它默认为模拟输入端口。 ANSEL位置1,需要清零才能用作数字输入,但RA3不会映射到模拟输入。

答案 1 :(得分:1)

我遇到了同样的问题并找到了以下内容。

在MPLAB IDE的编程器设置中,勾选“从复位释放的3态”。我还将包含的头文件从“htc.h”更改为“pic.h”,按钮现在可以正常工作。