📄 main2.txt
字号:
Dspinit(); //倒计数
checkvolt(); //检测电压
checkunit(); //判断单位是否选择了允许打开的单位
beep(200);
scalegetzero(); //获取零点
key_read(); //为了防止倒计数时按下的按键对后面起作用,因此需要通过读取按键来清除按键
weightf=1;
enadof=1;
while(1)
{
_nop_();
if(getad())
{
//***********显示电压**************************
showvolt();
//*************************读取传感器AD值进行处理**************
templong= readad();
templong=scalem_FILAD(templong);
if(!templong) continue; //为0则不显示
scalenow.ad=templong; //保存处理好的AD
templong-=scalenow.zero;
scalenow.weight=templong*scalesys.rule;
temp=ssenss[scaleset.ssens].dot-scaleset.scapex;
aprintf(0x00,fpt[temp>=0?temp:0],scalenow.weight); //
aprintf(0x10,unitt[scaleset.unit].unitshow);
}
if(getkey()){ //如果有按键按下
if(powertime==0)lcd_set(1);//如果关机了则开机
powertime=5;
key_t=key_read(); //读取按键
switch(key_t)
{
case ZERO: //归零
if(scalenow.weight<scalescap/400)
{
scalenow.zero=scalenow.ad;
scalenow.tare=0;
lcd_flagset(LCD_TARE,0);
}
break;
case TARE: //去皮,需要保存去皮量
if(scalenow.weight!=0)
{
scalenow.tare+=scalenow.weight;
scalenow.zero=scalenow.ad;
lcd_flagset(LCD_TARE,1);
}
break;
case UNIT: //切换单位
scaleset.unit++;
if(unitt[scaleset.unit].unitn==0||scaleset.unit>10){scaleset.unit=0;}
checkunit();
break;
case KEY_HL: //进入上下限设置
scaleset.unit=0;
key_t=0;
tempbit=0;
templong=scalesys.hov;
aprintf(0x10," H ");
temp=2+ssenss[scaleset.ssens].dot; //temp保存当前调整的位数
temp2=temp; //temp2保存允许调整的位数
while(1)
{
if(key_t)beep(200);
if(KEY_HL==key_t)
{
if(!tempbit)
{
scalesys.hov=templong;
E_writeex(I2C_HOV,(Uchar *)&scalesys.hov,sizeof(scalesys.hov));
templong=scalesys.lov;
aprintf(0x10," L ");
tempbit=1;
temp=temp2;
}
else
{
scalesys.lov=templong;
E_writeex(I2C_LOV,(Uchar *)&scalesys.lov,sizeof(scalesys.lov));
break;
}
}
else if(UNIT==key_t) //切换位数
{
if(--temp==0)temp=temp2;
}
else if(KEY_ADD==key_t) //增加
{
templong=setnumbcd(templong,scalescap,temp,1);
}
else if(KEY_SUB==key_t) //减小
{
templong=setnumbcd(templong,scalescap,temp,-1);
}
}
break;
}
}
if(resetadbit)//如果看门狗超时则复位AD芯片
{
resetad();
adchipdog=0;
beep(1000);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -