用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

基于P89LPC932的LCD组态设计

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:14:49
(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位赋正确的值。
javascript:window.open(this.src);" style="cursor:pointer;"/>
    DEECON中的第4、5位定义了读写操作的模式。

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

EIEE=TRUE;/*允许EEPROM中断*/

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

(3)辅助RAM的使用

我们所所有从串行通信得到的实时数据存放在辅助RAM区内。读写程序如下:

#include"ABSACC.H"

bData=XBYTE; /*辅助RAM读操作*/

XBYTE=bData; /*辅助RAM写操作*/

5 组态软件设计

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

结语

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



上一页  [1] [2] 

Tags:

作者:佚名
  • 好的评价 如果您觉得此文章好,就请您
      0%(0)
  • 差的评价 如果您觉得此文章差,就请您
      0%(0)

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:30,906.25000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号