基于VB6.0 的MSP430 單片機與PC 機串口通信設(shè)計
設(shè)計MSP430 系列單片機的通信軟件,實際上是對MSP430 系列單片機的串行口的設(shè)計,這里采用Visual Basic 6.0 語言來設(shè)計,在PC 機上運行的界面如圖1 所示。
在發(fā)送數(shù)據(jù)文本框中輸入一個“0~255”之間的整數(shù),并單擊發(fā)送數(shù)據(jù)按鈕,單片機將接收到該數(shù)據(jù)并顯示這個數(shù)據(jù), 然后作除4 處理,結(jié)果再經(jīng)串口返回到PC 機端。例如當發(fā)送數(shù)據(jù)160 時,單片機電路中數(shù)碼管上顯示160,同時單片機對160 作除4 處理,得到40 返送回PC 機上顯示。
由于PC 機端的RS232 電平與MSP430 單片機端的TTL 電平不匹配, 故必須進行電平轉(zhuǎn)換,這里采用美信MAX232 芯片完成。電路其他部分為單片機常規(guī)電路。以下是MSP430 單片機與PC 機串口通信VB6.0 程序代碼如下:
(1) PC 機端VB 程序代碼初始化部分代碼:
發(fā)送功能代碼:
Private Sub Form_load ()
MSComm1.CommPort = 1 ' 設(shè)置1 號串口
MSComm1.Settings =“9600,N,8,1”‘ 設(shè)置參數(shù)
MSComm1.PortOpen = True ' 打開串口
End Sub
發(fā)送功能代碼:
Private Sub Command1_Click ()
Dim Number As Integer ' 發(fā)送的數(shù)據(jù)變量
Dim OutByte (0) As Byte ' 發(fā)送字節(jié)數(shù)組
Number = Val (Text1.text) ' 類型轉(zhuǎn)換
OutByte (0) =CByte (Number) ' 轉(zhuǎn)換為二進制
MSComm1.OutBufferCount=0' 清空發(fā)送緩沖
MSComm1.Output = OutByte ' 發(fā)送數(shù)據(jù)
End Sub
接收功能代碼:
Private Sub MSComm1_OnComm ()
Dim InData As Variant ' 變體變量
Dim Arr (0) As Byte ' 接收字節(jié)數(shù)組
Select Case MSComm1.CommEvent
Case comEvReceive ' 觸發(fā)接收事件
InData = MSComm1.Input ' 接收數(shù)據(jù)
Arr (0) = AscB (InData) ' 類型轉(zhuǎn)換
Text2.text = Arr (0) ' 顯示數(shù)據(jù)
MSComm1.InBufferCount = 0 ' 清空接收緩
End Select
End Sub
(2) MSP430 單片機的部分程序
單片機的編程包括: 設(shè)置串行口的工作方式; 波特率的設(shè)置; 發(fā)送數(shù)據(jù)并接收數(shù)據(jù)。以下為串行口的初始化程序:
CKCSH MOV1B # SWRST, U 1CT L; 先在SWRST= 1 時,
設(shè)置串口
BIS. B # CHAR, U 1CTL
MOV. B # SSEL1+ SSEL0, U 1TCTL;
MOV. B # 045H, U1BR0; 波特率為9600
MOV. B # 00H, U1BR1;
MOV. B # 055H, U1MCT L;
BIS. B # U TXE1+ U RXE1, ME2;
BIC. B # SWRST, U1CTL;
4 結(jié)語
串口通信是一項廣泛應(yīng)用到各個領(lǐng)域的通信技術(shù), 尤其是單片機與PC 機間的通信。在實踐中VB6.0 以其好學易用性得到廣泛的應(yīng)用,MSP430 系列單片機以低功耗等特點被應(yīng)用在測控系統(tǒng)中,兩者結(jié)合能夠快速構(gòu)筑以單片機采集數(shù)據(jù)和計算機快速處理的系統(tǒng)
模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理
數(shù)字通信相關(guān)文章:數(shù)字通信原理
通信相關(guān)文章:通信原理
分頻器相關(guān)文章:分頻器原理 晶振相關(guān)文章:晶振原理
評論