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

📄 mb90092.c

📁 这是用W77E58编写的控制GSM模块
💻 C
字号:


#include "global.h"
#include "util.h"
#include "mb90092.h"


void OSD_demo(void);
void display_main_menu(void);

void MB90092_print_char(unsigned char,unsigned char,unsigned char,unsigned char,unsigned int);

void initial_screen(void);
void initial_sub_screen(void);
void write_sub_line(void);
void write_main_line(void);
//void clear_main_screen(void);
void clear_sub_screen(void);
void turn_display_on(unsigned char);
void clear_power_on_reset(void);
void write_mb90092(unsigned char);



extern unsigned int    OSD_main_clear_timer;

extern unsigned char   main_row;
extern unsigned char   main_column;

unsigned char  xdata   sub_row = 0;
unsigned char  xdata   sub_column = 0;

unsigned int   xdata    main_rom_addr=0;
unsigned int   xdata    sub_rom_addr=0;




unsigned int   xdata         main_vertical_position=0;
unsigned int   xdata        main_horizontal_position=0;
unsigned int   xdata        sub_vertical_position=0;
unsigned int   xdata        sub_horizontal_position=0;




extern bit OSD_change_flag;
extern unsigned char osd_task;
extern unsigned char xdata navi_task;
extern unsigned char navi_menu_task;



extern unsigned int         main_selected_status;
extern unsigned int         navi_selected_status;
extern unsigned char        real_selected_status;
extern unsigned char        zoom_selected_status;

extern unsigned char        dvd_selected_status;



extern unsigned char xdata       menu_layer;
extern unsigned char xdata       main_task; 
extern unsigned char xdata       navi_task;
extern unsigned char xdata       dvd_task;
extern unsigned char xdata       tv_task;
extern unsigned char xdata       radio_task;
extern unsigned char xdata       gsm_task;
extern unsigned char xdata       real_time_task;
extern unsigned char xdata       zoom_task;
extern unsigned char xdata       search_address_task;
extern unsigned char xdata       record_task;
extern unsigned char xdata       speech_task;
extern unsigned char xdata       road_display_task;
extern unsigned char xdata       lati_longti_task;
extern unsigned char xdata       car_connect_task;



static bit OSD_display = 0;

unsigned char L1_menu_task=0;
unsigned char L2_menu_task=0;
unsigned char L3_menu_task=0;

void MENU_level_display(unsigned char menu_level)
{

}



void OSD_main_status_menu(unsigned char menu_pos)
{
     OSD_main_string(menu_pos,2,CHARACTER_RED,7,"导航 ");
     OSD_main_string(menu_pos,5,CHARACTER_GREEN,5,"影碟机 ");  
     OSD_main_string(menu_pos,9,CHARACTER_GREEN,5,"电视 ");  
     OSD_main_string(menu_pos,12,CHARACTER_GREEN,5,"收音机 ");  
     OSD_main_string(menu_pos,16,CHARACTER_GREEN,5,"电话 ");  



}





void OSD_main_menu(void)
{/*layer 0*/
     unsigned char select_color,more_color;
     select_color = CHARACTER_GREEN;
     more_color = CHARACTER_BLACK;
     
     if(main_task != Main_task_NAVI)OSD_main_string(10,5,more_color,7,"1.导 航 ");
     else if(main_task != Main_task_DVD)OSD_main_string(10,5,more_color,5,"2.影碟机 ");  
     else if(main_task != Main_task_TV)OSD_main_string(10,5,more_color,5,"3.电 视 ");  
     else if(main_task != Main_task_RADIO)OSD_main_string(10,5,more_color,5,"4.收音机 ");  
     else if(main_task != Main_task_GSM)OSD_main_string(10,5,more_color,5,"5.电 话 ");  


     switch(main_task)
     {
         case Main_task_NAVI:
              if((main_selected_status & Navi_selected)==Navi_selected)select_color = CHARACTER_RED;
              OSD_main_string(10,5,select_color,7,"1.导 航 ");
              break;
         case Main_task_DVD:
              if((main_selected_status & DVD_selected)==DVD_selected)select_color = CHARACTER_RED;
              OSD_main_string(10,5,select_color,5,"2.影碟机 ");
			  break;

         case Main_task_TV:
              if((main_selected_status & TV_selected)==TV_selected)select_color = CHARACTER_RED;
              OSD_main_string(10,5,select_color,5,"3.电 视 ");
              break;

         case Main_task_RADIO:
              if((main_selected_status & Radio_selected)==Radio_selected)select_color = CHARACTER_RED;
              OSD_main_string(10,5,select_color,5,"4.收音机 ");
              break;

         case Main_task_GSM:
              if((main_selected_status & GSM_selected)==GSM_selected)select_color = CHARACTER_RED;
              OSD_main_string(10,5,select_color,5,"5.电 话 ");
              break;
     }


}


void OSD_navi_menu(void)
{
        unsigned char select_color,more_color;
        select_color = CHARACTER_BLUE;
        more_color = CHARACTER_BLACK;
        
		      
        switch(L1_menu_task)
		{
           case 0:
                clear_main_screen(2,0);             
                OSD_main_string(10,5,more_color,7,"1.导 航 ");
	           
                L1_menu_task++;
    	        //break;

           case 1:
                set_main_displyed_line_para(3,MAIN_LINE_BACKGROUND_WHITE,MAIN_LINE_CHARACTER_SIZE_DOUB_DOUB);//DOUBLE_WIDTH);
                set_main_displyed_line_para(4,MAIN_LINE_BACKGROUND_WHITE,MAIN_LINE_CHARACTER_SIZE_DOUB_DOUB);//DOUBLE_WIDTH);
                set_main_displyed_line_para(5,MAIN_LINE_BACKGROUND_WHITE,MAIN_LINE_CHARACTER_SIZE_DOUB_DOUB);//DOUBLE_WIDTH);
                set_main_displyed_line_para(6,MAIN_LINE_BACKGROUND_WHITE,MAIN_LINE_CHARACTER_SIZE_DOUB_DOUB);//DOUBLE_WIDTH);
                set_main_displyed_line_para(7,MAIN_LINE_BACKGROUND_WHITE,MAIN_LINE_CHARACTER_SIZE_DOUB_DOUB);//DOUBLE_WIDTH);
                set_main_displyed_line_para(8,MAIN_LINE_BACKGROUND_WHITE,MAIN_LINE_CHARACTER_SIZE_DOUB_DOUB);//DOUBLE_WIDTH);

		        OSD_main_string(3,0,more_color,1," 实时定位  ");
                OSD_main_string(4,0,more_color,1," 设置比列尺 ");  
                OSD_main_string(5,0,more_color,1," 查询地址  ");  
                OSD_main_string(6,0,more_color,1," 记录路径  ");  
                OSD_main_string(7,0,more_color,1," 语音开关  ");  
                OSD_main_string(8,0,more_color,1," 道路显示  ");  
                OSD_main_string(3,8,more_color,1," 经纬度开关 ");
                OSD_main_string(4,8,more_color,1," 车辆互连  ");
              
                switch(navi_task)
                {
                  case Navi_real_time:
                       set_main_displyed_line_para(3,MAIN_LINE_BACKGROUND_CYAN,MAIN_LINE_CHARACTER_SIZE_DOUB_DOUB);//DOUBLE_WIDTH);
                       OSD_main_string(3,0,select_color,1," 实时定位  ");
                       break;
                  case Navi_set_zoom:
                       set_main_displyed_line_para(4,MAIN_LINE_BACKGROUND_CYAN,MAIN_LINE_CHARACTER_SIZE_DOUB_DOUB);//DOUBLE_WIDTH);
                       OSD_main_string(4,0,select_color,1," 设置比列尺 ");  
                       break;
                  case Navi_search_address:
                       set_main_displyed_line_para(5,MAIN_LINE_BACKGROUND_CYAN,MAIN_LINE_CHARACTER_SIZE_DOUB_DOUB);//DOUBLE_WIDTH);
                       OSD_main_string(5,0,select_color,1," 查询地址  ");  
                       break;
                  case Navi_record:
                       set_main_displyed_line_para(6,MAIN_LINE_BACKGROUND_CYAN,MAIN_LINE_CHARACTER_SIZE_DOUB_DOUB);//DOUBLE_WIDTH);
                       OSD_main_string(6,0,select_color,1," 记录路径  ");  
                       break;
                  case Navi_speech:
                       set_main_displyed_line_para(7,MAIN_LINE_BACKGROUND_CYAN,MAIN_LINE_CHARACTER_SIZE_DOUB_DOUB);//DOUBLE_WIDTH);
			           OSD_main_string(7,0,select_color,1," 语音开关  ");  
                       break;
                  case Navi_road_display:
                       set_main_displyed_line_para(8,MAIN_LINE_BACKGROUND_CYAN,MAIN_LINE_CHARACTER_SIZE_DOUB_DOUB);//DOUBLE_WIDTH);
			           OSD_main_string(8,0,select_color,1," 道路显示  ");  
                       break;
                  case Navi_lati_longti:
                       //set_main_displyed_line_para(3,MAIN_LINE_BACKGROUND_WHITE,MAIN_LINE_CHARACTER_SIZE_DOUB_DOUB);//DOUBLE_WIDTH);
			           //OSD_main_string(3,8,select_color,1," 经纬度开关 ");
                       break;
                  case Navi_car_connect:
			           //OSD_main_string(4,8,select_color,1," 车辆互连  ");
                       //set_main_displyed_line_para(3,MAIN_LINE_BACKGROUND_WHITE,MAIN_LINE_CHARACTER_SIZE_DOUB_DOUB);//DOUBLE_WIDTH);
                       break;
                }

		        break;
        
		
		}


}

void OSD_dvd_menu(void)
{
        unsigned char select_color,more_color;
        select_color = CHARACTER_GREEN;
        more_color = CHARACTER_BLACK;
      
		OSD_main_string(10,5,more_color,5,"2.影碟机 ");  


        OSD_main_string(3,0,more_color,1,"打开影碟机  ");  
        OSD_main_string(4,0,more_color,1,"关闭影碟机

⌨️ 快捷键说明

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