英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

 找回密码
 立即注册
搜索
电子烟方案单片机单片机开发深圳单片机开发
单片机方案国产单片机8位单片机电子烟方案开发
查看: 6004|回复: 4
打印 上一主题 下一主题

PIC16F690 按键功能失效求解

[复制链接]
跳转到指定楼层
1#
发表于 2012-8-23 11:27:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序如下:
void  scan_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 下一条

小黑屋|公司首页|Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 ( 粤ICP备09008620号 )

GMT+8, 2024-11-23 22:58 , Processed in 0.051993 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表