自己在校期間做的51單片機主從式串行通信的課程設計,想要學習參考的同學可以拿去,關于設計可以交流學習。
主從式串行通信仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
通信協議的設計是本課題的重點難點,本題通信協議主要是區別主機和從機。 經查找資料,實現此多機通信的功能的方式是通過單片內硬件實現,下面對這種方式進行簡單的介紹
多機通信協議:
由于串口的方式2、3發送和接收都是11位其第九為可編程置位可以此作為區分地址幀與數據幀從而實現主機與從機,從機與從機的區別。通信協議同樣要規定相同通信速率,編寫如下的通信協議:
1、數據傳輸的雙方均使用4800b/s的速率傳送數據,使用主從式通信,從機發送數據,,雙方在發送數據時使用查詢方式。主機接受數據使用中斷接收。
2、雙機開始數據傳輸時,從機發送地址幀呼叫主機。
3、各從機開始都處于發送地址幀狀態。發送地址幀后,主機將接收到的地址內容和本機地址比較,如果地址相同,則向從機返回本機地址作為確認信息,并開始接收數據;如果不同,則繼續等待。
4、主機在接收地址幀后等待,如果接收到的應答信息中的內容和所發地址幀的內容相同,就開始接收數據,如果不一致,從機將繼續發送地址幀。如多次應答仍無回應則認為出錯則主機跳出本次通信。
需要說明的是,從機通過ADC0832采集滑動變阻器的電壓,經由AD轉換后將8位電壓數據發送到從機,從機在接收到主機的請求指令之后,將采集到的電壓數據發送給主機,主機控制lcd液晶顯示屏顯示電壓數據。
單片機源程序如下:
所有資料51hei提供下載:
單片機主從串行通信.rar
(1.4 MB, 下載次數: 226)
2018-6-12 17:52 上傳
點擊文件名下載附件
|