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

📄 display.c

📁 msp430液晶(并行绿光12864)C驱动 用msp430F247成功测试
💻 C
字号:
#include<Includes.h>

unsigned char DisFlag = 0x00;
unsigned char DisFlagCC = 0x00;

void MakeExcel(void)
{
  //   GUI_Initialize();
     GUI_HLine(0,0,127,0x01);           // 画横线
     GUI_HLine(0,18,127,0x01);
     GUI_HLine(0,36,127,0x01);
     GUI_HLine(0,54,127,0x01);
     GUI_HLine(0,63,127,0x01);
                                        // 画竖线
     GUI_RLine(0, 0, 63, 0x01);
     GUI_RLine(33, 0, 54, 0x01);
     GUI_RLine(127, 0, 63, 0x01);
}

void DispTime(void)
{
    unsigned char i=5,j=75,k = 55;
        
    GUI_PutChar(i,k,DigitNUM[2]);
    GUI_PutChar(i+5,k,DigitNUM[0]);
    GUI_PutChar(i+10,k,DigitNUM[0]);
    GUI_PutChar(i+15,k,DigitNUM[8]);
    GUI_PutChar(i+21,k,DigitNUM[0x11]);      // '/'
    GUI_PutChar(i+27,k,DigitNUM[0]);
    GUI_PutChar(i+32,k,DigitNUM[8]);
    GUI_PutChar(i+38,k,DigitNUM[0x11]);      // '/'
    GUI_PutChar(i+44,k,DigitNUM[2]);
    GUI_PutChar(i+49,k,DigitNUM[0]);
    
    GUI_PutChar(j,k,DigitNUM[RTC_data[2]>>4]);      
    GUI_PutChar(j+5,k,DigitNUM[(RTC_data[2]&0x0f)]);
    GUI_PutChar(j+12,k,DigitNUM[0x10]);      // ':'
    GUI_PutChar(j+17,k,DigitNUM[RTC_data[1]>>4]);
    GUI_PutChar(j+22,k,DigitNUM[RTC_data[1]&0x0f]);
    GUI_PutChar(j+31,k,DigitNUM[0x10]);      // ':'
    GUI_PutChar(j+36,k,DigitNUM[RTC_data[0]>>4]);
    GUI_PutChar(j+41,k,DigitNUM[RTC_data[0]&0x0f]);
}
void DisplaySUB(unsigned char P,unsigned char kkk,unsigned char i)
{
    unsigned char Pist1,k;
    unsigned char Temp[16];
    float *TTTTTemp;
    unsigned long LLLTemp;
    
    TTTTTemp = (float *)&AD7794_Dat[i];
        LLLTemp = (unsigned long)(10000*(*TTTTTemp));
    
        Temp[0] = LLLTemp/1000000000;
        Temp[1] = (LLLTemp%1000000000)/100000000;
        Temp[2] = (LLLTemp%100000000)/10000000;
        Temp[3] = (LLLTemp%10000000)/1000000;
        Temp[4] = (LLLTemp%1000000)/100000;
        Temp[5] = (LLLTemp%100000)/10000;
        Temp[6] = 0x12;                                             // .
        Temp[7] = (LLLTemp%10000)/1000;
        Temp[8] = (LLLTemp%1000)/100;
        Temp[9] = (LLLTemp%100)/10;
        Temp[10] = LLLTemp%10;
            
        if(Temp[0]==0)                                              // 隐藏没用的 0
        {
            Temp[0] = 20;
            if(Temp[1]==0)
            {
                Temp[1] = 20;
                if(Temp[2]==0)
                {
                    Temp[2] = 20;
                    if(Temp[3]==0)
                    {
                        Temp[3] = 20;
                        if(Temp[4]==0)
                        {
                            Temp[4] = 20;
                        }
                    }
                }
            }                
        }            
        Pist1 = P;
        k = kkk;
        
        GUI_PutChar8_8(Pist1,k,DigitNUM[Temp[0]]);      
        GUI_PutChar8_8(Pist1+8,k,DigitNUM[Temp[1]]);
        GUI_PutChar8_8(Pist1+16,k,DigitNUM[Temp[2]]);      
        GUI_PutChar8_8(Pist1+24,k,DigitNUM[Temp[3]]);
        GUI_PutChar8_8(Pist1+32,k,DigitNUM[Temp[4]]);
        GUI_PutChar8_8(Pist1+40,k,DigitNUM[Temp[5]]);      
        GUI_PutChar8_8(Pist1+48,k,DigitNUM[Temp[6]]);       // '.'
        GUI_PutChar8_8(Pist1+56,k,DigitNUM[Temp[7]]);
        GUI_PutChar8_8(Pist1+64,k,DigitNUM[Temp[8]]);
        GUI_PutChar8_8(Pist1+72,k,DigitNUM[Temp[9]]);
        GUI_PutChar8_8(Pist1+80,k,DigitNUM[Temp[10]]);
}
void DisplayPP(unsigned char P,unsigned char kkk,unsigned char i)
{
    unsigned char Pist1,k;
    unsigned char Temp[6];
    float *TTTTTemp;
    unsigned long LLLTemp;
    
    TTTTTemp = (float *)&AD7794_Dat[i];
    LLLTemp = (unsigned long)(100*(*TTTTTemp));
    
        Temp[0] = LLLTemp/10000;
        Temp[1] = (LLLTemp%10000)/1000;
        Temp[2] = (LLLTemp%1000)/100;
        Temp[3] = 0x12;                                             // .
        Temp[4] = (LLLTemp%100)/10;
        Temp[5] = (LLLTemp%10);
        if(Temp[0]==0)                                              // 隐藏没用的 0
        {
            Temp[0] = 20;
            if(Temp[1]==0)                                              // 隐藏没用的 0
            {
                Temp[1] = 20;
            }           
        }                
        Pist1 = P;
        k = kkk;
        
        GUI_PutChar8_8(Pist1,k,DigitNUM[Temp[0]]);      
        GUI_PutChar8_8(Pist1+8,k,DigitNUM[Temp[1]]);
        GUI_PutChar8_8(Pist1+16,k,DigitNUM[Temp[2]]);           
        GUI_PutChar8_8(Pist1+24,k,DigitNUM[Temp[3]]);// .
        GUI_PutChar8_8(Pist1+32,k,DigitNUM[Temp[4]]);
        GUI_PutChar8_8(Pist1+40,k,DigitNUM[Temp[5]]);
}

void DisplayH_PB(unsigned char P,unsigned char kkk,unsigned char i)
{
    unsigned char Pist1,k;
    unsigned char Temp[16];
    float *TTTTTemp;
    unsigned long LLLTemp;
    
    TTTTTemp = (float *)&AD7794_Dat[i];
        LLLTemp = (unsigned long)(10*(*TTTTTemp));
    
        Temp[0] = LLLTemp/100000;
        Temp[1] = (LLLTemp%100000)/10000;
        Temp[2] = (LLLTemp%10000)/1000;
        Temp[3] = (LLLTemp%1000)/100; 
        Temp[4] = (LLLTemp%100)/10;
        Temp[5] = 0x12;   
        Temp[6] = LLLTemp%10;
        if(Temp[0]==0)                                              // 隐藏没用的 0
        {
            Temp[0] = 20;
            if(Temp[1]==0)
            {
                Temp[1] = 20;
                if(Temp[2]==0)
                {
                    Temp[2] = 20;
                    if(Temp[3]==0)
                    {
                        Temp[3] = 20;
                    }
                }
            }                
        }                
        Pist1 = P;
        k = kkk;
        
        GUI_PutChar8_8(Pist1,k,DigitNUM[Temp[0]]);      
        GUI_PutChar8_8(Pist1+8,k,DigitNUM[Temp[1]]);
        GUI_PutChar8_8(Pist1+16,k,DigitNUM[Temp[2]]);      
        GUI_PutChar8_8(Pist1+24,k,DigitNUM[Temp[3]]);   
        GUI_PutChar8_8(Pist1+32,k,DigitNUM[Temp[4]]);// '.'
        GUI_PutChar8_8(Pist1+40,k,DigitNUM[Temp[5]]);   
        GUI_PutChar8_8(Pist1+48,k,DigitNUM[Temp[6]]);
}
void DisFault(unsigned char P,unsigned char kkk,unsigned char i)
{
    unsigned char Pist1,k;
    unsigned char Temp[16];
    float *TTTTTemp;
    unsigned long LLLTemp;
    
    TTTTTemp = (float *)&AD7794_Dat[i];
        LLLTemp = (unsigned long)(*TTTTTemp);
    
        Temp[0] = (LLLTemp%1000000)/100000;
        Temp[1] = (LLLTemp%100000)/10000;
        Temp[2] = (LLLTemp%10000)/1000;
        Temp[3] = (LLLTemp%1000)/100;
        Temp[4] = (LLLTemp%100)/10;
        Temp[5] = LLLTemp%10;
         if(Temp[0]==0)                                              // 隐藏没用的 0
        {
            Temp[0] = 20;
            if(Temp[1]==0)
            {
                Temp[1] = 20;
                if(Temp[2]==0)
                {
                    Temp[2] = 20;
                    if(Temp[3]==0)
                    {
                        Temp[3] = 20;
                        if(Temp[4]==0)
                        {
                            Temp[4] = 20;
                        }
                    }
                }
            }                
        }               
        Pist1 = P;
        k = kkk;
        
        GUI_PutChar8_8(Pist1,k,DigitNUM[Temp[0]]);      
        GUI_PutChar8_8(Pist1+8,k,DigitNUM[Temp[1]]);
        GUI_PutChar8_8(Pist1+16,k,DigitNUM[Temp[2]]);      
        GUI_PutChar8_8(Pist1+24,k,DigitNUM[Temp[3]]);
        GUI_PutChar8_8(Pist1+32,k,DigitNUM[Temp[4]]);
        GUI_PutChar8_8(Pist1+40,k,DigitNUM[Temp[5]]);      
}
void DisplayPage1(void)
{
 /*   unsigned char Pist1 = 35,k;
    unsigned char Temp[16];
    float *TTTTTemp;
    unsigned long LLLTemp;*/
    switch(DisFlag)
    {
        case 0:
                if(DisFlagCC == 0x55)
                {
                      GUI_ClearSCR();
                      MakeExcel(); 
                      
                      GUI_PutHZ(1,1,shun,16,16);
                      GUI_PutString8_8(103,42,"Mpa");
                      GUI_PutHZ(17,1,shi,16,16);
                      GUI_PutHZ(1,19,zong,16,16);
                      GUI_PutHZ(17,19,ji,16,16);
                      GUI_PutHZ(1,37,ya,16,16);
                      GUI_PutHZ(17,37,li,16,16);
                      DisFlagCC = 0x00;
                }
                DisplayPP(52,42,0);                     // 显示压力
                DisplaySUB(37,6,16);                    // 瞬时流量
                DisplaySUB(37,24,24);                   // 总流量 
                break;
        case   1:
                if(DisFlagCC == 0x55)
                {
                      GUI_ClearSCR();
                      MakeExcel();  
                      GUI_PutHZ(1,1,ya,16,16);
                      GUI_PutHZ(17,1,cha,16,16);
                      GUI_PutString8_8(103,6,"pa");
                      GUI_PutHZ(1,19,bo,16,16);
                      GUI_PutHZ(17,19,wen,16,16);
                      GUI_PutHZ(100,19,SSdu,16,16);
                      GUI_PutHZ(1,37,zu,16,16);
                      GUI_PutHZ(17,37,wen,16,16);
                      GUI_PutHZ(100,37,SSdu,16,16);
                      DisFlagCC = 0x00;
                }
                DisplayH_PB(45,6,4);                  // 显示压差
                DisplayPP(52,24,8);                   // 显示温度1
                DisplayPP(52,42,12);                  // 显示温度2 
                break;
        case    2:
                if(DisFlagCC == 0x55)
                {
                      GUI_ClearSCR();
                       GUI_HLine(0,0,127,0x01);           // 画横线
                         GUI_HLine(0,54,127,0x01);
                         GUI_HLine(0,63,127,0x01);
                                                            // 画竖线
                         GUI_RLine(0, 0, 63, 0x01);
                         GUI_RLine(127, 0, 63, 0x01);
                         
                      GUI_PutHZ(20,15,chu,16,16);
                      GUI_PutHZ(40,15,cuo,16,16);
                      GUI_PutHZ(60,15,ci,16,16);
                      GUI_PutHZ(80,15,shu,16,16);
                      GUI_PutChar8_8(100,23,':');
                      DisFlagCC = 0x00;
                }
                DisFault(40,40,20);
                break;
        default:DisFlag=0;break;
    }
}    
void TestModeDis(void)
{
    GUI_ClearSCR();
    GUI_HLine(0,0,127,0x01);           // 画横线
    GUI_HLine(0,63,127,0x01);
                                       // 画竖线
    GUI_RLine(0, 0, 63, 0x01);
    GUI_RLine(127, 0, 63, 0x01);
        
    GUI_PutHZ(20,15,ce,16,16);
    GUI_PutHZ(40,15,sh,16,16);
    GUI_PutHZ(60,15,zhong,16,16);
    GUI_PutChar8_8(80,23,'.');
    GUI_PutChar8_8(88,23,'.');
    GUI_PutChar8_8(96,23,'.');
}

⌨️ 快捷键说明

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