我在成功进行图片编程方面遇到问题..由于我是图片编程的新手,因此我开始逐个点亮8段显示器LED。一切正常,除了RB4输出LED不亮(它没有坏,因为我通过电阻用5v对其进行了检查)。我认为这是一个问题,但不是那么严重,所以我继续。下一个目标是在使用代码分层后立即点亮显示的所有部分:

#include <htc.h>
void main()
{
  TRISB=0X00;
  PORTB=0X00;
  TRISA = 1;
  while(1)
  {
  PORTB=0XFF;
  }
}



这并不成功-在启动时只有2个分段会亮起,然后立即消失,然后再没有LED亮起。

在出现此问题后,我走得更远-我想在按下开关(高输入)时打开输出,但又一次不成功。 RB7 LED一直亮着。按下开关没有任何作用。代码:

#include <htc.h>
void main()
{
  TRISB=0X00;
  PORTB=0X00;
  TRISA = 1;
  while(1)
  {
      if (RA4 == 1)  //Even tried TRISA4 ==1  //RB0 Dont light up, RB7 do light up all the time
      {
          RB0 = 1;
      }
      else
      {
          RB7 = 1;
      }
  }
}





  有人可以告诉我为什么有这些问题吗?有什么办法吗?


顺便说一句-保险丝是:WDT OFF, BODEN ON, MCLRE OFF, Code protect OFF, PWRTE OFF, LVP ON, CPD OFF
 我正在使用K150 PIC编程器

1:PIC pins
2:Circuit

最佳答案

我不知道第一个代码片段是怎么回事。第二个失败,因为

TRISA = 1


仅将RA0设置为输入。其余的A引脚(包括RA4)仍然输出。你需要类似的东西

TRISA = 0x10;

关于c - PIC16F648A编程-某些功能不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25045900/

10-15 00:35