液晶GPS定位信息显示器-图顺序错位.docx

上传人:小飞机 文档编号:2041318 上传时间:2023-01-03 格式:DOCX 页数:41 大小:832.67KB
返回 下载 相关 举报
液晶GPS定位信息显示器-图顺序错位.docx_第1页
第1页 / 共41页
液晶GPS定位信息显示器-图顺序错位.docx_第2页
第2页 / 共41页
液晶GPS定位信息显示器-图顺序错位.docx_第3页
第3页 / 共41页
液晶GPS定位信息显示器-图顺序错位.docx_第4页
第4页 / 共41页
液晶GPS定位信息显示器-图顺序错位.docx_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《液晶GPS定位信息显示器-图顺序错位.docx》由会员分享,可在线阅读,更多相关《液晶GPS定位信息显示器-图顺序错位.docx(41页珍藏版)》请在三一办公上搜索。

1、液晶GPS定位信息显示器1 功能要求本设计要求利用单片机、液晶显示器和GPS的OEM板设计开发一种GPS定位信息显示器,要求能显示经纬度、时间和水平面高度等实时信息。2 方案论证 本设计主要从GPS处理模块的选择、显示器的选择和微处理器的选择3个方面来分析论证。2.1 GPS模块的选择 GPS模块主要有以下几个性能指标。 1卫星轨迹 全球有24颗GPS卫星沿6条轨道绕地球运行(每4个一组),GPS接收模块就是靠接收这些卫星来进行定位的。但一般在地球的同一边不会超过12颗卫星,所以一般选择可以跟踪12颗卫星以下的器件。当然,能跟踪的卫星数越多,性能越好。大多数GPS接收器可以追踪8-12颗卫星。

2、计算LAT/LONG(二维)坐标至少需要3颗卫星,4颗卫星可以计算三维坐标。 2并行通道一般消费类GPS设备有25条并行通道接收卫星信号。因为最多可能有12颗卫星是可见的(平均值是8颗),GPS接收器必须按顺序访问每一颗卫星来获取每颗卫星的信息,所以市面上的GPS接收器大多数是12并行通道型的,这允许它们连续追踪每一颗卫星的信息。12通道接收器的优点包括快速冷启动和初始化卫星的信息,而且在森林地区可以有更好的接收效果。一般12通道接收器不需要外置天线,除非是在封闭的空间中,如船舱、车厢中。 3定位时间 定位时间是指重启GPS接收器时确定现在位置所需的时间。对于12通道接收器,如果在最后一次定位

3、位置的附近,则冷启动时的定位时间一般为35min,热启动时为1530s,而对于2通道接收器,冷启动时大多超过15min,热启动时为25min。4定位精度在SA没有开启的情况下,普通GPS接收器的水平位置定位精度为510m。 5DGPS功能为了将SA和大气层折射带来的影响降为最低,有一种叫做DGPS发送机的设备。它是一种固定的GPS接收器(在GPS模块使用现场100200 km的半径内设置),用于接收卫星的信号。DGPS可以确切地知道理论上卫星信号传送到的精确时间是多少,然后将它与实际传送时间相比较,并计算出差值。这十分接近于SA和大气层折射的影响,DGPS将这个差值发送出去,其他GPS接收器就

4、可以利用这个差值得到一个更精确的位置读数(510m或者更小的误差)。许多GPS设备提供商在一些地区设置了DGPS发送机,供客户免费使用,只要客户所购买的GPS接收器有DGPS功能即可。 6信号干扰要想获得一个很好的定位信号,GPS接收器必须至少能接收35颗卫星信号。如果在峡谷中或两边高楼林立的街道上,或者在茂密的丛林里,有可能不能接收到足够的卫星信号,则无法定位或者只能得到二维坐标。同样,如果在一个建筑物里面,则也可能无法更新位置。一些GPS接收器有单独的天线可以贴在挡风玻璃上,或者一个外置天线可以放在车顶上,这有助于接收器收到更多的卫星信号。7其他物理指标(如大小、质量) 本设计采用的是GA

5、RMIN公司生产的GPS25 - LP型GPS OEM接收板。GARMIN公司作为全球最大的GPS OEM板供应商,其生产的GPS25 - LP型GPS OEM板具有以下主要性能指标: 并行12通道接收; 重捕时间2s,热启动时间为15s,冷启动时间为45s,自动搜索时间为90s; 差分(DGPS)情况下定位精度100 000 h,民用级50000 h),体积小,电源简单等特点,非常适合于嵌入式系统、移动设备和掌上设备的使用。本设计采用点阵型LCD液晶显示器CGM - 12232。该显示器具有12232点阵,不仅可以显示数字,还可以显示中文、英文甚至图片等,体积只有61 mm19 mm5.7

6、mm,功耗仅为5V2.5 mA=12.5 mW(不开背光)。2.3 CPU的选择 一般GPS导航器都是GPS配合矢量电子地图来进行导航和航线记录。这些设备CPU的运算量和需要储存的数据量都很大,一般都使用X86、ARM等32位CPU。考虑到本设计只需显示经纬度和时间等简单信息,决定选择ATMEL公司的AT89C51单片机作为主控制器。3 系统硬件电路的设计 图1所示为GPS定位信息显示器系统设计原理框图。 图1 系统硬件原理框图 图2 液晶GPS定位信息显示器电路原理图 系统硬件电路主要由GPS - OEM接收板、液晶显示器、AT89C51单片机、键盘、RS-232电平转换、单片机上电复位和电

7、源等部分组成。GPS - OEM板发送的串行数据经RS - 232(CMOS/TTL电平转换)电路送至单片机串行口,经处理后通过键盘选择要显示的信息,送至LCD液晶显示器。LCD液晶显示器为定时更新,更新周期约为1s。上电复位电路为单片机上电提供上电复位。电源电路为各个电路提供稳定的+5 V电源。GPS OEM板的设置用预留的RS - 232口,在计算机上用GARMIN公司提供的软件(GARMIN Sensor/Smart Anten-na Software)来进行设置。图2所示为GPS定位信息显示器电路原理图。3.1 电源电路 电源电路采用机内变压器供电和机外外接电源供电两种供电方式,如图3

8、所示。两种供电方式可以任选一种,在机内自动切换。机外外接供电采用傻瓜式接口,不需要辨认直流电正负极,可任意接入815 V的交流或直流电压。 图3电源电路原理图 机内变压器输入220 V交流电压,输出7V交流电压。经过桥式整流输出大约9V的脉动电压,经过470F的滤波电容可得到平稳的直流电压。此电压再经过三端稳压器7805稳压,输出稳定的+5 V电压。外接供电口输入的电源也经过机内另一组桥式整流桥,再经过滤波、稳压、然后输出。输人口的整流桥堆实现了傻瓜式接口。当输入直流电源时,由D1、D4或者D2、D3中的一组完成极性转换。如果输入的是交流电源,则由D1D4组成的桥完成整流。3.2 AT89C5

9、1单片机系统 系统电路的主芯片采用美国ATMEL公司的AT89C51 Flash单片机。它与MCS - 51系统产品兼容,具有4 KB可重编程Flash存储器,5V的电源使用电压,1288位的内部RAM,2个16位定时计数器,6个中断源,以及低功耗空闲和掉电方式等一系列功能。AT89C51单片机的电源、复位、晶振振荡电路如图4所示。图4 AT89C51单片机的电源、复位、晶振振荡电路图 1复位电路单片机上电时,当振荡器正在运行时,只要持续给出RST引脚两个机器周期的高电平,便可完成系统复位。外部复位电路是为内部复位电路提供两个机器周期以上的高电平而设计的。系统采用上电自动复位,上电瞬间电容器上

10、的电压不能突变,RST上的电压是Vcc上的电压与电容器上的电压之差,因而RST上的电压与Vcc上的电压相同。随着充电的进行,电容器上的电压不断上升,RST上的电压就随着下降,RST脚上只要保持10 ms以上高电平,系统就会有效复位。电容C可取1033F,电阻R可取1.210 k。在系统设计中,C取10F,R取10 k,充电时间常数为1010-610 X103 = 100 ms。 2晶振振荡电路 XTAL1脚和XTAL2脚分别构成片内振荡器的反相放大器的输入和输出端,外接石英晶体或陶瓷振荡器以及补偿电容C1、C2构成并联谐振电路。当外接石英晶体时,电容C1、C2选30pF10pF;当外接陶瓷振荡

11、器时,电容C1、C2选47pF10pF。AT89C51系统中晶振可在024 MHz选择。外接电容C1、C2的大小会影响振荡器频率的高低、振荡频率的稳定度、起振时间及温度稳定性。 在设计电路板时,晶振和电容应靠近单片机芯片,以便减少寄生电容,保证振荡器稳定可靠工作。在系统设计中,为保证串行通信波特率的误差,选择了11.0592 MHz的标准石英晶振,电容C1、C2为20pF。3.3键盘电路 键盘电路原理图如图5所示。 图5 键盘电路原理图 本键盘为最简单的点式键盘,由单片机I/O口进行扫描。一般来说,键盘按键多数采用行列式,如图6所示。这是因为在按键数量多时行列式键盘在占用相同数量I/O口时,能

12、设置的按键较点式键盘多。但在按键少时行列式键盘还不如点式键盘来得简单、方便。本设计只设置两个按键,用来进行显示信息的翻页。 图6典型的44行列式键盘图3.4 单片机与GPS-OEM板接口电路 GARMIN GPS25 - LP型GPS - OEM板输出引脚功能如图7所示。 GPS OEM板各引脚功能介绍如下: 引脚1:串行口2的数据输出端。 引脚2:串行口2的数据输入端。 引脚3:秒脉冲输出端,精度为10 r/Sc, 引脚4:串行口l的数据输出端。 引脚5:串行口l的数据输入端。 引脚6:掉电模式控制端。 引脚7:外部备用电源输入端。 图7 GPS - OEM板输出引脚图 引脚8:GND接地端

13、。 引脚9:VIN电源输入端。 引脚10:同引脚9,电源输入端,内部与引脚9相连。 引脚11:空脚NC。 引脚12:NMEA(美国海洋电子协会)0183,Verl.5格式语句输出端。由于使用的是LVS版本GPS25-LP型GPS- OEM板,所以串行口1、串行口2和NMEA口使用的都是RS-232电平。如果使用的是LVC版本的GPS25-LP型GPS-OEM板,则端口是TTL电平。在本系统中,将串行2用于计算机作GPS-OEM板设置用,本机显示GPS信息从NMEA口送出。GPS-OEM板接口电路如图8所示。 图8 GPS - OEM板接口电路 由于GPS-OEM送出的是RS-232电平,计算机

14、串行通信用的也是RS-232电平,单片机使用的是TTL电平,因此GPS-OEM板与计算机通信可以直接用串行线相连,而与单片机接口必须进行RS-232电平和TTL电平的转换。 RS-232是异步串行通信中应用最早的,也是最广泛的标准串行总线之一。它原是基于公用电话网的一种串行通信标准,推荐电缆的长度最长为15 m(50 ft)。它的逻辑电平以公共地为对称,其逻辑O电平规定为+3+25 V,逻辑1电平则规定为-3-25 V,因而需要使用正负极性的双电源。其主要电气参数如表1所列。而传统的TTL电平,逻辑电平是以地为标准不对称设置,其逻辑0电平规定3.2 V。因此两者之间逻辑电平不兼容,两者通信时必

15、须进行电平转换。 以前RS-232与TTL电平转换常用MC1488和MC1489。MC1488实质上由3个“与非”门和1个反向器组成,通过它们可以将4路TTL电平转换为RS-232电平。MC1488需要12 V或者15 V双路电源,适用于数据发送。MC1489实质上是4个带控制端的反相器,其控制端通常接一滤波电容到地,使用单一+5 V电源,适用于数据接收。 由于MC1488和MC1489是单一功能的发送接收器,所以在双向数据传输中各端都需要同时使用两个器件;此外由于必须同时使用正负两组电源,因而在很多场合下使用显得不方便,所以被淘汰。为此推出了只用单一电压且具有发送接收双重功能的电路。这种器件

16、内部集成了一个电荷泵和一个电压变换器,它能将+5V或者更低的电压变换成RS-232所需的10V以上的电压。这类芯片最典型的就是MAXIM的MAX232芯片,如图9所示。其内部电荷泵电路先将+5V提升到+10V,然后再用电压反转电路将+10V变成-10V,这样就得到了RS-232所需的10V的电压了。 本设计单片机只须接收从GPS- OEM板发送过来的数据,而无须向GPS-OEM板发送数据。也就是只须将RS-232电平转换为TTL电平,而无须将TTL电平转换为RS-232电平。通过对RS-232电平和TTL电平(见表2)分析,决定采用三极管来进行转换,而不用MAX232等专用RS -232与TT

17、L电平转换器。具体如图10所示。 图10 RS-232电平TTL电平转换图 图9 MAX232接线图 表1 RS - 232标准的主要电气参数表 项 目 参数指标带37 k负载时的驱动器输出电平逻辑O为+3 +25 V,逻辑1为-3 -25 V不带负载时的驱动器输出电平-25+25 V驱动器通电时的输出阻抗大于300输出短路电流小于0.5 A驱动器转换速率小于30 V/s接收器输入阻抗37 k接收器输入电压- 25+25 V输入开路时接收器的输出逻辑1输入经300 n接地时接收器的输出逻辑1+3V输入时接收器的输出逻辑电平0-3V输入时接收器的输出逻辑电平1最大负载电容2500 pF不能识别的

18、过渡区-3-+3 V 表2 RS - 232电平和TTL电平逻辑电平对比表逻辑值RS - 232电平lV TTL电平/v 0 +3+25 3.2 当RS-232 IN端输入RS-232逻辑电平O,也就是输入+3+25 V时,三极管正向导通,此时TTL OUT端输出的是三极管的饱和压降。此电压约0.10.2 V,符合TTL电平3.2 V要求。3.5单片机与液晶显示器接口电路 液晶驱动IC(SED1520FOA)基本特性如下: 具有低功耗,供电电压范围宽等特点; 具有61段输出,并可外接驱动IC扩展驱动; 具有2560位显示RAM(DDRAM),即8084位;具有与68系列或80系列相适配的MPU

19、接口功能,并有专用的指令集,可完成文本显示或图形显示的功能设置。 工作参数介绍如下: 逻辑工作电压(VDD -VSS)为2.46.0 V; LCD驱动电压(VDD - VLCD)为3.013.5 V; 工作温度(T。)为055(常温)-2070(宽温); 保存温度(TSTG)为-1070。 电气特性(测试条件:T。=25,VDD =5.0 V0.25 V)如下: 输入高电平(VIH)为3.5 V(min); 输入低电平(VIL)为0.55 V(max); 输出高电平(VOH)为3.75 V(min); 输出低电平(VOL):1.0 V(max);工作电流为2O mA(max)。 液晶显示器CG

20、M - 12232的引脚功能如图11所示,具体介绍如下: 引脚1:VDD正电源输入。 引脚2:地。 引脚3:LCD驱动电压,调对比度。 引脚4:接口时序选择。 引脚5:芯片1使能信号,高电平有效。 引脚6:芯片2使能信号,高电平有效。 图11 液晶显示器CGM-12232引脚 引脚7:读写控制端,高电平读,低电平写。引脚8:数据指令选择端,高电平为数据,低电平为指令。 引脚916:液晶并行数据。 引脚17:背光LED阳极。 引脚18:背光LED阴极。 单片机与液晶显示器接口电路图如图12所示。CGM-12232的引脚916接单片P2口进行数据传输,引脚5-8的3根控制线接PO口。由于PO口内部

21、没有上拉电阻不能给出高电平,因此在PO口上接了一个10 k排阻RP9作为PO口的上拉电阻。LCD液晶显示器的背光LED灯采用三极管驱动控制。 在CGM-12232的说明文档中,引脚VLCD须通过电阻在VDD与GND之间分压得到,但实验中发现,通过分压后液晶显示很暗,而直接将其接地使液晶显示明显好转,因此这里将其直接接地。 图12 单片机与液晶显示器接口电路图4 系统程序的设计 系统软件采用C语言编写,C编译器为Keil C51。4.1 系统软件设计原理 系统软件运行总体设计流程如下:系统初始化,显示开机画面,串行中断接收GPS - OEM板的“$GPGGA”语句,每当正确收到“$GPGGA”语

22、句一次,就更新一次显示,键盘可以选择显示的GPS信息。主程序流程图如图13所示。 图13 系统主程序设计流程图4.2 LCD液晶显示器程序 1CGM - 12232型LCD液晶显示器原理 CGM - 12232型LCD液晶显示器采用两片SED1520FOA驱动芯片,LCD液晶显示程序即是对两片SED1520FOA的驱动程序。 SEDI520FOA属行列驱动及控制合一的小规模液晶显示驱动芯片,电路简单,经济实用,内含振荡器,只需外接振荡电阻即可工作(已经接在板上)。一个SED1520FOA显示控制器能控制8016点阵液晶的显示,其显示RAM共16行,分2页,每页8行,每一页的数据寄存器分别对应液

23、晶屏幕上的8行点。当设置了页地址和列地址后,就确定了显示RAM中的唯一单元。屏幕上的每一列对应一个显示RAM的字节内容,且每列最下面一位为MSB,最上面一位为LSB,即该RAM单元字节数据由低位到高位的各个数据位对应于显示屏上某一列的由高到低的8个数据位。对显示RAM的一个字节单元赋值就是对当前列的8行(一页)像素点是否显示进行控制。 CGM - 12232液晶显示器的引脚定义如表3所列。 表11.3 CGM - 12232液晶显示器的引脚定义表序号符号状态 功能说明序号 符号状态 功能说明1VDD逻辑电源正7 R/W输入读写选择信号2GND逻辑电源地8 AO输入寄存器选择信号3VLCD液晶显

24、示驱动电源9-16DBODB7三态数据总线4RES接口时序类型选择17 A背光灯正电源5CSI输入主工作方式IC使能信号18 K背光灯负电源6CS2输入从工作方式IC使能信号 各符号含义如下: DBODB7:数据总线。 AO:数据指令选择信号。AO=1表示出现在数据总线上的是数据;AO=0表示出现在数据总线上的是指令或读出的状态。 RES:接口时序类型选择。RES=O为Intel 8080时序(见图11. 14和表11.4),操作信号是RD和WR;RES=1为M6800时序(见图11.15和表11.5),其操作信号是CS和R/W。 RD(CS):在Intel 8080时序时为读,低电平有效;在

25、M6800时序时为使能信号,是个正脉冲,在低电平时为写操作,在高电平时为读操作。WR(R/W):在Intel 8080时序时为写,低电平有效;在M6800时序时为读、写选择信号,R/W=1为读,R/W=O为写。 图14 与Intel 8088系列单片机接口读写操作时序图 表4 与80系列单片机接口时序参数表(VDD=5.0(110%)V,T。= -20+75) 名称符号最小值最大值单位 名称符号最小值最大值单位地址建立时间tAW820ns数据建立时间tDS880 ns地址保持时间tAHS10ns写数据保持时间tDH810nsR/W,WR周期tCYC81000ns读存取时间tAcca90nsR/

26、W,WR脉冲宽度tcc200ns读数据保持时间tCH81060ns 图15 与M6800系列单片机接口读写操作时序图 表5 与M6800系列单片机接口时序参数表(VDD=5.O(1士10%)V,L- - 20+75) 名称 符号 最小值 最大值 单位 地址建立时间 tAW6 20 ns地址保持时间 tAH6 10 ns系统时钟周期 tCYCs 1 000 ns脉冲宽度读 tEW 100 ns写 80 ns数据建立时间 tDS6 80 ns写数据保持时间 tDH6 10存取时间 tACC6 90 ns读数据保持时间 tOH6 10 60SED1520FOA液晶显示驱动器有13条指令。表6所列为与

27、M6800系列单片机接口为例(RES=1)而总结出的指令。 表6 SED1520FOA指令集 指令名称控制信号 控制代码R/WAOD7D6D5D4D3D2Dl DO显示开关指令OO101O1l1 1/0显示起始行设置OO110 显示起行(031) 设置页地址0O1O111O页地址(O3)设置列地址O0O 列地址(O79)读状态指令lOBUSYADC OFF/ONRESETOOO0写数据O1 显示的数据读数据11 显示的数据ADC选择指令OO1O1OOOOO/I 静态驱动开关O01O1O010O/I 占空比选择OO1O1010O0/1 改写开始指令OOll100O0O改写结束指令OO111011

28、1O复位0O1110OO10 SED1520FOA集功能介绍如下:RAM(DD RAM) 显示开关指令功能:开关屏幕显示,不改变显示RAM(DD RAM)中的内容,也不影响内部状态。D=O,开显示;D=l,关显示。如果在显示关闭的状态下选择静态驱动模式,那么内部电路将处于安全模式,以减小功耗。 安全模式下的内部状态:停止LCD驱动Segment和Common输出VDD电平;停止晶体振荡并禁止外部时钟输入,晶振输入OSC2引脚处于不确定状态;显示数据和内部模式不变。 显示起始行设置指令功能:执行该命令后,所设置的行将显示在屏幕的第一行。起始 地址可以是031范围内任意一行。行地址计数器具有循环计

29、数功能,用于显示行扫描同步,当扫描完一行后自动加1,直到31。 设置页地址指令功能:设置页地址。当单片机要对DD RAM进行读写操作时,首先要设置页地址(见表7)和列地址。本指令不影响显示RAM(DD RAM)中的内容。 设置列地址指令功能:设置DD RAM中的列地址。当单片机要对DD RAM进行读写操作前,首先要设置页地址和列地址(见表11.8)。执行读写命令后,列地址会自动加1,直到达到50H才会停止,但页地址不变。 读状态指令功能:检测内部状态。 - BUSY为忙信号位,BUSY =1:内部正在执行操作;BUSY =0:空闲状态。 - ADC为显示方向位,ADC=O:反向显示;ADC=l

30、:正向显示。 - ON/OFF为显示开关状态,ON/OFF=O:显示打开;ON/OFF=1:显示关闭。 - RESET为复位状态,RESET=O:正常,RESET=1:内部正处于复位初始化状态。 写数据指令功能:将8位数据写入DD RAM。该指令执行后,列地址自动加1,所以可以连续将数据写入DD RAM,而不用重新设置列地址。 读数据指令功能:读出页地址和列地址限定的DD RAM地址内的数据。当“读-修改-写模式”关闭时,每执行一次读指令,列地址自动加1,所以可以连续从DD RAM读出数据()而不用设置列地址。注意:在设置完列地址后,首次读显示数据前必须执行一次空的“读显示数据”。这是因为设置

31、完列地址后,第1次读数据时,出现在数据总线上的数据是列地址,而不是所要读出的数据。 ADC选择指令功能:静态驱动开关指令功能。D=0表示关闭静态显示;D=1表示打开静态显示。如果在打开静态显示时,执行关闭显示指令,则内部电路将被置为安全模式。 占空比选择指令功能:设置D=O表示1/16 DUTY;D一1表示1/32 DUTY。 改写开始指令功能:执行该指令后,每执行一次写数据指令,列地址自动加1;但执行读数据指令时,列地址不会改变。这个状态一直持续到执行END指令。注意:在“读一修改一写”模式下,除列地址设置指令之外,其他指令照常执行。 改写结束指令功能:关闭“读-修改-写”模式,并把列地址指

32、针恢复到打开“读-修改-写”模式前的位置。 复位指令功能:使模块内部初始化。复位指令对显示RAM没有影响。初始化内容包括设置显示初始行为第1行,页地址设置为第3页。 表7 页地址对应表 A1 AO页地址O0 0O1 110 211 3 表8 列地址对应表A6A5A4A3A2A1AO列地址OOOOOO0 O00OOOO1 1 10O1110 4E10O1111 4F 2CGM - 12232型LCD液晶显示器软件设计 CGM - 12232型LCD液晶显示器软件设计从底层写起,逐步提高,最后完成显示一个code区域的数据功能。即先从往LCD液晶显示器发送1字节的数据或指令写起,逐步上升,最后到画

33、一个图指定开始列,上下层,图形的宽度,图形指针固定高度为16的图。汉字和数字字符都是通过“画”这种图来得到的。 1)往LCD液晶显示器发送l字节的数据或指令子程序 程序原型如下: 调用方式:void send_mi(uchar instuction) 函数说明:发指令instruction到主窗口(内函数,私有,用户不能直接调用)。 调用方式:void send_si(uchar instruction) 函数说明:发指令instruction到从窗口(内函数,私有,用户不能直接调用)。 调用方式:void OutMD(uchar i) 函数说明:发数据data到主窗口(内函数,私有,用户不能

34、直接调用)。 调用方式:void send_sd(uchar data) 函数说明:发数据data到从窗口(内函数,私有,用户不直接调用)。首先要确定往主芯片,还是从芯片发送,然后判断芯片是否忙,忙则等待,不忙则可以发数据或者指令,最后把选中的芯片取消选中。其流程图如11. 16所示。 图16 LCD液晶指令(左)、数据(右)发送流程图 2)芯片判忙子程序 程序原型如下: 调用方式:void wait_ready(void) 函数说明:等待LCD内部操作完成,判忙(内函数,私有,用户不能直接调用)。 芯片判忙是本系统唯一读LCD液晶显示器的一个子程序。读取当前LCD的状态,以判断LCD是否忙,

35、用到的是读状态指令这条指令。芯片判忙子程序流程如图17所示。读出数据和Ox80相“与”,直到结果为0为止(不忙),也就是等待读状态指令里面读出的BUSY位(D7)为O为止,说明芯片不忙。 3) LCD液晶屏初始化子程序 程序原型如下: 调用方式:void lcd_init(void) 函数说明:12232 LCD液晶屏初始化,开机后仅调用一次。仅开机时调用一次,主要负责设置LCD液晶屏的一些状态,包括主芯片复位,从芯片复位;关主芯片显示,关从芯片显示;设置主芯片动态显示,设置从芯片动态显示;设置主芯片1/32占空比,设置从芯片1/32占空比;设置主芯片时总线模式,设置从芯片时钟线模式;主芯改写

36、指令结束,从芯片改写指令结束;设置主芯片起始行0行起始列0列,设置从芯片起始行0行起始列0列;液晶初始化结束返回。具体流程如图18所示。图17 芯片判忙子程序流程图 图18 LCD液晶屏初始化子程序流程图LCD液晶屏初始化完成后就可以显示各种图形和字符了,即进入正常工作状态。在显示图形和字符时,还要注意及时切换页(page)和列。 4)页切换子程序和列切换子程序 程序原型如下: 调用方式:void set_page(uchar page) 函数说明:同时设置主(右)从(左)显示页为O3页。 调用方式:void SetAddress(uchar address) 函数说明:同时设置主(右)从(左

37、)列地址为061列。 页切换子程序主要是在4个页面之间切换,列切换子程序主要是设置起始列。它们两个都是发送一个特定的数据指令给LCD液晶屏。页切换发送的是101110XX,后两位XX表示页地址,列切换子程序发送的是0XXX XXXX,后几位XXX XXXX表示起始列的地址。由于这两个程序只是简单地将两个特定值发送给LCD液晶屏,所以对于其行地址这里就不再详述。 5)清屏子程序 程序原型如下: 调用方式:void lcd_clr(void) 函数说明:清屏。起始清屏子程序是在整个画面上画一个空白的图片。SED1520FOA有点类似于Flash ROM芯片,但刚好与Flash ROM相反。Flash ROM置0是只要把0写进去即可,置1则需要擦除。可以在原来1的基础上把1变成0,而不可以把原来的0变成1。而SED1520FOA可以把原来的0变成l,而不可以把原来的1变成0,也就是刚好与Flash ROM相反。因此在每一次要重新显示画面时必须调用清屏程序。清屏子程序流程如图19所示。 图19 清屏子程序流程图 6)画图子程序 程序原型如下: 调用方式:void draw_bmp(uchar col,uchar layer,uchar width,uchar*bmp) 函数说明:画一个图,横坐标是col,layer表示上下层,widt

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号