找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2597|回复: 3
打印 上一主题 下一主题
收起左侧

单片机和计算机之间的数据交换程序

[复制链接]
跳转到指定楼层
楼主
ID:112317 发表于 2016-4-6 18:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
实现单片机和计算机之间的数据交换, Windows 环境下的Visual Basic 6.0 作为可视化的编程工具, 具有完整的基于组件设计的可视化集成开发环境、操作简单、界面友好的特点。 上位机通信程序是用VB6.0 使用MAX232 来进行数据通信的协议, 既可 以使用查询方式又可以使用事件驱动方式来完成串行通信。

1 上位机程序

Private Sub Form- Load( )
MSComm1.CommPort=1‘选择通信端口1’
MSComm1.InputLen=0‘串行数据接收缓冲区初始化’
MSComm1.Settings=“9600, n, 8, 1”
设置端口参数: 波特率为9 600 b/s, 无奇偶校验位, 8 位数据, 1 位停
止位。
MSComm1.PortOpen=True ‘打开串口’
MSComm1.RThreshold=1 ‘有一个字符就接收’
ENDSub
Private Sub MSComm1_OnComm( )
Select Case MSComm1.CommEvent
Case comEvReceive
DimBuffer As Variant, i
MSComm1.InputMode=comInputModeBinary
MSComm1.InputLen=0
Do’该循环判断输入缓冲区是否有数据
DoEvents
Loop Until MSComm1.InBufferCount>=1
Buffer=MSComm1.Input
For i = LBound( Buffer) To UBound( Buffer)
List1.AddItemBuffer( i) ‘把接收到的数据显示在列表框中’
Next i
Case Else
End Select
End Sub
Private Sub CommandClose- Click( )
IfMSComm1.PortOpen=True Then
MSComm1.PortOpen=False
‘关闭串行端口’
x=MsgBox(“关闭通信! ”, 16)
End If
ENDSub



2 下位机程序
#include <reg51.h>
#include <intrins.h>
#include <stdio.h>
#include <string.h>
#include <absacc.h>
#define uint unsigned int
#define uchar unsigned char
sbit P1_5=P1^5; //RS485 的控制位
uchar flag; //结果为负和正的标志位

void delay( unsigned int count) //延时子程序
{
unsigned int i;
while( count)
{
i=200;
while( i>0) i- - ;
count- - ;
}
}
void main( void)
{
SCON=0X50;
TMOD=0X21; //定时器1, 工作在方式2
TL1=0XFD; //所用晶振为11.0592, 波特率设定为9 600 b/s
TH1=0XFD;
TR1=1; //启动定时器1
EA=1;
ES=1;
??
do{ P1_5=1; //串行发控制位
tmpchange( ) ; //数据采集函数调用
??
SBUF=TEMP; //把数据送入串行口缓冲寄存器
if( TI==0)
TI=0; }
while( 1) ;
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:292359 发表于 2021-5-29 17:19 | 只看该作者
tmpchange( ) ; //数据采集函数调用
在哪?
回复

使用道具 举报

板凳
ID:253767 发表于 2021-5-30 06:40 | 只看该作者
tmpchange( ) ; //数据采集函数调用
回复

使用道具 举报

地板
ID:106977 发表于 2021-5-30 13:29 | 只看该作者
上位机程序使用现成的调试助手不好吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表