有懂合泰单片机的嘛,很简单的程序,通不了
#include "HT46F47E.h"#define k2 _pa3 //输出继电器K2===加热B
#define k1 _pa2 //输出继电器K1===加热A
#define k3 _pa1 //输出继电器K3===抽水
#define s9 _pb0 //输入没水信号
#define k4 _pd0 //输出报警
unsigned char shansen_flag,xiajian_flag;
void main() //***************程序*****************************************
{
shansen_flag=0;
xiajian_flag=0;
_pac=0xf1; //设置:1111 0001 、1是输入0是输出
_pa=0xf1; //设置:1111 0001
_pbc=0xff; //设置:xxxx 1111 、1是输入0是输出
_pb=0xff; //设置:xxxx 1111
_pdc=0xfe; //设置:xxxx xxx0 、1是输入0是输出
_pd=0xff; //设置:xxxx xxx1
while(1)
{
if(s9==0)//*****************************up*************************************up
{
k2=1;
if(xiajian_flag==0)
{k3=1;}
}
if(s9!=0)//****************do*********************************do************************************do
{
k2=0;
if(xiajian_flag==0)
{k3=0;}
}
// }
}
}
现在K2能正常工作,K3工作不了,是if(xiajian_flag==0) ===有问题,查不出来
xiajian_flag变量在整个程序中都没作用,估计被编译器把if(xiajian_flag==0){k3=0;}这段代码优化掉了
页:
[1]