基于51单片机的图形液晶显示设计.docx
- 文档编号:7616680
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:18
- 大小:423.73KB
基于51单片机的图形液晶显示设计.docx
《基于51单片机的图形液晶显示设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机的图形液晶显示设计.docx(18页珍藏版)》请在冰豆网上搜索。
基于51单片机的图形液晶显示设计
实验三基于51单片机的图形液晶显示设计
一、实验任务
要求在液晶显示屏上显示自已的姓名和学号,姓名用16*16点阵显示,学号用8*16点阵显示。
二、实验原理
1、单片机选用ATMEL公司的AT89S52,液晶模块选用LCD12864,其控制器是不带字库的KS0108作为列驱动,行驱动是KS0107.控制器的工作原来及显示控制指令集见附录(北京集粉碎电子设备制造有限公司)的有关控制器的资料。
2、取字模软件同窗能够用网上下载一个。
3、液晶显示硬件电路(需要控制的有关管脚),其他的省略。
LCD屏的第4脚DI为命令数据选择,接单片机的,当DI=1时,为数据;DI=0时,为指令;
LCD屏的第5脚RW为读写控制,接单片机的,当RW=1时,为读数据或指令;RW=0时,写数据或指令;
LCD屏的第6脚E为使能控制,接单片机的,当E由高到低转变时,数据有效;
LCD屏的第15脚CS1为左半屏片选信号,接单片机的,当CS1=0时,选通左半屏;
LCD屏的第16脚CS2为右半屏片选信号,接单片机的,当CS2=0时,选通右半屏。
三、实验报告要求
(一)KS0108详细的控制指令说明
1、KS0108控制器系列产品主要特性
(1)8位并行数据接口,适配M6800系列时序。
(2)拥有64×64位(512字节)的显示存储器,其数据直接作为显示驱动信号。
(3)简单的操作指令。
(4)低功耗(具体参数见各款产品外形文件)
2、接口顺序
12832-1
12832-3
12864-1
12864-3
12864-7
12864-16
12864-18
12864-18A
1
LEDK
V0
GND
/CS1
VCC
GND
VCC
LEDK
2
LEDA
VCC
VCC
/CS2
GND
VCC
GND
LEDA
3
V0
GND
V0
GND
V0
V0
V0
VOUT
4
VCC
E
RS
VCC
RS
RS
DB0
/RST
5
GND
RS
R/W
V0
R/W
R/W
DB1
/CS2
6
E
R/W
E
RS
E
E
DB2
/CS1
7
RS
/RST
DB0
R/W
DB0
DB0
DB3
DB7
8
R/W
CS
DB1
E
DB1
DB1
DB4
DB6
9
CS
DB7
DB2
DB0
DB2
DB2
DB5
DB5
10
/RST
DB6
DB3
DB1
DB3
DB3
DB6
DB4
11
DB0
DB5
DB4
DB2
DB4
DB4
DB7
DB3
12
DB1
DB4
DB5
DB3
DB5
DB5
/CS1
DB2
13
DB2
DB3
DB6
DB4
DB6
DB6
/CS2
DB1
14
DB3
DB2
DB7
DB5
DB7
DB7
/RST
DB0
15
DB4
DB1
CS1
DB6
/CS1
CS1
R/W
E
16
DB5
DB0
CS2
DB7
/CS2
CS2
RS
R/W
17
DB6
LEDK
/RST
/RST
/RST
/RST
E
RS
18
DB7
LEDA
VOUT
VOUT
VOUT
VOUT
VOUT
V0
19
-
-
LEDA
LEDA
LEDA
EL/BLA
LEDK
VCC
20
-
-
LEDK
LEDK
LEDK
NC/BLK
LEDA
GND
表1各类接口的接口顺序
由表1给出的各类接口的接口顺序,选用12864-3的型号即proteus的型号选择如图1所示,依照所选型号连接好电路图,如图8所示。
图1proteus的LCD型号选择
3、产品外形
依照所选用的12864-3型号,其产品外形如图2所示。
图212864-3型号产品外形图
12864-3产品有12864-3C和12864-3D两个升级型号,其中12864-3C是片选高电平有效,12864-3D是片选低电平有效。
可配置温补电路。
4、原理简图
依照所选用的12864-3型号,其原理简图如图3所示。
图312864点阵模块原理框图
5、接口说明
名称
型态
电平
功能描述
FG
-
―
铁框地
GND
-
-
电源地
VCC
输入
-
电源输入(+5V)
V0
输入
-
LCD驱动电压输入端(对比度调节)
R/W
输入
H/L
读/写信号
CS
输入
H/L
12832类产品片选H:
芯片1L:
芯片2
CS1
输入
H/L
片选信号,一般低有效,部分产品高电平有效,具体见各产品外形文件
CS2
RS
输入
H/L
寄存器选择端H:
数据寄存器;L:
命令寄存器
/RST
输入
H/L
复位信号
DB0~DB7
输入/输出
H/L
数据总线
VEE
输入
-
负压输入输出端
LEDA
输入
-
背光正极
LEDK
-
-
背光负极
*Vout或名VEE,意义相同
表2接口说明
六、引脚功能
D0-D7
三态
数据总线
R/W
输入
R/W=1,MCU对KS0108的读操作信号R/W=0,MCU对KS0108的写操作信号
CS1
CS2
CS3
输入
片选信号。
仅当CS1=CS2=0且CS3=1时,KS0108才选通
RS
输入
通道选择信号,C/D=1数据通道,C/D=0指令通道
E
输入
使能信号
RST
输入
复位信号,低有效。
复位时,KS0108将显示开关和显示起始行寄存器清零。
表3引脚功能
7、指令列表
表4指令列表
八、指令功能详解
下面是KS0108指令写入的流程图:
图4指令写入的流程图
(1)读状态字readstatus
格式:
RS=0,R/W=1
BUSY
0
ON/OFF
RESET
0
0
0
0
1)BUSY=1表示KS0108正在处置运算机发来的指令或数据。
现在接口电路被封锁,不能同意除读状态字之外的任何操作。
BUSY=0表示KS0108接口控制电路已处于“预备好”状态,等待运算机的访问。
2)ON/OFF:
表示当前的显示状态。
ON/OFF=1表示关显示状态ON/OFF=0表示开显示状态。
3)RESET表示当前KS0108的工作状态,即反映RST端的电平状态。
当RST为低电平状态时KS0108处于复位工作状态,RESET=1。
当RST为高电平状态时,KS0108为正常工作状态,RESET=0。
4)在占据设置和数据读写时要注意状态字中的BUSY标志。
只有在BUSY=0时,运算机对KS0108的操作才能有效。
因此运算机在每次对KS0108操作之前,都要读出状态字判断BUSY是不是为“0”。
若不为“0”,则运算机需要等待,直BUSY=0为止。
(2)显示开关displayon/off
格式:
RS=0,R/W=0
0
0
1
1
1
1
1
D
该指令设置显示开关/触发器的状态,由此控制显示数据锁存器的工作方式,从而控制显示上的显示状态。
D位为显示开/关的控制位。
当D=1为显示设置,显示数据锁存器正常工作,显示屏上呈现所须的效果。
现在在状态字中ON/OFF=0。
当D=0为关显示设置,显示数据锁存器被置零,显示屏呈不显示状态,但显示存储器并无被破坏,在状态组中ON/OFF=1。
(3)显示起始行设置Displaystartline
格式:
RS=0,R/W=0
1
1
L5
L4
L3
L2
L1
L0
该指令设置了显示起始行寄放器的内容。
KS0108有64行显示的管理能力,该指令中L5~L0为显示起始行的地址,取值在0~3FH(1~64)范围内,它规定了显示屏上最顶一行所对应的显示存储器的行地址。
若是按时距离地,等间距地修改(如加一或减一)显示起始行寄放器的内容,则显示屏将呈现显示内容向上或向下光滑转动的显示效果。
(4)页面地址设置Setpage(Xaddress)
格式:
RS=0,R/W=0
1
0
1
1
1
P2
P1
P0
该指令设置了页面地址----X地址寄放器的内容。
KS0108将显示存储器分成了8页,指令代码中P2~P0就是要肯定当前所要选择的页面地址,取值范围为0~7H,代表第1~8页。
该指令规定了以后的读/写操作将在哪个页面上进行。
(5)列地址设置SetYaddress
格式:
RS=0,R/W=0
0
1
C5
C4
C3
C2
C1
C0
该指令设置了Y地址计数器的内容,C5~C0=0~3FH(1~64)代表某一页面上的某一单元地址,随后的一次读或写数据将在那个单元上进行。
Y地址计数器具有自动加一功能,在每一次读/写数据后它将自动加一,所以在持续进行读/写数据时,Y地址计数器没必要每次都设置一次。
页面地址的设置和列地址的设置将显示存储器单元唯一地肯定下来,为后来的显示数据的读/写作了地址的选通。
(6)写显示数据Writedisplaydata
格式数据:
RS=1,R/W=0
数据
该操作将8位数据写入先前已肯定的显示存储器的单元内,操作完成后列地址计数器自动加一。
(7)读显示数据Readdisplaydata
格式数据:
RS=1,R/W=1
数据
该操作将KS0108接口部的输出寄放器内容读出,然后列地址计数器自动加一。
(二)取字模的方式
利用取模软件PCtoLCD对所需的字进行取模,对取模方式进行选择,选择逐列式,如图5所示,再点击生成字模,将需要的字模生成出来。
如图6所示。
图5取模方式选择
图6生成字模
掏出的字模如图7所示:
图7掏出的字模
依照一样的方式,将“班级:
电子信息091;姓名:
黄慧娟;学号8”的所有字模都掏出来。
(具体字模见代码)
3、详细的程序代码和说明
#include<>
#include<>
#include<>
#defineucharunsignedchar
#defineuintunsignedint
#defineLCD_dateP0/*LCD端口定义*/
sbitCS1=P2^3;
sbitCS2=P2^4;
sbitEN=P2^2;
sbitRW=P2^1;
sbitRS=P2^0;
ucharx=0xb8;
uchary=0x40;
codeuchardis[]={
0x84,0x10,0x84,0x30,0xFC,0x1F,0x84,0x08,0x84,0x88,0x00,0x42,0xF8,0x21,0x00,0x18,
0xFF,0x07,0x00,0x00,0x84,0x20,0x84,0x20,0xFC,0x3F,0x84,0x20,0x84,0x20,0x00,0x00,/*"班",0*/
0x20,0x22,0x30,0x67,0xAC,0x22,0x63,0x12,0x30,0x12,0x00,0x40,0x02,0x30,0x02,0x8F,
0xFE,0x80,0x02,0x43,0x02,0x2C,0x62,0x10,0x5A,0x2C,0xC6,0x43,0x00,0x80,0x00,0x00,/*"级",1*/
0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x30,0xC0,0x30,0x00,0x00,0x00,0x00,0x00,0x00,/*":
",2*/
0x00,0x00,0x00,0x00,0xF8,0x1F,0x88,0x08,0x88,0x08,0x88,0x08,0x88,0x08,0xFF,0x7F,
0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0xF8,0x9F,0x00,0x80,0x00,0xF0,0x00,0x00,/*"电",3*/
0x80,0x00,0x82,0x00,0x82,0x00,0x82,0x00,0x82,0x00,0x82,0x40,0x82,0x80,0xE2,0x7F,
0xA2,0x00,0x92,0x00,0x8A,0x00,0x86,0x00,0x82,0x00,0x80,0x00,0x80,0x00,0x00,0x00,/*"子",4*/
0x00,0x01,0x80,0x00,0x60,0x00,0xF8,0xFF,0x07,0x00,0x00,0x00,0x04,0x00,0x24,0xF9,
0x24,0x49,0x25,0x49,0x26,0x49,0x24,0x49,0x24,0x49,0x24,0xF9,0x04,0x00,0x00,0x00,/*"信",5*/
0x00,0x40,0x00,0x30,0x00,0x00,0xFC,0x03,0x54,0x39,0x54,0x41,0x56,0x41,0x55,0x45,
0x54,0x59,0x54,0x41,0x54,0x41,0xFC,0x73,0x00,0x00,0x00,0x08,0x00,0x30,0x00,0x00,/*"息",6*/
0x00,0x00,0xE0,0x0F,0x10,0x10,0x08,0x20,0x08,0x20,0x10,0x10,0xE0,0x0F,0x00,0x00,/*"0",7*/
0x00,0x00,0xE0,0x00,0x10,0x31,0x08,0x22,0x08,0x22,0x10,0x11,0xE0,0x0F,0x00,0x00,/*"9",8*/
0x00,0x00,0x10,0x20,0x10,0x20,0xF8,0x3F,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,/*"1",9*/
0x10,0x40,0x90,0x21,0x7F,0x1A,0x12,0x04,0x10,0x0B,0xF0,0x30,0x40,0x40,0x3C,0x42,
0x10,0x42,0x10,0x42,0xFF,0x7F,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x40,0x00,0x00,/*"姓",1*/
0x00,0x04,0x40,0x04,0x20,0x04,0x10,0x02,0x08,0x7E,0x27,0x23,0x44,0x23,0x84,0x22,
0x44,0x22,0x24,0x22,0x14,0x22,0x0C,0x22,0x04,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,/*"名",4*/
0x00,0x00,0x00,0x00,0x00,0x36,0x00,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*":
",6*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"",7*/
0x20,0x00,0x24,0x80,0x24,0x80,0xA4,0x5F,0xA4,0x32,0xBF,0x12,0xA4,0x12,0xE4,0x1F,
0xA4,0x12,0xBF,0x12,0xA4,0x32,0xA4,0x5F,0x24,0xC0,0x24,0x00,0x20,0x00,0x00,0x00,/*"黄",9*/
0x00,0x00,0x2A,0x40,0x2A,0x30,0xAA,0x0A,0xFF,0x0A,0xAA,0x3A,0xAA,0x4A,0x80,0x4A,
0xAA,0x5A,0xAA,0x4A,0xFF,0x4A,0xAA,0x6A,0xAA,0x0F,0x2A,0x10,0x00,0x60,0x00,0x00,/*"慧",11*/
0x10,0x40,0x10,0x23,0xF0,0x1A,0x1F,0x04,0x10,0x0B,0xF0,0x30,0x00,0x00,0xDE,0xFF,
0x52,0x09,0x52,0x09,0x52,0x09,0x52,0x49,0x52,0x89,0xDE,0x7F,0x00,0x00,0x00,0x00,/*"娟",13*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"",14*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"",15*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"",16*/
0x40,0x00,0x30,0x02,0x10,0x02,0x12,0x02,0x5C,0x02,0x54,0x02,0x50,0x42,0x51,0x82,
0x5E,0x7F,0xD4,0x02,0x50,0x02,0x18,0x02,0x57,0x02,0x32,0x02,0x10,0x02,0x00,0x00,/*"学",2*/
0x40,0x00,0x40,0x00,0x40,0x00,0x5F,0x02,0xD1,0x07,0x51,0x02,0x51,0x02,0x51,0x22,
0x51,0x42,0x51,0x82,0x51,0x42,0x5F,0x3E,0x40,0x00,0x40,0x00,0x40,0x00,0x00,0x00,/*"号",4*/
0x00,0x00,0x00,0x00,0x00,0x36,0x00,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*":
",6*/
0x00,0x00,0x70,0x30,0x08,0x28,0x08,0x24,0x08,0x22,0x88,0x21,0x70,0x30,0x00,0x00,/*"2",7*/
0x00,0x00,0xE0,0x0F,0x10,0x10,0x08,0x20,0x08,0x20,0x10,0x10,0xE0,0x0F,0x00,0x00,/*"0",8*/
0x00,0x00,0x70,0x1C,0x88,0x22,0x08,0x21,0x08,0x21,0x88,0x22,0x70,0x1C,0x00,0x00,/*"8",9*/
0x00,0x00,0xE0,0x0F,0x10,0x10,0x08,0x20,0x08,0x20,0x10,0x10,0xE0,0x0F,0x00,0x00,/*"0",10*/
0x00,0x00,0xE0,0x00,0x10,0x31,0x08,0x22,0x08,0x22,0x10,0x11,0xE0,0x0F,0x00,0x00,/*"9",11*/
0x00,0x00,0xE0,0x0F,0x10,0x10,0x08,0x20,0x08,0x20,0x10,0x10,0xE0,0x0F,0x00,0x00,/*"0",12*/
0x00,0x00,0xF8,0x19,0x08,0x21,0x88,0x20,0x88,0x20,0x08,0x11,0x08,0x0E,0x00,0x00,/*"5",13*/
0x00,0x00,0xE0,0x0F,0x10,0x10,0x08,0x20,0x08,0x20,0x10,0x10,0xE0,0x0F,0x00,0x00,/*"0",14*/
0x00,0x00,0x70,0x1C,0x88,0x22,0x08,0x21,0x08,0x21,0x88,0x22,0x70,0x1C,0x00,0x00,/*"8",15*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"",16*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"",1*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"",2*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"",3*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"",4*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"",5*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"",6*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"",7*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"",8*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"",9*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"",10*/
0x00,0x00,0x00,0x00,0x00,0x00
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 图形 液晶显示 设计