我就是写了一个很简单的程序(程序如下),在调试这个程序的时候,我把sheng();函数中第一个if语句的for语句去掉就能执行第二个if语句,为什么加了for循环就没有执行第二个if语句,求大神帮我看看!!
#include<reg52.h>
#define uchar unsigend char
#define uint unsigned int
sbit jk=P3^6; //定义我要控制的端口
delay(uint x) //延时
{
while(--);
}
key()
{/***********矩阵键盘的程序我就不写了****************/}
sheng() //根据扫描的键值执行相应步骤
{
if(w==0xee)
{
delay(10);
if(w==0xee)
{
for(i=10;i>0;i++)
{
jk=~jk;
delay(200);
}
}
if(w==0xed)
{
delay(10);
if(w==0xed)
{
jk=1;
}
}
}
}
main()
{
while(1)
{
w=key();
sheng();
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
你在循环里面设个断点,你看程序进去不,进去了就是你管脚的事。另外P3^6是个复用口,你看设置好着没。
一周热门 更多>