eva 发表于 2012-8-23 11:27:40

PIC16F690 按键功能失效求解

程序如下:
voidscan_key(void);
void    Delay1ms(unsigned int t);

/*---------------------------主程序--------------------------------------*/
main()
{
TRISC=0x00;   
PORTC=0;
TRISA=0x3f;
PORTA=0x00;
RC0=0;
while(1)
{
scan_key();
}
}

void scan_key(void)
{

if(!RA0)
    {
Delay1ms(2);
if(!RA0)
{
   RC0=!RC0;   
}
}
if(!RA1)
    {
Delay1ms(20);
if(!RA1)
{
   RC1=!RC1;   
}
}
if(!RA2)
    {
Delay1ms(2);
if(!RA2)
{
   RC2=!RC2;   
}
}
}

void Delay1ms( unsigned int t)
{
unsigned int i;
while(t--)
{
   for (i = 0; i < 1000; i++);
}

}
也是坛子里的一个例子稍微改了一下,本意是通过按键控制相应的led,但是仿真时按键不管用了,运行后led自个就跑起来了,PORTA好像没啥反应。这是啥原因呢?
配置字是0fd5,好像没什么影响。


页: [1]
查看完整版本: PIC16F690 按键功能失效求解