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

📄 lcd.h

📁 51单片机驱动320*234彩显的源代码
💻 H
📖 第 1 页 / 共 3 页
字号:
//name:lcd.h
//author:Liweihua
//date:2004.11.29
#define wr_cmd XBYTE[0x1000]
#define wr_dat  XBYTE[0x1100]
#define rd_dat  XBYTE[0x1100]

#define PSD_REG_ADDR	0x0200

enum                                
{                                   
    BLACK     = 0x00,    //0000              
    BLUE      = 0x02,    //0010           
    GREEN     = 0x09,    //0100
    CYAN      = 0x06,    //0110
    RED       = 0xE0,    //1001
    MAGENTA   = 0x0B,    //1011
    YELLOW    = 0x0D,    //1101
    WHITE     = 0x0F,     //1111

    BLACK_ADDRED        = 0x01,    //0001              
    BLUE_ADDRED         = 0x03,    //0011           
    GREEN_ADDRED        = 0x05,    //0101
    CYAN_ADDRED         = 0x07,    //0111
    RED_SUBRED          = 0x08,    //1000
    MAGENTA_SUBRED      = 0x0A,    //1010
    YELLOW_SUBRED       = 0x0C,    //1100
    WHITE_SUBRED        = 0x0E     //1110
};

typedef struct
{
	unsigned char* cc_dot;
	unsigned char cc_sum;
	unsigned char   cc_x;
	unsigned char   cc_y;
}MENU_ITEM;

typedef struct 
{
	unsigned char menu_sum;
	MENU_ITEM    menu_item[6];
}WINDOW;

typedef struct
{
#define SCR_EVENT_DISPLAY_FINISHED			0
#define SCR_EVENT_INIT_INFO					1
#define SCR_EVENT_DISP_TIME					2
////////////////////////////////////////////////////
#define SCR_EVENT_MAIN_MENU					3
#define SCR_EVENT_MAINFUNC_NO_UP				4
#define SCR_EVENT_MAINFUNC_NO_DOWN			5
////////////////////////////////////////////////////
#define SCR_EVENT_SUBMENU_SAILOR_LOGIN		6
#define SCR_EVENT_DISP_SAILOR_ID				7
////////////////////////////////////////////////////
#define SCR_EVENT_NEXT_PAGE					8
#define SCR_EVENT_LAST_PAGE					43
#define SCR_EVENT_PRE_PAGE						9
#define SCR_EVENT_RESTORE_PAGE				10
#define SCR_EVENT_NEXT_MSG					11
#define SCR_EVENT_PRE_MSG						12
#define SCR_EVENT_HISTORY_MSG					13
#define SCR_EVENT_NO_RECODE					14
////////////////////////////////////////////////////
#define SCR_EVENT_DIALING_OUT					15
#define SCR_EVENT_RECV_CALL					16
#define SCR_EVENT_TALKING						17
#define SCR_EVENT_MYSELF_HANGUP				18
#define SCR_EVENT_PEER_HANGUP					19
#define SCR_EVENT_PEER_TOUT					20
#define SCR_EVENT_IGNORED_CALLIN				21
////////////////////////////////////////////////////
#define SCR_EVENT_SUBMENU_SET_IP				22
#define SCR_EVENT_DISP_IP						23
////////////////////////////////////////////////////
#define SCR_EVENT_SUBMENU_SET_PORT			24
#define SCR_EVENT_DISP_PORT					25
#define SCR_EVENT_SET_OK						43
////////////////////////////////////////////////////
#define SCR_EVENT_DISP_RTMSG					26
////////////////////////////////////////////////////
#define SCR_EVENT_GPS_QUERY     				27
#define SCR_EVENT_GPRS_SIGNAL_VALUE			28
#define SCR_EVENT_GPRS_STATE					29
#define SCR_EVENT_SHIPPING_LOGINOK			30
#define SCR_EVENT_SAILOR_LOGINOK				31
#define SCR_EVENT_SAILOR_LOGOUTOK			32
//#define SCR_EVENT_SAILOR_LOGING				33
//#define SCR_EVENT_SAILOR_LOGOUTING			34
#define SCR_EVENT_ALARMING					35
#define SCR_EVENT_ALARM_OK					36
////////////////////////////////////////////////////
#define SCR_EVENT_LOGIN_WAIT					37
#define SCR_EVENT_LOGOUT_WAIT					38
#define SCR_EVENT_CHECK_CABLE					39
////////////////////////////////////////////////////
#define SCR_EVENT_COUNT_UP					40
#define SCR_EVENT_COUNT_DOWN					41
////////////////////////////////////////////////////
#define SCR_EVENT_CLEAR_STATE_MSG			42
//#define SCR_EVENT_COMMPACK					43
//#define SCR_EVENT_COMMPACK_ON				44
	unsigned char event_notice;

	unsigned char shipping_logined;

	unsigned char sailor_logined;
	
	unsigned char gps_data_validate_flag;

	unsigned char gps_arrow_no;

	unsigned char gprs_signal_value;
	
	unsigned char gprs_data_command_state;

#define DISPALY_BUF_LEN						64
	unsigned char disp_len;
	unsigned char disp_buf[DISPALY_BUF_LEN];

#define MSG_MAXLEN					300//XXXX,xx:xx:xx:xx,xxxxxxxxx...
	unsigned short msg_num;
	unsigned char no_history_msg;
	unsigned char msg_type;
	unsigned char msg_len;
	unsigned char rd_loc;
	unsigned char msg_buf[MSG_MAXLEN];	
	unsigned char err_msg_on;//err msg flag
	unsigned char init_info_on;//init info window flag
	unsigned char state_msg_on;	
	unsigned char delay_disp_on;
	unsigned char wait_disp_on;
#define DELAY_DISP_TOUT			2
	unsigned char delay_disp_timerh;
#define FLASH_DISP_INTERVAl			50	//500ms

}LCDCB;

//function declaration
void delay(unsigned char loop);
void clear(unsigned char colorb);
void disp_bmp(unsigned int x,unsigned int y,unsigned int row_num,unsigned int col_num,unsigned char *charp);
void set_pixel(unsigned int x,unsigned char y,unsigned char colorb);
void wr_chinese(unsigned int x,unsigned int y);
void get_hzdot(unsigned int hh,unsigned int ll,x,y);
void line(unsigned int x0,unsigned int y0,unsigned int x1,unsigned int y1,unsigned char colorb);
void plot_circle_points(unsigned int x,unsigned int y,unsigned int xx,unsigned int yy,unsigned char c)    ;
void circle (int xc,int yc,int radius,int c);
void arrow0(void);
void arrow1(void);
void arrow2(void);
void arrow3(void);
void arrow4(void);
void arrow5(void);
void arrow6(void);
void arrow7(void);
/////////////////////////////////////////////////////////////////////////////
void lcd_init(void);
void disp_state_column(void);
void gps_disc(void);
void disp_init_window(void);
//void disp_window(WINDOW *win_p);
void disp_time(void);
void clear_menu_region(void);
void disp_input_char(void);
void disp_next_page(void);
void disp_pre_page(void);
void restore_page(void);
void blacken_next_msg_entry(void);
void blacken_pre_msg_entry(void);
void set_pixel(unsigned int xx,unsigned int yy);
void plot_circle_points(unsigned int x,unsigned int y,unsigned int xx,unsigned int yy);    
void circle (int xc,int yc,int radius);
void lcd_poll(void);

static char code str_sailor_id[]="ID:";
static char code str_set_ip[]="IP:";
static char code str_set_port[]="PORT:";
static char code str_no_recode[]="Have no recode! Please go back!";

static char code gps_validate_dot[32]=
{
  255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
  255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
  255,255,255,255,255,255,255,219,182,141,109,109,109,182,255,255,
  255,255,255,255,255,255,255,255,255,219,219,219,219,182,146,77,
  46,46,9,5,9,73,182,255,255,255,255,255,255,255,255,182,
  114,73,73,73,72,73,46,46,9,37,73,73,41,41,146,255,
  255,255,255,255,255,186,146,73,36,36,36,4,10,51,46,4,
  0,36,109,146,109,41,146,255,255,255,255,255,219,109,41,40,
  36,5,9,47,51,10,5,40,36,4,37,109,77,77,182,255,
  255,255,255,255,109,37,36,37,5,10,51,51,14,14,10,45,
  177,109,36,36,73,78,251,255,255,255,255,182,41,5,5,5,
  10,51,51,14,14,14,14,181,249,213,145,72,36,146,255,255,
  255,255,255,109,5,5,5,9,51,51,19,19,14,15,50,254,
  253,249,213,140,40,150,255,255,255,255,182,41,5,4,5,51,
  51,87,123,91,19,19,51,218,253,253,249,213,108,109,255,255,
  255,255,146,37,5,5,46,51,77,119,127,55,19,19,19,86,
  212,244,213,177,108,73,219,255,255,255,146,41,4,42,51,77,
  108,145,82,19,19,19,91,59,87,82,50,109,108,73,219,255,
  255,255,182,37,5,51,46,72,108,141,145,113,82,91,223,191,
  23,19,15,113,140,73,219,255,255,255,182,41,46,47,40,72,
  76,108,145,176,244,154,127,123,23,19,15,77,140,73,255,255,
  255,255,182,41,47,41,36,72,76,108,145,176,177,82,19,19,
  19,14,14,81,108,77,255,255,255,255,109,46,46,4,4,72,
  108,141,144,176,145,15,14,15,14,14,14,113,72,146,255,255,
  255,218,73,46,9,0,0,4,76,108,109,109,46,14,14,14,
  14,10,41,76,73,219,255,255,255,182,41,46,5,0,0,0,
  36,72,72,9,9,9,9,9,9,5,37,73,150,255,255,255,
  255,146,42,10,4,36,36,0,0,36,4,5,5,5,5,5,
  5,4,41,182,255,255,255,255,255,146,41,14,37,72,73,0,
  0,0,0,0,0,0,0,0,36,109,182,255,255,255,255,255,
  255,219,41,10,41,37,37,37,5,5,36,69,73,73,109,146,
  182,255,255,255,255,255,255,255,255,255,146,41,41,41,41,41,
  41,109,182,219,219,219,255,255,255,255,255,255,255,255,255,255,
  255,255,255,150,109,109,109,146,214,255,255,255,255,255,255,255,
  255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
  255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
};

static char code shipping_dot[24*24]=
{59,114,114,114,50,160,224,169,169,164,160,105,22,31,31,31,
  31,31,31,31,31,31,31,31,59,141,141,141,173,109,82,31,
  31,27,0,73,77,27,31,31,31,31,27,31,31,31,31,31,
  31,31,31,13,41,13,31,31,31,31,31,114,255,73,27,31,
  18,9,0,13,31,31,31,31,31,31,22,18,41,214,45,27,
  31,27,9,73,109,13,31,22,22,9,182,109,9,31,31,31,
  31,31,22,31,45,219,109,22,27,118,109,109,109,59,22,27,
  31,22,146,214,9,22,31,31,31,31,22,4,32,73,114,22,
  22,109,109,73,109,45,13,31,22,0,73,13,31,31,31,31,
  31,31,22,178,182,4,59,31,31,18,73,219,219,109,114,22,
  22,22,45,31,31,31,31,31,31,22,27,13,32,109,18,31,
  31,31,13,214,255,255,36,27,0,105,109,45,31,31,31,31,
  31,22,27,31,50,219,141,18,31,31,13,214,255,219,36,31,
  31,77,255,214,9,31,31,31,31,22,27,31,13,214,146,13,
  31,13,36,146,178,73,22,31,31,41,255,219,9,31,31,31,
  31,22,27,13,32,109,18,31,118,146,146,109,13,27,31,22,
  0,68,109,41,31,31,31,31,31,27,27,22,50,146,22,27,
  45,73,73,73,13,9,18,182,182,178,45,27,31,31,31,31,
  31,13,18,45,36,73,41,27,31,36,255,219,251,255,68,219,
  36,73,73,73,22,31,31,31,9,214,109,146,109,255,214,9,
  31,45,214,255,255,255,146,182,109,219,255,255,36,31,31,31,
  68,255,36,223,114,150,255,73,27,27,105,255,255,255,219,36,
  255,73,255,255,178,13,31,31,41,255,68,219,146,182,255,73,
  27,18,146,255,219,182,146,109,219,73,255,255,146,13,31,31,
  68,178,32,182,73,255,141,13,31,68,255,255,214,219,36,255,
  73,182,255,219,4,31,31,31,4,4,114,77,4,73,109,118,
  9,0,36,36,36,36,150,182,36,36,41,41,27,31,31,31,
  27,22,13,18,50,178,150,22,31,31,31,155,31,31,87,155,
  219,182,82,22,22,18,18,31,31,8,0,0,0,0,0,13,
  13,13,13,41,13,9,73,109,36,0,0,0,0,18,17,31,
  11,31,8,108,76,104,108,72,104,104,72,72,72,104,72,72,
  72,72,108,0,23,27,11,7,3,11,10,1,1,1,1,1,
  1,1,1,1,1,1,1,1,1,1,2,3,3,3,3,3,
  3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
  3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
  3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
};

static char code head_dot[24*24]=
{255,255,255,255,255,255,255,146,146,72,72,72,72,72,72,146,
  146,255,255,255,255,255,255,255,255,255,255,255,255,183,109,108,
  108,252,252,252,252,252,252,108,108,109,183,255,255,255,255,255,
  255,255,255,255,182,0,144,252,252,252,252,252,252,252,252,252,
  252,144,0,182,255,255,255,255,255,255,255,146,108,252,252,252,
  252,252,252,252,252,252,252,252,252,252,252,108,146,255,255,255,
  255,255,183,108,252,252,252,252,252,252,252,252,252,252,252,252,
  252,252,252,252,108,183,255,255,255,183,0,252,252,252,252,252,
  252,252,252,252,252,252,252,252,252,252,252,252,252,0,183,255,
  255,109,144,252,252,252,252,252,36,36,252,252,252,252,36,36,
  252,252,252,252,252,144,109,255,146,108,252,252,252,252,252,144,
  0,0,108,252,252,108,0,0,144,252,252,252,252,252,72,255,
  146,108,252,252,252,252,252,144,0,0,108,252,252,108,0,0,
  144,252,252,252,252,252,108,219,72,252,252,252,252,252,252,144,
  0,0,108,252,252,108,0,0,144,252,252,252,252,252,252,0,
  72,252,252,252,252,252,252,216,0,0,180,252,252,180,0,0,
  216,252,252,252,252,252,252,0,72,252,252,252,252,252,252,252,
  216,216,252,252,252,252,216,216,252,252,252,252,252,252,252,0,
  72,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,
  252,252,252,252,252,252,252,0,72,252,252,252,252,252,144,252,
  252,252,252,252,252,252,252,252,252,252,180,252,252,252,252,0,
  72,252,252,252,252,252,36,252,252,252,252,252,252,252,252,252,
  252,216,36,252,252,252,252,0,146,108,252,252,252,252,108,252,
  252,252,252,252,252,252,252,252,252,180,108,252,252,252,72,255,
  146,108,252,252,252,252,216,0,252,252,252,252,252,252,252,252,
  180,0,252,252,252,252,72,219,255,109,144,252,252,252,252,108,
  0,216,252,252,252,252,252,180,0,180,252,252,252,144,109,255,
  255,183,0,252,252,252,252,252,108,72,144,144,144,144,144,72,
  180,252,252,252,252,0,183,255,255,255,183,108,252,252,252,252,
  252,252,108,144,108,144,144,252,252,252,252,252,108,183,255,255,
  255,255,255,146,108,252,252,252,252,252,252,252,252,252,252,252,
  252,252,252,108,146,255,255,255,255,255,255,255,182,0,144,252,
  252,252,252,252,252,252,252,252,252,144,0,182,255,255,255,255,
  255,255,255,255,255,219,109,72,72,252,252,252,252,252,252,72,
  72,109,219,255,255,255,255,255,255,255,255,255,255,255,255,255,
  219,0,0,0,0,0,0,219,219,255,255,255,255,255,255,255
};

static char code menuicon_login_dot[]=
{255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
  36,119,119,255,255,255,255,255,255,255,255,255,255,219,219,219,

⌨️ 快捷键说明

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