2019-07-15 11:13发布
wulinwl 发表于 2017-4-22 21:27 你就把输入信号当做按键或开关信号接I/O口,程序不断扫描此I/O口,对高或低电平计数,计满6次令输出端口置高或低电平并清0计数变量,如此循环。
最多设置5个标签!
谢谢你的建议,下面是我编的程序,编译后不出错,不过有警告,位置是主函数里,调用子函数后,对于flag的判断哪里,显示方向控制.C(29): warning C276: constant in condition expression,然后就无法生成hex文件,麻烦看一下,不好意思,谢谢了。
#include<reg52.h>
sbit IN3=P1^4;
sbit OUT2=P2^4;
bit old_bit;
unsigned char flag;
void io_rest()
{
if(old_bit!=IN3)
{
old_bit=IN3;
if(IN3!=1)
{
flag=1;
}
else
{
flag=2;
}
}
}
void main()
{
old_bit=IN3;
while(1)
{
int num=0;
flag=0;
io_rest();
if(flag=1)
num++;
if(num==6)
num=0;
if(0<num<=3)
OUT2=1;
else
OUT2=0;
}
}
一周热门 更多>