基于VB6.0 的MSP430 单片机与PC 机串口通信设计
设计MSP430 系列单片机的通信软件,实际上是对MSP430 系列单片机的串行口的设计,这里采用Visual Basic 6.0 语言来设计,在PC 机上运行的界面如图1 所示。

在发送数据文本框中输入一个“0~255”之间的整数,并单击发送数据按钮,单片机将接收到该数据并显示这个数据, 然后作除4 处理,结果再经串口返回到PC 机端。例如当发送数据160 时,单片机电路中数码管上显示160,同时单片机对160 作除4 处理,得到40 返送回PC 机上显示。
由于PC 机端的RS232 电平与MSP430 单片机端的TTL 电平不匹配, 故必须进行电平转换,这里采用美信MAX232 芯片完成。电路其他部分为单片机常规电路。以下是MSP430 单片机与PC 机串口通信VB6.0 程序代码如下:
(1) PC 机端VB 程序代码初始化部分代码:
发送功能代码:
Private Sub Form_load ()
MSComm1.CommPort = 1 ' 设置1 号串口
MSComm1.Settings =“9600,N,8,1”‘ 设置参数
MSComm1.PortOpen = True ' 打开串口
End Sub
发送功能代码:
Private Sub Command1_Click ()
Dim Number As Integer ' 发送的数据变量
Dim OutByte (0) As Byte ' 发送字节数组
Number = Val (Text1.text) ' 类型转换
OutByte (0) =CByte (Number) ' 转换为二进制
MSComm1.OutBufferCount=0' 清空发送缓冲
MSComm1.Output = OutByte ' 发送数据
End Sub
接收功能代码:
Private Sub MSComm1_OnComm ()
Dim InData As Variant ' 变体变量
Dim Arr (0) As Byte ' 接收字节数组
Select Case MSComm1.CommEvent
Case comEvReceive ' 触发接收事件
InData = MSComm1.Input ' 接收数据
Arr (0) = AscB (InData) ' 类型转换
Text2.text = Arr (0) ' 显示数据
MSComm1.InBufferCount = 0 ' 清空接收缓
End Select
End Sub
(2) MSP430 单片机的部分程序
单片机的编程包括: 设置串行口的工作方式; 波特率的设置; 发送数据并接收数据。以下为串行口的初始化程序:
CKCSH MOV1B # SWRST, U 1CT L; 先在SWRST= 1 时,
设置串口
BIS. B # CHAR, U 1CTL
MOV. B # SSEL1+ SSEL0, U 1TCTL;
MOV. B # 045H, U1BR0; 波特率为9600
MOV. B # 00H, U1BR1;
MOV. B # 055H, U1MCT L;
BIS. B # U TXE1+ U RXE1, ME2;
BIC. B # SWRST, U1CTL;
4 结语
串口通信是一项广泛应用到各个领域的通信技术, 尤其是单片机与PC 机间的通信。在实践中VB6.0 以其好学易用性得到广泛的应用,MSP430 系列单片机以低功耗等特点被应用在测控系统中,两者结合能够快速构筑以单片机采集数据和计算机快速处理的系统
模数转换器相关文章:模数转换器工作原理
数字通信相关文章:数字通信原理
通信相关文章:通信原理
分频器相关文章:分频器原理 晶振相关文章:晶振原理
评论