我正在使用图片18f14k50,我正在用它做一个简单的测试。只要让LED闪烁就行了。问题是,我已经将ANSEL,ANSELH,ADCON1等都设置为0,也将所有端口都设置为输出。我仍然没有看到和LED闪烁。
下面是代码(我使用的是MicroC)
void main() {
TRISA = 0; // set direction to be output
TRISB = 0; // set direction to be output
TRISC = 0; // set direction to be output
ANSEL = 0;
ANSELH = 0;
IOCA = 0;
IOCB = 0;
CM2CON0.C2ON = 0;
CM1CON0.C1ON = 0;
ADCON1 = 0;
//PORTC = 0xFF;
while(1){
LATA = 0x00; // Turn OFF LEDs on PORTA
LATB = 0x00; // Turn OFF LEDs on PORTB
LATC = 0x00; // Turn OFF LEDs on PORTC
delay_ms(1000); // 1 second delay
LATA = 0xFF; // Turn ON LEDs on PORTA
LATB = 0xFF; // Turn ON LEDs on PORTB
LATC = 0xFF; // Turn ON LEDs on PORTC
delay_ms(1000); // 1 second delay
} // Endless loop
}谢谢你的帮助!
发布于 2015-08-04 06:55:25
Why won't this PIC code light up my LEDs?
“如果不设置ANSEL寄存器,引脚不能用作输出,因为它被配置为模拟输入。”
配置位在此处不可见。您的振荡器配置位必须正确,处理器才能启动代码。
18f14k50可能很难编程。它需要在PGC和PGD引脚上使用3伏,而vpp远低于标准的13伏。您使用的是程序员(pic工具包1,2,3,ICD 2,3)还是引导加载程序(HID引导加载程序)?
https://stackoverflow.com/questions/17457765
复制相似问题