新聞中心

        EEPW首頁 > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 基于VB6.0 的MSP430 單片機(jī)與PC 機(jī)串口通信設(shè)計(jì)

        基于VB6.0 的MSP430 單片機(jī)與PC 機(jī)串口通信設(shè)計(jì)

        作者: 時間:2013-10-04 來源:網(wǎng)絡(luò) 收藏

        3 MSP430 與PC 機(jī)串口

        設(shè)計(jì)MSP430 系列軟件,實(shí)際上是對MSP430 系列的串行口的設(shè)計(jì),這里采用Visual Basic 6.0 語言來設(shè)計(jì),在PC 機(jī)上運(yùn)行的界面如圖1 所示。

        在PC 機(jī)上運(yùn)行的界面

        在發(fā)送數(shù)據(jù)文本框中輸入一個“0~255”之間的整數(shù),并單擊發(fā)送數(shù)據(jù)按鈕,單片機(jī)將接收到該數(shù)據(jù)并顯示這個數(shù)據(jù), 然后作除4 處理,結(jié)果再經(jīng)串口返回到PC 機(jī)端。例如當(dāng)發(fā)送數(shù)據(jù)160 時,單片機(jī)電路中數(shù)碼管上顯示160,同時單片機(jī)對160 作除4 處理,得到40 返送回PC 機(jī)上顯示。

        由于PC 機(jī)端的RS232 電平與MSP430 單片機(jī)端的TTL 電平不匹配, 故必須進(jìn)行電平轉(zhuǎn)換,這里采用美信MAX232 芯片完成。電路其他部分為單片機(jī)常規(guī)電路。以下是MSP430 單片機(jī)與PC 機(jī)串口VB6.0 程序代碼如下:

        (1) PC 機(jī)端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)換為二進(jì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 單片機(jī)的部分程序

        單片機(jī)的編程包括: 設(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é)語

        串口通信是一項(xiàng)廣泛應(yīng)用到各個領(lǐng)域的通信技術(shù), 尤其是單片機(jī)與PC 機(jī)間的通信。在實(shí)踐中VB6.0 以其好學(xué)易用性得到廣泛的應(yīng)用,MSP430 系列單片機(jī)以低功耗等特點(diǎn)被應(yīng)用在測控系統(tǒng)中,兩者結(jié)合能夠快速構(gòu)筑以單片機(jī)采集數(shù)據(jù)和計(jì)算機(jī)快速處理的系統(tǒng)

        模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理


        數(shù)字通信相關(guān)文章:數(shù)字通信原理


        通信相關(guān)文章:通信原理


        分頻器相關(guān)文章:分頻器原理
        晶振相關(guān)文章:晶振原理

        上一頁 1 2 下一頁

        關(guān)鍵詞: 單片機(jī) 通信

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 依兰县| 永宁县| 星座| 泽库县| 甘德县| 五寨县| 永丰县| 桐梓县| 宣威市| 读书| 康乐县| 合水县| 安宁市| 贵阳市| 民权县| 兴义市| 湘潭县| 高邮市| 晋中市| 甘谷县| 八宿县| 同江市| 承德市| 志丹县| 东至县| 湟中县| 延吉市| 高碑店市| 沭阳县| 广安市| 黑河市| 河池市| 台北市| 明光市| 北碚区| 成都市| 金昌市| 开阳县| 太保市| 凤庆县| 安塞县|