| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 499 人关注过本帖
标题:雅正一端VB程序
取消只看楼主 加入收藏
zhongyuan
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-4-20
收藏
 问题点数:0 回复次数:0 
雅正一端VB程序

上位机程序:
Public i As Integer
Public buf As String

Private Sub Form_Load()
MCom1.CommPort = 1
If MCom1.PortOpen = False Then
MCom1.Settings = "9600,n,8,1" '设置通信口参数,采用奇校验
MCom1.InputMode = comInputModeText '数据以文字形式接收
MCom1.RThreshold = 1 '接收一个字节便产生OnComm事件
MCom1.PortOpen = True
MCom1.InputLen = 0
End If
MCom1.InBufferCount = 0 '清空接收缓冲区
MCom1.RTSEnable = True ' 使RTS输出为高电平,即MAX485的RE、DE为“0”接收信号
'Timer1.Enabled = True
End Sub
Private Sub MCom1_OnComm()
Select Case MCom1.CommEvent
Case comEventRxParity '极性错误
MCom1.Output = "1"
Case comEvCD 'CD线的状态发生变化
Case comEvRing 'Ring Indicator 变化
Case comEvReceive ' 收到RThreshold # of chars
'MCom1.RThreshold = 0 '关闭接收事件
buf = MCom1.Input
Text1.Text = buf
i = Asc(buf)
Text2.Text = Asc(buf)
End Select
End Sub
下位机程序:
          ORG 0100H
MAIN:MOV TMOD,#20H ;定时器T1为方式2
MOV TH1,#0FDH ;波特率为9600
MOV TL1,#0FDH
MOV SCON,#0F0H;串行通信方式3,允许接收
MOV PCON,#00H ;使SMOD=0,即波特率不加倍
    CLR ES ;开串行中断
    SETB TR1;开启定时器T1
SETB P1.1 ;准备发送,控制MAX485
TT: CLR TI ; 清TI ,为发送做准备
MOV SBUF,#41H ;向主机发回本机地址
JNB TI ,$ ;等待发送结束
AJMP TT

下位机的数据传不到上位机,硬件电路没有问题.

搜索更多相关主题的帖子: VB 
2007-04-23 16:01
快速回复:雅正一端VB程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015393 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved