void Delay_Ms(unsigned char n)
void main(void)
{
while(1)
{
RA0 = 1//2脚输出
//11脚是供电
RD2 = 1//21脚输出
trisA = 0x04//4脚RA2作为输入
if(RA2 == 0) //如果4脚为低电平
{
//执行代码
}
else //如果4脚为高电平
{
//执行代码
}
Delay_Ms(1000)//延时1秒
RA0 = 0//2脚输出
//11脚是供电
RD2 = 0//21脚输出
Delay_Ms(1000)//延时1秒
}
}
void Delay_Ms(unsigned char n) //延时程序
{
unsigned int i
unsigned char j
for(j=0j<nj++)
{
for(i=0i<Fosc/44000i++)
{
}
}
}
你程序里面的“switch(PORTA&0XF7)” ,其中PORTA&0XF7 的结果太多了,而你只列出了case1,case2,case3,3种case,其他的case就直接执行default 。你要想进入case1,case2,case3,那么这样改:将“switch(PORTA&0XF7)”改为“switch(PORTA&0X03)”。这样就会进入case1,case2,case3了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)