教你玩转Nokia 5110液晶屏
液晶显示模块具有体积小、显示内容丰富、超薄、轻巧等优点,在嵌入式系统,尤其是低功耗场合中,得到越来越广泛的应用。目前,市场上比较常见的液晶显示屏有LCD1602、LCD12232、LCD12864等,但这几款液晶屏的功耗都比较高,本文将介绍一款低功耗的液晶显示模块——Nokia 5110,它是从诺基亚的经典手机Nokia 5110上拆下来的,具有较高的性价比。
Nokia 5110液晶屏(见图23.1)采用串行通信接口与主控制器进行通信,具有84像素×48像素的分辨率,工作电压为2.7~3.3V,在正常工作模式下,电流为240µA,具有掉电模式,特别适合以电池供电的便携式移动设备。
图23.1 Nokia 5110实物图
表23.1 Nokia 5110液晶屏的引脚
硬件电路设计
Nokia 5110液晶屏共有9个引脚,除去电源和地,通信引脚只有5个,功能如表23.1所示。CLK为时钟输入引脚,最高输入频率为4MHz;DIN为串行数据输入引脚,在时钟的上升沿传输;D/C为数据和指令切换引脚,高电平发送数据,低电平发送控制指令;CS为片选引脚,低电平有效;OSC为振荡器引脚,如果使用内部振荡器,需要将该引脚接高电平,如果使用外部振荡器,则直接将该引脚连接外部晶体振荡器;VOUT为供电设置引脚,外接0.1µF电容;RST为复位引脚,用于初始化液晶屏,低电平有效。
Nokia 5110液晶的串行通信接口只需要简单的几个阻容元件即可工作,电路如图23.2所示。使用内部振荡器,OSC引脚直接接高电平,VOUT引脚通过一个0.1µF电容接地。Nokia 5110液晶屏自身并没有背光电路,需要外接几个LED作为背光源,经实际验证表明,以贴片的蓝光或者白光二极管作为背光源,效果比较好,图23.2中共有4路蓝色LED作为背光源。
图23.2 Nokia 5110硬件电路原理图
驱动程序设计
1. 驱动指令
Nokia 5110 液晶屏通过控制D/C 引脚的电平高、低显示数据或者发送控制指令。当D/C为低电平时,输出的是控制指令信息;当D/C为高电平时,输出的是显示数据。由于控制指令数目比较少,因此Nokia 5110内部并没有设置寄存器存储指令,通过指令的数据格式进行识别,指令集如表23.2所示。不同指令的数据格式明显不同,总是在传输字节的某一位置高电平,如X坐标的第7位固定为高电平,Y坐标的第6位固定为高电平。
功能设置指令的PD位用来设置液晶工作模式,当PD为1时,芯片处于掉电模式,消耗电流降低到1.5µA;V位用来设置液晶屏寻址方式,当V为1时,启用垂直寻址方式,当V为0时,启用水平寻址方式,一般启用后者;H位用来控制指令集选择,H为高电平时,使用扩展指令集,H设置为低电平时,使用基本指令集。
显示设置通过D位和E位的组合进行调整,当D、E设置为0、0时,液晶屏显示空白,设置为1、0时,对应普通显示模式,0、1和1、1方式用得比较少。X坐标通过组合X6~X0设置,地址范围为0~83,Y坐标通过组合Y2~Y0设置,地址范围为0~5。
扩展指令集主要用于设置液晶屏的工作参数,可以根据经验进行设置。温度控制一般设置为0x06;偏置系统设置为0x13;Vop用于设置液晶屏操作电压,可通过下式进行计算,其中Vop取值范围为0~0x7F,即Vlcd设置范围为3.06~10.68V。
表23.2 Nokia 5110液晶屏的指令集
2. 程序设计
Nokia 5110 液晶屏的驱动程序包括初始化、清屏、显示字符、显示汉字、显示图形等函数,用户也可以根据需要开发新的接口程序。首先来看一下Nokia 5110液晶屏的时序图(见图23.3),在CS片选线的低电平有效期间发送数据,图中用圆圈标注的地方表示上升沿传输数据或者指令,传输数据高电平在先、低电平在后。串行总线发送多个字节的时序图,如图23.4所示。
图23.3 串行总线传送1个字节
图23.4 串行总线传送多个字节
这里以STC89C51 单片机为例,介绍Nokia 5110 液晶屏的驱动过程,如果采用AVR 或STM32 等自带 SPI 接口的单片机,可以通过 SPI 串行接口直接与 Nokia 5110 液晶屏通信。STC89C51单片机没有SPI接口,通过I/O口进行模拟也很方便。
鉴于篇幅关系,函数不再一一介绍,有需要的读者可以从qq群657864614上下载源代码。
应用案例
由于Nokia 5110液晶屏本身不含有字库,因此实际应用过程中,需要用户自己做字库、图形文件,存储在嵌入式处理器或者外部的存储器中。如果显示字符信息,字模大小一般设置为6像素×8像素,则每行可以显示14个字符,显示6行,一共84个字符。
这里向大家介绍一款不错的字模软件——3310液晶显示屏汉字提取程序,其界面如图23.5所示,该软件可以很方便地制作出12像素×12像素与16像素×16像素大小的汉字字库。如果用户需要制作其他格式的字库,可以使用Zimo21软件,该软件功能强大,除了制作字库,还可以生成图片的HEX代码。
通过STC89C51单片机运行如下主程序,即可显示汉字和图形,如图23.6和图23.7所示。用户可以参照本文,很方便地将Nokia 5110液晶屏应用到自己的产品设计中。
main(void)
{
LCD_init();//初始化液晶
LCD_clear();//清屏
while(1)
{
LCD_write_english_string(0,0," Nokia5110 LCD ");//显示字符
LCD_write_chinese_string(15,2,12,4,0,2);//显示汉字
LCD_write_chinese_string(1,4,12,6,4,2);//显示汉字
//LCD_draw_bmp_pixel (0,0,picture1,40,40);//显示图形1
//LCD_draw_bmp_pixel (42,0,picture2,40,40);//显示图形2
}
}
图23.5 3310液晶显示屏汉字提取程序
图23.6 Nokia 5110液晶屏显示汉字
图23.7 Nokia 5110液晶屏显示图形
单片机快速入门:12864液晶屏实现多功能数字时钟
想要快速入门单片机,就要多动手实践。也许你的手上有不止一块的单片机开发板,但是你有没有亲自动手实现自己的想法?单片机实现数字时钟是一个不错的想法。有12864液晶显示屏、有按键、有DS18B20。最关键的,你能从一个小的实验设计中获得设计经验,熟悉产品开发的流程,你会慢慢爱上这一行。
文末会有原理图和hex程序文件的下载方式,可以更好的帮助你学习,感谢杜洋工作室。
器件清单
1.元器件清单
首先来看看所需要的清单:51单片机STC12C5A60S2、12864液晶屏、温度传感器DS18B20、时钟芯片DS1302、光敏电阻、四腿按键等。
STC12C5A60S2
所用单片机为国产51单片机,型号为STC12C5A60S2,DIP40封装。
12864液晶屏
显示器件为12864液晶屏。
时钟芯片DS1302
时钟采用DS1302芯片,配电池、32.768K的晶振。
温度传感器DS18B20
环境温度的检测用DS18B20来实现。
光敏电阻
光敏电阻用于感知白天和晚上。
四腿机械按键实现时钟调整、闹钟设置等功能。
2.实现原理图
这是整体的原理图。
3.整体外观和显示
未来时钟背面
焊接完成后的未来时钟背面。
闹钟调整界面
可以实现时间的显示,闹钟的设置,关键还有重要节气的显示。
正常显示界面
私信回复关键字:未来时钟 。即可获取原理图和hex文件。感谢杜洋工作室。
相关问答
51单片机 sr041602 液晶屏 显示原理?51单片机是一种广泛应用于嵌入式系统的微控制器,SR041602是一种常见的液晶屏模块。液晶屏的显示原理是利用液晶分子的电光特性来实现显示。液晶分子具有两种稳...
哪有生产 51单片机 控制RA8835驱动的320240 液晶屏 ?这样可以询问下驰宇微,好像有很多,都有RA8835的驱动芯片这样可以询问下驰宇微,好像有很多,都有RA8835的驱动芯片
51单片机 用什么屏幕?51单片机应用系统中常见的显示器有:一、数码管显示器屏幕,分共阴极和共阳极的动态显示数码管,以及静态数码管。二、LCD显示器屏幕,这是最常用的一种,比如...
51单片机 上接12864 液晶屏 时的上拉电阻是肿么接的?-ZOL问答如果接的是p0口,那么上拉电阻就选10k的排阻就行,可以去找那种九个脚的,八个角接液晶的八个数据端,最后那一个脚接+5v电源,如果接的是单片机的其他口则不需要接上...
我的 51单片机 开发板插上1602液晶为何不能显示-ZOL问答任何一个开发板,都不可能插上1602液晶屏就能显示的,必须要写程序的。你只是插...确保你的程序设置对了,51单片机的波特率和液晶的工作模式要一致。试试看是不...
51单片机 能够驱动的屏幕?51单片机可以驱动多种类型的屏幕,包括LCD、LED和OLED等。这是因为51单片机具有足够的GPIO(通用输入输出)引脚来控制和传输数据至屏幕。通过设置适当的引脚配...
我学了3个月的 51单片机 ,应该会些什么?学了三个月,效率如何,是否都掌握相关基础了,三个月掌握单片机内部资源就可以了,定时器,中断,串口,AD转换,最后做一个综合应用,ad转换数据通过串口发送到...学...
英语翻译本论文介绍了基于AT89 C51单片机 为核心的、以ADC0808...[最佳回答]ThispaperintroducesthebasedonAT89C51asthecore,toADC0808analog-to-digitalconversionchip...
51单片机 由哪几部分组成?51子系列单片机由CPU、数据存储器RAM、程序存储器ROM、特殊功能寄存器、4个I/O口、串行口、定时器/计数器、中断系统等八个功能部件组成。CPU由累加器A、暂存...
51单片机 开发板作用?51单片机开发板也称51单片机实验板、51单片机学习板。它的主要作用是用于学习51型号的单片机的实验及学习器件,他是将51单片机常用的外围。比如流水灯,数码管,...