单片机技术及应用液晶显示控制电路及程序设计
物理与电子工程学院2007级
专业电子科学与技术学号050207101_14_15_29
班级电子(1)班学生姓名指导教师设计时间
高扬_李兴_黄继龙_刘国
华强2010.7.12—2010.7.16常熟理工学院课程设计(报告)目录
一、题目要求与原理分析.............................................................................................................2
1.1题目要求............................................................................................................................21.2液晶显示器的分类及显示原理........................................................................................2二、硬件系统设计.........................................................................................................................3
2.1、总体设计框图.................................................................................................................32.2、硬件资源分析.................................................................................................................32.3、接口时序.........................................................................................................................42.3、单片机与LCD接口.......................................................................................................52.3、硬件电路原理图.............................................................................................................5三、软件系统设计.........................................................................................................................7
3.1、YM128R写函数及初始化.........................................................................................73.2、YM128R显示汉字.....................................................................................................8
3.2.1、汉字、数字、字符显示.......................................................................................83.2.2、滚屏显示汉字.......................................................................................................93.3、YM128R显示图形...................................................................................................10
3.3.1、YM128R整屏显示图形.................................................................................103.3.2、YM128任意位置显示图形............................................................................123.3.3、汉字、图形同时显示.........................................................................................123.4、YM128R显示直线...................................................................................................13
3.4.1、显示直线.............................................................................................................133.4.2、显示直线和汉字.................................................................................................14
四结果分析.................................................................................................................................15
4.1、液晶显示器显示4行汉字...........................................................................................154.2、液晶显示器滚屏显示4行汉字...................................................................................154.2、液晶显示器整屏显示图形...........................................................................................154.3、液晶显示器显示图形和汉字.......................................................................................1.4、液晶显示器显示直线和汉字.......................................................................................1.5、液晶显示器任意位置显示图片...................................................................................17参考文献.......................................................................................................................................18附录.............................................................................................................................................19
1常熟理工学院课程设计(报告)一、题目要求与原理分析
1.1题目要求
(1)完成单片机液晶接口的电路和程序设计,实现文本显示功能。(2)液晶显示器为图形点阵液晶,型号YM128R,控制芯片为ST7920(3)正确连接液晶显示器与单片机
(4)编写液晶显示控制程序,显示如下内容:
(5)完成各类显示控制函数的编写,如数值显示、划线、图形显示等,并给出使用例程;
1.2液晶显示器的分类及显示原理
根据LCD液晶屏可显示内容的不同,液晶显示模块可以分为三种:数显液晶模块、点阵字符型液晶模块、点阵图形液晶模块。
数显液晶模块中的显示部件是段型LCD显示器件,为了使用的方便,集成了专用的控制器和其它集成电路,其只能显示数字及一些标识符。点阵字符型液晶模块的显示部件时点阵字符液晶显示器件,同样集成有专用的行列驱动器,控制器及必要的连接、结构部件等,可以显示数字和西文字符。点阵图形液晶模块的显示部件是由连续的点阵像素构成,因此不仅可以显示字符,而且可以显示连续完整的图形[1]。
LCD液晶显示器是由两个相互垂直的极化滤光片,所以在正常情况下应阻断所有试图穿透的光线,但是由于两个滤光片之间充满了扭曲的液晶,所以在光线穿过第一个滤光片时,会被液晶扭转90度,最后从第二个滤光片中穿出。若为液晶加一个电压,分子会重新排列完全平行,时光线不再扭转,所以正好被第二个滤光片挡住。这样便可以实现加电时将光线阻断,不加电时使光线射出,从而实现液晶的显示。
2常熟理工学院课程设计(报告)二、硬件系统设计
2.1、总体设计框图
屏幕对比度调节复位电路单片机控制模块液晶显示模块复位电路2.2、硬件资源分析
采用ATS51/ATS52作为硬件电路的控制器,YM128R液晶作为显示电路。ATS51的复位引脚RST为ATS51提供了初始化的手段。有了它可以使程序从指定处开始执行,即从程序存储器中的0000H地址单元开始执行程序。在ATS51的时钟电路工作后,只要在RST引脚上出现2个机器周期以上的高电平,单片机即可复位。只要RST保持高电平,则ATS51循环复位。只有当RST由高电平变低电平以后,ATS51才从0000H地址开始执行程序[2]。
YM128R各引脚具体功能分布如表1。
表1YM128R引脚功能引脚号12345678
引脚名称VSSVDDV0RS(CS)R/W(SID)E(CLK)DB0DB1
方向---H/LH/LH/LH/LH/L
3功能描述模块的电源地模块的电源正端LCD驱动电压输入端
并行的数据/指令选择、串行的片选并行的读/写选择信号、串行的数据口并行的使能信号、串行的同步时钟
数据0数据1
常熟理工学院课程设计(报告)91011121314151617181920
DB2DB3DB4DB5DB6DB7PSBNC/RETNCLED_ALED_K
H/LH/LH/LH/LH/LH/LH/L
数据2数据3数据4数据5数据6数据7
并/串选择信号:H-并行、L-串行
空脚
H/L复位:L空脚
--
背光源正极(LED+5V)背光源正极(LED+0V)
2.3、接口时序
液晶模块与单片机有并行和串行两种连接方法。(1)8位并行连接时序图
图2-18位并行连接时序图(2)串口连接时序
4常熟理工学院课程设计(报告)图2-28位并行连接时序图串行数据传送共分三个字节完成,第一字节为串口控制—格式11111ABC其中A为数据传送方向控制:H表示数据从LCD到MCU,L表示数据从MCU到LCD,B为数据类型选择:H表示数据是显示数据,L表示数据是控制指令,C固定为0第二字节:8位数据的高4位—格式DDDD0000第三字节:8位数据的低4位—格式0000DDDD[3]。
2.3、单片机与LCD接口
将液晶显示模块的接口作为I/O设备直接与单片机连接。选用P3口给液晶显示器提供控制信号,P0口给液晶显示器传送数据。YMl28R液晶显示器的控制信号有RS、R/W、E、PSB其中RS、R/W、E分别对应接在ATS51的P3.0、P3.1、P3.2上,PSB接到+5V的稳压源上,而8位数据口对应接在P0口上。背光灯的电源正极、液晶显示器模块的电源正极以及LCD驱动电压输入端都接在+5V的稳压电源上,背光灯的电源负极接到稳压源的地上。
2.3、硬件电路原理图
液晶显示的硬件电路原理图如图2所示。
5常熟理工学院课程设计(报告)+5R1+5U21234567C210uFRSRWE1011121314151617181920ATS51VCCP0.0(AD0)P0.1(AD1)P0.2(AD2)P0.3(AD3)P0.4(AD4)P0.5(AD5)P0.6(AD6)P0.7(AD7)EA/VPPALE/PROGPSEN403938373635343332+5313029R31K10K12345671011121314151618171920S2SW-PBU1VSSVDDV0RSR/WEDB0DB1DB2DB3DB4DB5DB6DB7PSBNCNCRSTBLABLKYM128RRSRWES1R21KSW-PBP1.0P1.1P1.2P1.3P1.4(MOSI)P1.5(MISO)P1.6(SCK)P1.7RST(RXD)P3.0(TXD)P3.1(INT0)P3.2(INT1)P3.3(T0)P3.4(T1)P3.5(WR)P3.6(RD)P3.7XTAL2XTAL1GND+5C150pFC350pFY112MP2.7(A15)P2.6(A14)P2.5(A13)P2.4(A12)P2.3(A11)P2.2(A10)P2.1(A9)P2.0(A8)2827262524232221+5图2-3硬件电路原理图1236常熟理工学院课程设计(报告)三、软件系统设计
3.1、YM128R写函数及初始化
写函数主要用来向ST7920控制器进行写指令和写数据操作。当模块在接受指令前,微处理顺必须先确认模块内部处于非忙碌状态,即读取BF标志时BF需为0,方可接受新的指令;如果在送出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须延迟一段较长的时间,即是等待前一个指令确实执行完成,指令执行的时间请参考指令表中的个别指令说明。写指令的流程图如图3-1所示。写数据操作与写指令相似只需修改RS控制信号即可。
开始延时RW=1(写操作)RS=0(指令)使能开返回数据使能关读数据完成图3-1写指令操作在进行汉字显示、图形显示、点、线显示等操作前都需对LCD进行初始化,其初始化流程图如图3-2所示。通过基本指令集进行功能设定,再写入0X08指令关显示,通过0X01指令清除屏幕,写入0X06指令进入设定点,并设置游标右移DDRAM地址寄存器AC加1。通过写入指令0X0C重新开显示即初始化完成。
7常熟理工学院课程设计(报告)开电源功能设定0X38关显示0X08清除屏幕0X01进入设定点,游标右移0X06开显示0X0C初始化完成图3-2初始化流程图3.2、YM128R显示汉字
3.2.1、汉字、数字、字符显示
文本显示RAM提供了8个4行的汉字空间,当写入文本显示RAM时,可以分别显示CGROM、HCGROM与CGRAM的字型;ST7920可以显示3种字型,分别是半宽的HCGROM字型、CGRAM字型及中文CGROM字型。3种字型的选择,由在DDRAM中写入的编码选择,各种字型详细编码如下:
①显示半宽字型:将一位字节写入DDRAM中,范围为02H27FH的编码。②显示CGRAM字型:将两字节编码写入DDRAM中,共有0000H,0002H,0004H,0006H4种编码。
③显示中文字形:将两字节编码写入DDRAM,范围为A1A0H~F7FFH(GB码)或A140H~D75FH(BIG5码)的编码[4]。
液晶显示器初始化完成后,先由写指令操作写入汉字在液晶屏上的地址,其汉字显示的坐标如表2,再连续写入两个字节的要显示的字符的编码到DDRAM上,显示数字或字母等半宽字符时,将一个字节的编码写入DDRAM,硬件依照编码自动从CGRAM中选择要显示的字符显示,汉字显示流程图如图3-3所示。
8常熟理工学院课程设计(报告)表2汉字显示坐标X坐标
LINE1LINE2LINE3LINE4
80H90H88H98H
81H91HH99H
82H92H8AH9AH
83H93H8BH9BH
START84H94H8CH9CH
85H95H8DH9DH
86H96H8EH9EH
87H97H8FH9FH
初始化清屏写入汉字显示地址指针赋值写汉字结束图3-3汉字显示流程图3.2.2、滚屏显示汉字
汉字显示于显示屏上后,可以通过扩充指令集设置其初值滚动。写入0X03指令,令SR=1,允许写入垂直卷动地址,再根据卷动地址格式设置卷动地址。卷动地址格式如表4。
表4设定IRAM地址或卷动地址格式01A5A4A3A2A1A0
SR=1,A5~A0为垂直卷动地。
汉字垂直卷动流程图如图3-4所示。
9常熟理工学院课程设计(报告)显示4行汉字写入指令0X03令SR=1允许输入垂直卷动地址设置垂直卷动地址垂直卷动图3-4汉字垂直滚动显示3.3、YM128R显示图形
3.3.1、YM128R整屏显示图形
YM128R拥有×16个字节的绘图RAM空间,可以用来显示图形。在更改绘图RAM时,由扩充指令连续写入两个字节的数据来定义垂直和水平地址,再连续写入两个字节的数据到绘图RAM实现图形的显示。其工作流程图如图3-5所示。
START初始化扩充指令清屏图形数组指针赋值画图结束图3-5图形显示流程图首先通过写指令操作指定RE=1,即使用扩展指令集,再通过扩展指令集进行功能设定。在显示图形时,将显示屏分为上下两屏,即两个32×16点阵,Y轴以位为单位,X轴以字节为单位。上屏的横轴起始地址为0X80H,下屏的横轴起始地址为0X88H,由控制字写入图形的起始显示地址,Y轴地址由程序进行改变,X轴地址可由地址计数器自动加1,当地址由
10常熟理工学院课程设计(报告)00H加到0FH时,AC会自动跳转到00H。整屏显示图形的字程序如图3-6所示。
开始功能设定RE=1(0X34)关显示功能设定RE=1(0X36)开显示分上、下半屏(i=0/1)Y轴赋地址初值上半屏?YX轴地址初值赋0X80NX轴地址初值赋0X88设置数组指针显示图形结束图3-6整屏显示图形子程序流程图其基本工作步骤是:①关闭绘图显示功能。
②先将垂直的坐标(Y)写入绘图RAM地址,再将水平的位元组坐标(X)写入绘图RAM地址;
③将D15~D8写入到RAM中;将D7~D0写入到RAM中;④打开绘图显示功能
绘图RAM的地址格式如表3所示,垂直轴的地址范围为AC6—AC0,横轴的地址范围AC3—AC0[4]。
11常熟理工学院课程设计(报告)表3绘图RAM地址格式RS
指令
0
RW0
DB71
DB6AC6
DB5AC5
DB4AC4
DB3AC3
DB2AC2
DB1AC1
DB0AC0
3.3.2、YM128任意位置显示图形
在任意位置显示图形时,由用户指定显示的起始行、列地址和图形的像素的大小,程序中会判断的用户输入的图形的地址及大小是否需要上下半屏同时使用。程序先写入上半屏的数据,当需要下半屏也使用时,现写入下半屏对应的行列地址,在写入对应的数据,其工作流程如图3-7所示。
start功能设定RE=1(0X34)扩充指令集功能设定RE=1(0X36)开显示写上半屏地址写入上半屏数据是否占用下半屏?NY写下半屏地址写入下半屏数据结束图3-7任意位置显示图形3.3.3、汉字、图形同时显示
ST7920可以控制YM128R液晶显示器显示汉字和图形,但是需要使用的不同的指令
12常熟理工学院课程设计(报告)集和RAM地址。也可以让液晶显示器同时显示汉字和图形,在液晶上显示图形后再使用基本指令集显示汉字,使其同时在液晶上显示。
3.4、YM128R显示直线
3.4.1、显示直线
液晶显示屏有行,每行有128列,每8列对应一个字节的8个位,即每行由16字节,每一个字节的内容与屏幕上相应位置的亮暗对应。在任意位置显示水平直线时,首先使用扩充指令集清屏,然后由用户输入直线的横轴的起始点、终点和垂直轴坐标,程序根据坐标值依次写入直线所处的行的行、列地址,接着写入0XFF数据进行画线。画线流程图如图3-8所示。
开始功能设定RE=1(0X34)关显示功能设定RE=1(0X36)开显示Y坐标大于等于32?YY=Y-32X轴起始地址为0x88NX轴起始地址为0x80写入地址写入数据0xff结束图3-8绘制直线13常熟理工学院课程设计(报告)3.4.2、显示直线和汉字
ST7920可以控制YM128R液晶显示器显示汉字和图形,在液晶显示器上会治好线条后,切换到基本指令集继续执行汉字显示程序,使汉字和线条同时在屏幕上显示。
14常熟理工学院课程设计(报告)四结果分析
4.1、液晶显示器显示4行汉字
图4-1显示4行汉字4.2、液晶显示器滚屏显示4行汉字
在液晶屏幕上显示汉字后,通过扩充指令集写入0X03指令,和垂直卷动地址实现垂直卷动。
4.2、液晶显示器整屏显示图形
本设计中用其显示128*的常熟理工学院的校徽,结果如图12所示。
图4-2YM128R整屏显示图形15常熟理工学院课程设计(报告)4.3、液晶显示器显示图形和汉字
在扩充指令集中,显示32*32的图形,然后在切换到基本指令集显示4行汉字,结果如图13所示。
图4-3YM128R显示汉字和图形4.4、液晶显示器显示直线和汉字
YM128R液晶显示模块是一种二值显示的液晶,其显示状态只有显示和不显示一个点这两种状态,使用扩充指令集清屏后写入数据0xff可以实现线的绘制,结果如图4-4和4-5所示。
图4-4显示直线16常熟理工学院课程设计(报告)图4-5显示汉字和直线4.5、液晶显示器任意位置显示图片
图4-6任意位置显示图片17常熟理工学院课程设计(报告)参考文献
[1].赵建领.51单片机开发与应用技术详解[M].北京:电子工业出版社,2009
[2].钟承尧.单片机汉字显示系统的设计[D].海南师范大学,2009
[3].深圳亚斌显示电子有限公司.ST7920使用说明书[R/OL].www.yab-lcm.com[4].舒鑫.ST7920点阵式液晶显示模块的应用研究.[D]同济大学,2007
[5].深圳市耀宇科技有限公司.YM128R使用说明书[R/OL].www.yaoyu-lcm.com18常熟理工学院课程设计(报告)附录
#include 学生签名(手写):指导教师评语: 课程设计成绩:教研室意见: 指导教师签名: 教研室主任签名: 27
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务