基于单片机的LCD显示系统的设计论文.docx
- 文档编号:26135448
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:27
- 大小:177.84KB
基于单片机的LCD显示系统的设计论文.docx
《基于单片机的LCD显示系统的设计论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的LCD显示系统的设计论文.docx(27页珍藏版)》请在冰豆网上搜索。
基于单片机的LCD显示系统的设计论文
基于单片机的LCD显示系统设计
1系统概述
1.1系统设计任务、目的和意义
课程设计是在校学生素质教育的重要环节,是理论与实践相结合的桥梁和纽带。
单片机课程设计,要求学生更多的完成软硬结合的动手实践方案,解决目前学生课程设计过程中普遍存在的缺乏动手能力的现象.《单片机课程设计》是继《电子技术》、和《单片机原理与应用》课程之后开出的实践环节课程,其目的和任务是训练学生综合运用已学课程“电子技术基础”、“单片机原理与应用”的基本知识,独立进行单片机应用技术和开发工作,掌握单片机程序设计、调试和应用电路设计、分析与调试检测。
本设计的大致要求为:
1、设计12864LCD与单片机的显示接口电路;2、至少设置两个按键,按下不同的按键,显示不同的容,要求所显示容为汉字。
随着社会的发展,趣来趣多的地方需要应用显示功能,各种数字显示仪器中的显示、广告牌、数码产品等,传统的数码管显示已经远远不能满足各行各业的需求。
基于单片机的LCD显示是一种用单片机来控制的一种显示系统,它不仅能显示种各数字、字母、还能显示各种字体的汉字以与一些简单的图象,使用起来极为方便,只要通过对单片机写入一定的程序来控制LCD的显示即可完成,根据程序的不同而产生不同不效果以满足各种不同需求。
1.2LCD显示原理
LCD由两块玻璃板构成,厚约1mm,其间由包含有液晶材料的5μm均匀间隔隔开。
因为液晶材料本身并不发光,所以在显示屏两边都设有作为光源的灯管,而在液晶显示屏背面有一块背光板(或称匀光板)和反光膜,背光板是由荧光物质组成的可以发射光线,其作用主要是提供均匀的背景光源。
背光板发出的光线在穿过第一层偏振过滤层之后进入包含成千上万液晶液滴的液晶层。
液晶层中的液滴都被包含在细小的单元格结构中,一个或多个单元格构成屏幕上的一个像素。
在玻璃板与液晶材料之间是透明的电极,电极分为行和列,在行与列的交叉点上,通过改变电压而改变液晶的旋光状态,液晶材料的作用类似于一个个小的光阀。
在液晶材料周边是控制电路部分和驱动电路部分。
当LCD中的电极产生电场时,液晶分子就会产生扭曲,从而将穿越其中的光线进行有规则的折射,然后经过第二层过滤层的过滤在屏幕上显示出来。
1.3单片机与LCD选型
此设计是通过单片机来控制LCD来显示一些要求的汉字,如学院、电气工程系、零八电本二班等字样。
单片机种类繁多,由于上课学习的是51系列的单片机,着重介绍了89C51,故对此类型的单片机比较熟悉,故在此设计中选用的单片机为AT89C51,方便操作和进一步学习加深。
对于LCD,此设计的要求要用128×64的LCD,同时由于AMPIRE12864LCD的资料比较容易得到,且比较通俗易懂,便于快速上手,所以就选用AMPIRE12864LCD用来作为显示。
1.4系统总设计框图
此设计的总设计框图如下:
图1.1总设计框图
2系统硬件设计
2.1硬件的选择
在此设计中用到的元件列表如下:
表2-1元件列表
AT89C51
AMPIRE12864LCD
BUTTON
RESPACK-8
CRYSTAL
RES
CAP
CAP-ELEC
2.2AMPIRE12864LCD简介
2.2.1主要参数
表2-2主要参数
显示容量:
128X64点阵(STN型)
模块最佳工作电压:
5.0V
工作电压:
4.8~5.2V
点尺寸:
0.48X0.48(WXH)mm
工作电流:
5.1mA(5.0V)
工作温度:
-20~60℃
背光源颜色:
黄绿
存储温度:
-30~70℃
背光源电流:
<140mA
2.2.2引脚简介
表2-3引脚简介
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
10
DB3
DataI/O
2
VDD
电源正极(+5V)
11
DB4
DataI/O
3
V0
LCD偏压输入
12
DB5
DataI/O
4
RS
数据/命令选择端(H/L)
13
DB6
DataI/O
5
R/W
读写控制信号(H/L)
14
DB7
DataI/O
6
E
使能信号
15
CS1
片选IC1信号
7
DB0
DataI/O
16
CS2
片选IC2信号
8
DB1
DataI/O
17
RTS
复位端(H:
正常工作,L:
复位)
9
DB2
DataI/O
18
VEE
LCD驱动负压输出(-5V)
2.2.3主要指令代码
表2-4指令代码
指令码
功能
3EH
关显示
3FH
开显示
指令码
功能
0C0H
设置显示初始行
指令码
功能
0B8H+页码(0~7)
设置数据地址页指针
40H+列码(0~63)
设置数据地址列指针
2.2.4读时序
图2.1读时序图
2.2.5写时序
图2.2写时序图
2.3主要电路模块简介
本硬件电路主要由四大模块组成:
主芯片模块;晶振和复位电路模块;控制接钮模块;显示电路模块。
2.3.1主芯片模块
XTAL1:
接外部晶振和微调电容的一端。
在片,它是振荡电路反相放大器的输入端。
在采用外部时钟时,该引脚输入外部时钟脉冲。
XTAL2:
接外部晶振和微调是容的一端。
在89C51片它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体的固有频率。
若须采用外部时钟电路,则该引脚悬空。
要检查89C51的振荡电路是否正常工作,可以用示波器查看XTAL2端是否有脉冲信号输出。
RST:
AT89C51的复位信号输入引脚,高电平有效。
当此输入端保持两个机器周期的高电平时,就可以完成复位操作。
ALE:
允许地址锁存信号端。
当89C51上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率的1/6。
CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。
PSEN:
访问外部程序存储器选通信号,低电平有效。
当89C51由片外程序存储器取指令时,每个机器周期两次PSEN有效。
但在此期间,每当访问外部数据存储器时,这两次有效的PSEN信号将不出现。
EA:
该引脚为低电平时,则读取外部的程序代码来执行程序。
P0、P1、P2、P3:
8位并行输入输出口。
每个端口都是8位准双向口,共占32只引脚。
每一条都能独立地用作输入或输出。
每个端口都包括一个锁存器、一个输出驱器和输入缓冲器。
作输出时,数据可以锁存;作输入时,数据可以缓冲。
图如图2.3。
2.3.2复位和晶振电路模块
上部分为晶振电路。
89C51芯片部有一个高增益反相放大器,用于构成振荡器。
反相放大器的输入端为XTAL1,输出端为XTAL2,两个跨接石英晶体与两个电容就可以构成稳定的自激振荡器。
电容器通常取30pF左右,可以稳定频率并对振荡频率有微调作用。
下部分为手动复位和上电自动复位组合的复位电路。
上电自动复位是在加电瞬间电容通过充电来实现。
在通电瞬间电容通过电阻充电,RES端出现正脉冲,用以复位。
只要电源的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。
所谓手动复位,是指通过接通一按钮开关,使单片机进入复位状态。
系统上电运行后,若需要复位,一般是通过手动复位来实现的。
图如图2.5。
2.3.3控制按钮模块
上方的按钮为常规显示汉字的按钮,一按下一行容就以常规方式显示出来。
再按一次则接着常规显示下一行,每次按下只显示一行。
下方的按钮为滚动显示汉字的按钮,一按下一行容就以滚动方式显示出来,再按一次显示下一行,每次按下只显示一行。
按上键,所连引脚出现下降沿,此起外部中断0,当出现外部中断0,则产生一个常规方式显示的条件,常规显示出现。
按下键,所连引脚出现下降沿,此起外部中断1,当出现外部中断1,则产生一个滚动方式显示的条件,滚动显示出现。
图如图2.4。
2.3.4显示电路模块
P0口提供指令和数据信号,由DB0到DB7输入,DB0到DB7为数据输入输出端和指令的输入端。
P2口低5位提供使能与一些控制信号。
其中E为使能信号,高电平有效,当此引脚出现高电平时,整个显示器被使能,只有当显示器使能时,其它的此此脚才能工作。
R/W为读写控制信号。
当此引脚为高电平时,为读功能,为低电平时为写功能。
在读时只可以读数据,而在写时既可以写数据也可以写指令。
RS为数据命令选择端,当此引脚为高电平时,写入的是数据,当此引脚为低电平时,写入的是指令。
CS1和CS2为片选信号,因为此显示器的显示屏被分为左右两块,分别由CS1和CS2来控制,当CS1为高电平,CS2为低电平时,就表示选择了左半屏,当CS1为低电平,CS2为高电平时,表示选择了右半屏。
左右半屏在物理上是相近的。
图如2.6。
图2.3主芯片图
图2.4控制键钮电路图
图2.5复位与晶振电路图
图2.6显示电路图
2.4完整硬件电路图
图2.7完整电路图
3系统软件设计
3.1程序设计
3.1.1程序设计整体思路
此设计是由单片机控制的LCD显示系统,外设二个按钮来控制显示的方式。
对于按钮的工作方式可以是中断也可以是查询,在此设计中所选用的外部中断。
用单片机的P2口的低5来作为LCD的显示控制端,即控制LCD使能端、读写控制揣、数据指令选择端与两个选屏端。
对于此设计课题,因为要用128×64的显示器来显示汉字,而汉字与字符(如空格等)是需要显示代码的。
所以,首先是通过一定的软件如ZIMO等来获取你想要显示的汉字的编码代码。
有了这款软件,就方便多了,只在要软件中打入你想要显示的汉字或是字符,它就会自动生成代码,使用起来非常方便,而不需要人工去编写相应的代码。
由于此LCD的显示屏是被分为了两部分的,即左半屏和右半屏,分别由CS1和CS2来控制,两个半屏的存都分别由X和Y两个地址来确定,X地址共64位,而Y地址两边各64位,一共128位,所以有的时候就称其为12864显示器。
X地址共有8个值,从0到7,即每个值有8位,每显示一个字符要2个X值,而Y共128个值,分为两块即左右两块,分别从0到63,即每个值一位。
每显示一个汉字要16个Y值,每显示一个字符要8个Y值。
所以应该对两半屏分别编程取显示地址。
同时还得用一个显示子程序来显示显示地址中保存的显示代码(汉字代码)。
由此LCD的显示时序图可知,在显示过程中还需要一定的延时(不同的型号,延时时间是不同的)并且在显示前需将一些特定的控制端置相应的电平,比如说还所有输入之关需先把LCD总使能端打开,即置E端为高电平,然后应再输入指令代码,对其进行相关的设置。
所以还需要一个适当的延时子程序以与输入数据前的准备程序。
除了这些外,还应写一个初始化程序,用来对中断等一些程序所需要的端口进行初始。
对于开中断,应打开总中断EA以与相应的低级中断EX0和EX1。
再者就是两个中断程序,对于这两个中断程序比较简单,只需对要执行相关控制(即常规显示和滚动显示)所需要的每件进行满足即可。
最后就是主函数,它的主要功能就是判断中断是否来临,来临了,然后判断是外部中断0还是外部中断1,然后根据是0还是1来执行相应的程序,选择相应的显示方式。
当四行全显示完了后,中断失效,即不管你是否还按键,都不再会对显示造成影响。
显示出来的容将一直保持。
3.1.2主要子程序模块
延时子程序
voiddelay()
{
uchari;
for(i=0;i<20;i++);
}
输入准备子程序
voidready()
{
doi=0;图3.1延时子程序流程图
wor=0;
ena=0;
delay();
ena=1;
}
输入子程序
voidmodel()图3.2输入准备子程序流程图
{
P0=0x3f;
ready();
P0=0xc0;
ready();
P0=x;
ready();
P0=y;
ready();图3.3输入子程序流程图
}
显示子程序
voiddisplay()
{
P0=d[i];
i++;
doi=1;
wor=0;
ena=0;
}
图3.4显示子程序流程图
3.2主程序流程简图
图3.5主程序流程图
图3-5
3.3仿真结果与分析
(a)(b)(c)
(d)(e)(f)
图3.6仿真结果
结果分析:
第一幅图为按protues后出现的现象,即LCD被通电。
第二幅图为按下上键后出现的现象。
即常规显示一行汉字。
第三幅图为再次按下上键后出现的现象,即再以常规方式显示一行汉字。
第四幅图为单步运行时运行到一定时间时出现的现象,此次显示可以看出为铵下下键后才会出现的,即以滚动方式显示汉字。
第五幅图同样还是为单步运行时运行到一定时间出现的现象,即以滚动方式滚动显示到图中的那一时刻。
第六幅图为最终的显示情况,在此之后按键已经无效,即不再对显示有任何影响。
总结
本次课程设计从布置下来到最后的完成,虽然没有像真正搞设计那样复杂,程序那样繁琐,需要的大量的时间和精力投入,需要大量人力、物力、财力等的支持,但由于是初次搞这样的设计,没有任何的经验,在设计中过程中还是让我倍感吃力。
首先就是LCD的选择,因为在此之前没有学习过像LCD这样的器件,对于我完全是一个新的概念,所以一时让我不知所措。
其次就是软件的编写,其中汉字代码的得到以与我自己发挥的显示方式——滚动显示也让我头痛了好一阵子。
最后,就是说起来简单但其实对我这样的新手来说一点也不简单的任务,那就是相关文档的制作。
总之,在这次设计过程中让我尝到了设计的困难之外,更重要的是让我感觉到了设计的魅力,说句实在话蛮有味的,特别是在成功仿真后,着实让自己有一种成就感。
在此过过程中不仅巩固了我对Word与单片机的使用,同时也让我对LCD显示有了一个较为清楚的了解,弥补了我的一个盲区,再者让我对一些设计文章的排版要求有了一个清楚的了解,这样可以让我在以后的设计课题中至少在排版这一块少走很多弯路。
相信这将是一次较有意义的课程设计。
参考文献
[1]侯玉宝等.基于protues的51系列单片机设计与仿真.:
电子工业,2008.
[2]朝青.单片机原理与接口技术.:
航空航天大学,2006.
[3]朱清慧等.Protues教程——电子线路设计、制版与仿真.:
清华大学,2008.
[4]:
//.Sunman.product/SMG12864A.htm.
附录A
图1电路原理图
附录B
程序清单
#include"reg51.h"
#defineucharunsignedchar
#defineuintunsignedint
sbitdoi=P2^0;
sbitena=P2^1;
sbitwor=P2^2;
sbitcs1=P2^3;
sbitcs2=P2^4;
ucharx=0xb8;y=0x40,a=1,b=1;
uinti=0,biao,k=0;
codeuchard[]=
{0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,//()
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X80,0X00,0X44,0X03,0X24,0X0D,//(邵)
0X9C,0X04,0XA2,0X04,0XA2,0X07,0X1E,0X00,
0X00,0X00,0XF8,0X7F,0X08,0X00,0X64,0X02,
0X94,0X02,0X0C,0X07,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,//()
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0XFC,0X3F,0X42,0X00,//(阳)
0X9A,0X00,0XE6,0X00,0X00,0X00,0X00,0X00,
0XF0,0X07,0X88,0X04,0X88,0X04,0X08,0X04,
0XF8,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,//()
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0XC0,0X04,0X70,0X04,0X22,0X04,//(学)
0X24,0X04,0XA0,0X04,0X52,0X24,0X54,0X43,
0XD0,0X3E,0X58,0X02,0X17,0X02,0X10,0X02,
0X30,0X02,0X10,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,//()
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0XFC,0X3F,0X44,0X00,0XB4,0X20,//(院)
0XCC,0X10,0X20,0X08,0X18,0X05,0X50,0X03,
0X4A,0X01,0XAC,0X1F,0XA8,0X20,0X88,0X20,
0X18,0X20,0X00,0X1C,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,//()
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,//()
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0XF8,0X0F,0X48,0X04,//(电)
0X48,0X04,0X48,0X04,0X48,0X04,0XFF,0X3F,
0X48,0X44,0X48,0X44,0X48,0X44,0X48,0X44,
0XF8,0X4F,0X00,0X40,0X00,0X70,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,//()
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X20,0X00,0X10,0X00,0X8C,0X00,//(气)
0XA7,0X00,0XA4,0X00,0XA4,0X00,0XA4,0X00,
0XA4,0X00,0XA4,0X00,0XA4,0X00,0XA4,0X0F,
0X24,0X30,0X04,0X40,0X04,0XF0,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,//()
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X20,0X02,0X20,0X02,0X20,//(工)
0X02,0X20,0X02,0X20,0X02,0X20,0X02,0X20,
0XFE,0X3F,0X02,0X20,0X02,0X20,0X02,0X20,
0X02,0X20,0X02,0X20,0X00,0X20,0X00,0X20,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,//()
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X10,0X04,0X12,0X03,0XD2,0X00,0XFE,0XFF,//(程)
0X91,0X00,0X11,0X41,0X80,0X44,0XBF,0X44,
0XA1,0X44,0XA1,0X7F,0XA1,0X44,0XA1,0X44,
0XBF,0X44,0X80,0X44,0X00,0X40,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,//()
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X40,0X02,0X21,0X22,0X13,//(系)
0XB2,0X09,0XAA,0X05,0X66,0X41,0X62,0X81,
0X22,0X7F,0X11,0X01,0X4D,0X05,0X81,0X09,
0X01,0X13,0X01,0X62,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,//()
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,//()
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X10,0X00,0X10,0X00,0X08,//(零)
0X00,0X08,0X30,0X0C,0X08,0X2A,0X50,0X69,
0XB0,0X1B,0X92,0X08,0X3A,0X0D,0X4E,0X02,
0X4A,0X06,0X2A,0X0C,0X08,0X0C,0X18,0X08,
0X00,0X20,0X00,0X20,0X00,0X10,0X00,0X10,//(八)
0X00,0X08,0X00,0X04,0X00,0X02,0X00,0X01,
0X90,0X00,0X60,0X00,0XC0,0X01,0X00,0X1E,
0X00,0X38,0X00,0X30,0X00,0X20,0X00,0X20,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,//(电)
0X00,0X00,0XE0,0X07,0X20,0X04,0X20,0X3E,
0XA0,0X25,0XF0,0X24,0XAE,0X24,0X20,0X22,
0XA0,0X21,0X70,0X30,0X20,0X0C,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X10,0X00,0X08,//(本)
0X00,0X08,0X00,0X04,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 LCD 显示 系统 设计 论文