<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

基于VB6.0 的MSP430 單片機與PC 機串口通信設計

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

1 引言

本文引用地址:http://dyxdggzs.com/article/174620.htm

隨著(zhù)計算機技術(shù)的不斷發(fā)展,計算機應用在其發(fā)展過(guò)程中逐步形成兩大分支,一是通用計算機,PC 機為代表,著(zhù)眼于高速數值運算和數據處理,但實(shí)時(shí)測控能力較弱。二是嵌入式微機,以為代表,著(zhù)重發(fā)展測控技術(shù),但其數值運算和數據處理能力較弱。目前,在工業(yè)控制以及數據采集和數據處理的大型系統中,由于PC 機軟件資源豐富,人機交互方便等優(yōu)點(diǎn)。以PC 機作為上位機,以組成的控制單元作為下位機,較好地實(shí)現測控及顯示,又能較快地實(shí)現數據采集和處理。逐漸成為現代工業(yè)控制領(lǐng)域的一個(gè)優(yōu)化方案。

故提出了基于VB6.0 的PC 機與MSP430 串行的實(shí)現方法。以RS485 接口為基礎,以PC 機為上位機,以MSP430 系列單片機為下位機。通過(guò)VB6.0 實(shí)現了對各個(gè)下位機控制參數的實(shí)時(shí)監控和管理,解決了長(cháng)期以來(lái)單片機與PC機互連中編程難度大,運行效率低的瓶頸。

2 MSComm 控件與MSP430 單片機

2.1 MSComm 控件

計算機編程語(yǔ)言中,Visual Basic 6.0 是Microsoft 公司推出的面向對象的可視化開(kāi)發(fā)編程工具,具有豐富的數據類(lèi)型和結構化程序結構,開(kāi)發(fā)效率高,界面制作美觀(guān)方便等優(yōu)點(diǎn),且應用日益廣泛,故Visual Basic 6.0 語(yǔ)言做到了真正的面向對象編程。其中,MSComm 控件全稱(chēng)為Microsoft CommunicationControl, 是微軟公司提供的ActiveX 控件, 目的是為了簡(jiǎn)化Windows 下串行編程。通過(guò)對此控件的屬性和事件進(jìn)行編程, 從而實(shí)現數據的發(fā)送和接收。

MSComm 控件通過(guò)串行端口傳輸和接收數據, 為應用程序提供串行功能。MSComm 控件提供下列兩種處理通信的方式: 事件驅動(dòng)方式和查詢(xún)方式。

(1) 事件驅動(dòng)方式

事件驅動(dòng)通信是處理串行端口交互作用的一種非常有效的方法。在許多情況下, 在事件發(fā)生時(shí)需要得到通知, 例如, 在串口接收緩沖區中有字符, Carrier Detect 或Request To Send 線(xiàn)上的一個(gè)字符到達或一個(gè)變化發(fā)生時(shí)。在這種情況下可以利用MSComm 控件的OnComm 事件捕獲并處理這些通信事件。

OnComm 事件還可以檢查和處理通信錯誤, 以及所有通信事件和通信錯誤的列表。

(2) 查詢(xún)方式

查詢(xún)方式實(shí)質(zhì)上還是事件驅動(dòng), 但在有些情況下, 這種方式顯得更為便捷。在程序的每個(gè)關(guān)鍵功能之后, 可以通過(guò)檢查CommEvent 屬性的值來(lái)查詢(xún)事件和錯誤。如果應用程序較小,并且是自保持的, 這種方法可能是更可取的。通過(guò)比較故采用的是事件驅動(dòng)方式。

2.2 MSComm 控件屬性

CommPort 屬性:用于設置或返回串口號連接的串行端口號,Windows 將會(huì )利用該串口和外界通信。默認值為1,即對COM1 進(jìn)行操作,最大值為16.

Settings 屬性:以字符串的形式設置或返回串口通信參數。包括串口通信的比特率,奇偶校驗,數據位長(cháng)度、停止位等。其默認值是“9600,N,8,1”,表示串口比特率是9600bit/s,不作奇偶校驗,8 位數據位,1 個(gè)停止位。

PortOpen 屬性:設置或返回串口狀態(tài)。值為T(mén)rue 時(shí)打開(kāi)串口,值為False 時(shí)關(guān)閉串口。

InPut 屬性:從接收緩沖區中讀取數據并清空該緩沖區,該屬性設計時(shí)無(wú)效,運行時(shí)只讀。寄存器的特性是先進(jìn)先出。

OutPut 屬性:向發(fā)送緩沖區發(fā)送數據,該屬性設計時(shí)無(wú)效,運行時(shí)只讀。

InBufferSize 屬性:設置或返回接收緩沖區的大小,缺省值為1024 字節。

Inputlen 屬性:設置或返回一次從接收緩沖區中讀取字節數。

Input Mode 屬性:設置或返回接收數據的類(lèi)型。若值為0時(shí)則表示以文本形式讀取;若值為1 時(shí)則表示以二進(jìn)制形式讀取。通常PLC 和PC 構成的通信系統都采用二進(jìn)制接收方式。

InBuffer Count 屬性:設置或返回接收緩沖區中等待計算機接收的字符數。當將其值設為0 時(shí),則輸入寄存器將被清空。

OutBufferSize 屬性:設置或返回發(fā)送緩沖區的大小,缺省值為512 字節。

OutBufferCount 屬性:設置或返回發(fā)送緩沖區中等待計算機發(fā)送的字符數。當將其值設為0 時(shí),則輸出寄存器將被清空。

Rthreshold 屬性:該屬性為一閥值。當接收緩沖區中字符數達到該值時(shí), MSComm 控件設置Commevent 屬性為ComEvReceive,并產(chǎn)生OnComm 事件。用戶(hù)可在OnComm 事件處理程序中進(jìn)行相應處理。若Rthreshold 屬性設置為0,則不產(chǎn)生OnComm 事件。

SThreshold 屬性:在發(fā)生OnComm 事件之前傳輸緩沖區中的最小字符數。MSComm1.SThreshold = 0 數據傳輸事件不產(chǎn)生OnComm 事件;若設MSComm1.RThreshold = 1 則表示傳輸 緩沖區全空時(shí), MSComm 控件產(chǎn)生OnComm 事件。

Handshaking 屬性:設置或返回硬件握手協(xié)議, 0 表示沒(méi)有握手協(xié)議, 不考慮流量控制;1 表示在數據流中嵌入控制符來(lái)進(jìn)行流量控制; 2 表示由信號線(xiàn)RTS 自動(dòng)進(jìn)行流量控制; 3 表示1、2 兩者皆可。

通信初始化程序如下:

If MSComm1.PortOpen > True Then

MSComm1.PortOpen=True

End If

MSComm1.CommPort = 1

MSComm1.Settings=“ 9600,N,8,1”

MSComm1.InputLen=0

MSComm1.InBufferCount=0

MSComm1.InputMode=comInputMode Binary

MSComm1. RThreshold =1

MSComm1.Handshaking=comNone

2.3 MSP430 單片機

就目前來(lái)看,高性能16 位單片機主要有凌陽(yáng)系列、飛思卡爾系列、美國德州儀器(TI) 公司的MSP430 系列等類(lèi)型的單片機。本文推薦選用美國德州儀器(TI) 公司的MSP430 系列單片機,MSP430 系列單片機是美國德州儀器(TI) 1966 年開(kāi)始推向市場(chǎng)的一種16 位超低功耗的混合信號處理器(Mixed signal Processor) 稱(chēng)之為混合信號處理器,主要是由于其針對實(shí)際應用需求,把許多模擬電路、數字電路和微處理器集成在一個(gè)芯片上,以提供“單片”解決方案。隨著(zhù)Flash技術(shù)的迅速發(fā)展,在2001 年7 月到2002 年又推出了帶LCD控制器的Flash 單片機F41X、F43X、F44X 系列。本系統所選的MSP43OF449 是一個(gè)16 位的、具有精簡(jiǎn)指令集的、超低功耗的混合型單片機,自問(wèn)世以來(lái),由于它具有極低的功耗,豐富的片內外設和方便靈活的開(kāi)發(fā)手段,得到廣泛的應用。

(1) 低電壓超低功耗工作電壓為1.8~3.6V,1MHz 的時(shí)鐘條件下運行,耗電電流因不同的工作模式而不同?;顒?dòng)模式為280uA,待機模式為1.1uA,掉電模式為0.1uA.具有16 個(gè)中斷源,并且可以任意嵌套,使用靈活方便。用中斷請求將CPU 喚醒只要6us,可編制出實(shí)時(shí)性特別高的源代碼;5 種節電模式;可將CPU 置于省電模式,用中斷模式喚醒程序。

(2) 強大的處理能力16 位精簡(jiǎn)指令結構,15Ons 指令周期,具有豐富的尋址方式,簡(jiǎn)潔的27 條內核指令以及大量的模擬指令;大量的寄存器以及片內數據存儲器都可參加多種運算;還有高效的查表處理方法。

(3) 豐富的片內外設將大量的外圍模塊集成到片內,稱(chēng)之為片內外設。不同型號器件的片內外設不同,但其相同模塊的工作原理基本相同,主要的片內外設有:時(shí)鐘模塊、I/O 端口、定時(shí)器、通信模塊、液晶驅動(dòng)模塊、模數轉換器、硬件乘法器、模擬比較器和Flash 存儲器等。MSP430 單片機的時(shí)鐘由高速晶體、低速晶體、數字控制振蕩器DCO、鎖頻環(huán)FLL 以及鎖頻環(huán)增強版本FLL+等構成。

2.4 串口通信模塊

通用串行同步異步通信接口USART (Unversal SynchronousAsynchronous Receive/Transmit ) 是一個(gè)串行通道,它允許7或8 位串行位流經(jīng)預先編程的速率或外部時(shí)鐘確定的速率移入、移出MSP430.

USART 可進(jìn)行配置,以便同時(shí)支持同步( SPI) 與異步(UART) 操作,并且可從幾個(gè)內部及外部時(shí)鐘源(與CPU 時(shí)鐘無(wú)關(guān)) 中進(jìn)行選擇,所用的是異步(UART) 操作。在UART 模式下,速率也可達到2Mbps.在UART 模式下,實(shí)現可靠通信至少要求每位3 或4 個(gè)時(shí)鐘。例如, 8MHz 時(shí)鐘除以4 可以支持高達2Mbps 的速率。波特率發(fā)生器是用波特率選擇寄存器和調整控制寄存器來(lái)產(chǎn)生串行數據位定時(shí)。

波特率的計算:波特率=BRCLK/(UBR+ ( M7+M6+M5+M4+M3+M2+M1+M0)) ;其中BRCLK 為晶振頻率,UBR 為分頻因子的整數,即晶振頻率除以波特率的整數部分,而M7,M6,M5,M4,M3,M2,M1,M0 分別為調整位,是分別寫(xiě)在UMCTL 中的,如果置位,則對應的時(shí)序時(shí)間只能波特率分頻器的輸入時(shí)鐘擴展一個(gè)時(shí)鐘周期,每接受或發(fā)送一位,在調整控制寄存器的下一位被用來(lái)決定當前位的定時(shí)時(shí)間。

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


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


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


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

上一頁(yè) 1 2 下一頁(yè)

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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>