?? show.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 + -