找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3020|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

單片機和計算機之間的數(shù)據(jù)交換程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:112317 發(fā)表于 2016-4-6 18:27 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
實現(xiàn)單片機和計算機之間的數(shù)據(jù)交換, Windows 環(huán)境下的Visual Basic 6.0 作為可視化的編程工具, 具有完整的基于組件設(shè)計的可視化集成開發(fā)環(huán)境、操作簡單、界面友好的特點。 上位機通信程序是用VB6.0 使用MAX232 來進行數(shù)據(jù)通信的協(xié)議, 既可 以使用查詢方式又可以使用事件驅(qū)動方式來完成串行通信。

1 上位機程序

Private Sub Form- Load( )
MSComm1.CommPort=1‘選擇通信端口1’
MSComm1.InputLen=0‘串行數(shù)據(jù)接收緩沖區(qū)初始化’
MSComm1.Settings=“9600, n, 8, 1”
設(shè)置端口參數(shù): 波特率為9 600 b/s, 無奇偶校驗位, 8 位數(shù)據(jù), 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’該循環(huán)判斷輸入緩沖區(qū)是否有數(shù)據(jù)
DoEvents
Loop Until MSComm1.InBufferCount>=1
Buffer=MSComm1.Input
For i = LBound( Buffer) To UBound( Buffer)
List1.AddItemBuffer( i) ‘把接收到的數(shù)據(jù)顯示在列表框中’
Next i
Case Else
End Select
End Sub
Private Sub CommandClose- Click( )
IfMSComm1.PortOpen=True Then
MSComm1.PortOpen=False
‘關(guān)閉串行端口’
x=MsgBox(“關(guān)閉通信! ”, 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; //結(jié)果為負和正的標志位

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, 波特率設(shè)定為9 600 b/s
TH1=0XFD;
TR1=1; //啟動定時器1
EA=1;
ES=1;
??
do{ P1_5=1; //串行發(fā)控制位
tmpchange( ) ; //數(shù)據(jù)采集函數(shù)調(diào)用
??
SBUF=TEMP; //把數(shù)據(jù)送入串行口緩沖寄存器
if( TI==0)
TI=0; }
while( 1) ;
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:292359 發(fā)表于 2021-5-29 17:19 | 只看該作者
tmpchange( ) ; //數(shù)據(jù)采集函數(shù)調(diào)用
在哪?
回復(fù)

使用道具 舉報

板凳
ID:253767 發(fā)表于 2021-5-30 06:40 | 只看該作者
tmpchange( ) ; //數(shù)據(jù)采集函數(shù)調(diào)用
回復(fù)

使用道具 舉報

地板
ID:106977 發(fā)表于 2021-5-30 13:29 | 只看該作者
上位機程序使用現(xiàn)成的調(diào)試助手不好嗎?
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表