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