收藏 分享(赏)

NOKIA 5110液晶资料及程序.doc

上传人:w89153 文档编号:7761113 上传时间:2019-05-25 格式:DOC 页数:11 大小:667.50KB
下载 相关 举报
NOKIA 5110液晶资料及程序.doc_第1页
第1页 / 共11页
NOKIA 5110液晶资料及程序.doc_第2页
第2页 / 共11页
NOKIA 5110液晶资料及程序.doc_第3页
第3页 / 共11页
NOKIA 5110液晶资料及程序.doc_第4页
第4页 / 共11页
NOKIA 5110液晶资料及程序.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、C8051F 学习笔记:Nokia 5110 驱动Nokia5110 是一款经典机型,可能由于经典的缘故,旧机器很多,所以很多电子工程师就把旧机器的屏幕拆下来,自己驱动 Nokia5110,用于开发的设备显示,取代 LCD1602。使用 Nokia5110 液晶的四大理由1) 性价比高,LCD1602 可以显示 32 个字符,而 Nokia5110 可以显示 15 个汉字,30 个字符。Nokia5110 裸屏仅 8.8 元,LCD1602 一般 15 元左右,LCD12864 一般 5070 元。2) 接口简单,仅四根 I/O 线即可驱动,LCD1602 需 11 根 I/O 线,LCD12

2、864需 12 根。3) 速度快,是 LCD12864 的 20 倍,是 LCD1602 的 40 倍。4) Nokia5110 工作电压 3.3V,正常显示时工作电流 200uA 以下,具有掉电模式,适合电池供电的便携式移动设备。可以在市场上买到 Nokia5110 的裸屏和带 PCB 的 Nokia5110 屏幕,因为Nokia5110 是不带背光的,所以通常商家会在 PCB 上按了几个背光 LED,上电就能亮,建议大家还是买那种连上 PCB 的 5110。Nokia5110 原理图: 商家把该引出的管脚都引出了,下面就可以连接 C8051F 的相应管脚,写程序驱动 5110 了。Noki

3、a5110 和 Nokia3110 是兼容的,用的都是同一款驱动芯片 PHILIPS PCD8544。(1) SPI 接口时序写数据 /命令Nokia5110(PCD8544)的通信协议是一个没有 MISO 只有 MOSI 的 SPI 协议,如果单片机有富裕的 SPI 接口,也可以利用硬件 SPI,但通常没有必要,只需要软件程序模拟即可。/* 函数名称:LCD_write_byte函数功能:模拟 SPI 接口时序写数据 /命令 LCD入口参数:data :写入的数据;command :写数据/命令选择;出口参数:无 备 注: */void LCD_write_byte(unsigned cha

4、r dat, unsigned char command)unsigned char i;LCD_CE = 0; /5110 片选有效,允许输入数据if (command = 0) /写命令LCD_DC = 0; else LCD_DC = 1; /写数据for(i=0;i8;i+) /传送 8bit 数据 if(datelseSDIN = 0;SCLK = 0;dat = dat 1;SCLK = 1; LCD_CE = 1; /禁止 5110管脚 D/C(LCD_DC)用于选择写的是命令(D/C=0)还是数据(D/C=1)。(2) Nokia5110 的初始化接通电源后,内部寄存器和 RA

5、M 的内容是不确定的,这需要一个 RES 低电平脉冲复位一下。当 VDD 变为高电平,达到 VDDmin(或更高)之后,最多100ms,RST 输入低电平 (电平幅度0.3VDD)。5110 复位时序/* 函数名称:LCD_init函数功能:5110 初始化入口参数:无出口参数:无 备 注: */void LCD_init(void)LCD_RST = 0; / 产生一个让 LCD 复位的低电平脉冲delay_1us();LCD_RST = 1;LCD_CE = 0; / 关闭 LCDdelay_1us();LCD_CE = 1; / 使能 LCDdelay_1us();LCD_write_b

6、yte(0x21, 0); / 使用扩展命令设置 LCD 模式LCD_write_byte(0xc8, 0); / 设置液晶偏置电压LCD_write_byte(0x06, 0); / 温度校正LCD_write_byte(0x13, 0); / 1:48LCD_write_byte(0x20, 0); / 使用基本命令,V=0,水平寻址LCD_clear(); / 清屏LCD_write_byte(0x0c, 0); / 设定显示模式,正常显示LCD_CE = 0; / 关闭 LCD(3)设置 Nokia5110 液晶的坐标Nokia5110(PCD8544)的命令集:命令字符解释:要注意的

7、是“功能设置”命令的“H”和“V”。H=0 使用基本指令集命令, H=1 使用扩展指令集命令。V=0 水平寻址, V=1 垂直寻址。48*84 点阵的格式如上图,数据以字节 8bit 为单位下载到 PCD8544 的48*84bit 显示数据 RAM 矩阵。列通过地址指针寻址,地址范围为 X 083(1010011),Y 05(101)。地址不允许超过这个范围。在垂直寻址(V=1),Y 地址在每个字节之后递增,经最后的 Y 地址(Y=5)之后,Y 绕回 0,X 递增到下一列的地址。在水平寻址模式(V=0),X 地址在每个字节之后递增,经最后的 X 地址(X=83)之后, X 绕回 0,Y 递增

8、到下一行的地址。经每一个最后地址之后(X=83,Y=5),地址指针绕回地址(X=0,Y=0)。/* 函数名称:LCD_set_XY函数功能:设置 LCD 坐标函数入口参数:X :083Y :05出口参数:无 备 注: */void LCD_set_XY(unsigned char X, unsigned char Y)LCD_write_byte(0x40 | Y, 0); / columnLCD_write_byte(0x80 | X, 0); / row(4)显示英文字符英文字符占用 6*8 个点阵,通过建立一个 ASCII 的数组 font6x86来寻址。而这个数字的行号对应(字符 AS

9、CII 码-32 )。ASCII 码表如下:/* 函数名称:LCD_write_char函数功能:显示英文字符入口参数:c : 显示的字符出口参数:无 备 注: */void LCD_write_char(unsigned char c)unsigned char line;c -= 32; /数组的行号for (line=0; line6; line+)LCD_write_byte(font6x8cline, 1);如要在 NOKIA5110 输出大写“A”,对应数组的行号为 33,对应的元素为 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C ,水平寻址(V=0)NOK

10、IA5110 一行可以显示 14 个字符,可以显示六行。(5)显示汉字显示汉字可以采用两种点阵方式,一种是 12*12 点阵,一种是 16*16 点阵,网上也有一个自动提取字模的小软件“3310 液晶显示屏汉字提取程序”,这个小程序只适用于水平寻址(V=0)。3310 液晶显示屏汉字提取程序 采用 12*12 点阵汉字时,由于不是 8 的整数倍数,因此行与行之间只能隔开,这样才能完整显示一个汉字。/欢0x0A,0x92,0x62,0x9E,0x02,0x18,0x87,0x74,0x84,0x14,0x0C,0x00,0x02,0x01,0x00,0x04,0x05,0x02,0x01,0x0

11、0,0x01,0x02,0x04,0x00,12*12 点阵(6)显示图形显示的图形像素大小不能超过 84*48。也有一个字模提取小软件Zimo21 可以帮助我们得到图像的像素数组。但要注意 Zimo21 软件的设置,不然的话就显示不了想要的图片。Zimo21 设置要注意选中“纵向取模”“字节倒序”这样才能在 5110 上显示正确的图像。/* 函数名称:LCD_draw_bmp_pixel函数功能:位图绘制函数入口参数:X、Y :位图绘制的起始 X、Y 坐标;*map :位图点阵数据;Pix_x :位图像素(长)Pix_y :位图像素(宽)出口参数:无 备 注: */void LCD_draw

12、_bmp_pixel(unsigned char X,unsigned char Y,unsigned char *map, unsigned char Pix_x,unsigned char Pix_y)unsigned int i,n;unsigned char row;/计算位图所占行数if (Pix_y%8=0) /如果为位图所占行数为整数row=Pix_y/8; elserow=Pix_y/8+1; /如果为位图所占行数不是整数LCD_set_XY(X,Y);for (n=0;nrow;n+) /换行for(i=0;iPix_x;i+)LCD_set_XY(X+i,Y+n);LCD_write_byte(mapi+n*Pix_x, 1); 要显示的图像NOKIA5110 显示出来的效果

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报