91视频免费?看_蜜芽MY188精品TV在线观看_国产免费无遮挡在线观看视频_深夜国产_亚洲精品欧洲精品_欧美黑人粗暴多交

  • 回復
  • 收藏
  • 點贊
  • 分享
  • 發新帖

讓我們來個徹底的研究:如何用VB實現PC機與單片機的通信?

有做過單片機通訊工程的工程師們都一起來吧!讓我們一起愉快地交流、輕松的探討,把您的思想和大家說說,把您未能解決的問題和大家討論,把您擁有的經驗和大家交流,把您寶貴成果和大家分享......哪怕每個人只是奉獻出一點點,說了,討論了,交流了,那我們將擁在座所有人的智慧,come on!
全部回復(3)
正序查看
倒序查看
2006-04-23 15:27
我先頂了
實現功能:
用VB編一個界面,界面如下:

實現功能:
用VB編一個界面,界面如下:
計算機任意發送一個十六進制0-FFH,單片機對應接收一個十六進制0-FFH,
用單片機P2口依次接上八個指示燈,以觀看其輸出結果(亮代表1,滅代表0).

上位機程序(發送):計算機
'******************************************
'初始化串口
'******************************************
If MSComm1.PortOpen = True Then
MSComm1.PortOpen = False
MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,8,1"
MSComm1.Handshaking = comNone
MSComm1.EOFEnable = False
MSComm1.DTREnable = False
MSComm1.RTSEnable = False
MSComm1.InputLen = 1
MSComm1.RThreshold = 1
MSComm1.InBufferSize = 1
MSComm1.OutBufferSize = 1
MSComm1.SThreshold = 0
MSComm1.InBufferCount = 0
MSComm1.OutBufferCount = 0
MSComm1.InputMode = comInputModeBinary

'******************************************
'計算機根據用戶輸入數據發送數據給單片機
'******************************************
Private Sub Button_SEND_Click()
Dim X As String
Dim Num As Variant
Dim outbyte(0) As Byte
If Text_SEND.Text = "" Then
X = MsgBox("發送數據不能為空", 16)
Exit Sub
End If
If Not MSComm1.PortOpen Then
MSComm1.PortOpen = True
End If
Num = str(Text_SEND.Text)
outbte(0) = CByte(Num)
MSComm1.OutBufferCount = 0 '...清空輸出寄存器
MSComm1.Output = outbyte  '...發送數據
End Sub


下位機程序(接收):單片機
;*****************************************
;CPU:AT89C51   晶振:11.0592MHz    
;*****************************************
     BUFFER    EQU    7FH  
     ORG       0000H
     JMP        MAIN  
     ORG       0023H
     JMP        RECEIVE
MAIN:
     MOV       SP,#30H
     MOV       BUFFER,#00H
     MOV       PCON,#00H  ;波特率不倍增
     MOV       SCON,#40H  ;串行通訊為方式1,即1起始位+8數據位+停止位,無校驗位
     MOV       TMOD,#20H  ;定時器T1為方式1
     MOV       TH1 ,#0FDH
     MOV       TL1 ,#0FDH  ;波特率為9600 bit/s
     SETB       REN        ;允許接收
     SETB       ES          ;使能單片機串行中斷
     SETB       EA         ;打開總中斷
     SETB      TR1        ;啟動定時T1
LOOP:
     MOV       A,BUFFER  
     CPL        A
     MOV       P2,A       ;實時將接收緩存值BUFFER取反輸出
     JMP        LOOP
RECIVE:
     PUSH      ACC
     CLR        RI
     MOV       A,SBUF
     MOV       BUFFER,A   ;讀取計算機發送過來的數據到BUFFER
     RETI
     END
0
回復
2009-04-10 20:17
謝謝您提供這么好的資源,非常感激.
0
回復
dz3690
LV.2
4
2009-04-16 00:10
VB需要MSCOMM32控件
0
回復
主站蜘蛛池模板: 岚皋县| 宣恩县| 沂源县| 文水县| 东海县| 虞城县| 萨嘎县| 东台市| 大田县| 蕲春县| 五原县| 丹东市| 建宁县| 辽宁省| 东海县| 营山县| 福安市| 格尔木市| 阿勒泰市| 托克托县| 克东县| 江津市| 读书| 昔阳县| 嵊泗县| 双辽市| 嵊州市| 宜宾县| 资溪县| 奉新县| 邮箱| 梧州市| 靖江市| 蒲城县| 峨眉山市| 辽阳市| 正镶白旗| 丹凤县| 名山县| 大化| 肃宁县|