头像-363937

793a95f4e4f10d4e

个人成就

获得 0 次赞

帮助过0人

PIC16单片机按键控制源程序错误

PIC16系列单片机,RA1-3引脚接按钮,三个按钮控制RC1-3引脚的高低电平变化.RA1按钮按下,RC1为高电平,RC2为高电平,RC3为低电平。RA2按钮按下,RC1为低电平,RC2为高电平,RC3为低电平。RA3按钮按下,RC1为高电平,RC2为高电平,RC3为高电平下面是自己写的,但是实现不了,不知道哪里错了?求教#include <pic.h> #define uint unsigned int#define uchar unsigned charvoid delay(uint x)  //延时函数{uint ab;for(a=x;a>0;a--)  for(b=110;b>0;b--);}void main()   //主函数{TRISA=1;PORTA=0xff;TRISC=0;PORTC=0x00;while(1){if((PORTA & 0x02) != 0x02)  //判断按键是否有被按下,有则为0  {  delay(10); //去抖  if((PORTA & 0x02) != 0x02) //去抖完得再判断一次   {         RC1=1;         RC2=1;         RC3=0;   }  }if((PORTA & 0x04) != 0x04)  //判断按键是否有被按下,有则为0  {  delay(10); //去抖  if((PORTA & 0x04) != 0x04) //去抖完得再判断一次   {         RC1=0;         RC2=1;         RC3=0;}  }if((PORTA & 0x08) != 0x08)  //判断按键是否有被按下,有则为0  {  delay(10); //去抖  if((PORTA & 0x08) != 0x08) //去抖完得再判断一次   {         RC1=1;         RC2=1;         RC3=1;   }  }}}