大功率UPS中DSP與單片機的串行通訊設(shè)計
TMS320F240初始化程序如下:
LDP #00E0H 頁地址指針設(shè)置
SPLK #0017H,SCICCR;設(shè)定通訊格式每幀10數(shù)據(jù)
SPLK #0013H,SCICTL1;使能TX,RX
SPLK #0000H,SCICTL2;禁止RXINT,TXINT中斷
SPLK #0001H,SCIHBAUD;波特率設(shè)定為9600bit/s
SPLK #0038H,SCILBAUD;
SPLK #0033H,SCICTL1;使能SCI
MCS51單片機的特殊功能寄存器SCON定義了串行通信的方式選擇、接收和發(fā)送控制以及串行口的狀態(tài)標(biāo)志等。初始化中將其設(shè)置成串口方式1,接收允許狀態(tài)。串口方式1收發(fā)的數(shù)據(jù)格式為1位起始位,8位數(shù)據(jù)位,1位停止位。SCON中的TI,RI位在初始化中置0,在發(fā)送、接收完一幀數(shù)據(jù),硬件自動將其置1,中斷被響應(yīng)后,TI、Ri不會自動清0,必須由軟件清0。其串行通信波特率由定時器T1溢出率獲得,
波特率的計算公式為:

上式中N是初值,SMOD是PCON中的位,

是時鐘頻率,則初始值

本系統(tǒng)中設(shè)定SMOD=1,

波特率為9600bit/s則計算

設(shè)定初始值為:(TH1)=(TL1)=0FCH。則MCS51單片機初始化程序如下:
MOV TMOD,#20H;T1工作于模式2
MOV TH1,#FCH;
MOV TL1,#FCH;賦計數(shù)初值,波特率為9600bit/s
MOV SCON,#50H;置串口方式1,每幀10數(shù)據(jù),允許接收
MOV PCON,#80H;設(shè)SMOD=1
SETB TR1啟動定時器
3.2 TMS320F240利用SCI與MCS51單片機通信的軟件流程圖

圖2 TMS320F240利用SCI與MCS51單片機通信的軟件流程圖
評論