葛耿育
(遵义师范学院信息工程学院,贵州遵义,563002)
基于STC89C52的LCD12864液晶串并行显示设计
葛耿育
(遵义师范学院信息工程学院,贵州遵义,563002)
LCD12864显示屏作为单片机教学和实验中的经典模块,可以显示字符、数字、符号、汉字和图形等内容,为了能在教学中阐述清楚串行和并行两种操作显示屏的方法,作者以带字库的12864液晶显示屏为例,使用C语言编程STC89C52单片机控制串并行操作实现文字显示,结果表明,两者之间存在原理和实现的区别。
LCD12864;串行;并行;单片机
单片机的显示模块主要有LED灯、数码管、点阵、1602液晶屏、12232液晶屏和12864液晶屏等,其中功能多、显示效果好的是12864液晶屏。本文采用串、并行两种方式实现了LCD12864显示屏的字符显示,用以辅助单片机的教学。
液晶是一种高分子材料,因其特殊的物理、化学、光学特性,20世纪中叶开始被广泛应用在轻薄型显示器上。液晶显示器的主要原理是电流刺激液晶分子产生点、线、面并配合背部灯管构成画面。12864液晶屏是由128列64行液晶显示点组成的128*64阵列,可以通过程序控制这些点的亮灭。
本文选用QC12864B液晶显示模块,该模块正面实物图如图1所示,背面实物图如图2所示。该液晶模块采用ST7920控制器,5V电压驱动,带背光,带中文字库,内置8192个16*16点阵、128个8*16字符点阵以及64*256点阵显示RAM。该模块的引脚接口信号说明如表1所示,其中第4、第5、第6和第15引脚是复用型,当PSB引脚为高电平时,选择并行方式,当PSB为低电平时,则选择串行方式。
图1 12864液晶正面
图2 12864液晶背面
表1 12864液晶接口信号说明
目前常用的8位单片机有经典的51系列、PIC系列和AVR系列,国内大多采用基于51内核易于学习和开发使用的南通国芯微电子有限公司的宏晶(STC)芯片。STC89C52是该公司生产的一种低功耗、高性能 CMOS的8位微控制器,采用经典的MCS-51内核,具有8KB的在系统(ISP)可编程FLASH存储器、256B的RAM、32位I/O口线、2个数据指针、3个16位定时器/计数器、1个6向量2级终端结构、全双工串行口、片内晶振及时钟电路[1-3]。该款芯片的正面实物图如图3所示。
图3 STC89C52芯片实物图
当12864液晶屏使用并行方式实现图形和字符显示时,必须同时使用几个控制引脚和8个数据传输接口,即同一时刻可以并行传输8位二进制数据,此时编号为15的PSB引脚必须是高电平,可以直接接在VCC引脚上。假设8个数据口D0-D7分别与51单片机的P0^0-P0^7引脚连接,使能端E引脚接P1^0,RS端接P1^1,显示内容为“遵义师范学院计科系物联网工程专业加油!”,则实现程序为:
当12864液晶屏使用串行方式实现图形和字符显示时,PSB引脚必须是低电平,可以接GND。此时,假设CS引脚接51单片机的P2^0,SID接P2^1,SCLK接P2^2,则实现以上的字体显示,需要改动部分程序,具体如下:
本文选用QC12864B和STC89C52模块,使用C语言编写全部代码,并加以注释,调试编译后,将编译好的.hex格式程序文件烧写到单片机的ROM芯片内,复位后运行效果如图4所示。从显示结果可以看出,串并行只是传输数据的宽度不同、编程时的代码内容有所区别,显示的文字是完全相同的。本设计对学生实验起到了良好、直观的教学示范效果。
图4 显示效果图
[1]张毅刚.单片机原理及接口技术(C51编程)[M].北京:人民邮电出版,2011.
[2]郭天祥.51单片机C语言教程[M].北京:电子工业出版社, 2010.
[3]彭伟.单片机C语言程序设计实训100例[M].北京:电子工业出版社,2010.
[4]汤泽容.基于MCS-51单片机的液晶12864显示设计[J].湖南农机,2014,(11):54.
[5]薛大为,杨春兰.基于ST7920控制器的中小尺寸液晶显示的实现[J].电子世界,2013,(19):65.
(责任编辑:朱彬)
Serial and Parallel Design of LCD12864 Display Based on STC89C52
GE Geng-yu
(School of information engineering,Zunyi Normal College,Zunyi 563002,China)
As a classic teaching and experimental module in microcontroller area,LCD12864 can display characters,Arabic numbers, symbols,characters and graphics.In order to explain the operation of it using both serial and parallel methods,this paper takes example of LCD12864 with characters,using C programming language and STC89C52 to control it displaying with serial and parallel methods. The results show differences in principle and implementation between two methods.
LCD12864;serial;parallel;microcontroller
TP368
A
1009-3583(2016)-0098-04
2016-06-15
遵义师范学院校级教学研究项目(15-04)
葛耿育,男,安徽合肥人,遵义师范学院信息工程学院讲师,硕士。研究方向:嵌入式系统应用。