基于单片机HX711电子称设计 联系客服

发布时间 : 星期五 文章基于单片机HX711电子称设计更新完毕开始阅读aafda9403069a45177232f60ddccda38366be15f

附录

}

void displayprice() //显示price {

static ucharbufferprice[4]={' ',' ',' '}; //把bufferprice定到能保存4个字符型数据,主要 } return key;

}

}

while(tem!=0xf0) { }

tem=P3; tem=tem&0xf0; case 0x77: key='.'; break; case 0xb7: key='w'; break; case 0xd7: key='p'; break; case 0xe7: key='m'; break;

是为了在做清零时方便

staticucharbuffermoney[4]; uint j;

static char ii;//这里不能用uchar型数据,静态数据必须加 button=keyscan();

if(button!='a') //如果有键按下 {

33

附录

}

}

write_com(0x80+0x0c); //price for(j=0;j<3;j++)

write_date(bufferprice[j]);//price

if(button=='m') { }

else if(button=='p')//单价 { }

else if(button==' ') //清零 {

ii=ii-1; //因为会减到-1,所以i不能用uchar型 if(ii<=0)ii=0; bufferprice[ii]=' '; } else { }

bufferprice[ii]=button; ii++;

if(ii>=3)ii=3; for(j=0;j<3;j++) bufferprice[j]=' '; write_com(0x80+0x0c); ii=0;

money=atof(bufferprice)*weight/10;//atof将字符串转换为浮点型 sprintf(buffermoney,\将浮点型转换为字符串 write_com(0x80+0x46); for(j=0;j<4;j++)

write_date(buffermoney[j]);

34

附录

//////////////////喇叭函数/////////////////// voiddelayus(uint z) { while(z++) { _nop_();

} }

void sound() { uint j; for(j=0;j>200;j++) { delayus(200); spk=!spk;

} spk=0;

for(j=0;j>200;j++) { delayms(1); //spk=!spk; }

/*if (spk>500 spk=1) elsespk=0;*/ }

void main() { get_pizhong(); init_1602();

displaywpm();

/* unsigned long ReadCount(void) {

unsigned long Count;

35

附录

unsigned char i; ADSK=0;//使能AD(PD_SCK 置低)

Count=0;while(ADDO); //AD转换未结束则等待,否则开始读取for (i=0;i<24;i++) { ADSK=1;//PD_SCK 置高(发送脉冲) Count=Count<<1; //下降沿来时变量 //Count//左移一位,右侧补0

ADSK=0; //PD_SCK 置低if(ADDO) Count++

}

ADSK=1;

Count=Count&0x800000;//第25个脉冲下降沿来时,ADSK=0return(Count);

} */ while(1) { get_weight();//得到重量 if(weight>0)

{weight_shuzhi(weight);}//显示重量 else

{weight_shuzhi(0);}

displayprice(); //扫描键盘,并显示price if(weight>2000)sound(); }

}

36

转换数据