毕业论文设计基于某单片机地LCD液晶显示器控制原理系统设计定稿子精品.docx
- 文档编号:5569173
- 上传时间:2022-12-27
- 格式:DOCX
- 页数:27
- 大小:343.11KB
毕业论文设计基于某单片机地LCD液晶显示器控制原理系统设计定稿子精品.docx
《毕业论文设计基于某单片机地LCD液晶显示器控制原理系统设计定稿子精品.docx》由会员分享,可在线阅读,更多相关《毕业论文设计基于某单片机地LCD液晶显示器控制原理系统设计定稿子精品.docx(27页珍藏版)》请在冰豆网上搜索。
毕业论文设计基于某单片机地LCD液晶显示器控制原理系统设计定稿子精品
摘要
本文围绕设计以单片机作为LCD液晶显示系统控制器为主线,基于单片机8051,采用的液晶显示控制器的芯片是SED1520,主要实现中文显示、滚屏以及左右移动功能。
同时也对部分芯片和外围电路进行了介绍和设计,并附以系统结构框图加以说明,着重介绍了本系统应用的各硬件接口技术和各个接口模块的功能及工作过程,并详细阐述了程序的各个模块。
本系统是以单片机的汇编语言来进行软件设计,指令的执行速度快,节省存储空间。
为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。
使硬件在软件的控制下协调运作。
其次阐述了部分程序的流程图和实现过程。
本文撰写的主导思想是软、硬件相结合,以硬件为基础,来进行各功能模块的编写。
最后对我所开发的用单片机实现LCD液晶显示器控制原理的设计思想和软、硬件调试作了详细的论述。
关键字:
单片机、液晶显示、8051、SED1520
1绪论
1.1单片机液晶显示系统设计课题背景
单片机液晶显示系统主要是指单片机以及由单片机驱动的点阵式液晶显示屏所组成的一个显示系统。
液晶显示器与CRT(cathode-raytube,阴极射线管)、LED(light-emittingdiode,发光二级管)或等离子显示器相比是一种低功耗的平面显示器件。
它在车内广告、在型智能广告、可视电话、仪表盘、空调、洗衣机和其它低功耗电子产品中得到广泛应用。
老式七段LCD(LiquidCrystalDisplay液晶显示屏)显示的字符数量有限,只能用于简单显示,而对于比较复杂的字符、图形无法表达。
然而在现代工业控制和一些智能化仪器仪表中,越来越多的场所需要用点阵图形显示器显示汉字。
由于物探仪器的多功能化、智能化、并且普遍采用人机对话的交互方式,需要能够显示更丰富信息和通用性较强的显示器,便于开发和应用,并要求其体积小、重量轻、功耗小。
图形点阵式LCD不仅可以显示字符、数字,还可以显示各种图形、曲线及汉字,并且可以实现屏幕画面滚动、分区开窗口、反转、闪烁、位操作等功能,可以显示用户自定义的任意符号以及曲线、图形等,是信息处理、信息输出的重要手段之一,具有广泛的应用前景。
1.2开发单片机液晶显示系统的意义
社会意义:
液晶显示器(LCD)具有功耗低、体积小、重量轻、超薄等许多其它显示器无法相比的优点。
近几年来被广泛用于单片机控制的智能仪器、仪表和低功耗电子产品中。
液晶显示器分为字符型LCD显示模块和点阵型LCD显示模块。
字符型LCD是一种用5×7点阵图形来显示字符的液晶显示器。
点阵型液晶可显示用户自定义的任意符号和图形,并可卷动显示,它作为便携式单片机系统人机交互界面的重要组成部分被广泛应用于实时检测和显示的仪器仪表中。
支持汉字显示的点阵型液晶在现代单片机应用系统中是一种十分常用的显示设备,汉字BP机、手机上的显示屏就是点阵型LCD。
点阵型LCD是现代单片机应用系统中最常用的人机交互界面之一。
现实意义:
我选择的单片机液晶显示系统的开发,是基于KS0108液晶显示控制器,在C8051F020单片机实验系统上实现。
KS0108是点阵型液晶显示控制器,C8051F020单片机是美国Silabs公司推出的完全集成的混合信号系统芯片(SOC)。
利用单片机控制液晶显示系统的原理,完成单片机液晶显示系统的设计,我希望能够触类旁通,灵活应用其他型号的液晶显示控制器。
将来如果有机会从事这方面的工作,要运用的液晶显示控制器不一定是KS0108,但这次毕业设计中学到的东西为此打下了良好的基础,相信自己能做好这方面的工作。
1.3课题完成的功能
所选的单片机液晶显示系统设计,是在C8051F020系统实验设备上实现的。
C8051F020中有内藏KS0108控制器的液晶模块CGM12864B。
KS0108,128×64个点阵,与行控制器KS0107配合使用,组成液晶显示驱动控制系统。
我最主要是用KS0108来设计图形动态显示。
在显示屏上的显示点是以字节数和位数为显示单元的,单元内为“1”的位在屏幕上反应是亮点,为“0”的位不亮。
在字节中能够显示的位数可编程设置,范围是1~16。
如果小于等于8位,则用一个字节,每个字节的低位不起显示作用。
例如,设置显示单元为6,每个字节显示6位,那么屏幕上的显示单元为1×6点;如果大于8位则用两个字节,低字节的低位不起显示作用。
屏幕上同一行的显示单元从左到右地排列,对应着显示内存中的地址是从高到低,同一列中的显示单元从上到下,对应显示内存中的地址相差一定的值,称作行地址间隔,可用程序设置。
显示内存(RAM,RandomAccessMemory随机存储器)中的地址与屏幕上的显示位置一一对应。
在液晶显示屏上显示图形实际上是将对应的图形显示数据写入显示RAM的相应位置。
显示图形首先需要将图形转换为图形字模,然后根据该图形的显示位置将图形字模写入对应的显示RAM区地址。
在图形显示过程中,按列扫描,显示完一页后,要送一个页面地址加1指令,让单片机将数据传送到显示RAM的下一页。
除了实现图形简单的整屏显示外,根据单片机编程控制灵活的特点,还可以实现图形的左右或上下滚动。
实现图形左右滚屏的基本思想是让后一列的数据写住前一列的显示RAM,直至整屏都往右移一列;实现上下滚屏的基本思想是每显示完整屏数据后,显示起始行地址加1,再显示原整屏数据,这样就实现了上下滚屏的效果。
2单片机与C8051F020单片机实验系统
2.1单片机技术的发展特点[]
自单片机出现至今,单片机技术已走过了近20年的发展路程。
纵观20年来单片机发展里程可以看出,单片机技术的发展以微处理器(MPU,MicroprocessorUnit)技术及超大规模集成电路技术的发展为先导,以广泛的应用领域拉动,表现出比微处理器更具个性的发展趋势。
单片机寿命长
一般说来,单片机开发的产品可以稳定可靠地工作10年、20年;另外,与微处理器相比,单片机的长寿命表现在它不会像386、486、586等MPU一样,随着半导体技术的飞速发展,更新换代的速度越来越快,很短的时间内就被淘汰出局。
传统的单片机如68HC05、8051等年龄已有十几年的历史,但产量仍是上升的,这是因为它们在其对相应应用领域的适应性强,并且与之兼容的I/O功能模块的扩展接口技术也层出不穷。
8位、16位与32位单片机共同发展
这是单片机技术发展的另一个动向。
长期以来,单片机技术的发展是以8位机为主的。
随着移动通信、网络技术、多媒体技术等高科技产品进入家庭,32位单片机应用得到了长足的发展,而16位单片机的发展无论从品种和产量方面,近年来也有较大幅度的增长。
单片机的速度越来越快
MPU发展中表现出来的速度越来越快是以时钟频率越来越高为标志的。
而单片机则有所不同,为提高单片机抗干扰能力,降低噪声,降低时钟频率而不牺牲运算速度是单片机技术发展之追求。
一些8051单片机兼容厂商改善了单片机的内部时序,在不提高时钟频率的条件下,使运算速度提高了许多。
低电压与低功耗
自80年代中期以来,NMOS工艺单片机逐渐被CMOS(互补金属氧化物半导体)工艺所代替,功耗得以大幅度下降,随着超大规模集成电路技术由3
m工艺发展1.5、1.2、0.8、0.5、0.35进而实现了0.2
m工艺,全静态设计使时钟频率从直流电到数十MHz任选,都使功耗不断下降。
几乎所有的单片机都有Wait、Stop等省电运行方式。
允许使用的电源电压范围也越来越宽。
一般单片机都能在3~6V范围内工作,对电池供电的单片机不再需要对电源采取稳压措施。
低电压供电的单片机电源下限已由2.7V降至2.2V、1.8V、0.9V供电的单片机已经问世。
低噪声与高可靠性技术
为提高单片机系统的抗电磁干扰能力,使产品能适应恶劣的工作环境,满足电磁兼容性方面更高标准的要求,各单片机商家在单片机内部电路中采取了一些新的技术措施。
OTP与掩膜
OTP是一次性写入的单片机。
过去认为一个单片机产品的成熟是以投产掩膜型单片机为标志的。
由于掩膜需要一定的生产周期,而OTP型单片机价格不断下降,使得近年来直接使用OTP完成最终产品制造更为流行。
它较之掩膜具有生产周期短、风险小的特点。
近年来,OTP型单片机需量大幅度上扬,为适应这种需求许多单片机都采用了在片编程技术(InsystemProgramming)。
未编程的OTP芯片可采用裸片Bonding技术或表面贴装技术,先焊在印刷板上,然后通过单片机上的编程线、串行数据、时钟线等对单片机编程,解决了批量写OTP芯片时容易出现的芯片与写入器接触不好的问题,使OTP的裸片得以广泛应用,降低了产品的成本。
编程线与I/O线共用,不增加单片机的额外引脚。
而一些生产厂商推出的单片机不再有掩膜型,全部为有ISP功能的OTP。
MTP向OTP挑战
MTP是可多次编程的意思。
一些单片机厂商以MTP的性能、OTP的价位推出他们的单片机,如ATMELAVR单片机,片内采用FLASH,可多次编程。
华帮公司生产的8051兼容的单片机也采用了MTP性能,OTP的价位。
这些单片机都使用了ISP技术,等安装到印刷板线路板上以后再下载程序。
2.2C8051F020单片机实验系统[]
C8051F020器件是完全集成的混合信号系统级MCU(微程序控制器)芯片,具有64个数字I/O引脚。
下面列出了一些主要特性:
·高速、流水线结构的8051兼容的CIP-51内核(可达25MIPS(MillionInstructionsPerSecond,每秒百万条指令))
·全速、非侵入式的在系统调试接口(片内)
·真正12位、100ksps的8通道ADC,带PGA和模拟多路开关
·两个12位DAC,可编程更新时序
·64K字节可在系统编程的FLASH存储器
·4352(4096+256)字节的片内RAM
·可寻址64K字节地址空间的外部数据存储器接口
·硬件实现的SPI、SMBus/I2C和两个UART串行接口
·5个通用的16位定时器
·具有5个捕捉/比较模块的可编程计数器/定时器阵列
·片内看门狗定时器、VDD监视器和温度传感器
具有片内VDD监视器、看门狗定时器和时钟振荡器的C8051F020是真正能独立工作的片上系统。
所有模拟和数字外设均可由用户固件配置为使能或禁止。
FLASH存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新8051固件。
片内FTAG调试电路允许使用安装在最终应用系统上的产品MCU进行非侵入式(不占用片内资源)、全速、在系统调试.该调试系统支持观察和修改存储器和寄存器,支持断点、观察点、单步及运行和停机命令。
在使用JTAG调试时,所有的模拟和数字外设都可全功能运行。
每个MCU都可在工业温度范围(-45
~+85
)内用2.7V~3.6V的电压工作。
端口I/O、/RST、和JTAG引脚都容许5V的输入信号电压。
C8051020为100脚TQFP封装(见图2.1)。
图2.1C8051F020原理框架
2.3CIP-51
CPU
·与8051完全兼容
C8051F020系列器件使用Cygnal的专利CIP-51微控制器内核。
CIP-51与MCS-51
指令集完全兼容,可以使用标准803x/805x的汇编器和编译器进行软件开发。
CIP-51内核具有标准8052的所有外设部件,包括5个16位的计数器/定时器、两个全双工UART、256字节内部RAM、128字节特殊功能寄存器(SFR)地址空间及8/4个字节宽的I/O端口。
·速度提高
CIP-51采用流水线结构,与标准的8051结构相比指令执行速度有很大的提高。
在一个标准的8051中,除MUL和DIV以外所有指令都需要12或24个系统时钟周期,最大系统时钟频率为12~24MHz。
而对于CIP-51内核,70%的指令的执行时间为1或2个系统时钟周期,只有4条指令的执行时间大于4个系统时钟周期。
·增加的功能
C8051F202系列MCU在CIP-51内核和外设有几项关键性的改进,提高了整体性能,更易于在最终应用中使用。
扩展的中断系统向CIP-51提供22个中断源(标准8051只有7个中断源),允许大量的模拟和数字外设中断微控制器,一个中断驱动的系统需要较小的MCU干预,因而有更高的执行效率。
在设计一个多任务实时系统时,这些增加的中断源是非常有用的。
MCU可有多达7个复位源:
一个片内CDD监视器、一个看门狗定时器、一个时钟丢失检测器、一个由比较器0提供的电压检测器、一个软件强制复位、CNVSTR引脚及/RST引脚。
MCU内部有一个独立运行的时钟发生器,在复位后被默认为系统时钟。
如果需要,时钟源可以在运行时切换到外部振荡器,外部振荡器可以使用晶体、陶瓷谐振器、电容、RC或外部时钟源产生系统时钟。
·片内存储器
CIP-51有标准的8051程序和数据地址配置。
它包括256字节的数据RAM,其中高128字节为双映射。
用间接寻址访问通用RAM的高128字节,用直接寻址访问128字节的SFR地址空间。
数据RAM的低128字节可用直接或间接寻址方式访问。
前32个字节为4个通用寄存器区,接下来的16个字节既可以按字节寻址也可以按位寻址。
MCU的程序存储器包含64K字节的FLASH。
该存储器以512字节为一个扇区,可以在系统编程,且不需要特别的编程电压。
从0xFE00到0xFFFF的512字节被保留,由工厂使用。
还有一个位于地址0x10000~0x1007F的128字节的扇区,该扇子区可作为一个小的软件常数表使用。
图2.2给出了MCU系统的存储器结构。
图2.2片内存储器组织
·JTAG调试和边界扫描
C8051F020系列具有片内JTAG边界扫描和调试电路,通过4脚JTAG接口并使用安装在最终应用系统中的产品器件就可以进行非侵入式、全速的在系统调试。
该JTAG接口完全符合IEEE1149.1规范,为生产和测试提供完全的边界扫描功能。
Cygnal的调试系统支持观察和修改存储器和寄存器,支持断点、观察点、堆栈指示器和单步执行。
不需要额外的目标RAM、程序存储器、定时器或通信通道。
在调试时所有的模拟和数字外设都正常运行,以保持同步。
图2.3给出了调试环境示意图。
图2.3调试环境示意图
·可编程数字I/O和交叉开关
该系列MCU具有标准8051的端口(0、1、2和3)。
在C8051F020中有4个附加的端口(4、5、6和7),因此共有64个通用端口I/O。
这些端口I/O的工作情况与标准8051相似,但有一些改进。
可能最独特的改进是引入了数字交叉开关。
这是一个大的数字开关网络,允许将内部数字系统资源映射到P0、P1、P2和P3的端口I/O引脚(见图2.4)。
具有标准复用数字I/O的微控制器不同,这种结构可支持所有的功能组合。
图2.4数字交叉开关原理框图
·可编程计数器阵列
除了5个16位的通用计数器/定时器之外,C8051F020MCU系列还有一个片内可编程计数器/定时器阵列(PCA)。
PCA包括一个专用的16位计数器/定时器时间基准和5个可编程的捕捉/比较模块。
时间基准的时钟可以是下面的6个时钟源之一:
系统时钟/12、系统时钟/4、定时器0溢出、外部时钟输入(ECI)、系统时钟和外部振荡器源频率/8。
C8051F020还有更多的优势,需要详细了解的请参考文献[9]。
本节主要讲了单片机的特点和C8051F020单片机实验系统的特性。
C8051F020与8051完全兼容,指令采用流水线结构提高了系统速度,有可编程数字I/O和交叉开关,增加了一些功能器件,提高了C8051F020整体性能。
3液晶显示控制器KS0108
KS0108是一种带有驱动输出的点阵型液晶显示控制器,它可直接与8位微处理器相连,它可与KS0107配合对液晶显示控制器进行行、列驱动,组成液晶显示驱动控制系统。
3.1KS0108的特点
(1).内藏64×64=4096位显示RAM,RAM中每位数据对应LCD屏上一个点的亮、暗状态;
(2).KS0108是列驱动器,具有64路列驱动输出;
(3).KS0108读、写操作时序与68系列微处理器相符,因此它可直接与68系列微处理器接口相连;
(4).KS0108的占空比为1/48~1/64;
(5).具有专用指令集,可完成文本显示或图形显示的功能设置,以及实现画面滚动、光标、闪烁和位操作等功能;
(6).KS0108可管理64KB显示RAM。
其中,图形方式为64KB;字符方式为4KB。
3.2KS0108管脚[]
KS0108的管脚见图3.1所示:
图3.1KS0108管脚图
3.3KS0108受控引脚
KS0108的引脚功能见表1
表1引脚功能
引脚符号
状态
引脚名称
功能
CS1,CS2,CS3
输入
芯片片选端
CS1和CS2低电平选通,CS3高电平选通
E
输入
读写使能信号
在E下降沿,数据被锁存(写)入KS0108;在E高电平时,数据被读出
R/W
输入
读写选择信号
R/W=1,为读选通;R/W=0为写选通
RS(也习惯叫做D/I)
输入
数据、指令选择信号
RS=1为数据操作
RS=0为写指令或读状态
DB0-DB7
三态
数据总线
RST
输入
复位信号
低电平有效,复位信号有效时,关闭液晶显示,使显示起始终不渝行为0,RST可跟MPU相连,由MPU控制;也右直接接VDD,使之不起作用。
3.4KS0108的时序[4]
3.4.1KS0108与68系列微处理器直接接口的时序
各种信号波形对照见表2:
表2信号波形
MPU读时序见图3.2:
图3.2读时序
MPU写时序见图3.3:
图3.3写时序
3.4.2复位时序
复位后,KA0108显示关闭,显存地址归零。
复位条件见表3和图3.4:
表3复位条件
项目
符号
最小值
典型值
最大值
单位
复位时间
Trs
1.0
…
…
微秒
上升时间
Tr
…
…
200
纳秒
图3.4复位条件
3.5KS0108显示RAM地址结构
KS0108中的显示RAM共有64行,64列,其结构见图3.5
图3.5显示RAM地址结构
3.6KS0108指令系统[4]
KS0108的指令系统比较简单,总共只有七种。
现分别介绍如下:
3.6.1显示开/关指令见表4
表4显示开/关指令
R/WRS
DB7DB6DB5DB4DB3DB2DB1DB0
00
00111111/0
当DBO=1时,LCD显示RAM中的内容;DBO=0时,关闭显示。
3.6.2显示起始行(ROW)设置指令见表5
表5显示起始行指令
R/WRS
DB7DB6DB5DB4DB3DB2DB1DB0
00
11显示起始行(0-63)
该指令设置了对应液晶屏最一行的显示RAM的行号,有规律的改变显示起始行,可以使LCD实现显示滚屏的效果。
3.6.3页(RAGE)设置指令见表6
表6页设置指令
R/WRS
DB7DB6DB5DB4DB3DB2DB1DB0
00
10111页号(0-7)
显示RAM共64行,分8页,每页8行。
3.6.4列地址(YAddress)设置指令见表7
表7列地址设置指令
R/WRS
DB7DB6DB5DB4DB3DB2DB1DB0
00
01显示列地址(0-63)
设置了页地址和列地址,就唯一确定了显示RAM中的一个单元,这样MPU就可以用读、写指令读出该单元中的内容或向该单元写进一个字节数据。
3.6.5读状态指令见表8
表8读状态指令
R/WRS
DB7DB6DB5DB4DB3DB2DB1DB0
10
BUSY0ON/OFFREST0000
该指令用来查询KS0108的状态,各参量含义如下:
BUSY:
1-内部在工作0-正常状态
ON/OFF:
1-显示关闭0-显示打开
REST:
1-复位状态0-正常状态
在BUSY和REST状态时,除读状态指令外,其它指令均不对KS0108产生作用。
在对KS0108操作之前要查询BUSY状态,以确定是否可以对KS0108进行操作。
3.6.6写数据指令见表9
表9写数据指令
R/WRS
DB7DB6DB5DB4DB3DB2DB1DB0
01
写数据
3.6.7读数据指令见表10
表10读数据指令
R/WRS
DB7DB6DB5DB4DB3DB2DB1DB0
11
读显示数据
读、写数据指令每执行完一次读、写操作,列地址就自动增一,必须注意的是,进行读、写操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的数据。
本节主要是介绍液晶显示控制器KS0108的特点、外部部分引脚功能、时序、显示RAM地址结构及指令集,为单片机液晶显示系统设计打下基础。
4图形动态显示
4.1图形点阵式液晶显示控制原理
C8051F020实验板中使用的是内置液晶显示模块CGM12864B的液晶屏。
CGM12864B内部没有振荡器电路,它必须由外部提供一个时序发生器作为振荡源方可工作,它由两片带有64列驱动控制器KS0108和一片带有64行驱动控制器KS0107组合而成。
另外还可以附加负压发生电路。
显示是以一128×64个点的液晶屏显示。
图形液晶显示模块KS0108将显示区分为左右半屏,整个屏从上到下64行分为8页,每页8行,页地址范围为:
B8H~BFH。
列地址范围为:
40H~7FH。
数据为纵向读写,即每页的第一行对应D0……第八行对应D7。
左、右半屏由CS1、CS2选择。
控制器KS0108的指令相对简单,总共七条指令:
显示开关设定(3EH/3FH),显示起始行设定(C0H/FFH),页地址设定(B8H/BFH),列地址设定(40H/7FH)状态读取,写数据,读数据。
128×64点阵式液晶模块的逻辑图见图4.1[4]
图4.1液晶模块逻辑图
4.2液晶显示模块外部接口
外部接口信号见表11
表11外部接口信号
管脚号
管脚名称
LEVER
管脚功能描述
1
Vss
0
电源地
2
Vdd
+0.5V
电源电压
3
V0
-
液晶显示器驱动电压
4
D/I
H/L
D/I=“H”,表示DB7~DB0为显示数据
D/I=“L”,表示DB7~DB0为显示指令数据
5
R/W
H/L
R/W=“H”,E=“H”数据被读到DB0~DB7
R/W=“H”,E=“H
L”数据被写到IR或DR
6
E
H/L
R/W=“L”,E信号下降沿锁存DB7~DB0
R/W=“H”,E=“H”DDRAM数据读到DB7~DB0
7
DB0
H/L
数据线
8
DB1
H/L
数据线
9
DB2
H/L
数据线
10
DB3
H/L
数据线
11
DB4
H/L
数据线
12
DB5
H/L
数据线
13
DB6
H/L
数据线
14
DB7
H/L
数据线
15
CS1
H/L
H:
选择芯片(右半屏)信号
16
CS2
H/L
H:
选
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业论文 设计 基于 单片机 LCD 液晶显示器 控制 原理 系统 定稿 精品