📄 lcm5110.c
字号:
#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 + -