完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx

上传人:b****1 文档编号:3327596 上传时间:2023-05-01 格式:DOCX 页数:32 大小:18.86KB
下载 相关 举报
完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx_第1页
第1页 / 共32页
完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx_第2页
第2页 / 共32页
完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx_第3页
第3页 / 共32页
完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx_第4页
第4页 / 共32页
完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx_第5页
第5页 / 共32页
完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx_第6页
第6页 / 共32页
完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx_第7页
第7页 / 共32页
完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx_第8页
第8页 / 共32页
完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx_第9页
第9页 / 共32页
完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx_第10页
第10页 / 共32页
完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx_第11页
第11页 / 共32页
完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx_第12页
第12页 / 共32页
完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx_第13页
第13页 / 共32页
完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx_第14页
第14页 / 共32页
完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx_第15页
第15页 / 共32页
完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx_第16页
第16页 / 共32页
完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx_第17页
第17页 / 共32页
完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx_第18页
第18页 / 共32页
完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx_第19页
第19页 / 共32页
完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx

《完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx》由会员分享,可在线阅读,更多相关《完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx(32页珍藏版)》请在冰点文库上搜索。

完整的NOKIA5110液晶51单片机驱动程序Word文档格式.docx

函数声明区

voidLCD_Init(void);

voidLCD_WriteByte(unsignedchardat,unsignedcharcommand);

voidLCD_Set_XY(unsignedcharX,unsignedcharY);

voidLCD_Clear(void);

voidLCD_WriteChar(unsignedcharx,unsignedchary,unsignedcharc);

voidLCD_WriteString(unsignedcharX,unsignedcharY,char*s);

voidLCD_WriteNum(unsignedcharX,unsignedcharY,unsignedintnum);

voidLCD_Write_12X16Font(unsignedcharx,unsignedchary,unsignedcharc[2]);

voidLCD_DrawPicture(unsignedcharX,unsignedcharY,unsignedcharconst*map,

unsignedcharPix_x,unsignedcharPix_y);

*函数名:

LCD_Init

*功能:

初始化LCD

*参数:

*返回值:

*备注:

voidLCD_Init(void)

{

unsignedchari;

LCD_RST=0;

//复位

for(i=0;

i<

150;

i++);

LCD_RST=1;

LCD_WriteByte(0x21,0);

//使用扩展命令设置LCD模式

LCD_WriteByte(0xc0,0);

//设置偏置电压,修改可改变5110点阵显示的亮度

/*5110接5V时偏置电压改为(0xa7,0),接3.3V时改为(0xc0,0)*/

LCD_WriteByte(0x20,0);

//使用基本命令。

并设置V=0,水平寻址

LCD_Clear();

//清屏

LCD_WriteByte(0x0c,0);

//设定显示模式,正常显示(普通显示)

LCD_CE=0;

}

LCD_WriteByte

模拟SPI接口时序写数据/命令LCD

data:

写入的数据;

command:

写数据

(1)/命令选择(0);

voidLCD_WriteByte(unsignedchardat,unsignedcharcommand)

//5110片选有效,允许输入数据

if(command==0)//写命令

LCD_DC=0;

else

LCD_DC=1;

//写数据

8;

i++)//传送8bit数据

{

if(dat&

0x80)

LCD_DIN=1;

else

LCD_DIN=0;

LCD_CLK=0;

dat=dat<

<

1;

LCD_CLK=1;

}

LCD_CE=1;

//禁止5110

LCD_Set_XY

设置LCD坐标

X:

0-83Y:

0-5

voidLCD_Set_XY(unsignedcharX,unsignedcharY)

LCD_WriteByte(0x40|Y,0);

//column列

LCD_WriteByte(0x80|X,0);

//row行

}

LCD_Clear

LCD清屏函数

voidLCD_Clear(void)

unsignedchart;

unsignedchark;

LCD_Set_XY(0,0);

//设置RAM起始地址

for(t=0;

t<

6;

t++)

for(k=0;

k<

84;

k++)

LCD_WriteByte(0x00,1);

}

LCD_WriteChar

LCD写一个6X8的字符

c

备注:

voidLCD_WriteChar(unsignedcharx,unsignedchary,unsignedcharc)

c-=32;

//数组的行号

LCD_Set_XY(x,y);

i<

12;

i++)

{

LCD_WriteByte(font6x12[c][i],1);

if(i==5)

y++;

LCD_WriteString

LCD写6X8的字符串

X,Y,S

voidLCD_WriteString(unsignedcharX,unsignedcharY,char*s)

while(*s)

LCD_WriteChar(X,Y,*s);

s++;

X+=6;

LCD_WriteNum(unsignedintnum)

写入数字

num

****************************************************************

voidLCD_WriteNum(unsignedcharX,unsignedcharY,unsignedintnum)

unsignedcharstr[8],i=0,len=0;

unsignedinttemp;

temp=num;

while(temp)

temp/=10;

len++;

if(!

num)

str[0]=0x30;

str[len]=0;

while(num)

str[len-i-1]=num%10+0x30;

num/=10;

i++;

LCD_WriteString(X,Y,(char*)str);

LCD_Write_16X16Font

写一个16X16的汉字

x,y,c[2]x:

0-83y:

voidLCD_Write_12X16Font(unsignedcharx,unsignedchary,unsignedcharc[2])

unsignedchari,k;

k<

25;

k++)//K的值表示汉字库最多存放的字的数量(可改大)

if((font12x16[k].Index[0]==c[0])&

&

(font12x16[k].Index[1]==c[1]))

24;

LCD_WriteByte(font12x16[k].Msk[i],1);

if(i==11)

LCD_DrawPicture

绘图

X、Y:

位图绘制的起始X、Y坐标;

*map:

位图点阵数据;

Pix_x:

位图像素(长)<

=84

Pix_y:

位图像素(宽)<

=48

unsignedcharPix_x,unsignedcharPix_y)

unsignedinti,n;

unsignedcharrow;

//计算位图所占行数

if(Pix_y%8==0)//如果为位图所占行数为整数

row=Pix_y/8;

row=Pix_y/8+1;

//如果为位图所占行数不是整数

LCD_Set_XY(X,Y);

for(n=0;

n<

row;

n++)//换行

for(i=0;

Pix_x;

i++)

{

LCD_Set_XY(X+i,Y+n);

LCD_WriteByte(map[i+n*Pix_x],1);

}

-------main函数--------

主函数

voidmain()

{

LCD_Init();

while

(1)

LCD_WriteNum(0,0,123);

//写入数字int型的

LCD_WriteNum(18,0,7);

LCD_WriteNum(24,0,9);

LCD_WriteChar(48,0,'

I'

);

//写一个6X8的字符

LCD_WriteChar(54,0,'

J'

LCD_WriteChar(60,0,'

K'

LCD_WriteString(0,2,"

jhf"

//写6X8的字符串

LCD_DrawPicture(32,2,gImage_1,16,16);

//绘图

LCD_Write_12X16Font(12,4,"

我"

//写一个16X16的汉字

LCD_Write_12X16Font(24,4,"

是"

LCD_Write_12X16Font(36,4,"

中"

LCD_Write_12X16Font(48,4,"

国"

LCD_Write_12X16Font(60,4,"

银"

/////////////////////////////////////////以下是font.h的容///////////////////////////////////////////////////

该font.h文件中包含的是5110显示所用的ASCII、部分汉字、

及图片字模。

取模软件使用“PCtoLCD2002”,取模方式选项:

阴码、逆向、列行式、十六进制数。

汉字取模:

宽12、高12

//6x8font

//1pixelspaceatleftandbottom

//index=ASCII-32

codeunsignedcharfont6x12[][12]=

/*--文字:

--*/

/*--宋体9;

此字体下对应的点阵为:

宽x高=6x12--*/

/*--高度不是8的倍数,现调整为:

宽度x高度=6x16--*/

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

!

{0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00},

"

{0x00,0x0C,0x02,0x0C,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

#--*/

{0x90,0xD0,0xBC,0xD0,0xBC,0x90,0x00,0x03,0x00,0x03,0x00,0x00},

$--*/

{0x18,0x24,0xFE,0x44,0x8C,0x00,0x03,0x02,0x07,0x02,0x01,0x00},

%--*/

{0x18,0x24,0xD8,0xB0,0x4C,0x80,0x00,0x03,0x00,0x01,0x02,0x01},

&

{0xC0,0x38,0xE4,0x38,0xE0,0x00,0x01,0x02,0x02,0x01,0x02,0x02},

'

{0x08,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

(--*/

{0x00,0x00,0x00,0xF8,0x04,0x02,0x00,0x00,0x00,0x01,0x02,0x04},

)--*/

{0x00,0x02,0x04,0xF8,0x00,0x00,0x00,0x04,0x02,0x01,0x00,0x00},

*--*/

{0x90,0x60,0xF8,0x60,0x90,0x00,0x00,0x00,0x01,0x00,0x00,0x00},

+--*/

{0x20,0x20,0xFC,0x20,0x20,0x00,0x00,0x00,0x01,0x00,0x00,0x00},

--*/

{0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x06,0x00,0x00,0x00,0x00},

---*/

{0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

.--*/

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00},

/--*/

{0x00,0x80,0x60,0x1C,0x02,0x00,0x04,0x03,0x00,0x00,0x00,0x00},

0--*/

{0xF8,0x04,0x04,0x04,0xF8,0x00,0x01,0x02,0x02,0x02,0x01,0x00},

1--*/

{0x00,0x08,0xFC,0x00,0x00,0x00,0x00,0x02,0x03,0x02,0x00,0x00},

2--*/

{0x18,0x84,0x44,0x24,0x18,0x00,0x03,0x02,0x02,0x02,0x02,0x00},

3--*/

宽x高=6x12--*

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2