久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > DSP與PC機串行通信在減搖水艙試驗臺架控制系統中的

DSP與PC機串行通信在減搖水艙試驗臺架控制系統中的

作者: 時間:2011-01-13 來源:網絡 收藏


中通信程序設計

的SCI模塊使用中斷來接收所傳送來的參數,供控制算法主程序調用,中串行數據接收流程圖如圖3所示。


圖3 DSP串行數據接收流程圖

DSP接收的數據為十六位,所以需要對高八位和低八位分別進行接收,高八位左移八位加上低八位,就是所要的十六位數據,接收的數據依次保存在首地址為4002h的連續單元中。下面為SCI模塊初始化和接收中斷兩部分的匯編語言源程序。

SCI初始化程序如下:

LDP #0E1h

SPLK #0003h, MCRA

; 選中SCI輸入輸出引腳

LDP #0E0h

SPLK #27h, SCICCR

; 1個停止位,八位數據,奇校驗,

; 空閑線方式,禁止自測試

SPLK #0003h, SCICTL1

; 允許TX,RX和內部SCICLK

; 禁止RXERR,SLEEP,TXWAKE

SPLK #0002h, SCICTL2

; 允許RX中斷,禁止TX中斷

SPLK #0002h, SCIHBAUD

SPLK #0008h, SCILBAUD

; 40MHz SYSCLK下,波特率為9600bps

SPLK #0023h, SCICTL1

; 放棄復位SCI

LAR AR0, #SCITXBUF

LAR AR1, #SCIRXBUF

; 載入兩個緩沖器的地址

LDP #0

SPLK #04002h, RTB

; 定義接收數據的首地址

SPLK #01h, NUM

; 設置判別高8位還是低8位的變量

SPLK #0, RTD

; 接收數據寄存器

串行數據接收中斷程序如下:

SCI_INT:

LDP #0

LACC #02h

SUB NUM

BCND high, GT

; 判斷是否為高8位數據

MAR *, AR1

LACC *, AR1

ADD RTD

SACL RTD

LACC RTB

TBLW RTD

ADD #1

SACL RTB

SPLK NUM

high:

; 讀高8位數據

MAR *, AR1

LACC *, AR1

SACL RTD

LACC RTD, 8

SACL RTD

SPLK #02h, NUM

中通信程序設計

中,串口通信的程序是用Visual Basic 6.0開發的,調用的是Microsoft 公司提供的 MSComm 控件。


評論


相關推薦

技術專區

關閉