诺基亚5110显示.docx
《诺基亚5110显示.docx》由会员分享,可在线阅读,更多相关《诺基亚5110显示.docx(15页珍藏版)》请在冰豆网上搜索。
![诺基亚5110显示.docx](https://file1.bdocx.com/fileroot1/2022-12/14/80266411-9d7b-4746-a8f7-a0c9ddcb201c/80266411-9d7b-4746-a8f7-a0c9ddcb201c1.gif)
诺基亚5110显示
诺基亚5110/3310液晶显示程序
包括10个阿拉伯数字,28个英文字母及一些标点的字模代码,汉字的代码可以通过字模工具生成,若需要可以联系我:
ziye334@
以下程序有三种显示效果:
1、移动2、直接显示3、跳动
#include
#defineucharunsignedchar
#defineuintunsignedint
ucharcount;
sbitsce=P0^0;//片选
sbitres=P0^1;//复位,0复位
sbitdc=P0^2;//1写数据,0写指令
sbitsdin=P0^3;//数据
sbitsclk=P0^4;//时钟
ucharcodeshuzi[]={
/*--文字:
0--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,
/*--文字:
1--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,
/*--文字:
2--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,
/*--文字:
3--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,
/*--文字:
4--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,
/*--文字:
5--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,
/*--文字:
6--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,
/*--文字:
7--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,
/*--文字:
8--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,
/*--文字:
9--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,
/*--文字:
a--10*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20,
/*--文字:
b--11*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00,
/*--文字:
c--12*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,
/*--文字:
d--13*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x00,0x80,0x80,0x88,0xF8,0x00,0x00,0x0E,0x11,0x20,0x20,0x10,0x3F,0x20,
/*--文字:
e--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00,
/*--文字:
f--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,
/*--文字:
g--16*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00,
/*--文字:
h--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,
/*--文字:
i--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,
/*--文字:
j--19*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,
/*--文字:
k--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00,
/*--文字:
l--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,
/*--文字:
m--22*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,
/*--文字:
n--23*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,
/*--文字:
o--24*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,
/*--文字:
p--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00,
/*--文字:
q--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80,
/*--文字:
r--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00,
/*--文字:
s--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00,
/*--文字:
t--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00,
/*--文字:
u--30*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20,
/*--文字:
v--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00,
/*--文字:
w--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00,
/*--文字:
x--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00,
/*--文字:
y--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00,
/*--文字:
z--35*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00,
/*--文字:
---*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
/*--文字:
=--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,
/*--文字:
\--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x38,0xC0,0x00,
/*--文字:
--39*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*--文字:
[--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00,
/*--文字:
]--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,
/*--文字:
;--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00,
/*--文字:
'--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*--文字:
--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xB0,0x70,0x00,0x00,0x00,0x00,0x00,
/*--文字:
.--45*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,
/*--文字:
/--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00,
};
unsignedcharcodemaohao[]={
/*--文字:
:
--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00
};
unsignedcharcodejiaohao[]={
/*--文字:
+---48*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x10,0x10,0x7C,0x10,0x10,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x00,
/*--文字:
+--49*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x10,0x10,0x7C,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*--文字:
---50*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x00
};
ucharcodehanzi[]=
{//张
0x02,0xE2,0x22,0x22,0x3E,0x80,0x80,0xFF,0x80,0xA0,0x90,0x88,0x86,0x80,0x80,0x00,
0x00,0x43,0x82,0x42,0x3E,0x00,0x00,0xFF,0x40,0x21,0x06,0x08,0x10,0x20,0x40,0x00,
//某
0x04,0x04,0x04,0x04,0xFF,0x24,0x24,0x24,0x24,0x24,0xFF,0x04,0x04,0x04,0x04,0x00,
0x44,0x44,0x24,0x24,0x15,0x0D,0x05,0xFF,0x05,0x0D,0x15,0x24,0x24,0x44,0x44,0x00,
//某
0x04,0x04,0x04,0x04,0xFF,0x24,0x24,0x24,0x24,0x24,0xFF,0x04,0x04,0x04,0x04,0x00,
0x44,0x44,0x24,0x24,0x15,0x0D,0x05,0xFF,0x05,0x0D,0x15,0x24,0x24,0x44,0x44,0x000,
//您
0x20,0x10,0x08,0xFC,0x23,0x10,0x88,0x67,0x04,0xF4,0x04,0x24,0x54,0x8C,0x00,0x00,
0x40,0x30,0x00,0x77,0x80,0x81,0x88,0xB2,0x84,0x83,0x80,0xE0,0x00,0x11,0x60,0x00,
//好
0x10,0x10,0xF0,0x1F,0x10,0xF0,0x00,0x80,0x82,0x82,0xE2,0x92,0x8A,0x86,0x80,0x00,
0x40,0x22,0x15,0x08,0x16,0x61,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,
//您
0x20,0x10,0x08,0xFC,0x23,0x10,0x88,0x67,0x04,0xF4,0x04,0x24,0x54,0x8C,0x00,0x00,
0x40,0x30,0x00,0x77,0x80,0x81,0x88,0xB2,0x84,0x83,0x80,0xE0,0x00,0x11,0x60,0x00,
//的
0x00,0xF8,0x0C,0x0B,0x08,0x08,0xF8,0x40,0x30,0x8F,0x08,0x08,0x08,0xF8,0x00,0x00,
0x00,0x7F,0x21,0x21,0x21,0x21,0x7F,0x00,0x00,0x00,0x43,0x80,0x40,0x3F,0x00,0x00,
//学
0x40,0x30,0x11,0x96,0x90,0x90,0x91,0x96,0x90,0x90,0x98,0x14,0x13,0x50,0x30,0x00,
0x04,0x04,0x04,0x04,0x04,0x44,0x84,0x7E,0x06,0x05,0x04,0x04,0x04,0x04,0x04,0x00,
//号
0x80,0x80,0x80,0xBE,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xA2,0xBE,0x80,0x80,0x80,0x00,
0x00,0x00,0x00,0x06,0x05,0x04,0x04,0x04,0x44,0x84,0x44,0x3C,0x00,0x00,0x00,0x00,
//为
0x00,0x20,0x22,0x2C,0x20,0x20,0xE0,0x3F,0x20,0x20,0x20,0x20,0xE0,0x00,0x00,0x00,
0x80,0x40,0x20,0x10,0x08,0x06,0x01,0x00,0x01,0x46,0x80,0x40,0x3F,0x00,0x00,0x00,
};
voiddelay_1ms(void)//1ms延时函数
{
unsignedinti;
for(i=0;i<500;i++);
;
}
/*--------------------------------------------
LCD_write_byte:
使用SPI接口写数据到LCD
输入参数:
dt:
写入的数据;
command:
写数据/命令选择;
编写日期:
20080918
----------------------------------------------*/
voidLCD_write_byte(uchardt,ucharcommand)
{
uchari;
sce=0;
dc=command;//command=1为写数据,command=0为写指令
for(i=0;i<8;i++)
{
if(dt&0x80)
sdin=1;
else
sdin=0;
dt=dt<<1;
sclk=0;//sclk上升沿接收一位数据
sclk=1;
}
dc=1;
sce=1;
sdin=1;
}
/*---------------------------------------
LCD_init:
3310LCD初始化
编写日期:
20080918
-----------------------------------------*/
voidLCD_init(void)
{
res=0;//复位
delay_1ms();
res=1;
LCD_write_byte(0x21,0);//初始化Lcd,功能设定使用扩充指令
LCD_write_byte(0xd0,0);//设定液晶偏置电压
LCD