导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→求救!vb和单片机通信问题!

* 55760: 求救!vb和单片机通信问题!

   guest 
guest发表的帖子 

 求救!vb和单片机通信问题!
我用vb和51单片机通信,从vb往单片机送数据,但是51接收到的数据总不对!用max232通信.
下面是我的程序!望指教! 
Dim head_data(0) As Byte           ' Byte

Private Sub Form_Load()              '端口设置
MSComm1.CommPort = 3
MSComm1.Settings = "9600,n,8,1"
MSComm1.PortOpen = True
MSComm1.InputLen = 1
MSComm1.OutBufferCount = 0
MSComm1.SThreshold = 1
MSComm1.InBufferCount = 0
MSComm1.RThreshold = 1
MSComm1.InputMode = comInputModeBinary
call send(220)
End Sub

Private Sub sendcommand(n)                   '发送命令子程序
head_data(0) = CByte(n)
MSComm1.Output = head_data
For x = 0 To 10000 Step -1
Next
End Sub

单片机程序
      ORG    0023H             ;
     AJMP   TCOM              ; 转串行口中断

main: MOV   TH1,#0FDH      ;波特率9600  ,晶体震荡器 频率11.0592 mhz
      MOV   TL1,#0FDH
      MOV   TMOD,#20H      ;定时器1,工作在方式2自动重装
      MOV   PCON,#00H      ;使SMOD=0
      MOV   SCON,#50H      ;串口工作在方式1;允许接收
      CLR   ET1
      SETB  TR1            ;开定时器
      SETB  EA             ;开总中断
      SETB  ES             ;开窜口中断     注意:在发送时要关闭串口中断
      CLR   RI
      sjmp  $

TCOM: MOV   A,SBUF
          CLR   RI
          RETI
接收的数据有这样的问题:
我发  (221)ddh ,单片机接收到的是 9d h
        (204)cch,单片机接收到的是  8c h
会不会是波特率 的问题?
还有是不是vb发送数据的格式不对 ?

发表时间:2004年6月1日12:37:42

  
回复该帖

本主题共有 6 帖,分页:>>>>>该主题的所有内容[6]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  55761.[详细]vb中的发送字符串格式默认为ASCII码
摘要:vb中的发送字符串格式默认为ASCII码......(33字)
- [guest][1118次] 2004年6月1日

  55763.[详细]波特率不对,我过去做毕业设计时也遇到过。
摘要:如果你是华东地区的可以跟我联系,大家交流交流  lhkjg@126.com......(59字)
- [guest][840次] 2004年6月1日

  55762.[详细]多谢大哥!我就想发送0-255 的数字,我用下面的程序转换了一下,不知道行不行.要不我因..
摘要:多谢大哥!我就想发送0-255 的数字,我用下面的程序转换了一下,不知道行不行.要不我因该怎么做呢? Private Sub sendcommand(n)    ......(248字)
- [guest][806次] 2004年6月1日

[上一篇帖子]:vb中的发送字符串格式默认为ASCII码
[下一篇帖子]:可能是复位引起的,你用的是什么芯片,WDT功能打开的吧,或是外围复位