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

 *第22536篇: 求救!vb和单片机通信问题!

  
楼 主:guest 2004年6月1日12:37
 求救!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发送数据的格式不对 ?

  
2楼:guest 2004年6月1日12:41
 vb中的发送字符串格式默认为ASCII码
vb中的发送字符串格式默认为ASCII码
  
3楼:guest 2004年6月1日13:10
 波特率不对,我过去做毕业设计时也遇到过。
如果你是华东地区的可以跟我联系,大家交流交流  lhkjg@126.com
  
4楼:guest 2004年6月1日13:09
 多谢大哥!我就想发送0-255 的数字,
多谢大哥!我就想发送0-255 的数字,我用下面的程序转换了一下,不知道行不行.要不我因该怎么做呢?
Private Sub sendcommand(n)                   '发送命令子程序
head_data(0) = CByte(n)
MSComm1.Output = head_data
For x = 0 To 10000 Step -1
Next
End Sub
  
5楼:bizhenke 2004年6月2日02:24
 你把n改成byte类型的变量试试看,pr
你把n改成byte类型的变量试试看,private sub sendcommand(n as byte)
估计你的发送接收程序没有问题,你仔细分析一下,因为你发0xdd,变成0x9d,发0xcc变成0x8c,0xdd=(11011101)B,0x9d=(10011101)B,0xcc=(11001100)B,0x8c=(10001101)B,这样的话都是第7bit变成了0,要不你试试发一个第7位为0的试试看,发0x55同0xaa试试看,看接收数据是多少。在vb里,可以写head_data(0) =&H55.
  
6楼:guest 2004年6月2日12:00
 我找到毛病了,是晶振的事,我的那个晶振不
我找到毛病了,是晶振的事,我的那个晶振不准!多些各位大虾!

>>>>>>对该主题发表你的看法

本主题贴数6,分页: [第1页]


[上一篇主题]:基于嵌入式系统的虚拟测控仪研究

[下一篇主题]:中关村阿坤求助CS5522 23 24 串口AD的程序!eular@1