微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 陶瓷驱动器电压实时监测系统设计

陶瓷驱动器电压实时监测系统设计

时间:02-04 来源:互联网 点击:

2.3 LCD与控制器接口电路设计

在接口电路设计中,由于LM320160CCW液晶显示模块为5 V供电,而单片机为3.3 V供电,所以不能简单的彼此连接在一起,需要做电平处理。本次设计中选用741S245作为总线驱动器,并在单片机引脚加入5 V上拉电阻,这样即可保证信号的驱动能力,接口电路原理图如图3所示,其中P3和P7为单片机的I/O端口,RV1为可调电阻,用于调节液晶模块背光对比度。


图3 LCD接口电路原理图

3 系统软件设计

系统上电复位后,液晶模块需要系统初始化、写入指令代码、写入数据3个步骤才能正常工作。在指令、数据写入的过程中要注意时序问题,如果时序过短,会导致指令、数据无法正确写入液晶模块,而造成信息无法显示或出现花屏现象。由于主控制器单片机采用C语言编程,因此,单片机程序和液晶模块显示程序都具有很强的移植性、可操作性。

3.1 液晶模块指令、数据的写入

液晶模块在正常工作之前,首先进行模块初始化,写入系统设置命令将使液晶模块退出电源模式,并且启动模块内部时钟,经过一定的延时将初始化液晶模块的内部状态。然后设置液晶模块的显示模式,包括打开显示、设置游标、设置图形模式等。所有指令的写入都可以通过公用的指令函数实现。写指令程序如下:


LCD320160CCW写显示数据程序包括清屏、图形界面、符号和汉字等数据信息,数据的写入是建立在指令正确写入的基础上。因为该LCD模块为图形点阵式,所以可以将显示信息转换为相应的点阵数组,在需要显示信息时只需调用点阵数组即可,写数据程序如下:

3.2 控制器主程序设计


图4为单片机主程序流程图,在系统及LCD初始化完成后,主机计算查询信息的错误校验CRC码,并且将其附加在发送信息的末端,低字节在前,高字节在后;查询信息通过定时器2实现定时发送,由于设定的UAWT波特率为9 600 b/s,查询信息的字节数为8个,从机正确回应信息的字节数为35个,那么一次发送、接受过程字节总数为43个,需要的时间为T=43x8x1 s/9 600x1 000=35.8 ms,所以确定定时器2的定时间为50 ms.一次定时间隔内除发送、接收的时间外,其余时间用于LCD液晶显示,由于压电驱动器电压变化速率相对与定时器定时频率比较大,因此可以认为监控、显示具有较好的实时性,并且在程序中按照这样的顺序安排任务调度能够满足实际工程中实时性的要求。


图4 单片机主程序流程图

4 结论

本文中通过对20路电压测量模块以及ModBus协议进行介绍,在此基础上搭建基于高速单片机C8051F120的硬件连接,通过编写控制器程序实现了单片机与电压测量模块的数据通信和电压的LCD液晶实时显示。实践结果表明,该设计硬件结构简单,运行稳定可靠,开发周期短,满足实时监测显示自适应光学系统中各路压电驱动器输出电压值的需要,具体实物如图5所示。


图5 电压监测、实时显示系统实物图

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top