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

📄 lcm5110.c

📁 NOKIA5110液晶驱动程序
💻 C
📖 第 1 页 / 共 2 页
字号:

#include "STUDY(DIY)LCM5110+7135ADC+SD.H"

sbit Lcd3310_CLK = P1^4; //时钟
sbit Lcd3310_DIN = P1^5; //数据
sbit Lcd3310_DC  = P1^6;   //1写数据,0写指令
sbit Lcd3310_SCE = P1^7;  //片选

unsigned char const Font6x8C[][6] = {
{ 0x02, 0x05, 0x02, 0x00, 0x00, 0x00 },  //Degree C // 0x01, 0x7c, 0x82, 0x82, 0x82, 0x44
{ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 },  //'
};

unsigned char const Font6x8[][6] =
{
    { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },   // sp
    { 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00 },   // !
    { 0x00, 0x00, 0x07, 0x00, 0x07, 0x00 },   // "
    { 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14 },   // #
    { 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12 },   // $
    { 0x00, 0x62, 0x64, 0x08, 0x13, 0x23 },   // %
    { 0x00, 0x36, 0x49, 0x55, 0x22, 0x50 },   // &
    { 0x00, 0x00, 0x05, 0x03, 0x00, 0x00 },   // '
    { 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00 },   // (
    { 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00 },   // )
    { 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14 },   // *
    { 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08 },   // +
    { 0x00, 0x00, 0x00, 0xA0, 0x60, 0x00 },   // ,
    { 0x00, 0x08, 0x08, 0x08, 0x08, 0x08 },   // -
    { 0x00, 0x00, 0x60, 0x60, 0x00, 0x00 },   // .
    { 0x00, 0x20, 0x10, 0x08, 0x04, 0x02 },   // /
    { 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E },   // 0
    { 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00 },   // 1
    { 0x00, 0x42, 0x61, 0x51, 0x49, 0x46 },   // 2
    { 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31 },   // 3
    { 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10 },   // 4
    { 0x00, 0x27, 0x45, 0x45, 0x45, 0x39 },   // 5
    { 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30 },   // 6
    { 0x00, 0x01, 0x71, 0x09, 0x05, 0x03 },   // 7
    { 0x00, 0x36, 0x49, 0x49, 0x49, 0x36 },   // 8
    { 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E },   // 9
    { 0x00, 0x00, 0x36, 0x36, 0x00, 0x00 },   // :
    { 0x00, 0x00, 0x56, 0x36, 0x00, 0x00 },   // ;
    { 0x00, 0x08, 0x14, 0x22, 0x41, 0x00 },   // <
    { 0x00, 0x14, 0x14, 0x14, 0x14, 0x14 },   // =
    { 0x00, 0x00, 0x41, 0x22, 0x14, 0x08 },   // >
    { 0x00, 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
    { 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E },   // @
    { 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C },   // A
    { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36 },   // B
    { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22 },   // C
    { 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C },   // D
    { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41 },   // E
    { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01 },   // F
    { 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A },   // G
    { 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F },   // H
    { 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00 },   // I
    { 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01 },   // J
    { 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41 },   // K
    { 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40 },   // L
    { 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F },   // M
    { 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F },   // N
    { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E },   // O
    { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06 },   // P
    { 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E },   // Q
    { 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46 },   // R
    { 0x00, 0x46, 0x49, 0x49, 0x49, 0x31 },   // S
    { 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01 },   // T
    { 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F },   // U
    { 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F },   // V
    { 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F },   // W
    { 0x00, 0x63, 0x14, 0x08, 0x14, 0x63 },   // X
    { 0x00, 0x07, 0x08, 0x70, 0x08, 0x07 },   // Y
    { 0x00, 0x61, 0x51, 0x49, 0x45, 0x43 },   // Z
    { 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00 },   // [
    { 0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55 },   // 55
    { 0x00, 0x00, 0x41, 0x41, 0x7F, 0x00 },   // ]
    { 0x00, 0x04, 0x02, 0x01, 0x02, 0x04 },   // ^
    { 0x00, 0x40, 0x40, 0x40, 0x40, 0x40 },   // _
    { 0x00, 0x00, 0x01, 0x02, 0x04, 0x00 },   // '
    { 0x00, 0x20, 0x54, 0x54, 0x54, 0x78 },   // a
    { 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38 },   // b
    { 0x00, 0x38, 0x44, 0x44, 0x44, 0x20 },   // c
    { 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F },   // d
    { 0x00, 0x38, 0x54, 0x54, 0x54, 0x18 },   // e
    { 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02 },   // f
    { 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C },   // g
    { 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78 },   // h
    { 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00 },   // i
    { 0x00, 0x40, 0x80, 0x84, 0x7D, 0x00 },   // j
    { 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00 },   // k
    { 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00 },   // l
    { 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78 },   // m
    { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78 },   // n
    { 0x00, 0x38, 0x44, 0x44, 0x44, 0x38 },   // o
    { 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18 },   // p
    { 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC },   // q
    { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08 },   // r
    { 0x00, 0x48, 0x54, 0x54, 0x54, 0x20 },   // s
    { 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20 },   // t
    { 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C },   // u
    { 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C },   // v
    { 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C },   // w
    { 0x00, 0x44, 0x28, 0x10, 0x28, 0x44 },   // x
    { 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C },   // y
    { 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44 },   // z
    { 0x14, 0x14, 0x14, 0x14, 0x14, 0x14 }    // horiz lines      
};

unsigned char const Font4x8[][4] =
{  
   { 0x00, 0x00, 0x24, 0x00},      // :
   { 0x04, 0x03, 0x00, 0x00},      //'
   { 0x00, 0x40, 0x00, 0x00},      //.
}; 

unsigned char const Font3x8[][3] =
{
  { 0x00, 0x00, 0x00 },   // sp
  { 0x00, 0x40, 0x00 },   // .
  { 0x00, 0x24, 0x00 },   // :
};

unsigned char code FONT_BIG_NUMBERS[]=
{
/*------------------------------------------------------------------------------
;  源文件 / 文字 : 0123456789  ( Franklin Gothic Demi Cond 粗体 四号)
;  PIXELS  : 121 x 16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/242字节
;  数据转换日期  : 2009-04-17 23:34:31
------------------------------------------------------------------------------*/
0x00,0xE0,0xF8,0xFC,0xFC,0x0C,0xFC,0xFC,0xF8,0xE0,0x00,0x00,0x00,0x30,0x38,0xFC,
0xFC,0xFC,0xFC,0x00,0x00,0x00,0x00,0x70,0x78,0x7C,0x7C,0x0C,0xFC,0xFC,0xF8,0xF0,
0x00,0x30,0x38,0x3C,0xBC,0x9C,0x8C,0xFC,0xFC,0xF8,0x70,0x00,0x00,0x80,0xC0,0xF0,
0x7C,0xFC,0xFC,0xFC,0xFC,0x00,0x00,0x00,0xE0,0xFC,0xFC,0xFC,0xCC,0xCC,0xCC,0x8C,
0x00,0x00,0x00,0xE0,0xF8,0xFC,0xFC,0x8C,0xBC,0xBC,0x38,0x10,0x00,0x00,0x0C,0x0C,
0x0C,0x0C,0xCC,0xFC,0xFC,0x3C,0x0C,0x00,0x00,0xF0,0xF8,0xFC,0xFC,0xCC,0xFC,0xFC,
0xF8,0x70,0x00,0x00,0xF0,0xF8,0xFC,0xFC,0x0C,0xFC,0xFC,0xF8,0xE0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x3F,0x7F,0x7F,0x60,0x7F,
0x7F,0x3F,0x0F,0x00,0x00,0x00,0x60,0x60,0x7F,0x7F,0x7F,0x7F,0x60,0x60,0x00,0x00,
0x60,0x78,0x7C,0x7E,0x6F,0x6F,0x67,0x63,0x60,0x00,0x18,0x38,0x78,0x79,0x61,0x61,
0x7F,0x7F,0x3F,0x1E,0x00,0x0E,0x0F,0x0F,0x0D,0x0C,0x7F,0x7F,0x7F,0x7F,0x0C,0x00,
0x18,0x39,0x79,0x79,0x60,0x61,0x7F,0x7F,0x3F,0x1F,0x00,0x00,0x0F,0x3F,0x7F,0x7F,
0x61,0x7F,0x7F,0x3F,0x1E,0x00,0x00,0x00,0x00,0x78,0x7F,0x7F,0x7F,0x03,0x00,0x00,
0x00,0x00,0x1C,0x3F,0x7F,0x7F,0x63,0x7F,0x7F,0x3F,0x1E,0x00,0x00,0x18,0x39,0x7B,
0x7B,0x63,0x7F,0x7F,0x3F,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00

/*------------------------------------------------------------------------------
;  源文件 / 文字 : 0123456789   ( Franklin Gothic Demi Cond 粗体 四号)
;  像素: 宽 X 高 = 110x16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/220字节
;  数据转换日期  : 2009-04-16 23:26:04
------------------------------------------------------------------------------
0x00,0xE0,0xF8,0xFC,0xFC,0x0C,0xFC,0xFC,0xF8,0xE0,0x00,0x00,0x00,0x30,0x38,0xFC,
0xFC,0xFC,0xFC,0x00,0x00,0x00,0x00,0x70,0x78,0x7C,0x7C,0x0C,0xFC,0xFC,0xF8,0xF0,
0x00,0x30,0x38,0x3C,0xBC,0x9C,0x8C,0xFC,0xFC,0xF8,0x70,0x00,0x00,0x80,0xC0,0xF0,
0x7C,0xFC,0xFC,0xFC,0xFC,0x00,0x00,0x00,0xE0,0xFC,0xFC,0xFC,0xCC,0xCC,0xCC,0x8C,
0x00,0x00,0x00,0xE0,0xF8,0xFC,0xFC,0x8C,0xBC,0xBC,0x38,0x10,0x00,0x00,0x0C,0x0C,
0x0C,0x0C,0xCC,0xFC,0xFC,0x3C,0x0C,0x00,0x00,0xF0,0xF8,0xFC,0xFC,0xCC,0xFC,0xFC,
0xF8,0x70,0x00,0x00,0xF0,0xF8,0xFC,0xFC,0x0C,0xFC,0xFC,0xF8,0xE0,0x00,0x00,0x0F,
0x3F,0x7F,0x7F,0x60,0x7F,0x7F,0x3F,0x0F,0x00,0x00,0x00,0x60,0x60,0x7F,0x7F,0x7F,
0x7F,0x60,0x60,0x00,0x00,0x60,0x78,0x7C,0x7E,0x6F,0x6F,0x67,0x63,0x60,0x00,0x18,
0x38,0x78,0x79,0x61,0x61,0x7F,0x7F,0x3F,0x1E,0x00,0x0E,0x0F,0x0F,0x0D,0x0C,0x7F,
0x7F,0x7F,0x7F,0x0C,0x00,0x18,0x39,0x79,0x79,0x60,0x61,0x7F,0x7F,0x3F,0x1F,0x00,
0x00,0x0F,0x3F,0x7F,0x7F,0x61,0x7F,0x7F,0x3F,0x1E,0x00,0x00,0x00,0x00,0x78,0x7F,
0x7F,0x7F,0x03,0x00,0x00,0x00,0x00,0x1C,0x3F,0x7F,0x7F,0x63,0x7F,0x7F,0x3F,0x1E,
0x00,0x00,0x18,0x39,0x7B,0x7B,0x63,0x7F,0x7F,0x3F,0x0F,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00
*/
};

unsigned char code FONT_BIG_DOT[]=
{
/*------------------------------------------------------------------------------
;  源文件 / 文字 : :( Franklin Gothic Demi Cond 粗体 四号)
;  PIXELS: 9 x 16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/18字节
;  数据转换日期  : 2009-04-16 23:55:45
------------------------------------------------------------------------------*/
0x00,0x00,0x00,0x70,0x70,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x1C,0x00,
0x00,0x00
};

unsigned char code FONT_BIG_DOT1[]=
{
/*------------------------------------------------------------------------------
;  源文件 / 文字 : 。
;  PIXELS: 9 x 16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/18字节
;  数据转换日期  : 2009-04-17 23:08:53
------------------------------------------------------------------------------*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x1C,0x00,
0x00,0x00,
};

unsigned char code FONT_BIG_V[]=
{
/*------------------------------------------------------------------------------
;  源文件 / 文字 : V
;  PIXELS  :  10 x 16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/18字节
;  数据转换日期  : 2009-04-17 23:20:14
------------------------------------------------------------------------------*/
0x0C,0xFC,0xFC,0xFC,0xF0,0x00,0xF0,0xFC,0xFC,0x0C,0x00,0x01,0x1F,0x7F,0x7F,0x7E,
0x7F,0x1F,0x00,0x00
};

/*******************************************************************************************************
  通用延时子程序
********************************************************************************************************/
void DELAY(unsigned int m)
{
  while (m--);
}                     //6*8*200=9600;
//**************************************************************
//写一字节      Comm=0,命令模式; Comm=1,数据模式
//**************************************************************
 void Lcd3310WriteByte(unsigned char Data, unsigned char Comm)
 { 
  unsigned char i=8; 
  Lcd3310_SCE = 0; 
  Lcd3310_DC = Comm; 
  while (i--)
   { 
    if (Data&0x80){Lcd3310_DIN = 1;} 
    else {Lcd3310_DIN = 0;} 
    Lcd3310_CLK = 0; 
    Lcd3310_CLK = 1; 
    Data <<= 1; 
   } 
  Lcd3310_DC  = 1; 
  Lcd3310_SCE = 1; 
  Lcd3310_DIN = 1; 
} 
//**************************************************************
//初始化 NOKIA5110LCD
//**************************************************************
void Lcd3310Init(void) 
{   
  DELAY(10); 

  Lcd3310_SCE=1; 
  Lcd3310_DIN=1; 
  Lcd3310_CLK=1; 
  Lcd3310WriteByte(0x21,0); //初始化Lcd,PD=0,V=0,功能设定使用扩充指令 
  Lcd3310WriteByte(0xd5,0); //设定液晶偏置电压(高--低) 
  Lcd3310WriteByte(0x20,0); //使用基本指令 PD=0,V=0
  Lcd3310WriteByte(0x0C,0); //设定显示模式,正常显示 D=1,E=0  (反白显示:0x0D,0)
}
//**************************************************************
//设定地址
//**************************************************************
 void SetAddr(unsigned char a,unsigned char d)
 {
  Lcd3310WriteByte((a|0x80),0); //设定x坐标
  Lcd3310WriteByte((d|0x40),0); //设定y坐标
 }
//*************************************************************
//清屏
//*************************************************************
 void CLR3310(void) {
   unsigned char t,k;
   unsigned int d; 
   d=0;  
   for(t=0;t<6;t++) {   
     for(k=0;k<84;k++){        
        SetAddr(k,t);
        Lcd3310WriteByte(0,1);
        d=d+1;
        if(d>504) d=d-504;
     } 
   }
}
               
//*************************************************************
//显示数字
//*************************************************************
void LcdNumber( char x0, char y0, unsigned char num)
{
  unsigned char z; 
  SetAddr(x0,y0);                 //定位

⌨️ 快捷键说明

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