MSP430与PC机的远程通信及液晶显示

2019-08-04 21:42发布

概述
在微机测控系统中,用作上位机的PC机系统与用作下位机的单片机之间经常要进行信息交换。目前的主流单片机和PC机内部均带有串行口,因而两者之间的通信可通过串行口完成。但是,在实际应用中有时主控PC机和单片机相隔很远,为保证数据能高速及时、安全的传至PC机,单片机与PC机之间采用RS485协议的串行通行较为合理。为了满足实时通信的需要,我们把接口电路做成全双工的形式。

实际应用中,需要把PC机传给单片机的一些数字量作显示,而这对于MSP430单片机来说,运用液晶显示模块最合适,它可以把串口远程传输的量加以处理然后直观的用液晶作实时显示,这在实际生活中有较大的应用空间。 TI公司MSP430系列单片机是一种超低功耗的混合信号控制器,其中包括一系列器件,它们针对不用的应用由不同的模块组成。在MSP430A系列单片机中,液晶驱动作为一个片内外模块存在于MSP430F4XX和MSPX3XX等系列型号的器件中,利用这个特点,可以把PC机要传输的数据在MSP430系列单片机的液晶模块驱动下直接显示。

硬件设计
485串行通信接口电路的设计
实际应用中,由于大多数普通PC机和单片机只有常用的RS232串口通信口,而不具备RS485通信接口,为了实现RS485协议的串行通信,必须在PC侧配置RS485与RS232间相互转换。单片机与PC机间的RS485通信总体硬件接口电路的框图如图1所示。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
mmbs
1楼-- · 2019-08-05 03:32
单片机侧接口电路设计
图2中MAX490是MAXIM公司的RS485接口芯片,内部结构如图3所示。MAX490支持单电源+5V工作,可以实现全双工通信。其中R0、D0端的电平标准如下:逻辑“0”为 0.5V—0.8V 之间,逻辑“1”在2.0V—Vcc之间。工作状态为:当A端电压比B端电压高200mV以上,R0输出逻辑“1”,而当A端电压比B端电压低200mV,R0输出逻辑“0”;当DI输入逻辑“0”,Y输出低,Z输出高,反之Y输出高,Z输出低。

单片机MSP430串行通信模块的URXD、UTXD电平符合TTL/CMOS标准,当PC机的RXMCU有电平输入时,它首先通过6N137光电隔离,保护单片机不受干扰,由O脚输出到DI,从而转化为RS485电平由Y、Z输出。反之,PC机的输出信号转换成MAX490 A、B端的输入,并首先转换为R0输出,然后经过光电隔离后最终由TXMCU输出。


mmbs
2楼-- · 2019-08-05 08:00
PC机侧接口电路设计

PC机侧电路的具体实现如图3所示,RS232的电平标准如下:逻辑“0”的电平范围为 5V-15V,逻辑“1”的电平范围为5V-15V。这里选用的MAX232A是MAXIM公司的RS232电平转换芯片。

当PC机的TXDPC输出到R1IN时候,首先由MAX232A转换成TTL电平由R1OUT输出,经过6N137光电隔离后输入DI脚,从而转换为RS485电平由Z、Y输出。

同理,单片机输出信号转换成的RS485电平信号输入A、B脚,经过MAX490转换成TTL电平,再经过光电隔离最终由RXDPC输出。必须强调的是在电路的连接中PC侧接口电路中的MAX490芯片引脚RSOUT+,RSOUT-必须和单片机侧MAX490芯片引脚RSIN+、RSIN-两两错开相连,这样才能正常的通信。

mmbs
3楼-- · 2019-08-05 12:08
液晶驱动及显示电路设计

在系统中,我们需要把PC机传给单片机信息里面的一些关键的数字量作显示,对于MSP430单片机来说,运用液晶显示模块是最为合适的,可以把串行口远程传输的量加以处理然后直观的用液晶作实时显示,这在实际生活中有较强的应用空间。这里所提到的液晶是不带任何驱动电路的,这样我们可以进一步自己定制液晶块,理论上可以显示任何信息。

MSP430A器件上的液晶显示器的控制/驱动将简化液晶显示器的显示。不同型号的液晶驱动能力不同,在设计中我们采用 MSP430的41X系列,有96段驱动能力。


mmbs
4楼-- · 2019-08-05 14:32
液晶的驱动有4种方法:静态,2MUX或1/2占空比,3MUX或1/3占空比, 4MUX或1/4占空比。对于不同系列、不同型号的液晶驱动原理,控制方法都是一样的,不同点在于驱动液晶段数不一样,或可显示信息的多少不一样。在实验中我们采用4MUX。图4所示为MSP430液晶驱动模块的概图。


mmbs
5楼-- · 2019-08-05 17:34
 精彩回答 2  元偷偷看……
mmbs
6楼-- · 2019-08-05 22:16
(2)频率的设置。MSP430有三种时钟ACLK(辅助时钟)、MCLK(主时钟)、SMCLK(子时钟),其中液晶的驱动频率FCLK来自ACLK。在XTIN和XTOUT之间接上振荡频率为32KHz的晶振,Fclk可以根据需要选为1024Hz、512Hz、256Hz、128Hz等。 由FRFQ0和FRFQ1的设置可以满足不同液晶对频率的要求,其中Flcd=2*MUX(rate)*F(framing)。

例如:采用3MUX,已知F(framing)=100Hz-30Hz,

由F(LCD)=2*MUX(rate)*F(framing)=6*F(framing),

可知F(LCD)=180Hz-600Hz。可选择的F(LCD)为1024Hz、512Hz、256Hz、128Hz,所以F(LCD)=32K/128=256Hz,所以FRFQ0=1、FRFQ1=0。

在以上两点做好的基础上,我们只要把要输出的数字所对应的代码输出到MSP430的显存就可以显示。实验中如液晶抖动,可适当提高液晶的驱动频率。如液晶亮度不够,应适当调整偏压电阻的大小。

一周热门 更多>