基于DSP和單片機通信的液晶顯示設(shè)計
1.3 單片機與DSP通信的軟件實現(xiàn)
在異步通信中必須先規(guī)定3件事:一是字符格式,即傳輸?shù)拿恳粠瑪?shù)據(jù)的格式;二是通信雙方要設(shè)置為相同的波特率,且該波特率能適應(yīng)雙方的時鐘頻率;三是通信雙方要有約定的通信協(xié)議,也就是雙方要互相確認(rèn)后才能傳輸數(shù)據(jù)。
在本設(shè)計中,DSP和單片機采用的數(shù)據(jù)幀格式是1位起始位,8位數(shù)據(jù)位和1位停止位。由于數(shù)據(jù)包采用校驗和的方式進(jìn)行校驗,因而在數(shù)據(jù)幀格式中沒有設(shè)置奇偶校驗位。因而MCS51單片機應(yīng)設(shè)置工作在串口方式1狀態(tài)下,此時串行口為8位異步通信接口。為了保證數(shù)據(jù)傳輸具有較高的速率,同時又有比較低的傳輸誤碼率,因而選擇波特率為9 600 b/s。通過相應(yīng)的波特率設(shè)置計算公式計算出DSP和單片機的初始化時寄存器的初值,即可完成設(shè)置。這樣就保證了通信雙方幀格式的統(tǒng)一和波特率的統(tǒng)一,從而使數(shù)據(jù)通信正確、可靠。
DSP的串口初始化設(shè)置程序如下:
在本設(shè)計中,采用自己規(guī)定的通信協(xié)議,首先DSP發(fā)送出握手信號,C51收到握手信號后,進(jìn)入中斷子程序,判斷握手信號是否正確,若正確才握手成功,開始接收數(shù)據(jù)包,接收完成后對數(shù)據(jù)進(jìn)行和校驗,正確后刷新液晶的顯示數(shù)據(jù)存儲區(qū);若錯誤則放棄本次數(shù)據(jù),并將接收數(shù)據(jù)存儲區(qū)清零,等待下一次通信。其程序流程圖如圖3所示。本文引用地址:http://www.ex-cimer.com/article/150021.htm
評論