电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > 显示/光电技术 > 详细信息
显示/光电技术:基于P89LPC932的LCD组态设计
来源:   时间: 2007-11-9 2:49:53    

  摘要:在概述Philips P89LPC932的基本功能以及与P89LPC764比较的基础上,针对LCD显示设计中的诸多问题,给出一种能广泛应用于各类现场数据显示、组态式LCD的软硬件实现方案;分析硬件电路及其工作原理,并给出软件设计中部分关键代码。该方案在模拟系统上和现场运行情况中进行了难证,成本低,且具有通用性和灵活性等优点。

  关键词:P89LPC932 组态设计 LCD显示 通信模式 堆栈空间 初始化程序

引言

  随着微电子技术、网络技术和控制技术的不断发展,LCD作为现场显示设备广泛应用在各种通信与控制系统中。大部分的LCD集成了中英文字库,用户输入区位码或ASCII码即可实现文本显示。由于现场控制设备通常较为分散,显示的项目个数和功能也不尽相同,往往给设计带来许多不例。常用的方法是,在软件的设计阶段,根据要求把各个显示的信息固化和程序中。若要修改某个中文字符,程序员首先必须查出其区位码,然后修改计算机上的汉字数据。这样,不但系统的开发周期长、程序可读性差,而且给日后的维护带来很大的不便。为了实现程序的通用性,选用Philips的P89LPC932实现具有组态功能的LCD显示。其优点是,在不需要修改系统软件情况下,通过串口与组态软件方便地设定LCD显示的项目和个数,功能菜单随着设定项目的个数自动改变,并且实现了对设备的简单控制操作,达到了通用性和灵活性结合的目的。

1、P89LPC932介绍

  P89LPC932是Philips公司推出的高性能高速度的80C51 CPU,采用0.35μm Flash,6倍速于标准的8051。8KB Flash程序存储器,具有1KB可擦除扇区和64B可擦除页;512B数据EEPROM存储器可用来存储器件序列码及设置参数;256B RAM,512B辅助片内RAM。



  在P89LPC76X系列中,P89LPC764得到了广泛的应用;但由于LPC764只有4KB 的程序空间和128B的数据存取空间,故不能满足较大量数据通信和显示的要求。与之相比,P89LPC932还具有如下特点与优势:

  ①程序区域扩大。由4KB的EPROM扩大为8KB Flash,并提供在线编程功能。

  ②数据区域扩大。P89LPC932有256B的内部数据存取区,512B的辅助存取区和512B的EEPROM。

  ③串行通信功能增强。设置高精度波特率发生器。LPC764实时串行通信时,模式3要使用到定时器1。LPC932使用波特率发生器实现通信设置,可节省出定时器1。带有字符检测、帧错误检测、溢出错误检测、双缓冲发送功能、发送中断控制(停止位的开始或结束产生中断)、可实现RX/TX中断分开,从而提高通信效率。

  ④新增定时器模式6。简单的8位PWM信号发生器,带自动重装的8位定时/计数器,重装值表示PWM领带的占空比。

  ⑤串行外围接口SPI。高速串行通信接口,最高速度为3Mb/s。主从模式实现全双工同步通信。

2、LCD系统组态

  组态式LCD实现的关键在于对汉字处理,以往的做法把系统菜单的汉字区位码固定在程序中。由于立即数表示的信息难于维护,一旦需要对程序修改,将是一件费劲的事件。我们的处理方法是,设置系统信息表,并把所有的中文信息(系统菜单和显示信息)存放于EEPROM。中文信息和系统信息表通过由VB编写的LCD组态软件完成,并通过串口下载到EEPROM。当LCD上电后,程序根据系统信息自动配置显示菜单,从而实现了系统的组态性。

  系统信息表记录实际显示的AI、AO、操作参数、DI、DO的个数。LCD在进行页面更新时,先读出相应项目的个数,并自动调整显示的条目。所有AI、AO、OPER、DI、DO的名称中文区位码,单位ASCII码,状态信息中文区位码都存放到EEPROM中。项目名称为4个汉字,单位信息为2个ASCII字符,状态信息为2个汉字。

LCD显示装置实现功能如下:

  ①实时显示8个模拟量输入点(AI)、8个模拟量输出点(AO)、8个运行参数、8个开关量输入点(DI)、8个开关量输出点(DO)。

  ②修改模拟量输出点、运行参数和开关量输出点,实行就地对设备的控制。

  ③密码管理。用户可以直接在LCD上或通过组态软件修改密码。

  ④流动显示和手动显示功能。

  ⑤组成功能。通过组态软件可以方便地修改各显示量的中文代码和单位等信息。



  在各种通信与控制系统中,LCD显示特定的数据信息而处于控制系统的末端,通常傣族法通过RS485总线与控制器相连形成一个网络。控制器与LCD在数据传送上有两种关系。一种是控制器为Master,LCD为Slave.控制器轮流地向各LCD传送数据,从而实现实时数据显示。另外一种是控制器为Slave,LCD为LCD主动地向控制器发出请求信息,实现集中显示的功能。为了系统的通用性,我们设计了两个特殊功能开关,从而实现LCD主从模式的和组态模式的切换。

  Slave模式:LCD等待主站发送实时数据。当接收到数据时检测是否为本机站号。若是,立即接收数据并进行显示,否则丢弃数据包,如图1所示。

  Master模式:LCD轮流向各个控制器发出请求读数命令,并作相应的显示,如图2所示。

  组态模式:LCD发出组态命令,当接收到组态信息后发出组态成功信息。

3、硬件设计

  如图3所示,P89LPC932中P0口作为键盘输入和站号地址,P2口与LCD数据线相连,P1.7、P1.6为LCD数据传输的握手信号。串行通信线TXD、RXD与MAX487相连,并通过P1.4实现通信方向的切换。

  LCD选用的是OCM2×8液晶显示器,内含GB231216×16点阵国际一级简体汉字字库和ASCII8×8及8×16点阵英文字库;具有上/下/左/右移动当前显示屏幕及清除屏幕的命令。LCD所有的设置初始化工作在上电时自动完成,实现了即插即用。LCD硬件接口使用8位并行接口方式,采用REQ/BUSY握手协议。图4所示为LCD写汉字时序。LCD模块在收到外部的REQ高是怦信号后立即读取数据线上的命令或数据,同时将应答线BUSY变为高电平,表明LCD已收到数据并正在忙于对数据的内部处理。当BUSY变为低电平时,表明LCD对用户的写操作已经执行完毕。在写入多个数据时,可以不断地查询应答线BUSY是否为低电平。如果为低电平,可以继续送下一个数据。

4、软件设计

  图5是软件的结构,每个模块对应一个独立的处理函数。LCD显示以页为单位,程序设“PageArbiter”函数实现对页面的管理。页面管理函数根据用户的按键,决定进入如“菜单显示”、“密码设定、“参数显示”等画面。以下是硬件驱动功能的说明。

(1)串行通信

  P89LPC932的增强型UART具有一个独立的波特率发生器,波特率取决于对BRGR1和BRGR0的值。如果SMOD1(PCON.7)置位,定时器T1被2分频。但需要修改BRGR1和BRGR0寄存器的值前,为了避免向波特率发生器装入错误的值,必须在RBGCON寄存器中的BRGEN位为0才能写入。程序设计使用外晶振

   11.0592MHz)选择串行通信模式3,并利用波特率发生器设置通信速率。波特率发生器计算为(BRGR1,BRGR0)=(11.0592MHz/19200)-16=0x0230初始化流程如图6所示。

  若不使用波特率发生器设置串行通信的通信速率,可以使用定时器。其计算公式为波特率=2fosc×192/[0xFF-(TH1)]选用11.0592MHz的外晶振,波特率为19200bps,则计算出TH1=0xFA。其初始化流程如图7所示。

(2)EEPROM读写操作

  P89LPC932拥有512字节的片内数据EEPROM,用于保存配置参数数据。EEPROM由SFR控制,可字节读、字节写以及可擦除(通过行填充和块填充)。用户通过3个SFR和1个中断对其进行读、写和填充。EEPROM可寻址空间为512个字节,使用9位地址。当数据地址大于0xFF时,置控制寄存器DEECON的第0位。值的注意的是,在访问EEPROM时,必须对DEECON的第0位清0或置1。在仿真过程中发现,当读一个地址少于0xFF的字节数据后,再次向同一地址数据时出现错误。检查的结果是第一次读数时DEECON第0位为0,但第二次读数时DEECON的第0位就自动地变为1。所以在读写数据时,必须对DEECON的第0位赋正确的值。



DEECON中的第4、5位定义了读写操作的模式。

  在任何模式中操作完成之后,硬件都会置位EEIF位。如果EEPROM中断允许位(EIEE)和系统中断位(EA)都置位。将产生中断请求。中断产生后必须由软件清零。其初始化程序如下:

EIEE=TRUE;/*允许EEPROM中断*/
EA=1; /*允许系统中断*/

(3)辅助RAM的使用

  我们所所有从串行通信得到的实时数据存放在辅助RAM区内。

读写程序如下:

#include"ABSACC.H"
bData=XBYTE[i]; /*辅助RAM读操作*/
XBYTE[i]=bData; /*辅助RAM写操作*/

5、组态软件设计

  组态软件和仿真软件是由VB开发的。当LCD进入组状态后,发送请求组态信号。 组态软件检测LCD的站号,并向相应的LCD发出组态初始化信息包。LCD发出组态初始化信息包。LCD接收到组态软件开发的数据包并发出回答信息包。组态软件依次把中文内码和单位传送到LCD。

结语

  采用P89LPC932芯片实现了具有组态功能的LCD显示。系统硬件电路简单,易于根据用户和系统的需要设置显示的项目和个数,实现了对AI、AO、DI、DO和运行参数的显示和修改。

相关信息
发表评论
打印本页 关闭本页
PHILIPS 80C51系列单片机
  6 Clock 8位 80C51+内核单片机  Philips 8位8051单片机系列提供完整的产品类型,包括Flash、OTP(一次性编程)、ROM和无ROM器件。由于为实时应用而设计,这些80C51器件可以广泛应用于从消费类产品、计算机外设到自动化系统的各种领域。请点击下面的产品编号了解更详细的产品信息。 型号 存贮器 ISP/IAP 定时/计数器 I/O数 串行接口 中断 A/D 最大频率 ...
>>详细内容
80C51上电复位和复位延时的时序分析
    80C51单片机的上电复位POR(Power On Reset)实质上就是上电延时复位,也就是在上电延时期间把单片机锁定在复位状态上。为什么在每次单片机接通电源时,都需要加入一定的延迟时间呢?分析如下。 1 上电复位时序   在单片机及其应用电路每次上电的过程中,由于电源回路中通常存在一些容量大小不等的滤波电容,使得单片机芯片在其电源引脚VCC和VSS之间所感受到的电源电压值VDD,是...
>>详细内容
C8051F020与80C51单片机的异同点
  1 引言 80C51系列单片机及其衍生产品在我国乃至全世界范围获得了非常广泛的应用。单片机领域的大部分工作人员都熟悉80C51单片机,各大专院校都采用80C51系列单片机作为教学模型。随着单片机的不断发展,市场上出现了很多高速、高性能的新型单片机,基于标准8051内核的单片机正面临着退出市场的境地。为此,一些半导体公司开始对传统8051内核进行大的构造,主要是提高速度和增加片...
>>详细内容
80C51和CH375的USB打印机驱动设计
  摘要:介绍基于80C51和CH375的LPTUSB打印机驱动器的设计与实现方法,介绍USB总线的通用接口芯片CH375的特点及工作原理,给出80C51单片机通过CH375控制USB打印机的硬件设计及其C语言软件实现。利用该设计能够实现并行打印口数据在USB打印机直接打印,极大的克服了有些并口仪器必须连接并口打印机才能打印的弊端,可极大方便用户的使用。 关键词:CH375 LPT USB 打印机 80C51 单片机 引...
>>详细内容
基于HYM8563的80C51系列单片机低功耗系统设计
    介绍一种利用I2C实时时钟芯片HYM8563产生的多种中断方式,唤醒进入掉电状态的80C51系列单片机,由此技术构建的低功耗单片机系统。   The low consumption system of 80C51 series SCM, which was waked up by interrupts of real time clock chip HYM8563 when it had entered l ose electric state, was introduced in this paper.   在许多特殊场合,如野外、无人值守的监测站...
>>详细内容
MCS-51系列和80C51系列单片机是否相同
    MCS是Intel公司单片机的系列符号。Intel推出有MCS-48、MCS-51、MCS-96系列单片机。MCS-51系列单既包括三个基本型80C31、8051、8751,以及对应的低功耗型号80C31、8051、87C51,因而MCS-51特指Intel的这几种型号。   在计算机领域,系列机是指同一厂家生产的具有相同系统结构的机器。20世纪80年代中期以后,Intel以专利转让的形式把8051内核给了许多半导体厂家,如AMTEL、PHILIPS、A...
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com