您当前的位置:五五电子网电子知识通信技术综合通信技术基于VB6.0 的PC 机与MSP430 单片机串行通信的实现方法 正文
基于VB6.0 的PC 机与MSP430 单片机串行通信的实现方法

基于VB6.0 的PC 机与MSP430 单片机串行通信的实现方法

点击数:7944 次   录入时间:03-04 11:46:43   整理:http://www.55dianzi.com   综合通信技术

     

    在发送数据文本框中输入一个“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 系列单片机以低功耗等特点被应用在测控系统中,两者结合能够快速构筑以单片机采集数据和计算机快速处理的系统



上一页  [1] [2] 


本文关键字:单片机  通信  综合通信技术通信技术 - 综合通信技术