久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4028|回復: 2
收起左側

基于中科微GPS的OLED顯示的微型時鐘源程序與資料

  [復制鏈接]
ID:246649 發表于 2020-8-19 21:49 | 顯示全部樓層 |閱讀模式
Snap_2020.08.19 21.38.21_6.png

STC15L2K16S2--96OLED-gps-sucess.rar (5.76 MB, 下載次數: 59)

----------------------------------------------------------------------------------------------------------------


/*

              本機器下載頻率11.0592M
                  
                  基于GPS 接收時間顯示在OLED上

                  采用STC15L2K16S2--單片機

                  3.3V 低功耗

                  串口2接收GPS數據,在串口2上不用上拉10K電阻

*/                                                         




/////////////////////////////////////////////////////////////////////////////////////////*/

//-----------今天改成STC15F2K16S2--28PIN系列 --------------------------------------------------
//
//芯片型號 : STC15F2K16S2
//
//關于此芯片的重要說明:
//  有定時器0  定時器1 定時器2
//  有比較器 (可當作一路ADC使用)
//  有SPI (可為主模式和從模式)
//  有3路PCA/PWM/CCP (可用作DAC)
//  有8通道10位精度的A/D
//=======================================================================================

   // 程序存儲器:16K
   // 數據存儲器:2kBYTES;
   // 定時器:T0  T1 T2 ,
   // 串口: 2個
   // 外部中斷: 5個
   // AD 轉換:8路,10位
   // EEPROM:45K
   // 內部高精時鐘:有
   // CCP/PWM/: 3-CH
   // 掉電檢測,看門狗:有
   // 支持RS485下載
   //  工作頻率 35M

//**********************************************************/


//-------------------------------------------------------------------------
  /*
     上電沒有顯示的*************
         分辨率:128*64
         自發光 ,不需要背光



  */

//-------------------------------------------------------------------------

#include <STC15F2K16S2.H>
#include <intrins.H>

//串口1定義9600bps,8-N-1 ,CPU工作頻率11.0592M
#include <STC15W_UART.H>

#include <OLED_FONT.C>
#include <OLED_96.C>

#include <stdlib.h>
#include <string.h>

#include <GPS_INFO1.C>
#include <GPS_INFO2.C>

#include <GPS_INFO31_height.C>
#include <GPS_INFO32_height.C>

#include <STC15W_UART2.H>

#include <string.H>
//-------------------------------------------------------------------------
sbit  RED_LED=P3^3;
sbit  GREEN_LED=P3^4;

//-------------------------------------------------------------------------

//-------------------------------------------------------------------------
unsigned int  t0_nnn=0;
unsigned int  t0_mmm=0;
unsigned int  t0_xxx=0;
unsigned int  t0_ggg=0;
unsigned int  t0_eee=0;
//------------------------------------------------------------------------
//-------------------------------------------------------------------------
unsigned int Time_out_FLAG=0;

//------------------------------------------------------------------------


unsigned int char_num=0;
unsigned char Receive_flag=0;
                                                
//---------------------------------------------------------------------------------------------------

unsigned char beijing_year_4=0;
unsigned char beijing_year_3=0;
unsigned char beijing_year_2=0;
unsigned char beijing_year_1=0;
//---------------------------------------------------------------------------------------------------

unsigned char beijing_month_shi=0;
unsigned char beijing_month_ge=0;


unsigned char beijing_day_shi=0;
unsigned char beijing_day_ge=0;

//---------------------------------------------------------------------------------------------------

unsigned char beijing_hour_shi=0;
unsigned char beijing_hour_ge=0;

unsigned char beijing_min_shi=0;
unsigned char beijing_min_ge=0;
unsigned char beijing_second_shi=0;
unsigned char beijing_second_ge=0;
//---------------------------------------------------------------------------------------------------

unsigned long int Count=0;
//---------------------------------------------------------------------------------------------------

unsigned char GPS_FLAG=0;
unsigned char GPS_INFO_output_FLAG=0;

//-----------------------------------------------------------------------------------------------------


unsigned char Finish_GPS_DATA_flag=0;

//-----------------------------------------------------------------------------------------------------
unsigned int display_interval_time=0;
unsigned int display_interval_time_flag=0;
//--------------------------------------------------------------------------------------------------------



void Config_Timer0()                 //1000微秒@11.0592.000MHz
{
         
               
                //----------------------------------------------------------------
                // T0X12  T1X12  UART_MX06 T2R    T2_C/T    T2X12  EXT_RAM  S1ST2
                //   1           0        0       0              0                  0      0       0
               
                // 0  12分頻; T1 12分頻
                // 1   1T模式
        
                AUXR |= 0x80;                //定時器時鐘1T模式        
               
        
                //EXT_RAM ==0 允許使用內部1024字節RAM
            
                //---------------------------------------------------------------
                //GATE  C/T  M1  M0   GATE  C/T   M1    M0
                //  0         0         0         0                0         0           0     0
                //        T1 T0 模式0
                // 自動重裝16位模式
        
                TMOD &= 0xF0;                //設置定時器模式,自動重裝初值*****************
        
        
            //--------12T下定時器計算方法----------------------------------
               
                //                           24M
                //65536-1000------------
                //                           12(分頻)
        
                //                           24M
                //65536-1000------------  =        41536=0XA240H,明白了沒有?
                //                           1 (1分頻)
        
                //                           24M
                //65536-500------------  =        53536=0XD120H,明白了沒有?
                //                           1 (1分頻)
        
                //                           24M
                //65536-600------------  =        51136=0XC7C0H,明白了沒有?
                //                           1 (1分頻)
        
        
                TL0 = 0xCD;                //設置定時初值
                TH0 = 0xD4;                //設置定時初值        
        
                TF0 = 0;                //清除TF1標志
                TR0 = 0;                //定時器1開始計時
        
                ET0=1;
        
                //---------- *   *   *   *    *---------PT0------------------------
                //                        PS        PT1         PX1  PT0   PX0
                //IP=        0X02;
        
                EA=1;
                  

}


//
////T2做波特率發生器,不可單獨使用************************************
//
//void Config_Timer2()  //10000微秒@24.000MHz
//{
//   
//
//        EA=1;
//        //----------------------------------------------------------------
//        // T0X12  T1X12  UART_MX06 T2R    T2_C/T    T2X12  EXT_RAM  S1ST2
//        //   0           0        0       0              0                  1      0        0
//        
//        
//        AUXR |= 0x04;        //這個只是定義,定時器T2時鐘1T模式         
//        
//        T2L = 0x40;                //設置定時初值
//        T2H = 0xA2;                //設置定時初值 //24Hz,1ms
//        // 0001 0000
//        
//        //開放ET2中斷----------------------------------------------------
//
//        //IE2
//        // -  ET4  ET3  ES4  ES3    ET2  ESPI  ES2
//        // 0   0        0         0          0                 1          0           0
//
//        IE2 =IE2 & 0x00;
//        IE2 =IE2 | 0X04;
//
//
//        // T0X12  T1X12  UART_MX06 T2R    T2_C/T    T2X12  EXT_RAM  S1ST2
//        //   0           0        0       1              0                 0      0        0
//        //T2R 定時器已經啟動了
//        AUXR |= 0x10;                //定時器2開始計時
//
//        //T2R禁止運行
//        //AUXR=AUXR & 0X1110 1111
//        //AUXR=AUXR & 0XEF;
//
//
//}






void delayxms(unsigned char ms)
{
        unsigned char i;
        while(ms--)
        {
                for(i = 0; i< 250; i++)
                {        
                        _nop_();
                        _nop_();
                        _nop_();
                        _nop_();
                }
        }

}




/*
                ==================================================================================

                                //顯示ACSII 使用單個字符顯示函數
                                OLED_Fill(0x00);
                            for(i=0; i<16 ;i++)
                            {
                              //入  參 : x:列0~127;y:頁地址0~7;

                                  OLED_ShowChar(i*8,0,' '+i);    //加空格的意思是字符,1行0+16個字符
                              OLED_ShowChar(i*8,2,' '+i+16); //加空格的意思是字符,2行i+16個字符
                              OLED_ShowChar(i*8,4,' '+i+32); //加空格的意思是字符,2行i+32個字符
                              OLED_ShowChar(i*8,6,' '+i+48); //加空格的意思是字符,2行i+48個字符   
                            }
                            delay_ms(2000);

                              
                            //顯示數字和字母 使用字符串顯示函數         // x:列0~127;y:頁地址0~7;
                            OLED_Fill(0x00);
                            LCD_P8x16Str(0,0,"0123456789");                  //0表示總是從坐標0開始,0表示第0頁,第1頁是08--15像素行
                            LCD_P8x16Str(0,2,"abcdefghijklmnop"); //0表示總是從坐標0開始,2表示第2頁,第3頁是24--31像素行
                            LCD_P8x16Str(0,4,"ABCDEFGHIJKLMNOP");
                            LCD_P8x16Str(0,6,"0123456789");
                            delay_ms(2000);

                   ==================================================================================
*/




void OLED_START_VALUE()
{
                                                
                                                
                                                unsigned char i=0;

                                                  /*        取消這一句,屏幕不再閃爍******************************
                                                   OLED_Fill(0x00);
                                                ------------------------------------------------------- */
        
                                                //6個漢字,最后一個i 是在數組 F16x16[]中漢字的序號,如 康1金2輝3
                                            for(i=0; i<8; i++)
                                            {
                                                
                                                        if (i==0)        LCD_P16x16Ch(i*16,0,beijing_min_shi); //i是漢字的序號, 漢字0,
                                                        if (i==1)        LCD_P16x16Ch(i*16,0,beijing_min_ge);  //i是漢字的序號, 漢字9

                                                        if (i==2)        LCD_P16x16Ch(i*16,0,10);              //i是漢字的序號,漢字“月”

                                                        if (i==3)        LCD_P16x16Ch(i*16,0,beijing_second_shi); //i是漢字的序號,漢字2
                                                        if (i==4)        LCD_P16x16Ch(i*16,0,beijing_second_ge); //i是漢字的序號,漢字6

                                                        if (i==5)        LCD_P16x16Ch(i*16,0,11);                       //i是漢字的序號,漢字“日”
                                                        
                                                         
                                                        if (i==6)        LCD_P16x16Ch(i*16,0,beijing_second_shi);//i是漢字的序號,漢字“@”
                                                        if (i==7)        LCD_P16x16Ch(i*16,0,beijing_second_ge);         //i是漢字的序號,漢字“三”
                                                         
                                            }
                                                

                                                 //01是一行漢字----------------------------------------------
                                                 //23是一行漢字----------------------------------------------
                                                 //45是一行漢字-------------------------------------------------

                                                 //第一個參數:0-127,
                                                 //第二個參數:第3個頁面地址開始,連續3,4,5頁面
                                                 //因為每個頁面8行像素,漢字是高度32像素,占用3個頁面像素
                                                 //第三個參數是在字符點陣中的漢字的“序號”
                                                 LCD_P18x32Ch(2+0, 3,beijing_hour_shi);                                 //小時的十位
                                                 LCD_P18x32Ch(2+18,3,beijing_hour_ge);                    //小時的個位

                                                 LCD_P08x32Ch(2+18+18,3,0);                        //冒號:

                                                 LCD_P18x32Ch(2+18+18+8,3,beijing_min_shi);               //分鐘的十位
                                                 LCD_P18x32Ch(2+18+18+18+8,3,beijing_min_ge);            //分鐘的個位

                                                 LCD_P08x32Ch(2+18+18+18+18+8,3,0);     //冒號:

                                                 LCD_P18x32Ch(2+18+18+18+18+8+8,3,beijing_second_shi);    //秒的十位
                                                 LCD_P18x32Ch(2+18+18+18+18+8+8+18,3,beijing_second_ge);    //秒的個位



}

void main()
{
               

                unsigned char j=0;
                unsigned char i=0;
                unsigned char Speed_Len=0;

                // P17 16  15  14  13  12  11 10
                //  0        0        0        0        0        0        0  0
                //        1        1        1        1        1        0        1  0   //
                P1M1 = P1M1 & 0x00;  //
            P1M0 = P1M0 | 0x00;  //

        
                //  0        0        0        0        0        0        0  0
                //        1        1        0        1        1        1        1  1
                P2M1 = P2M1 & 0x00;  //
            P2M0 = P2M0 | 0x00;  //

                //配置P3口為準雙向口**********************************************
                //P33  P34為_LED
                //
                //  0        0        0        0        0        0        0  0
                //        0        0        0        1        1        0        0  0
                P3M1 = P3M1 & 0x00;  //
            P3M0 = P3M0 | 0x00;  //

        
                //配置P5口**********************************************
        
                //  0        0        0        0        0        0        0  0
                //        0        0        1        0        0        0        0  0
                P5M1 = P5M1 & 0x00;  
            P5M0 = P5M0 | 0x00;  
        
                //--------------------------------------------------------------
                Config_Timer0();
        
            //*************************        *********************************
            UART_INIT();
                delayxms(1);
                UART2_INIT();
               
                delayxms(200);

                //*************************************************************
                TR0=1;
                //**********************************************************
        

                SEND_STRING_TO_SBUF("Program Start....\r\n");

                //-----雙色燈是共陽極的=====且不能同時為1==============================
                RED_LED=1;
                GREEN_LED=0;

            //--------------------------------------------------------------------------
               
               
                //oled 初始化  
                  OLED_Init();
                LCD_Clear();
                LCD_Clear();
                //清屏                     
                  OLED_Fill(0x00);
                delayxms(1000);

        

                //GPS定位數據刪除  //清空緩存數組
                CLEAR_STRUCT_BUFFER();

                OLED_START_VALUE();


                CLEAR_STRUCT_BUFFER_height();

                //允許串口2接收的所有GPS數據,從串口1輸出
                //僅僅用于監視,當允許時,導致數據顯示可能不正常

                Enable_S2_SBUF_direct_output=0;

                                 
        while(1)
        {
                           
                        
                          //==========通過串口2中斷自動接收GPS數據**************************************
                          //=========----------------------------------------
                          //                  
                          if (From_S2_S2BUF_receive_finish_FLAG==1)
                          {
                                   

                                    From_S2_S2BUF_receive_finish_FLAG=0;

                                        Resulotion_Gpsinfo_Buffer();
                                                        
                                       
                                        //if (get_GPS_info_FLAG==0)
                                        {
        
                                         SEND_STRING_TO_SBUF("------------Wait GPS Data-------------\r\n");
                                                         SEND_STRING_TO_SBUF(Save_Data.GPS_Buffer);
                                                         SEND_STRING_TO_SBUF("\r\n");

                                        }
                                
                                        //GPS信號每秒采集一次------接收到,還是沒有接受到,上面的函數300ms執行一次
                                        //GPS信號每秒采集一次---------------------------------------------------
                                        GPS_FLAG=0;
                                        //如果采集到GPS信號,則get_GPS_info_FLAG=1,此值在上面的函數中,得到新值

                           }


                          if (From_S2_S2BUF_receive_HEIGHT_finish_FLAG==1)
                          {
                                   

                                    From_S2_S2BUF_receive_HEIGHT_finish_FLAG=0;

                                
                                        {
        
                                         SEND_STRING_TO_SBUF("------------Wait GPS Height_Data-------------\r\n");
                                                         SEND_STRING_TO_SBUF(my_height_Data.GPS_height_Buffer);

                                                         
                                                         Resulotion_Gpsinfo_Buffer_height();



                                                         SEND_STRING_TO_SBUF("\r\nHeight===");
                                                         SEND_STRING_TO_SBUF(my_height_Data.Ocean_Height);
                                                         SEND_STRING_TO_SBUF("\r\n");


                                                         get_ocean_height_data[0]=        my_height_Data.Ocean_Height[0]-0x30;
                                                         get_ocean_height_data[1]=        my_height_Data.Ocean_Height[1]-0x30;
                                                         get_ocean_height_data[2]=        my_height_Data.Ocean_Height[2]-0x30;

                                        }
                                
                                       

                           }


                           //每200ms 輸出一次GPS信息--------定時器T0控制---------------------------------
                           //這個句子必須有------------------------------------------------------------
                           if (GPS_INFO_output_FLAG==1)
                           {

                                           GPS_INFO_output_FLAG=0;

                                       
                                        if (get_GPS_info_FLAG==1)
                                           {
                                                        
                                                        //唉!!曾經沒有這個句子,導致死機重啟!!!***********
                                                        get_GPS_info_FLAG=0;

                                                
                                                        //解碼函數----------------------------------------------
                                                        get_GPS_Date_Time_info();

                                                        // 函數 OUTPUT_GPS_BUFFER_DATA()中已經得到下列實際參數

                                                        UTC_TO_BEIJING_TIME(my_year,my_month,my_day,my_hour,my_min,my_second);
               
                                                        /*
                                                          本不應該從 串口1 輸出,但是調試的時候,先斷開串口1無線發射部分

                                                          調試完畢改成,串口2輸出,似乎串口2無法監視
                                                        */

                                                
                                                                        
                                                        /*
               
                                                          填充北京時間
               
                                                        */

                                                        
                                                        
                                                        beijing_year_4 =  beijing_year /1000;
                                                        beijing_year_3 = (beijing_year %1000)/100;
                                                        beijing_year_2 = (beijing_year %100)/10;
                                                        beijing_year_1 =  beijing_year %10;
               
                                                        beijing_month_shi=  beijing_month /10;
                                                        beijing_month_ge =  beijing_month %10;
               
                                                        beijing_day_shi =   beijing_day /10;
                                                        beijing_day_ge =    beijing_day %10;
                                                
                                                
                                                        beijing_hour_shi =   beijing_hour /10;
                                                        beijing_hour_ge =    beijing_hour %10;
               
                                                        beijing_min_shi =    beijing_min /10;
                                                        beijing_min_ge=      beijing_min %10;
               
                                                        beijing_second_shi = beijing_second /10;
                                                        beijing_second_ge =  beijing_second %10;
               
                                                        beijing_week = beijing_week;
               
                                                    //在這里將數據推送到OLED上----------------------------------------

                                                        Finish_GPS_DATA_flag=1;
                                                        
                                                        
                                                        SEND_STRING_TO_SBUF("\r\n-------------------------\r\n");
                                                        
                                                    SEND_STRING_TO_SBUF("\r\n\r\nBeijing_GPS_Date=");
                                                        SEND_STRING_TO_SBUF(CONVERT_INT_TO_DECIMAL_STRING(beijing_year));
                                                        SEND_STRING_TO_SBUF("-");
                                                        SEND_STRING_TO_SBUF(CONVERT_INT_TO_DECIMAL_STRING_2WEI(beijing_month));
                                                        SEND_STRING_TO_SBUF("-");
                                                        SEND_STRING_TO_SBUF(CONVERT_INT_TO_DECIMAL_STRING_2WEI(beijing_day));

                                                        SEND_STRING_TO_SBUF("\r\n\r\nBeijing_GPS_Time=");
                                                        SEND_STRING_TO_SBUF("-");
                                                        SEND_STRING_TO_SBUF(CONVERT_INT_TO_DECIMAL_STRING_2WEI(beijing_hour));
                                                        SEND_STRING_TO_SBUF("-");
                                                        SEND_STRING_TO_SBUF(CONVERT_INT_TO_DECIMAL_STRING_2WEI(beijing_min));
                                                        SEND_STRING_TO_SBUF("-");
                                                        SEND_STRING_TO_SBUF(CONVERT_INT_TO_DECIMAL_STRING_2WEI(beijing_second));
                                                    SEND_STRING_TO_SBUF("\r\n");

                                                        SEND_STRING_TO_SBUF("\r\n\r\nTo Earth direction=");


                                                        Speed_Len =strlen(Save_Data.my_Speed_direction);
                                                        //SEND_STRING_TO_SBUF("\r\n\r\nSpeed_direction=");
                                                        //SEND_STRING_TO_SBUF(Speed_Len);

                                                        if (Speed_Len!=0)
                                                        {
                                                               
                                                                SEND_STRING_TO_SBUF(Save_Data.my_Speed_direction);
                                                        }
                                                        else
                                                        {
                                                                SEND_STRING_TO_SBUF("*******");
                                                        }
                                                        SEND_STRING_TO_SBUF("\r\n");        

                                                
               
               
                                         }        //判斷是否接收到GPS信號
                                         else
                                         {
                                                        
                                                         


                                                         beijing_year_4=0;
                                                         beijing_year_3=0;
                                                         beijing_year_2=0;
                                                         beijing_year_1=0;

                                                         beijing_month_shi=0;
                                                         beijing_month_ge=0;

                                                         beijing_day_shi=0;
                                                         beijing_day_ge=0;

                                                         beijing_hour_shi = 0;
                                                         beijing_hour_ge = 0;

                                                         beijing_min_shi = 0;
                                                         beijing_min_ge= 0;

                                                         beijing_second_shi = 0;
                                                         beijing_second_ge= 0;
                                                        
               
                                                         

               
                                        }        //IF ...else  語句,接收完整信息成功語句塊



                         }        //GPS 信息輸出                 

                          

                         if (Finish_GPS_DATA_flag==1)
                         {        
                           
                                                Finish_GPS_DATA_flag=0;
                                                                                                

                                       

                                                /*        取消這一句,屏幕不再閃爍******************************
                                                   OLED_Fill(0x00);
                                                ------------------------------------------------------- */
        
                                                //6個漢字,最后一個i 是在數組 F16x16[]中漢字的序號,如 康1金2輝3
                                            for(i=0; i<8; i++)
                                            {
                                                
                                                        if (i==0)        LCD_P16x16Ch(i*16,0,beijing_month_shi); //i是漢字的序號, 漢字0,
                                                        if (i==1)        LCD_P16x16Ch(i*16,0,beijing_month_ge);  //i是漢字的序號, 漢字9

                                                        if (i==2)        LCD_P16x16Ch(i*16,0,10);              //i是漢字的序號,漢字“月”

                                                        if (i==3)        LCD_P16x16Ch(i*16,0,beijing_day_shi); //i是漢字的序號,漢字2
                                                        if (i==4)        LCD_P16x16Ch(i*16,0,beijing_day_ge); //i是漢字的序號,漢字6

                                                        if (i==5)        LCD_P16x16Ch(i*16,0,11);                       //i是漢字的序號,漢字“日”
                                                        
                                                         
                                                        if (i==6)        LCD_P16x16Ch(i*16,0,12);//i是漢字的序號,漢字“@”
                                                        
                                                        if (i==7)  //星期 //i是漢字的序號,漢字“三”
                                                        {
                                                                if (beijing_week==1) LCD_P16x16Ch(i*16,0,13); //星期一
                                                                if (beijing_week==2) LCD_P16x16Ch(i*16,0,14); //星期一
                                                                if (beijing_week==3) LCD_P16x16Ch(i*16,0,15); //星期一
                                                                if (beijing_week==4) LCD_P16x16Ch(i*16,0,16); //星期一
                                                                if (beijing_week==5) LCD_P16x16Ch(i*16,0,17); //星期一
                                                                if (beijing_week==6) LCD_P16x16Ch(i*16,0,18); //星期一
                                                                if (beijing_week==0) LCD_P16x16Ch(i*16,0,19); //星期天        
                                                        }  

                                            }
                                                

                                                 //01是一行漢字----------------------------------------------
                                                 //23是一行漢字----------------------------------------------
                                                 //45是一行漢字-------------------------------------------------

                                                 //第一個參數:0-127,
                                                 //第二個參數:第3個頁面地址開始,連續3,4,5頁面
                                                 //因為每個頁面8行像素,漢字是高度32像素,占用3個頁面像素
                                                 //第三個參數是在字符點陣中的漢字的“序號”
                                                
                                                 LCD_P18x32Ch(2+0, 3,beijing_hour_shi); //小時的十位
                                                 LCD_P18x32Ch(2+18,3,beijing_hour_ge);  //小時的個位

                                                 LCD_P08x32Ch(2+18+18,3,0);                        //冒號:

                                                 LCD_P18x32Ch(2+18+18+8,3,beijing_min_shi);    //分鐘的十位
                                                 LCD_P18x32Ch(2+18+18+18+8,3,beijing_min_ge);  //分鐘的個位

                                                 LCD_P08x32Ch(2+18+18+18+18+8,3,0);     //冒號:

                                                 LCD_P18x32Ch(2+18+18+18+18+8+8,3,beijing_second_shi);   //秒的十位
                                                 LCD_P18x32Ch(2+18+18+18+18+8+8+18,3,beijing_second_ge); //秒的個位

                                                 /*
                                                         //顯示圖形
                                                    OLED_Fill(0x00);
                                                        delay_ms(1);
                                                        //起始點坐標(x,y),x的范圍0~127,y為頁的范圍0~7
                                                    OLED_DrawBMP(0,0,128,8,BMP3);
                                                    delay_ms(2000);
                                                 */
                                                         
                                                 if ( display_interval_time_flag==1)   
                                                 {
                                                           
                                                           display_interval_time_flag=2;

                                                           for(i=0; i<8; i++)
                                                   {
                                                      
                                                                         //i是漢字的序號, 漢字N,        
                                                                         if (i==0)        LCD_P16x16Ch(i*16,0,20);  
                                                                        
                                                                         //i是漢字的序號,
                                                                         if (i==1)        LCD_P16x16Ch(i*16,0,Speed_direction_data[0]);              
                                                                         //i是漢字的序號,
                                                                         if (i==2)        LCD_P16x16Ch(i*16,0,Speed_direction_data[1]);
                                                                         //i是漢字的序號,
                                                                         if (i==3)        LCD_P16x16Ch(i*16,0,Speed_direction_data[2]);
                                                                        
                                                                        
                                                                         //i是漢字的序號, 漢字空格   
                                                                         if (i==4)        LCD_P16x16Ch(i*16,0,21);
                                                                        
                                                                         //i是漢字的序號, 漢字空格   
                                                                         if (i==5)        LCD_P16x16Ch(i*16,0,get_ocean_height_data[0]);                       
                                                                        
                                                                         //i是漢字的序號, 漢字空格   
                                                                         if (i==6)        LCD_P16x16Ch(i*16,0,get_ocean_height_data[1]);
                                                                        
                                                                         //i是漢字的序號, 漢字空格   
                                                                         if (i==7)        LCD_P16x16Ch(i*16,0,get_ocean_height_data[2]);
                                                           }

                                                 }
                                                
                                                
                                }            //Finish_GPS_DATA_flag===0
                                
                                
                                 
                                
                                 
        }

}


//******************用于時鐘******************************************************
void TIMER0_INTERRUPT() interrupt 1
{
         
         
        
         


            //收到GPS完整的信息后,每秒通過串口1輸出一次
           if (GPS_INFO_output_FLAG==0)
           {
                        t0_ggg++;

                        if (t0_ggg>200)
                        {
                            t0_ggg=0;
                                GPS_INFO_output_FLAG=1;
                        }

           }



           if (ALL_GPS_DATA_RECEIVE_FINISH_FLAG==1)
           {
                  if (display_interval_time_flag==0)
                  {
                        display_interval_time++;

                        if (display_interval_time>5000)
                        {
                           display_interval_time=0;
                           display_interval_time_flag=1;   //執行
                        }
                  }

           }


           if (display_interval_time_flag==2)
           {
                        display_interval_time++;

                        if (display_interval_time>2000)
                        {
                           display_interval_time=0;
                           
                           display_interval_time_flag=0;
                        }



           }


}


/*           

                            //顯示漢字==完整的程序=============================================================
                                /*
                                  第一個參數表示:從行16個像素位置開始顯示,
                                  第二個參數表示:0---表示第1行,行像素從00-07,第1頁
                                                  1---表示第2行,行像素從08-15,第2頁 ,因為漢字是16X16,一行漢字占2頁

                                                                  2---表示第3行,行像素從16-23,第3頁,
                                                                  3---表示第4行,行像素從24-31,第4頁 ,這是第1行漢字

                                                                  4---表示第5行,行像素從32-39,第5頁,
                                                                  5---表示第6行,行像素從40-47,第6頁 ,這是第2行漢字

                                                                  6---表示第5行,行像素從48-55,第7頁,
                                                                  7---表示第6行,行像素從56-64,第8頁 ,這是第3行漢字

                                  */
            
                        /*
                            OLED_Fill(0x00);

                                //6個漢字,最后一個i 是在數組 F16x16[]中漢字的序號,如 康1金2輝3
                            for(i=0; i<6; i++)
                            {
                                 
                              LCD_P16x16Ch(i*16+16,0,i);
                                    
                            }


                                //這里空幾個漢字顯示4個漢字==========================================
                            for(i=0; i<4; i++)
                            {
                              LCD_P16x16Ch(i*16+32,4,i+6);
                              LCD_P16x16Ch(i*16+32,6,i+6+4);
                            }
                            delay_ms(2000);   

                           

*/


51hei.png

評分

參與人數 2黑幣 +56 收起 理由
wps10025 + 6 贊一個!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:86450 發表于 2020-8-25 13:22 | 顯示全部樓層
好東西!!!!
回復

使用道具 舉報

ID:97678 發表于 2020-8-26 08:09 | 顯示全部樓層
好東西! 下載了。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天天宗合网 | 国产情侣在线看 | 日本免费视频在线观看 | 亚洲欧美一区二区三区视频 | 久久天堂网 | 午夜精品导航 | 欧美中文字幕一区二区三区亚洲 | 精彩视频一区二区三区 | 涩涩视频在线播放 | 天天综合久久网 | 91国内精品久久 | 国产精品一区二区三 | www久久久| 欧美日韩毛片 | 欧美日韩精品一区二区三区四区 | 免费午夜剧场 | 国产污视频在线 | 国产99久久精品一区二区永久免费 | 精品国产91亚洲一区二区三区www | 亚洲欧美在线一区 | 亚洲精品免费视频 | 欧美日韩一区二区在线 | 电影午夜精品一区二区三区 | 精品综合久久 | 九九热这里 | 一区精品国产欧美在线 | 国产精品99视频 | 777毛片| 99r在线| 国产精品久久久久无码av | 国产精品美女久久久久 | 免费一看一级毛片 | av在线免费观看网址 | 久久大陆 | 久久一区二区三区免费 | 欧美综合国产精品久久丁香 | 亚洲精品福利在线 | 国产精品九九 | 欧美日韩一本 | 成人在线观 | 亚洲国产偷 |