基于Proteus的LCD显示研究
扫描二维码
随时随地手机看文章
摘要:以由KS0108控制器控制的LCD为例,研究如何使用Proteus进行LCD显示的仿真。仿真软件Proteus在原理图设计、电路、单片机仿真及PCB电路的制作等方面都表现卓越。以一款128×64的LCD为例,一方面探讨了如何在液晶上显示,另一方面突出了Proteus软件在单片机仿真领域的应用,给出了具体的思路和调试过程,对学习Proteus的仿真有一定的指导意义。
关键词:Proteus;LCD;单片机;仿真
0 引言
Proteus是英国Labcenter electronics公司出版的EDA工具软件,它实现了从原理图设计、代码调试到单片机与外围电路的协同仿真,一键切换到PCB设计,实现了从概念到产品的完整设计,是目前世界上惟一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051,HC11,PIC10/12/16/18/24/30/DsPIC33,AVR,ARM,8086和MSP430等,可编译汇编语言,同时支持1AR,Keil和MPLAB等多种编译器。
该软件资源丰富,其中元器件资源有:数字和模拟、交流和直流等数千种仿真器件,有30多个元件库;仪表资源有:示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表等。
1 128×64点阵型LCD
目前常用的点阵型LCD有122×32,128×64,240×320等,点阵液晶显示屏有三种控制器,分别是KS0108,T6963C和ST7920,三种控制器主要区别是:KS0108不带任何字库、T6963C带ASCII码,ST7920带国标二级字库(8 000多个汉字)。
Proteus的器件库里提供了多种LCD。本文以KS0108控制器控制的LCD为例,研究了该屏的显示。由KS0108控制器控制的128×64的点阵液晶显示屏Proteus中有两种型号:LGM12641BS1R,AMPIRE 128×64。
1.1 LCD的引脚及功能介绍
128×64点阵型LCD LGM12641BS1R和AMPIRE 128×64的引脚及其功能介绍见表1。
从表1 中可以看出,LGM12641BS1R和AMPIRE 128×64的主要区别在于屏选信号控制端CS1和CS2, LGM12641BS1R为高电平有效,AMPIRE 128×64为低电平有效。[!--empirenews.page--]
1.2 液晶的读写时序
如图1所示,在使能端E为高电平,R/W为低电平时,将数据DB0~DB7写入并锁存;读操作为E高电平,R/W为高电平时,将锁存的数据读出来,送显示。
2 LCD在Proteus中的仿真
2.1 硬件整机电路图
仿真过程中,采用单片机89C52为主控单元,由于同时控制两块屏,为避免连线混乱,采用连接节点模式,在连线上加“线标”进行相应连接,整体电路图如图2所示。
由于LGM12641BS1R和AMPIRE 128×64屏选信号控制端CS1和CS2有效电平不同,为实现二者的同步显示,在AMPIRE 128×64的片选控制端CS1和CS2上分别加了反相器。[!--empirenews.page--]
2.2 仿真步骤
由于该LCD为点阵型的,要显示中文汉字,就要用辅助的汉字取模工具,作者选用了“清华蓬远的液晶字库显示程序”,取模时注意相关项的设置,否则不能正常显示,设置如图3所示。
取模时,采用纵向取模,同时字节倒序。显示效果如图4所示。
2.3 程序的调试
程序采用C51编写,用Keil调试(若为汇编语言编写的程序,Proteus软件自带的编译器也可以编译,无需Keil),调试过程中,在Proje ct中有个“Options forTarget+工程名”的可选项中,点击“Output”,在“Creat HEX Fi”前划对号,以示选中。这样在Proteus ISIS仿真环境下,就可以直接加载在keil中生成的*.hex文件,进行仿真演示。
3 结语
以89C52驱动两种KS0108控制器控制的LGM12641BS1R和AMPIRE 128×64两种LCD为例,给出了仿真的注意事项和仿真的效果,为电路简洁大方,连接方法采用节点法,在连线上加线标实现连接,当然也可以采用总线方式。Proteus在单片机仿真领域应用广泛,不但支持8051系列的CPU模型,还支持68000,AVR,PIC12,PIC16,PIC18,Z80,HC11等系列的单片机,且还可以仿真模拟电路、数字电路及二者混合的电路,软件仿真,节约了耗材,提高了效率,简化了设计过程,值得广泛使用。