【发布时间】:2014-07-30 20:03:28
【问题描述】:
我在成功的 pic 编程工作中遇到问题。由于我是 pic 编程的新手,我开始一个接一个地点亮 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 编程器
【问题讨论】:
-
您的代码还有更多吗?所有引脚初始化和定义在哪里?您是否有为您的特定芯片定义所有这些的头文件?你用的是哪个编译器?
-
查看sample post,您应该在该网站上提出此类问题。
-
@MagisterLudi 这就是代码。所有管脚都会自动签名,因为一开始 MPLAB 会询问芯片型号。我使用 MPLAB X IDE 和 XC8 编译器。
-
@HansPassant 感谢您的建议!
标签: c pic microprocessors