?? show_window.c
字號:
break;
}
if(Bhour/10==0)
{
Display_Char(3,3,0);
}
else
{
Display_Char(3,3,Bhour/10);
}
Display_Char(4,3,Bhour%10);
Display_Char(5,3,62); // :
Display_Char(6,3,time[2]-0x30);
Display_Char(7,3,time[3]-0x30);
Display_Char(8,3,62);
Display_Char(9,3,time[4]-0x30);
Display_Char(10,3,time[5]-0x30);
/*
Display_Char(9,1,Bhour%10-0x30);
Display_Char(10,1,10);
Display_Char(11,1,time[2]-0x30);
Display_Char(12,1,time[3]-0x30);
Display_Char(13,1,10);
Display_Char(14,1,time[4]-0x30);
Display_Char(15,1,time[5]-0x30);
*/
buf_full&=~0x08;
dsp_count=0;
}
}
/*****************************************************************/
/* 窗口顯示函數:基本信息 :第三屏 : */
/* 窗口模式: 00000 */
/*
/ ----------------------- ------- ------------------------\
| 水平定位誤差 3 單位為“米” |
| ----------------------- ------- ------------------------ |
| 高度符號 1 '+' 或 '-' |
| ----------------------- ------- ------------------------ |
*/
/*****************************************************************/
void show_menu_GaoDu()
{
Display_Char(0,5,43); // H
Display_Char(1,5,62); // :
if((((use_sat[0]-0x30)*10+(use_sat[1]-0x30))>=4)&&(((use_sat[0]-0x30)*10+(use_sat[1]-0x30))<=12))
{
Display_Char(2,5,Height[0]-0x30); // 0
Display_Char(3,5,Height[1]-0x30); // 1
Display_Char(4,5,Height[2]-0x30); // 2
Display_Char(5,5,66); // .
Display_Char(6,5,Height[4]-0x30); // 4
// Display_Char(7,5,Height[5]-0x30); // 5
}
else
{
Display_Char(2,5,0); // 0
Display_Char(3,5,0); // 1
Display_Char(4,5,0); // 2
Display_Char(5,5,66); // .
Display_Char(6,5,0); // 4
Display_Char(7,5,0); // 5
}
}
/*****************************************************************/
/* 窗口顯示函數:基本信息 :第三屏 : */
/* 窗口模式: */
/*
----------------------- ------- ------------------------
/東/西 速度方向 1 'E' 或 'W'
| ----------------------- ------- ------------------------
| 東/西速度 4 單位是“米/秒”,在第三位后省略了一個小數點,
| ("1234" = 123.4 m/s)
V | ----------------------- ------- ------------------------
e | 南/北 速度方向 1 'S' 或 'N'
l |
o | ----------------------- ------- ------------------------
c | 南/北 速度 4 單位是“米/秒”,在第三位后省略了一個小數點,
i | ("1234" = 123.4 m/s )
t | ----------------------- ------- ------------------------
*/
/*****************************************************************/
void show_menu_SuDu()
{
Display_Char(1,1,57); // V
Display_Char(2,1,62); // :
if((((use_sat[0]-0x30)*10+(use_sat[1]-0x30))>=4)&&(((use_sat[0]-0x30)*10+(use_sat[1]-0x30))<=12))
{
Display_Char(4,1,speed[0]-0x30); // 0
Display_Char(5,1,66);
Display_Char(6,1,speed[2]-0x30); // 1
Display_Char(7,1,speed[3]-0x30); // 2
Display_Char(8,1,speed[4]-0x30); // 3
}
else
{
Display_Char(4,1,0); // 0
Display_Char(5,1,66);
Display_Char(6,1,0); // 1
Display_Char(7,1,0); // 2
Display_Char(8,1,0); // 3
}
}
void show_menu_sat()
{
unsigned char usesat=0;
unsigned char use_n=0;
Display_Char(1,3,use_sat[0]-0x30); // 0
Display_Char(2,3,use_sat[1]-0x30); // 1
usesat=(use_sat[0]-0x30)*10+(use_sat[1]-0x30);
if((((use_sat[0]-0x30)*10+(use_sat[1]-0x30))>=4)&&(((use_sat[0]-0x30)*10+(use_sat[1]-0x30))<=12))
{
switch(usesat)
{
case 0: break;
// 無衛星
case 1: Display_Char(4,3,69);
break;
// 一顆衛星
case 2: for(use_n=0;use_n<2;use_n++)
{
Display_Char(4+use_n,3,69);
}
break;
// 二顆衛星
case 3: for(use_n=0;use_n<3;use_n++)
{
Display_Char(4+use_n,3,69);
}
break;
// 三顆衛星
case 4: for(use_n=0;use_n<4;use_n++)
{
Display_Char(4+use_n,3,69);
}
break;
// 四顆衛星
case 5: for(use_n=0;use_n<5;use_n++)
{
Display_Char(4+use_n,3,69);
}
break;
// 五顆衛星
case 6: for(use_n=0;use_n<6;use_n++)
{
Display_Char(4+use_n,3,69);
}
break;
// 六顆衛星
case 7: for(use_n=0;use_n<7;use_n++)
{
Display_Char(4+use_n,3,69);
}
break;
// 七顆衛星
case 8: for(use_n=0;use_n<8;use_n++)
{
Display_Char(4+use_n,3,69);
}
break;
// 八顆衛星
default:break;
}
}
else
{
for(use_n=0;use_n<8;use_n++)
{
Display_Char(2+use_n,3,64);
}
}
}
void show_sum_sat()
{
unsigned char sum_sat=0;
unsigned char sum_n=0;
Display_Char(1,5,total_sat[0]-0x30); // 0
Display_Char(2,5,total_sat[1]-0x30); // 1
sum_sat=(total_sat[0]-48)*10+(total_sat[1]-48);
if(sum_sat>12)sum_sat=12;
for(sum_n=0;sum_n<sum_sat;sum_n++)
{
Display_Char(4+sum_n,5,69);
}
}
//計算星期
unsigned char week(unsigned char year, unsigned char mon, unsigned char day)
{
unsigned char Weekdays[12] = {0,3,3,6,1,4,6,2,5,0,3,5}; // 31 28 31 30 31 30 31 31 30 31 30
return (6-1 + (year>>2) + year + Weekdays[mon-1] + day + (((year & 3) || mon > 2)? 1 : 0)) % 7;
//完整的計算星期的公式:
//(year>>2) - (year / 100) + (year/400) + year +
// Weekdays[mon-1] + day + ((!isLeap(year) || mon > 2)? 1 : 0)) % 7;
}
/*****************************************************************/
/*****************************************************************/
/*函數名稱: Navigation_End_ConstrolWord.c */
/*函數功能: 終點地址的確定 */
/*有無返回: 無 */
/*修改記錄: 無修改記錄 */
/*編寫作者: t483-4-19chenyong */
/*編寫日期: 2008-3-12 */
/*****************************************************************/
void Navigation_End_ConstrolWord(void)
{
i=0;t=0;sum=0;
CleanScreen();
delay_nms(10);
Display_Character(2,3,35);
Display_Character(4,3,37);
Display_Character(2,5,36);
Display_Character(4,5,37);
while(1)
{
key=keyscan();
delay_nms(3000);
switch(key)
{
case 0x00:
if(i<=KeyInputN-1&&i!=0)
{
if(i<=1)
Display_Char(8+i,3,0);
else
Display_Char(6+i,5,0);
temp_key[i]=0;
i++;
}
break;
case 0x01:
if(i<=KeyInputN-1)
{
if(i<=1)
Display_Char(8+i,3,1);
else
Display_Char(6+i,5,1);
temp_key[i]=1;
i++;
}
break;
case 0x02:
if(i<=KeyInputN-1)
{
if(i<=1)
Display_Char(8+i,3,2);
else
Display_Char(6+i,5,2);;
temp_key[i]=2;
i++;
}
break;
case 0x03:
if(i<=KeyInputN-1)
{
if(i<=1)
Display_Char(8+i,3,3);
else
Display_Char(6+i,5,3);
temp_key[i]=3;
i++;
}
break;
case 0x04:
if(i<=KeyInputN-1)
{
if(i<=1)
Display_Char(8+i,3,4);
else
Display_Char(6+i,5,4);
temp_key[i]=4;
i++;
}
break;
case 0x05:
if(i<=KeyInputN-1)
{
if(i<=1)
Display_Char(8+i,3,5);
else
Display_Char(6+i,5,5);
temp_key[i]=5;
i++;
}
break;
case 0x06:
if(i<=KeyInputN-1)
{
if(i<=1)
Display_Char(8+i,3,6);
Display_Char(6+i,5,6);
temp_key[i]=6;
i++;
}
break;
case 0x07:
if(i<=KeyInputN-1)
{
if(i<=1)
Display_Char(8+i,3,7);
else
Display_Char(6+i,5,7);
temp_key[i]=7;
i++;
}
break;
case 0x08:
if(i<=KeyInputN-1)
{
if(i<=1)
Display_Char(8+i,3,8);
else
Display_Char(6+i,5,8);
temp_key[i]=8;
i++;
}
break;
case 0x09:
if(i<=KeyInputN-1)
{
if(i<=1)
Display_Char(8+i,3,9);
else
Display_Char(6+i,5,9);
temp_key[i]=9;
i++;
}
break;
/*如果輸錯,就重新置0,清一位*/
case 0x0a: i=0;
Display_Char(8,3,64);
Display_Char(9,3,64);
Display_Char(8,5,64);
Display_Char(9,5,64);
break;
/* case 0x0b: //如果輸錯,重新輸數,清所有位
for(i=KeyInputN;i>0;i--)
temp_key[i-1]=0;
break;
*/
case 0x0b:
for(t=0;t<i;t++)
sum=sum+(temp_key[t])*ten_n(i-1-t);
Position=sum;
CleanScreen(); // 清屏
delay_nms(1000);
show_menu_DaoHang();
sum=0;
break;
case 0x0d:
Clear_Area(6,3,5);
for(i=KeyInputN;i>0;i--)
temp_key[i-1]=0;
t=0;
sum=0;
Position=0;
break;
case 0x0f:GPS_Navigation();
break;
default:break;
}
}
}
/*****************************************************************/
void GPS_Navigation(void)
{
OSCILLATOR_Init (); // Initialize oscillator
PORT_Init (); // Initialize crossbar and GPIO
LCD_Init(); // 液晶初始化
CleanScreen(); // 清屏
delay_nms(100);
Show_Map();
while(1)
{
key= keyscan();
delay_nms(1000);
switch(key)
{
case 0x00: Navigation_End_ConstrolWord();
break;
/*
case 0x00: show_menu_DaoHang();
break;
*/ case 0x0f: show_menu_frist();
break;
default: break;
}
}
}
void show_author_information()
{
Display_Char(1,5,55);
Display_Char(2,5,4);
Display_Char(3,5,8);
Display_Char(4,5,3);
Display_Char(5,5,67);
Display_Char(6,5,4);
Display_Char(7,5,67);
Display_Char(8,5,1);
Display_Char(9,5,9);
Display_Character(11,5,18);
Display_Character(13,5,19);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -