📄 calc.c
字号:
//#pragma src
#include "paramac.h"
#include "show.h"
#include "save.h"
// 工作时间累计,每十分钟:
void run_time_add(void){
unsigned char i;
for(i=TIME_LEN-1;i>=0;i--)
{
if(++work.time[i]>=0x0a) //加一,进位否
work.time[i]=0; //若进位则进位
else
break; //若不进位则退出
if(i==0)break; //若最高位加一则退出,以免i=-1出错
}
if(POWER_DOWN_PIN==TRUE && rq_save_time==FALSE)
{
save.rq_save_timeB=i;
save.rq_save_timeA=i;
rq_save_time=TRUE; //要求保存
}else
{
save.rq_save_timeB=TIME_LEN;
save.rq_save_timeA=TIME_LEN;
rq_save_time=FALSE; //撤销保存信号
}
black_left_zero_of_run_time(); //清时间显示左边的零
}
// ****** 触发系统累计定时器,每十分钟累加一次 *****
run_time_stack_come(){
if(run_time.run_stack==0)return;
run_time.run_stack--;
if(--run_time.every_A_seconds==0){
run_time.every_A_seconds=RUN_TIME_EVERY_A_SECONDS;
dot_flash(); //0.5秒钟的时间,闪烁吗?
if(real_work==FALSE)return; //不工作不计时
if(--run_time.every_B_minutes==0){
run_time.every_B_minutes=RUN_TIME_EVERY_B_MINUTES;
//run_time_ov=1; //6分钟的时间
//if(_testbit_(run_time_ov))run_time_add(); //刷新时间累计
run_time_add(); //刷新时间累计
}
}
}
// ********* 齿数增加处理程序: ************
void gear_id_add(void){
work.gear_num=gear_id_list[(++work.gear_id>=GEAR_ID_MAX)?(work.gear_id=0):work.gear_id];
if(POWER_DOWN_PIN==TRUE && rq_save_gear_id==FALSE) rq_save_gear_id=TRUE; //要求保存
show_gear_show();
}
/*
将检测结果转化成十进制,送显示缓存:
计算方法:
每分转数 =
读的时间内的脉冲数 * 每分秒数
______________________________________________________
齿轮齿数 * 读得的时间长度(unit: 10mS)
*/
void refresh_scr_buf(void)
{
unsigned int all;
unsigned char it;
all=(long)(test.p_num*6000L) / ( work.gear_num * (long)(test.t_num));
show.speed[0]=all/1000;//计算千位数 0-0xff
all=all%1000;
show.speed[1]=all/100; //计算百位数 0-9
all=all%100;
show.speed[2]=all/10; //计算十位数 0-9
all=all%10;
show.speed[3]=(unsigned char)all; //剩个位数 0-9
if(show.speed[0]>=0x0b)
{
if(work.error==ERROR_NO_ERROR)work.error=ERROR_SPEED_OVER_FLOW; //超速错误处理
}
else
{
if(work.error==ERROR_SPEED_OVER_FLOW)work.error=ERROR_NO_ERROR;
}
it=0;
while(it<SPEED_LEN-1){
if(show.speed[it]==0)show.speed[it]=LED_BLACK; //消隐左边的零
else break;
it++;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -