⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 show.c

📁 2051数字频率计源码,运行在AT892051上
💻 C
字号:



#include "paramac.h"


//    refresh the gear show ram : show.gear_show[2,3]

show_gear_show(){
  show.gear_show[2]=
       (gear_id_show_list[work.gear_id]&0xf0)>>4;	   
  show.gear_show[3]=
       gear_id_show_list[work.gear_id]&0x0f;
}




//   消隐工作时间显示时左边的零:

void black_left_zero_of_run_time(void){
  unsigned char i=0;
  show.time_black=5;
  while(i<TIME_LEN-2){
    if(work.time[i]==0)
	  show.time_black=(TIME_LEN-2)-i;
    else break;
	i++;
  }
}









//   键按下时,显示齿轮号。齿轮号显示字产生子程序:

gear_id_show(gear_id,id){
  switch(id){
  case 0:
    return gear_id+1;
	break;
  case 1:
    return 1;
	break;
  case 2:
  case 3:
    return  show.gear_show[id];
	break;
  default:
	break;
  }
}




//       ***       show to the LED:      *****

void show2led(void){

  if(rq_show)return;

  if(++show.id>=TIME_LEN+SPEED_LEN){			//时间累计最低位,错误校验纠正
	  DA_164=1;
	  show.now=work.time[TIME_LEN-1];
	  show.id=0;
	}
  else if(show.id<=TIME_LEN-1) 					//其他时间位
	  show.now = work.time[TIME_LEN-show.id-1];
  else{
      if (!KEY_PIN){                           					//键按下时显示齿轮号
		show.now=gear_id_show( work.gear_id,
		     SPEED_LEN- (show.id-TIME_LEN) -1);
      }else{                                    				//没按下正常显示,显示速度
	    show.now = show.speed[ SPEED_LEN- (show.id-TIME_LEN) -1];
      }
  }


    if(show.id>show.time_black && show.id<=TIME_LEN-1)show.now=LED_BLACK;//时间显示左边零消隐控制


#ifdef SHOW_LEFT_MEMORY_ADDR			//键按下则显示当前有效地址
    if(!KEY_PIN){
      if(show.id==5)show.now=(save.next_addr&0xf0)>>4;
      if(show.id==4)show.now=(save.next_addr&0x0f);
    }
#endif

	show.showing=show_table[show.now];

	if(show.id==1)												//小数点的闪烁控制
		show.showing=show.showing & (dot_showing==0?0x7f:0xff);

	
	rq_show=1;													//请求输出

}




//       ***   运行时小数点的显示控制   ***

dot_flash()									
{
  if(real_work==TRUE)				//有脉冲时,说明正常工作,
  {
    dot_showing=~dot_showing;		//那么允许闪烁,1S一个周期,
  }else
  {
    dot_showing=0;					//否则不闪烁。
  }

}





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -