基于PIC32MX的液晶触摸屏人机界面设计
图4中,CS信号为片选信号,对SSD1926进行操作时在整个操作周期中保持高电平。RS信号为地址与数据选择信号,写地址时保持低电平,写数据时保持高电平。PMWR为写操作使能信号。当写操作开始时,首先等待1个外部时钟周期(B),确保PMD[15:0]上的数据或地址信号已稳定建立;然后保持3个外部时钟周期的高电平(M),确保信号内容完全写入SSD1926;最后用1个外部时钟周期(E)结束写操作。BUSY信号为PMMODEbits.BUSY寄存器的状态。进行读写操作时,BUSY信号自动置高;只有读到BUSY信号为低时(表示上一次操作已完成,总线空闲),程序才能开始下一次读写操作。把对应I/O口和寄存器的操作编程集成起来,编写为子程序,可方便地在主程序中实现PIC32MX系列单片机与SSD1926之间的数据传输。人机界面主程序框图如图5所示。
当A/D采样得到的接触点X、Y坐标发生变化时,消息处理函数根据得到的消息发出相应的指令。除了进行数据输入/输出和与下位机通信外,当需要进行页面切换时,就更改页面状态,调用“新页面建立”函数,切换到新的页面;当需要进行页面内容更新时,就调用“页面更新”函数,更新当前页面的状态。
为了简化编程,软件中定义了几种常用的图形模块,如按键、静态图片、静态文字段、动态数据显示框等。每个模块都具有模块创建、模块更新和消息响应3个子程序。模块创建子程序根据模块的上下左右坐标、模块的颜色、模块的内容及状态等参数,在液晶显示器的对应位置上显示出模块的图案,并在对应的内存空间中记录下模块的状态。模块更新子程序定义了模块不同状态下图案的变化,比如按键模块当被触摸时即显示出3D效果的凹陷图案,未被触摸时即显示3D效果的凸出图案。消息响应子程序则根据A/D采样得到的接触点X、Y坐标,判断模块是处于触摸过程的接触、移动还是放开状态,并对状态进行响应。Microchip公司特别针对PIC32MX系列还开发了图形软件库(graphics library)。该软件可以方便地把各种语言、各种字体的文字以及位图格式的图片转化为能够在软件中直接使用的数组矩阵,极大地方便了用户。
4 应用情况
该方案已经成功应用在了某公司自主开发的喷水织机上。图6为该喷水织机上本系统的实物图。
喷水织机是采用喷射水柱牵引纬纱穿越梭口的无梭织机。为了完成开口、引纬、打纬、卷取、送经过程,需要多单元高精度的协同配合工作。旧式的喷水织机完全靠机械齿轮齿条传动的方式,一旦更换织造品种,就得更换大.量齿轮齿条,改变传动比;而且由于机械精度及强度的限制,很难提高织造的速度。
采用CAN总线电气一体化控制策略的电控喷水织机,能够利用CAN总线高速传输的能力以及交流电机伺服系统的高精度,实现多单元的高度协同工作,大幅度提高织造速度和质量;并且更换织造品种时只需要进行相关参数的调整,无需改变机械传动比。
由于电气单元和交流伺服电机的引入,需要设置大量的参数,而且需要及时、准确的故障报警,以监测织机系统状态并方便织机系统的维护。为此,我们设计开发了人机界面。它以PIC32MX460F512L芯片和液晶触摸屏为核心,具有精度高、价格低、抗干扰能力强、简化了输入输出设备等优点。系统通过I2C总线与片外EEPROM接口,能够方便地保存用户由界面输入的数据;通过I2C总线与日历时钟芯片接口,能够得到准确的时间信息;采用CAN通信方式与电机控制器通信,将设置的参数及时传输42给主控制器,并把用户需要的数据实时显示在液晶显示屏上;具备故障监测和自动报警功能,实现了电气智能化控制。系统结构框图如图7所示。
5 结 论
本文介绍了带触摸屏的液晶控制器SSD1926与数字信号处理器PIC32MX460F512L的接口电路,并行接口时序的模块化实现,以及电阻式触摸屏的触摸功能。实践证明,这种方案具有完善的汉字显示和图形显示功能,占用引脚少,程序模块化强,编写方便;触摸功能可以取代应用系统中的键盘模块,具有良好的人机交互功能。该方案已经用于喷水织机中,效果良好。
评论