xs128和诺基亚5110lcd.docx
《xs128和诺基亚5110lcd.docx》由会员分享,可在线阅读,更多相关《xs128和诺基亚5110lcd.docx(24页珍藏版)》请在冰豆网上搜索。
xs128和诺基亚5110lcd
//*****************************main.c************************************
#include
#include"fonts.h"
#include"lcd.h"
intcount,i,j;
#defineTIME_INTER1000//1000个ms=1s
unsignedintGet_pulse;//脉冲个数
unsignedintnumber_count;
unsignedcharshuzi[]={
/*--文字:
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--25*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00,
/*--文字:
q--26*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80,
/*--文字:
r--27*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00,
/*--文字:
s--28*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00,
/*--文字:
t--29*/
/*--宋体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--31*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00,
/*--文字:
w--32*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00,
/*--文字:
x--33*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00,
/*--文字:
y--34*/
/*--宋体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,
/*--文字:
---36*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
/*--文字:
=--37*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,
/*--文字:
\--38*/
/*--宋体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,
/*--文字:
[--40*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00,
/*--文字:
]--41*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,
/*--文字:
;--42*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00,
/*--文字:
'--43*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*--文字:
--44*/
/*--宋体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,
/*--文字:
/--46*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00,
};
unsignedcharmaohao[]={
/*--文字:
:
--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=8x16--*/
0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00
};
unsignedcharjiaohao[]={
/*--文字:
+---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
};
unsignedcharhanzi[]=
{
/*--文字:
宁--*/
/*--TrebuchetMS12;此字体下对应的点阵为:
宽x高=16x16--*/
0x00,0x90,0x8C,0x84,0x84,0x84,0x85,0x86,0x84,0x84,0x84,0x84,0x94,0x8E,0x04,0x00,
0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*--文字:
波--*/
/*--TrebuchetMS12;此字体下对应的点阵为:
宽x高=16x16--*/
0x10,0x60,0x01,0xE6,0x00,0xF8,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0x18,0x08,0x00,
0x04,0x04,0xFF,0x40,0x30,0x8F,0x80,0x41,0x26,0x18,0x18,0x26,0x61,0xC0,0x40,0x00,
/*--文字:
单--*/
/*--TrebuchetMS12;此字体下对应的点阵为:
宽x高=16x16--*/
0x00,0x00,0xF8,0x28,0x29,0x2E,0x2A,0xF8,0x28,0x2C,0x2B,0x2A,0xF8,0x00,0x00,0x00,
0x08,0x08,0x0B,0x09,0x09,0x09,0x09,0xFF,0x09,0x09,0x09,0x09,0x0B,0x08,0x08,0x00,
/*--文字:
片--*/
/*--TrebuchetMS12;此字体下对应的点阵为:
宽x高=16x16--*/
0x00,0x00,0x00,0xFE,0x10,0x10,0x10,0x10,0x10,0x1F,0x10,0x10,0x10,0x18,0x10,0x00,
0x80,0x40,0x30,0x0F,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xFF,0x00,0x00,0x00,0x00,
/*--文字:
机--*/
/*--TrebuchetMS12;此字体下对应的点阵为:
宽x高=16x16--*/
0x08,0x08,0xC8,0xFF,0x48,0x88,0x08,0x00,0xFE,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,
0x04,0x03,0x00,0xFF,0x00,0x41,0x30,0x0C,0x03,0x00,0x00,0x00,0x3F,0x40,0x78,0x00,
/*--文字:
开--*/
/*--TrebuchetMS12;此字体下对应的点阵为:
宽x高=16x16--*/
0x40,0x42,0x42,0x42,0x42,0xFE,0x42,0x42,0x42,0x42,0xFE,0x42,0x42,0x42,0x42,0x00,
0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,
/*--文字:
发--*/
/*--TrebuchetMS12;此字体下对应的点阵为:
宽x高=16x16--*/
0x00,0x10,0x3E,0x10,0x10,0xF0,0x9F,0x90,0x90,0x92,0x94,0x1C,0x10,0x10,0x10,0x00,
0x40,0x20,0x10,0x88,0x87,0x41,0x46,0x28,0x10,0x28,0x27,0x40,0xC0,0x40,0x00,0x00,
/*--文字:
网--*/
/*--TrebuchetMS12;此字体下对应的点阵为:
宽x高=16x16--*/
0x00,0xFE,0x02,0x12,0x22,0xC2,0x22,0x1A,0x22,0x42,0x82,0x72,0x22,0xFE,0x00,0x00,
0x00,0x7F,0x08,0x04,0x03,0x00,0x03,0x0C,0x04,0x02,0x01,0x26,0x60,0x3F,0x00,0x00,
};
voiddelay_1ms(void)//1ms延时函数
{
unsignedinti;
for(i=0;i<500;i++);
;
}
/*--------------------------------------------
LCD_write_byte:
使用SPI接口写数据到LCD
输入参数:
dt:
写入的数据;
command:
写数据/命令选择;
编写日期:
20080918
----------------------------------------------*/
voidLCD_write_byte(unsignedchardt,unsignedcharcommand)
{
unsignedchari;
SCE=0;
DC=command;
for(i=0;i<8;i++)
{
if(dt&0x80)
SDIN=1;
else
SDIN=0;
dt=dt<<1;
SCLK=0;
SCLK=1;
}
DC=1;
SCE=1;
SDIN=1;
}
/*---------------------------------------
LCD_init:
5110LCD初始化
编写日期:
20080918
-----------------------------------------*/
voidLCD_init(void)
{
DDRS_DDRS0=1;
DDRS_DDRS1=1;
DDRS_DDRS2=1;
DDRS_DDRS3=1;
DDRJ_DDRJ