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

📄 wdd.c

📁 单片机液晶界面系统,128*64,整个系统中容易开发
💻 C
📖 第 1 页 / 共 3 页
字号:
//2006-6-16 14:44
//功能基本完成,


 #pragma OVERLAY
#include <reg51.h>


/*------------------延时子程序-----------------------------*/
void delay(unsigned int t)
   {

    unsigned char j;
    for(;t!=0;t--)
       for(j=0;j<10;j++);
   }

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

//*****************************************************************************************************
//***************************                 **********************************************************
//***************************  键盘驱动部分    *************************************************************
//***************************                 *********************************************************
//*****************************************************************************************************

//定义键值
#define key_SET   0
#define key_UP    1
#define key_DOWN  2
#define key_R     3
#define key_L     4
#define key_EXIT  5
#define key_CLR   6

//定义按键口线
sbit   key_PORT_SET =P0^5;
sbit   key_PORT_UP  =P0^4;
sbit   key_PORT_DOWN=P0^3;
sbit   key_PORT_R   =P0^1;
sbit   key_PORT_L   =P0^2;
sbit   key_PORT_EXIT=P0^0;
sbit   key_PORT_CLR =P0^6;

#define key()  key2()//定义使用哪个按键程序

//------------------------------------------------------------------------------------------
//功能:键盘扫描
//返回值:键值,无键按下时,返回255
//特点:含键盘去抖动,扫描完即返回
//------------------------------------------------------------------------------------------
unsigned char key0(void)
{key_PORT_SET=1;key_PORT_UP=1;key_PORT_DOWN=1;
 key_PORT_R=1;key_PORT_L=1;key_PORT_EXIT=1;key_PORT_CLR=1;
 if(key_PORT_SET==0){delay(1000);if(key_PORT_SET==0)return(key_SET);}
 if(key_PORT_UP==0){delay(1000);if(key_PORT_UP==0)return(key_UP);}
 if(key_PORT_DOWN==0){delay(1000);if(key_PORT_DOWN==0)return(key_DOWN);}
 if(key_PORT_R==0){delay(1000);if(key_PORT_R==0)return(key_R);}
 if(key_PORT_L==0){delay(1000);if(key_PORT_L==0)return(key_L);}
 if(key_PORT_EXIT==0){delay(1000);if(key_PORT_EXIT==0)return(key_EXIT);}
// if(key_PORT_CLR==0){delay(1000);if(key_PORT_CLR==0)return(key_CLR);}
 return(255);
}
//------------------------------------------------------------------------------------------
//功能:键盘扫描
//返回值:键值,无键按下时,返回255
//特点:含键盘去抖动,如果有键按下延时近1秒返回
//------------------------------------------------------------------------------------------
unsigned char key1(void)
{key_PORT_SET=1;key_PORT_UP=1;key_PORT_DOWN=1;
 key_PORT_R=1;key_PORT_L=1;key_PORT_EXIT=1;key_PORT_CLR=1;
 if(key_PORT_SET==0){delay(1000);if(key_PORT_SET==0)delay(10000);delay(10000);return(key_SET);}
 if(key_PORT_UP==0){delay(1000);if(key_PORT_UP==0)delay(10000);delay(10000);return(key_UP);}
 if(key_PORT_DOWN==0){delay(1000);if(key_PORT_DOWN==0)delay(10000);delay(10000);return(key_DOWN);}
 if(key_PORT_R==0){delay(1000);if(key_PORT_R==0)delay(10000);delay(10000);return(key_R);}
 if(key_PORT_L==0){delay(1000);if(key_PORT_L==0)delay(10000);delay(10000);return(key_L);}
 if(key_PORT_EXIT==0){delay(1000);if(key_PORT_EXIT==0)delay(10000);delay(10000);return(key_EXIT);}
 //if(key_PORT_CLR==0){delay(1000);if(key_PORT_CLR==0)delay(10000);delay(10000);return(key_CLR);}
 return(255);
}
//------------------------------------------------------------------------------------------
//功能:键盘扫描
//返回值:键值,无键按下时,返回255
//特点:含键盘去抖动,如果有键按下,等待按键释放返回
//------------------------------------------------------------------------------------------
unsigned char key2(void)
{key_PORT_SET=1;key_PORT_UP=1;key_PORT_DOWN=1;
 key_PORT_R=1;key_PORT_L=1;key_PORT_EXIT=1;key_PORT_CLR=1;
 if(key_PORT_SET==0){delay(1000);if(key_PORT_SET==0){while(key_PORT_SET==0){delay(10);key_PORT_SET=1;}return(key_SET);}}
 if(key_PORT_UP==0){delay(1000);if(key_PORT_UP==0){while(key_PORT_UP==0){delay(10);key_PORT_UP=1;}return(key_UP);}}
 if(key_PORT_DOWN==0){delay(1000);if(key_PORT_DOWN==0){while(key_PORT_DOWN==0){delay(10);key_PORT_DOWN=1;}return(key_DOWN);}}
 if(key_PORT_R==0){delay(1000);if(key_PORT_R==0){while(key_PORT_R==0){delay(10);key_PORT_R=1;}return(key_R);}}
 if(key_PORT_L==0){delay(1000);if(key_PORT_L==0){while(key_PORT_L==0){delay(10);key_PORT_L=1;}return(key_L);}}
 if(key_PORT_EXIT==0){delay(1000);if(key_PORT_EXIT==0){while(key_PORT_EXIT==0){delay(10);key_PORT_EXIT=1;}return(key_EXIT);}}
 //if(key_PORT_CLR==0){delay(1000);if(key_PORT_CLR==0){while(key_PORT_CLR==0){delay(10);key_PORT_CLR=1;}return(key_CLR);}}
 return(255);
}



//*****************************************************************************************************
//*************************************            ******************************************************
//************************************* 液晶部分    ******************************************************
//*************************************            ******************************************************
//*****************************************************************************************************

#define Disp_Off_EN  1 //定义换画面时是否先关显示


#define Disp_On 0x3f  //0011,1111  显示开关控制
#define Disp_Off 0x3e  //0011,1110
#define Col_Add 0x40   //0100,0000 设置y列地址
#define Page_Add 0xb8  //1011,1000  设置页地址
#define Start_Line 0xc0 //1100,0000  设置显示起始行
#define busy 0x80
#define uchar unsigned char
#define uint unsigned int
                                    
#define Lcd_Bus P0 //MCU P2<------> LCM
sbit Cs2=P2^4;      //  /cs2 片选1,低有效(前64列)15   左(Cs2 Cs1=1 0)右(Cs2 Cs1=0 1)
sbit Cs1=P2^3;      //  /cs1 片选2,低有效(后64列)16   左右屏幕显示控制
sbit Enable=P2^5;   //读写使能控制端             6
sbit Di=P2^7;       //数据与控制字接口           4
sbit RW=P2^6;       //读写控制 H/L               5
sbit Lcd_Rst=P3^7;  //复位信号                   17





//**************************************************************************************
//字库点阵定义
//从左到右,从上到下
//所有的显示字符程序都从该字符库取点阵数据
// 0:0; 1:1; 2:2; 3:3; 4:4; 5:5; 6:6; 7:7; 8:8; 9:9; 10: ;(空格)
// 11:学; 12:子; 13:科; 14:技; 15:请; 16:输; 17:入; 18:错; 19:误;20:您; 21好; 22: :;
//23:!; 24:密; 25:码; 26:设; 27:置; 28:系; 29:统; 30:“; 31:”;
//32:进; 33:OK; 34:参; 35:数; 36:修; 37:改; 38:; 39:; 39:;
//
//
//************************************************************************************
unsigned char code CHA_lib[][32]={         //阿拉伯数字0,1,2,3,4,5,6,7,8,9,  16(行)*16(列),

 {0x00,0xf8,0xc8,0x04,0xc4,0x04,0xfc,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x07,0x0f,0x08,0x08,0x08,0x0f,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
 {0x00,0x10,0x18,0xfc,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x08,0x08,0x0f,0x0f,0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
 {0x00,0x08,0x0c,0x84,0xc4,0x64,0x3c,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x0e,0x0f,0x06,0x06,0x06,0x0c,0x0e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
 {0x00,0x08,0x0c,0x44,0x44,0x44,0xfe,0xb8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x04,0x0c,0x08,0x08,0x08,0x0f,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
 {0x00,0xc0,0xe0,0x30,0x18,0xfc,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x01,0x01,0x01,0x01,0x0f,0x0f,0x0b,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
 {0x00,0x7c,0x7c,0x44,0x44,0x44,0xc4,0x84,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x06,0x0e,0x0c,0x04,0x04,0x0f,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
 {0x00,0xf0,0xf8,0x4c,0x44,0x44,0xc0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x07,0x0f,0x08,0x08,0x08,0x0f,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
 {0x00,0x0e,0x0e,0x04,0x84,0xc4,0x7c,0x1c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x0e,0x0f,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
 {0x00,0xb8,0xfc,0x44,0x44,0x44,0xfc,0xb8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x07,0x0f,0x08,0x08,0x08,0x0f,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
 {0x00,0x78,0xfc,0x84,0x84,0x84,0xfc,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x08,0x08,0x08,0x0c,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{//空格
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},


  {//纵向(先左->右, 再上->16*16 "学"
0x40,0x30,0x10,0x12,0x5C,0x54,0x50,0x51,0x5E,0xD4,0x50,0x18,0x57,0x32,0x10,0x00,
0x00,0x02,0x02,0x02,0x02,0x02,0x42,0x83,0x7F,0x02,0x02,0x02,0x02,0x02,0x02,0x00},

  {//纵向(先左->右, 再上->下)16*16 "子"
0x00,0x00,0x02,0x02,0x02,0x02,0x02,0xE2,0x12,0x0A,0x06,0x02,0x00,0x80,0x00,0x00,
0x01,0x01,0x01,0x01,0x01,0x41,0x81,0x7F,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00},

{//纵向(先左->右, 再上->下)16*16 "科"
0x10,0x12,0x92,0x72,0xFE,0x51,0x91,0x00,0x22,0xCC,0x00,0x00,0xFF,0x00,0x00,0x00,
0x04,0x02,0x01,0x00,0xFF,0x00,0x04,0x04,0x04,0x02,0x02,0x02,0xFF,0x01,0x01,0x00},

{//纵向(先左->右, 再上->下)16*16 "技"
0x08,0x08,0x88,0xFF,0x48,0x28,0x00,0xC8,0x48,0x48,0x7F,0x48,0xC8,0x48,0x08,0x00,
0x01,0x41,0x80,0x7F,0x00,0x40,0x40,0x20,0x13,0x0C,0x0C,0x12,0x21,0x60,0x20,0x00},
 /*--  文字:  请  --*/
{/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x40,0x42,0x4C,0xC4,0x00,0x22,0xAA,0xAA,0xAA,0xBF,0xAA,0xAA,0xAA,0x22,0x20,0x00,
0x00,0x00,0x00,0x7F,0x20,0x10,0xFF,0x0A,0x0A,0x0A,0x4A,0x8A,0x7F,0x00,0x00,0x00},

/*--  文字:  输  --*/
{/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x44,0xF4,0x4F,0xE4,0x44,0x64,0x90,0x98,0x94,0x93,0x14,0x98,0x08,0xD0,0x10,0x00,
0x04,0x04,0x04,0xFF,0x02,0x02,0xFF,0x4A,0x8A,0x7F,0x00,0x3F,0x80,0xFF,0x00,0x00},

/*--  文字:  入  --*/
{/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x01,0x83,0x76,0x18,0x60,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x40,0x20,0x10,0x08,0x06,0x01,0x00,0x00,0x00,0x00,0x03,0x04,0x18,0x30,0x10,0x00},

/*--  文字:  错  --*/
{/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x40,0x30,0x2C,0xE7,0x24,0x24,0x40,0x48,0x7F,0x48,0x48,0x7F,0x48,0x48,0x40,0x00,
0x01,0x01,0x01,0xFF,0x41,0x21,0x00,0xFF,0x49,0x49,0x49,0x49,0x49,0xFF,0x00,0x00},

/*--  文字:  误  --*/
{/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x40,0x41,0xCE,0x04,0x00,0x40,0x5F,0x51,0x51,0xD1,0x51,0x51,0x5F,0x40,0x00,0x00,
0x00,0x00,0x3F,0x10,0x88,0x42,0x22,0x12,0x0A,0x07,0x0A,0x12,0x22,0xE2,0x42,0x00},

/*--  文字:  您  --*/
{/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x80,0x40,0x30,0xFC,0x03,0x90,0x68,0x06,0x04,0xF4,0x04,0x24,0x44,0x8C,0x04,0x00,
0x00,0x20,0x38,0x03,0x38,0x40,0x40,0x49,0x52,0x41,0x40,0x70,0x00,0x09,0x30,0x00},


/*--  文字:  好  --*/
{/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x10,0x10,0xF0,0x1F,0x10,0xF0,0x80,0x82,0x82,0x82,0xF2,0x8A,0x86,0x82,0x80,0x00,
0x80,0x43,0x22,0x14,0x0C,0x73,0x20,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00},

/*--  文字:  :  --*/
{/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x36,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},


/*--  文字:  !  --*/
{/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x5F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

/*--  文字:  密  --*/
{/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x58,0x24,0x04,0xF4,0x04,0x8D,0xB6,0x44,0x34,0xCC,0x94,0x24,0xCC,0x04,0x00,
0x02,0x06,0x02,0x79,0x41,0x41,0x41,0x7D,0x41,0x41,0x41,0x40,0x78,0x00,0x00,0x00},


/*--  文字:  码  --*/
{/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x02,0x82,0xE2,0x5E,0x42,0xC2,0x00,0x02,0xFA,0x82,0x82,0x82,0xFE,0x80,0x00,0x00,
0x01,0x00,0x7F,0x10,0x10,0x3F,0x00,0x04,0x04,0x04,0x44,0x84,0x40,0x3F,0x00,0x00},


/*--  文字:  设  --*/
{/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x40,0x41,0xCE,0x04,0x00,0x80,0x40,0xBE,0x82,0x82,0x82,0xBE,0xC0,0x40,0x40,0x00,
0x00,0x00,0x7F,0x20,0x90,0x80,0x40,0x43,0x2C,0x10,0x10,0x2C,0x43,0xC0,0x40,0x00},


/*--  文字:  置  --*/
{/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x20,0x2F,0xA9,0xA9,0xAF,0xE9,0xB9,0xA9,0xAF,0xA9,0xA9,0x2F,0x20,0x00,0x00,
0x80,0x80,0x80,0xFF,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xFF,0x80,0x80,0x80,0x00},

/*--  文字:  系  --*/
{/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x02,0x22,0xB2,0xAA,0x66,0x62,0x22,0x11,0x4D,0x81,0x01,0x01,0x00,0x00,
0x00,0x40,0x21,0x13,0x09,0x05,0x41,0x81,0x7F,0x01,0x05,0x09,0x13,0x62,0x00,0x00},

/*--  文字:  统  --*/
{/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x20,0x30,0x2C,0xA3,0x60,0x10,0x84,0xC4,0xA4,0x9D,0x86,0x84,0xA4,0xC4,0x84,0x00,
0x20,0x22,0x23,0x12,0x12,0x92,0x40,0x30,0x0F,0x00,0x00,0x3F,0x40,0x41,0x70,0x00},

/*--  文字:  “  --*/
{/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x34,0x02,0x00,0x38,0x34,0x02,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},


/*--  文字:  ”  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x16,0x0E,0x00,0x20,0x16,0x0E,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
/*--  文字:  进  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
{0x80,0x82,0x9C,0x88,0x00,0x88,0x88,0xFF,0x88,0x88,0x88,0xFF,0x88,0x88,0x80,0x00,
0x00,0x40,0x20,0x1F,0x20,0x50,0x4C,0x43,0x40,0x40,0x40,0x5F,0x40,0x40,0x40,0x00},
/*--  文字:  OK  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
{0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,
 0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00},

/*--  文字:  参  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
{0x20,0x20,0x28,0x2C,0xAA,0x6B,0x38,0xAC,0x24,0x64,0xA6,0x2C,0x20,0x20,0x00,0x00,
0x02,0x42,0x45,0x55,0x52,0x4A,0x29,0x24,0x24,0x12,0x12,0x09,0x0B,0x06,0x02,0x00},

/*--  文字:  数  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
{0x10,0x92,0x54,0x38,0xFF,0x38,0x54,0x52,0x80,0xF0,0x1F,0x12,0x10,0xF0,0x10,0x00,
0x42,0x42,0x2A,0x2E,0x13,0x1A,0x26,0x02,0x40,0x20,0x13,0x0C,0x33,0x60,0x20,0x00},


/*--  文字:  修  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
{0x20,0x10,0xFC,0x07,0xF2,0x20,0x98,0x8F,0x54,0xA4,0x24,0x54,0xCC,0x80,0x80,0x00,
0x00,0x00,0x7F,0x00,0x03,0x54,0x54,0x4A,0x2B,0x25,0x15,0x12,0x0A,0x09,0x00,0x00},

/*--  文字:  改  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
{0x00,0xC4,0x44,0x44,0x44,0x7C,0x80,0x40,0xF0,0x1F,0x12,0x10,0xF0,0x10,0x10,0x00,
0x00,0x7F,0x20,0x10,0x48,0x44,0x20,0x20,0x10,0x0B,0x0C,0x13,0x20,0x60,0x20,0x00,},
/*--  文字:  我  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
{0x20,0x20,0x22,0x22,0xFE,0x21,0x21,0x20,0x20,0xFF,0x20,0x22,0xAC,0x20,0x20,0x00,
0x04,0x04,0x42,0x82,0x7F,0x01,0x01,0x10,0x10,0x08,0x07,0x1A,0x21,0x40,0xF0,0x00},
/*--  文字:  爱  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
{0x00,0x40,0xB2,0x96,0x9A,0x92,0xF6,0x9A,0x93,0x91,0x99,0x97,0x91,0x90,0x30,0x00,
0x40,0x20,0xA0,0x90,0x4C,0x47,0x2A,0x2A,0x12,0x1A,0x26,0x22,0x40,0xC0,0x40,0x00},
/*--  文字:  王  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
{0x00,0x02,0x82,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x82,0xC3,0x82,0x00,0x00,
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x30,0x20,0x00},
/*--  文字:  丹  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
{0x80,0x80,0x80,0x80,0xFE,0x82,0x8A,0x92,0xF2,0xA2,0x82,0xFE,0x80,0x80,0x80,0x00,
0x00,0x40,0x30,0x0C,0x03,0x00,0x00,0x00,0x00,0x20,0x40,0x3F,0x00,0x00,0x00,0x00}

 };
 /*
 unsigned char code shi1[10][16]={
 {0x00,0xf8,0xc8,0x04,0xc4,0x04,0xfc,0xf8,      //0,1,2,3,4,5,6,7,8,8
  0x00,0x07,0x0f,0x08,0x08,0x08,0x0f,0x07},
 {0x00,0x10,0x18,0xfc,0xfc,0x00,0x00,0x00,
  0x00,0x08,0x08,0x0f,0x0f,0x08,0x08,0x00},
 {0x00,0x08,0x0c,0x84,0xc4,0x64,0x3c,0x18,
  0x00,0x0e,0x0f,0x06,0x06,0x06,0x0c,0x0e},
 {0x00,0x08,0x0c,0x44,0x44,0x44,0xfe,0xb8,
  0x00,0x04,0x0c,0x08,0x08,0x08,0x0f,0x07},
 {0x00,0xc0,0xe0,0x30,0x18,0xfc,0xfc,0x00,
  0x00,0x01,0x01,0x01,0x01,0x0f,0x0f,0x0b},
 {0x00,0x7c,0x7c,0x44,0x44,0x44,0xc4,0x84,
  0x00,0x06,0x0e,0x0c,0x04,0x04,0x0f,0x07},
 {0x00,0xf0,0xf8,0x4c,0x44,0x44,0xc0,0x80,
  0x00,0x07,0x0f,0x08,0x08,0x08,0x0f,0x07},
 {0x00,0x0e,0x0e,0x04,0x84,0xc4,0x7c,0x1c,
  0x00,0x00,0x00,0x0e,0x0f,0x01,0x00,0x00},
 {0x00,0xb8,0xfc,0x44,0x44,0x44,0xfc,0xb8,
  0x00,0x07,0x0f,0x08,0x08,0x08,0x0f,0x07},
 {0x00,0x78,0xfc,0x84,0x84,0x84,0xfc,0xf8,
  0x00,0x00,0x08,0x08,0x08,0x0c,0x07,0x03}
 };*/






//------------------在正常读写前检测忙信号------------------

void Waitenble(void)
    {
     Lcd_Bus=0xff;
     Di=0;RW=1;
     delay(2);
     Enable=1;
     delay(4);
     Lcd_Bus=0xff;
     while(Lcd_Bus&busy!=0){}
         Enable=0;          //读完,操作允许脉冲信号,闲线
    }


//------------------写控制字到LCD------------------------------
void Lcdwritecom(unsigned char Cmd)     //写控制字
   {
    Waitenble();
    Di=0;    //DB0--DB7发送的是指令
    RW=0;    //写指令
    delay(2);
    Lcd_Bus=Cmd;  //写控制字
    delay(2);
    Enable=1;
    delay(4);
    Enable=0;         //操作允许脉冲信号
   }


//*-------------------写数据到LCD----------------------------

void Lcdwritedata(unsigned char Wdata)                //写数据
    {

⌨️ 快捷键说明

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