诺基亚LCD5110液晶接线图和程序.docx
- 文档编号:28847562
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:17
- 大小:2.65MB
诺基亚LCD5110液晶接线图和程序.docx
《诺基亚LCD5110液晶接线图和程序.docx》由会员分享,可在线阅读,更多相关《诺基亚LCD5110液晶接线图和程序.docx(17页珍藏版)》请在冰豆网上搜索。
诺基亚LCD5110液晶接线图和程序
该模块具有以下特点:
●84x48的点阵LCD,可以显示4行汉字,
●采用串行接口与主处理器进行通信,接口信号线数量大幅度减少,包括电源和地在内的信号线仅有9条。
支持多种串行通信协议(如AVR单片机的SPI、MCS51的串口模式0等),传输速率高达4Mbps,可全速写入显示数据,无等待时间。
●可通过导电胶连接模块与印制版,而不用连接电缆,用模块上的金属钩可将模块固定到印制板上,因而非常便于安装和更换。
●LCD控制器/驱动器芯片已绑定到LCD晶片上,模块的体积很小。
●采用低电压供电,正常显示时的工作电流在200μA以下,且具有掉电模式。
LPH7366的这些特点非常适合于电池供电的便携式通信设备和测试设备中
C8051F学习笔记:
Nokia5110驱动
Nokia5110是一款经典机型,可能由于经典的缘故,旧机器很多,所以很多电子工程师就把旧机器的屏幕拆下来,自己驱动Nokia5110,用于开发的设备显示,取代LCD1602。
使用Nokia5110液晶的四大理由
1)性价比高,LCD1602可以显示32个字符,而Nokia5110可以显示15个汉字,30个字符。
Nokia
5110裸屏仅8.8元,LCD1602一般15元左右,LCD12864一般50~70元。
2)接口简单,仅四根I/O线即可驱动,LCD1602需11根I/O线,LCD12864需12根。
3)速度快,是LCD12864的20倍,是LCD1602的40倍。
4)Nokia5110工作电压3.3V,正常显示时工作电流200uA以下,具有掉电模式,适合电池供电的便
携式移动设备。
可以在市场上买到Nokia5110的裸屏和带PCB的Nokia5110屏幕,因为Nokia5110是不带背光的,所以通常商家会在PCB上按了几个背光LED,上电就能亮,建议大家还是买那种连上PCB的5110。
Nokia5110原理图:
商家把该引出的管脚都引出了,下面就可以连接C8051F的相应管脚,写程序驱动5110了。
Nokia5110和Nokia3110是兼容的,用的都是同一款驱动芯片PHILIPSPCD8544。
(1)SPI接口时序写数据/命令
Nokia5110(PCD8544)的通信协议是一个没有MISO只有MOSI的SPI协议,如果单片机有富裕的SPI接口,也可以利用硬件SPI,但通常没有必要,只需要软件程序模拟即可。
/***********************************************************
函数名称:
LCD_write_byte命令LCDSPI接口时序写数据/函数功能:
模拟:
写入的数据;入口参数:
data
/命令选择;command:
写数据
出口参数:
无备注:
***********************************************************/
command)dat,unsignedcharvoidLCD_write_byte(unsignedchar
{chari;unsigned
//5110片选有效,允许输入数据LCD_CE=0;
//0)
写命令if(command==
LCD_DC=0;
写数据1;//elseLCD_DC=
for(i=0;i<8;i++)数据//传送8bit
{
if(dat&0x80)
SDIN=1;else
0;=SDIN
0;SCLK=
1;< 1; SCLK= } 5110禁止//=LCD_CE1; } 管脚D/C(LCD_DC)用于选择写的是命令(D/C=0)还是数据(D/C=1)。 (2)Nokia5110的初始化 接通电源后,内部寄存器和RAM的内容是不确定的,这需要一个RES低电平脉冲复位一下。 当VDD变为高电平,达到VDDmin(或更高)之后,最多100ms,RST输入低电平(电平幅度<0.3VDD)。 5110复位时序 /*********************************************************** LCD_init函数名称: 初始化函数功能: 5110入口参数: 无 出口参数: 无 备注: ***********************************************************/ voidLCD_init(void) { LCD_RST=0;//产生一个让LCD复位的低电平脉冲 delay_1us(); LCD_RST=1; LCD_CE=0;//关闭LCD delay_1us(); LCD_CE=1;//使能LCDdelay_1us(); LCD_write_byte(0x21,0);//使用扩展命令设置LCD模式 设置液晶偏置电压//LCD_write_byte(0xc8,0); 温度校正//0);LCD_write_byte(0x06, LCD_write_byte(0x13,0);//1: 48 LCD_write_byte(0x20,0);//使用基本命令,V=0,水平寻址 //清屏LCD_clear(); 设定显示模式,正常显示0);LCD_write_byte(0x0c,// LCD_CE=0;//关闭LCD } (3)设置Nokia5110液晶的坐标 Nokia5110(PCD8544)的命令集: 命令字符解释: 要注意的是“功能设置”命令的“H”和“V”。 H=0使用基本指令集命令,H=1使用扩展指令集命令。 V=0水平寻址,V=1垂直寻址。 48*84点阵的格式如上图,数据以字节8bit为单位下载到PCD8544的48*84bit显示数据RAM矩阵。 列通过地址指针寻址,地址范围为X0~83(1010011),Y0~5(101)。 地址不允许超过这个范围。 在垂直寻址(V=1),Y地址在每个字节之后递增,经最后的Y地址(Y=5)之后,Y绕回0,X递增到下一列的地址。 在水平寻址模式(V=0),X地址在每个字节之后递增,经最后的X地址(X=83)之后,X绕回0,Y递增到下一行的地址。 经每一个最后地址之后(X=83,Y=5),地址指针绕回地址(X=0,Y=0)。 /*********************************************************** 函数名称: LCD_set_XYLCD坐标函数函数功能: 设置83: 0-入口参数: X 5-0: Y 出口参数: 无 注: 备 ***********************************************************/ voidLCD_set_XY(unsignedcharX,unsignedcharY) { LCD_write_byte(0x40|Y,0);//column LCD_write_byte(0x80|X,0);//row } (4)显示英文字符 英文字符占用6*8个点阵,通过建立一个ASCII的数组font6x8[][6]来寻址。 而这个数字的行号对应(字符ASCII码-32)。 ASCII码表如下: /*********************************************************** LCD_write_char函数名称: 函数功能: 显示英文字符 显示的字符入口参数: c: 出口参数: 无注: 备 ***********************************************************/voidLCD_write_char(unsignedcharc) {line;charunsigned c-=32;//数组的行号 for(line=0;line<6;line++) LCD_write_byte(font6x8[c][line],1); } 如要在NOKIA5110输出大写“A”,对应数组的行号为33,对应的元素为 ,水平寻址(V=0)0x11,0x12,0x7C}{0x00,0x7C,0x12, NOKIA5110一行可以显示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,0x00,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 出口参数: 无 备注: ***********************************************************/ voidLCD_draw_bmp_pixel(unsignedcharX,unsignedcharY,unsignedchar*map,unsignedcharPix_x,unsignedcharPix_y) {inti,n;unsigned row;unsignedchar //计算位图所占行数 //(Pix_y%8==0)if如果为位图所占行数为整数 row=Pix_y/8; else row=Pix_y/8+1;//如果为位图所占行数不是整数 LCD_set_XY(X,Y); //换行for(n=0;n { for(i=0;i { LCD_set_XY(X+i,Y+n); LCD_write_byte(map[i+n*Pix_x],1); } } } 要显示的图像 NOKIA5110显示出来的效果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 诺基亚 LCD5110 液晶 接线 程序