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

📄 sc1.c

📁 关于RST12864显示程序
💻 C
📖 第 1 页 / 共 5 页
字号:
#include "msp430x14x.h" 
#include "string.h"
#include "math.h"
#include "stdlib.h"
#include "float.h"
#include "stdio.h" 


#define TRUE 1
#define FALSE 0


char signal=0;
int i=0,fig1=10000,fig2=4000;
int layer[5]={0,0,0,0,0}; 
char character1,character2;
char s4[6]={'\0'},s1[6]={'\0'},s2[9]={'\0'},s9[5]={'\0'};
char s8[9]={'\0'},s6[5]={'\0'}, s5[6]={'\0'},s7[5]={'\0'};
 char pol[5]={'\0'},agc[5]={'\0'};
void getkey();
int j_flag=1,q_flag=1,g_flag=1,p_flag=1,manual_flag=0,go_flag=0,neg_flag=0,x_flag=0,y_flag=0,wait_kflag=0,wait_gflag=0,continue_flag=0;
float saveparam_agc,saveparam_fang,saveparam_jihua,saveparam_fuyang,param_fang,param_jihua,param_fuyang;
float temp_f; 
unsigned char lock1=1,lock2=0 ,lock3=0,lock4=0,go_num=2;
int  j=0;
char s1_rec[6]={'\0'},s3_rec[5]={'\0'},s4_rec[7]={'\0'},s5_rec[9]={'\0'};
char char_temp = 0;
char s8_rec[9]={'\0'};
char ns_figure=0,in_flag=1;
unsigned int ReceiveSequence_Len =0;
char ReceiveSequence[100]= {'\0'};
char flag=0,send_flag=0;
char SendSequence[100] = {'\0'};
unsigned int Reset = TRUE;
unsigned int SendSequence_Len = 0;
char show_buf[4][16];

 char menu_1[4][16]={   {0x20,0x20,0x20,0x20,0xb2,0xcb,0x20,0x20,0x20,0x20,0xb5,0xa5},//菜单
                      {0x31,0x2e,0xb2,0xce,0xca,0xfd,0xc9,0xe8,0xd6,0xc3},//1.参数设置
                      {0x32,0x2e,0xca,0xd6,0xb6,0xaf,0xc4,0xa3,0xca,0xbd},//2.手动模式
                      {0x33,0x2e,0xd7,0xd4,0xb6,0xaf,0xc4,0xa3,0xca,0xbd}};//3.自动模式
 char menu_2[2][16]={ {0x34,0x2e,0xcc,0xec,0xcf,0xdf,0xb8,0xe6,0xbe,0xaf},//4.故障告警                     
                      {0x35,0x2e,0xca,0xd6,0xb3,0xd6,0xbb,0xfa,0xc9,0xe8,0xd6,0xc3} } ;//5.手持机设置
 char alarm1[4][16]={   { 0xbd,0xd3,0xca,0xd5,0xbb,0xfa,0x3a},//接收机
                        { 0xc7,0xe3,0xd0,0xb1,0xd2,0xc7,0x3a},//倾斜仪
                         {0x47,0x50,0x53,0x3a},//GPS
                         {0xbc,0xab,0xbb,0xaf,0x3a}//极化
                         };
 char gps_r[3][16]={{0x20},
                    {0x20,0x20,0x47,0x50,0x53,0x20,0xce,0xb4,0xb6,0xa8,0xce,0xbb},
                    {0x20,0x20,0x20,0x20,0xc7,0xeb,0xc9,0xd4,0xb5,0xc8},
                    };//GPS未定位请稍等
 char gps_o[2][16]={{0x20},
                    {0x20,0x20,0x47,0x50,0x53,0x20,0xb6,0xa8,0xce,0xbb,0xcd,0xea,0xb3,0xc9}             
                   };
 char protect[3][16]={{0x20},
                      {0x20,0x20,0x20,0x20,0xb6,0xcf,0xb5,0xe7,0xb1,0xa3,0xbb,0xa4},
                      {0x20,0x20,0x20,0x20,0xc7,0xeb,0xb0,0xb4,0xb8,0xb4,0xce,0xbb} };//断电保护请复位

 char state2[2][16]={{0xbe,0xad,0xb6,0xc8,0x3a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xa1,0xe3},//
                     {0xce,0xb3,0xb6,0xc8,0x3a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xa1,0xe3},//
                     //{0xc2,0xde,0xc5,0xcc,0x3a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xa1,0xe3}
                     };
 char manual[4][16]={{0xb7,0xbd,0xce,0xbb,0x3a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xa1,0xe3},//方位
                     {0xb8,0xa9,0xd1,0xf6,0x3a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xa1,0xe3},//俯仰
                     {0xbc,0xab,0xbb,0xaf,0x3a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xa1,0xe3},//极化
                     {0xb5,0xe7,0xc6,0xbd,0x3a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x56}};//电平
 char set1[4][16]={  {0x20,0x20,0x20,0x20,0xcc,0xec,0xcf,0xdf,0xc9,0xe8,0xd6,0xc3},//天线设置
                     {0xce,0xc0,0xd0,0xc7,0xbe,0xad,0xb6,0xc8,0x3a},//卫星经度
                     {0xd0,0xc5,0xb1,0xea,0xc6,0xb5,0xc2,0xca,0x3a},//信标频率
                     {0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x4d,0x48,0x7a,0x1f}//MHZ
                  }; 
 char set2[3][16]={  {0xbc,0xab,0xbb,0xaf,0xb7,0xbd,0xcf,0xf2,0x3a},//极化方式
                     {0x20},
                     {0xb5,0xe7,0xc6,0xbd,0xc3,0xc5,0xcf,0xde,0x3a,0x20,0x20,0x20,0x20,0x20,0x56} //电平门限
                  };   
 char set3[3][16]={  {0xd5,0xbe,0xb5,0xe3,0xbe,0xad,0xb6,0xc8,0x3a},//站点经度
                     {0x20},
                     {0xd5,0xbe,0xb5,0xe3,0xce,0xb3,0xb6,0xc8,0x3a}//站点纬度
                   };
 char back[3][16]={{0xb1,0xb3,0xbe,0xb0,0xb5,0xc6,0xc9,0xe8,0xd6,0xc3,0x3a},
                   {0xbf,0xaa,0xb0,0xb4,0x31},
                   {0xb9,0xd8,0xb0,0xb4,0x32}
                  };
 char restart[2][16]={{0x20},
                      {0x20,0x20,0x20,0x21,0xb8,0xb4,0xce,0xbb,0xce,0xb4 ,0xcd,0xea,0xb3,0xc9}};
 char restartok[3][16]={{0x20},
                         {0x20,0x20,0x20,0x20,0xb8,0xb4,0xce,0xbb,0xcd,0xea,0xb1,0xcf},
                         {0x20,0x20,0x20,0x20,0xc7,0xeb,0xb0,0xb4,0xb2,0xcb,0xb5,0xa5}
                       };
 char pack[3][16]={{0x20},
                   {0x20,0x20,0x20,0x20,0xca,0xd5,0xb2,0xd8,0xc7,0xeb,0xb0,0xb4,0x31},//收藏请按1
                   {0x20,0x20,0x20,0x20,0xb8,0xb4,0xce,0xbb,0xc7,0xeb,0xb0,0xb4,0x32}//复位请按2
                  };
 char init[4][16]={{0x20,0x20,0xa1,0xef,0xb0,0xae,0xbf,0xc6,0xb5,0xcf,0xa1,0xef},//爱科迪
                    {0x20},             
                   {0xcc,0xec,0xcf,0xdf,0xd5,0xfd,0xd4,0xda,0xb3,0xf5,0xca,0xbc,0xbb,0xaf},//天线正在初始化
                    {0x20,0x20,0x20,0x20,0xc7,0xeb,0xc9,0xd4,0xb5,0xc8}};//请稍等
 char ini[2][16]={{0x20},
                  {0x20,0x20,0x20,0x20,0xb3,0xf5,0xca,0xbc,0xbb,0xaf}
 };
  char initok[3][16]={{0x20},
                   {0x20,0x20,0xb3,0xf5,0xca,0xbc,0xbb,0xaf,0xcd,0xea,0xb1,0xcf,0x21,0x21},//初始化完成
                   {0x20,0x20,0xc7,0xeb,0xb0,0xb4,0xb2,0xcb,0xb5,0xa5,0xc9,0xe8,0xd6,0xc3}};//请按菜单设置
 char bian1[3][16]={{0x20},
                    {0x20,0x20,0x20,0x20,0xb0,0xb2,0xd7,0xb0,0xb1,0xdf,0xb0,0xea},//安装边瓣
                    {0x20,0x20,0xcd,0xea,0xb3,0xc9,0xc7,0xeb,0xb0,0xb4,0xc8,0xb7,0xc8,0xcf}//完成请按确认                    
                   };

 char bian2[3][16]={{0x20},
                    {0x20,0x20,0x20,0x20,0xb2,0xf0,0xd0,0xb6,0xb1,0xdf,0xb0,0xea},//拆卸边瓣
                    {0x20,0x20,0xcd,0xea,0xb3,0xc9,0xc7,0xeb,0xb0,0xb4,0xc8,0xb7,0xc8,0xcf}//完成请按确认
                    };
 char pro1[3][16]={{0x20},
                   {0x20,0x20,0xbd,0xd3,0xca,0xd5,0xbb,0xfa,0xb7,0xa2,0xc9,0xfa,0xb9,0xca,0xd5,0xcf},//接收机发生故障
                   {0x20,0x20,0xb0,0xb4,0xc8,0xb7,0xc8,0xcf,0xbc,0xfc,0xbc,0xcc,0xd0,0xf8}};//按确认键继续
 char pro2[3][16]={{0x20},   
                   {0x20,0x20,0xbc,0xab,0xbb,0xaf,0xb7,0xa2,0xc9,0xfa,0xb9,0xca,0xd5,0xcf},//极化发生故障
                   {0x20,0x20,0xb0,0xb4,0xc8,0xb7,0xc8,0xcf,0xbc,0xfc,0xbc,0xcc,0xd0,0xf8}//按确认键继续                   
                  };
 char pro3[3][16]={
                  {0x20},
                  { 0x20,0x20,0xc7,0xe3,0xd0,0xb1,0xd2,0xc7,0xb7,0xa2,0xc9,0xfa,0xb9,0xca,0xd5,0xcf},//倾斜仪发生故障
                  {0x20,0x20,0xb0,0xb4,0xc8,0xb7,0xc8,0xcf,0xbc,0xfc,0xbc,0xcc,0xd0,0xf8}//按确认键继续
                  };
 char wait[2][16]={{0x20},
                  {0x20,0x20,0x20,0x20,0xc7,0xeb,0xc9,0xd4,0xb5,0xc8}}
                  ;

 char zzsc[3][16]={ {0x20},
                  {0x20,0x20,0x20,0x20,0xd5,0xfd,0xd4,0xda,0xca,0xd5,0xb2,0xd8},
                  { 0x20,0x20,0x20,0x20,0xc7,0xeb,0xc9,0xd4,0xb5,0xc8} };//正在收藏
                    
 char scwb[3][16]={{0x20},
                  {0x20,0x20,0x20,0x20,0xca,0xd5,0xb2,0xd8,0xcd,0xea,0xb1,0xcf},//收藏完毕
                  {0x20,0x20,0x20,0x20,0xb9,0xd8,0xb1,0xd5,0xb5,0xe7,0xd4,0xb4}};//请关闭电源
 char zzfw[2][16]={ {0x20},                   //复位
                   {0x20,0x20,0x20,0x20,0x20,0x20,0xb8,0xb4,0xce,0xbb}};
 

 char Ch_null[16]={
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
  };
 char Ch_all[16]={
  0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
  0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
  };

char key_temp =0;
char keya = 0xf8;
char keyb = 0xf8;
char keyc = 0xf8;
char keyd = 0xf8;
char keye = 0xf8;
int key=0;  //char

#define KEY_0 0
#define KEY_1 1
#define KEY_2 2
#define KEY_3 3
#define KEY_4 4
#define KEY_5 5
#define KEY_6 6
#define KEY_7 7
#define KEY_8 8
#define KEY_9 9
#define KEY_DOT 10
#define KEY_NS 11
#define KEY_LEFT 12
#define KEY_RIGHT 15
#define KEY_UP 13
#define KEY_DOWN 14
#define KEY_CLR 16
#define KEY_ENTER 17
#define KEY_EDIT 18
#define KEY_MENU 19
#define KEY_STOP 20 
//#define KEY_RESET 21
#define KEY_SIGN 22

 union
{
    int WW[40];
    struct SatStation
    {
        float sat_long;
        char sat_east;
        float Station_long;
        char Station_east;
        float Station_lat;
        char Station_north;
        float rec_freq;  
        float track_range;    
        float Track_agc;
        char polar_vet;      
        float luopan;
    }param;
}saveparam,saveparam_temp;

#define PINDATA         ( P4OUT )
#define PINRS           (P5OUT |=BIT2)
#define PINRSC          (P5OUT &=~BIT2)
#define PINRW           (P5OUT |=BIT1)
#define PINRWC          (P5OUT &=~BIT1)
#define PINEN           (P5OUT |=BIT0)
#define PINENC          (P5OUT &=~BIT0)
#define ALARMR          (P5OUT &=~BIT7)
#define ALARMRC         (P5OUT |=BIT7)
#define ALARMG          (P5OUT &=~BIT6)
#define ALARMGC         (P5OUT |=BIT6)
#define LOCKED           (P5OUT &=~BIT5)
#define LOCKC           (P5OUT|= BIT5)
#define SEARCH          (P5OUT &=~BIT4)
#define SEARCHC         (P5OUT |=BIT4)
#define BACK            (P1OUT &=~BIT2)
#define BACKC           (P1OUT |=BIT2)




void Delay(unsigned int t)
{
   unsigned int i;  //0~65535
    for (i = t; i > 0;  i--)
    _NOP();
}


void set(char aa)
{SendSequence[SendSequence_Len]=aa;
 SendSequence_Len++;
}
void set_end()
{ SendSequence[SendSequence_Len]=0x0D;
 SendSequence_Len++;}

void set_sta(void)
{set('S');
 set('t');
 set('a');
 set('?');
 set_end();
}
void set_set(void)
{
 set('S');
 set('e');
 set('t');
 set('?');
 set_end();
}

void set_wa(void)
{set('W');
 set('a');
 set('?');
 set_end();
 
}
void setnum(char sk[],int n)
{ int i; 
  int m;
  m=n; 
 for(i=0;i<m;i++)
     {
        if(!((sk[i]>='0')&&(sk[i]<='9')))
        {
           if(sk[i]!='.')
           {
             if(sk[i]==0x00)
             break;
             set('0');
             
           }
         }
      else  set(sk[i]);
}
}

void set_fre(void)
{  
   char sk[9]={'\0'};
   if(SendSequence_Len<70)
   {
    set('F');//返回目前卫星频率(1000倍)   
    sprintf(sk,"%8.3f",saveparam.param.rec_freq);   
    setnum(sk,8);
    set_end();
   }
 } 
 
 void set_go(void)
 {set('G');
  set('O');
  set('!');
  }


void set_sat_long(void)
{
  char sk[6]={'\0'};
   if(SendSequence_Len<70)
   {
     set('L');//设置卫星经度(10倍)    
     sprintf(sk,"%5.1f",saveparam.param.sat_long);       
     setnum(sk,5) ;
     set('P');     
     if (saveparam.param.polar_vet==1) 
     set('V');           
     else 
     set('H');           
     set_end();
     }
  }
  
void  set_station_long_lat(void)
{ char sk[6]={'\0'};
   if(SendSequence_Len<70)
   {
     set('O');//设置卫星站点经度(10倍)     
     sprintf(sk,"%5.1f",saveparam.param.Station_long);
     setnum(sk,5);
     set('T');//设置卫星站点纬度(10倍)     
     sprintf(sk,"%4.1f",saveparam.param.Station_lat);
     setnum(sk,4);
     set_end();
   }
}
void set_agc(void)
{
    char sk[4]={'\0'};
   if(SendSequence_Len<70)
   {
     set('H');//设置卫星站点经度(10倍)
    
     sprintf(sk,"%3.1f",saveparam.param.Track_agc);
     setnum(sk,3);
     set_end();
}
}
void set_maualmode(void)
{
     set('M');     
     set('_');
     set('M');
     set_end();
}
void set_automode(void)
{set('M');     
 set('_');
 set('A');
 set_end();    
}
void set_aegr(void)
{set('M');     
 set('_');
 set('N');
 set_end();    
}

void set_pack(void)
{set('B');     
  set('a');
  set('!');
    
}
void set_restart(void)
{set('M');     
 set('_');
 set('R');
 set_end();     
}

void set_add_p(void)
{
    set ('P');
    if(manual_flag==0)
     set('1'); 
     else

⌨️ 快捷键说明

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