




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PC機(jī)與多MCS-51單片機(jī)間的串行通信設(shè)計(jì)時(shí)間:2011-05-3123:48:08來源:北京工業(yè)大學(xué)作者:許麗佳陳陽(yáng)舟【摘要】主要講解了IBM-PC機(jī)與MCS-51單片機(jī)多機(jī)系統(tǒng)的通信原理,給出了其硬件接口框圖,并詳細(xì)地分析了系統(tǒng)的多機(jī)通信軟件設(shè)計(jì)。
關(guān)鍵詞:?jiǎn)纹瑱C(jī),分布式系統(tǒng),串行通信
1引言
在測(cè)控系統(tǒng)和工程應(yīng)用中,常遇到多項(xiàng)任務(wù)需同時(shí)執(zhí)行的情況,因而主從式多機(jī)分布式系統(tǒng)成為現(xiàn)代工業(yè)廣泛應(yīng)用的模式。它們大多由IBM-PC微機(jī)和MCS-51單片機(jī)組成。單片機(jī)功能強(qiáng)、體積小、價(jià)格低廉、開發(fā)應(yīng)用方便,尤其具有全雙工串行通訊的特點(diǎn),在工業(yè)控制、數(shù)據(jù)采集、智能儀器儀表、家用電器方面都有廣泛的應(yīng)用。同時(shí),IBM-PC機(jī)正好補(bǔ)充單片機(jī)人機(jī)對(duì)話和外圍設(shè)備薄弱的缺陷。各單片機(jī)獨(dú)立完成數(shù)據(jù)采集處理和控制任務(wù),同時(shí)通過通信接口將數(shù)據(jù)傳給PC機(jī),PC機(jī)將這些數(shù)據(jù)進(jìn)行處理、顯示或打印,把各種控制命令傳給單片機(jī),以實(shí)現(xiàn)集中管理和最優(yōu)控制。
故IBM-PC機(jī)(上位機(jī))與各MCS-51單片機(jī)(下位機(jī))之間的通信顯得尤其重要。本文主要探討它們之間的遠(yuǎn)距離串行通信接口和軟件程序設(shè)計(jì)。
2硬件設(shè)計(jì)接口
RS-232-C串行通信接口是美國(guó)電氣工業(yè)協(xié)會(huì)(EIA)與BELL公司等一起開發(fā)的一種標(biāo)準(zhǔn)通信協(xié)議,現(xiàn)在它在終端、外設(shè)與計(jì)算機(jī)中被廣泛采用。該標(biāo)準(zhǔn)規(guī)定了21個(gè)信號(hào)和25個(gè)引腳,但在智能儀器與計(jì)算機(jī)之間的通信中常用2個(gè)信號(hào)及3個(gè)引腳(2腳數(shù)據(jù)輸入,3腳數(shù)據(jù)輸出,7腳信號(hào)地)。它采用雙極性的負(fù)邏輯信號(hào),0邏輯信號(hào)為+3V至12V,1邏輯信號(hào)為-3V至-12V,它的傳輸速率最大為20kbit/s,傳輸距離僅為15m。由于RS-232主要是完成電平移位、轉(zhuǎn)換和信號(hào)反相等,所以它有自己的電平轉(zhuǎn)換與驅(qū)動(dòng)芯片,如MC1488(發(fā)送)與MC1489(接受)。IBM-PC機(jī)有兩個(gè)標(biāo)準(zhǔn)的RS-232串行口,其電平采用的是EIA電平,而MCS-51單片機(jī)的串行通信是由TXD(發(fā)送數(shù)據(jù))和RXD(接收數(shù)據(jù))來進(jìn)行全雙工通信的,它們的電平是TTL電平,為了PC機(jī)與MCS-51機(jī)之間能可靠地進(jìn)行串行通信,需要用電平轉(zhuǎn)換芯片。由于MC1488和MC1489需要±12V、+5V電源供電,故采用MAXIM公司生產(chǎn)的低功耗、單電源的MAX232芯片,因?yàn)樗陨韼в须娫措妷鹤儞Q器,可以把+5V電源變換成RS-232輸出電平所需的±10V電壓,能實(shí)現(xiàn)RS-232的技術(shù)指標(biāo),并只需要+5V的電源,為串行通信帶來了較好的性能和低廉的價(jià)格。MAX232的接口電路圖如圖2所示。PC機(jī)采用可編程串行異步通信控制器8251A來實(shí)現(xiàn),通過對(duì)INS8251A初始化可以控制串行數(shù)據(jù)傳送格式和速度及其工作方式,使得它與單片機(jī)的通信方式一致,從而實(shí)現(xiàn)PC機(jī)與單片機(jī)之間的通信。MCS-51和8251A的連接圖見圖3。由于遠(yuǎn)距離數(shù)據(jù)傳輸,在系統(tǒng)中用了兩片MAX485芯片進(jìn)行數(shù)據(jù)傳送,還采用了兩級(jí)光電隔離來提高系統(tǒng)的抗干擾能力。單片機(jī)和PC機(jī)之間的RS-232通信硬件接口電路框圖如圖4所示。
3串行通信的軟件程序設(shè)計(jì)
3.1主從式多機(jī)通信原理
MCS-51用于多機(jī)通信時(shí)必須工作在方式2或方式3。以方式3為例,每發(fā)送一幀數(shù)據(jù)為11位:1位起始位(0),8位數(shù)據(jù)位和1位停止位(1),附加的第9位數(shù)據(jù)在非多機(jī)系統(tǒng)中為奇偶校驗(yàn)位,在發(fā)送端有SCON的TB8產(chǎn)生,在接收端傳送到SCON的RB8。它還可設(shè)定為“0”或“1”作為在多機(jī)通信中區(qū)分?jǐn)?shù)據(jù)幀(0標(biāo)志)還是地址幀(1標(biāo)志)的標(biāo)志。在MCS-51多機(jī)系統(tǒng)中有以下協(xié)議:所有的各從機(jī)均處于聽命狀態(tài),即SM2=1,以便接收主機(jī)發(fā)來的地址,當(dāng)接收到一幀信息的RB8為“1”時(shí),表示主機(jī)發(fā)送來的是地址信息,所有的從機(jī)均發(fā)生接收中斷,否則中斷屏蔽。當(dāng)一從機(jī)進(jìn)入相應(yīng)的中斷服務(wù)程序,把接收到的地址和本機(jī)的地址比較,如果相符合就令其SM2=0,并向主機(jī)發(fā)回本機(jī)地址以作應(yīng)答,該從機(jī)就與主機(jī)聯(lián)通,準(zhǔn)備接收主機(jī)發(fā)來的命令或數(shù)據(jù)信息,而其他的未被尋址從機(jī)保持SM2=1并退出各自的中斷服務(wù)程序。這樣,只有SM2=0的從機(jī)才能接收到主機(jī)發(fā)送來的數(shù)據(jù)信息,順利實(shí)現(xiàn)地址幀和數(shù)據(jù)幀的分離。被尋址從機(jī)在通信完成后重新使SM2=1,并退出中斷服務(wù)程序,等待下次通信。
3.2多機(jī)通信協(xié)議
要實(shí)現(xiàn)單片機(jī)和PC機(jī)的正常通信,必須正確設(shè)定它們兩者之間的通信方式,保證雙方都用相同的波特率、起始位、停止位、奇偶校驗(yàn)位,并且要建立雙方通信的應(yīng)答信號(hào)。
單片機(jī)既可工作在同步移位寄存器方式下也可工作在UART(通用異步收發(fā)器)下。串行口的通信方式是由特殊功能寄存器SCON來控制的。其各控制定義如下:SM0,SM1:工作模式設(shè)定位;SM2:允許使用方法2、3多機(jī)通信控制位;RB8:接收數(shù)據(jù)第9位;TB8:發(fā)送數(shù)據(jù)第9位;TI:發(fā)送中斷標(biāo)志;RI:接收中斷標(biāo)志。本文中工作方式為3,即9位UART定時(shí)器T1作為波特率發(fā)生器,工作在方式2,若選定波特率為1200bps,則計(jì)數(shù)初值為0E8H(SMOD=0,時(shí)鐘頻率Fosc為11.059MHz)。
PC機(jī)的異步通信接口為INTEL8251A,它可設(shè)定1位、1.5位或2位停止位,數(shù)據(jù)可在5~8位之間選擇,通信頻率為0~9.6Kbps,有奇偶校驗(yàn)、幀校驗(yàn)、溢出校驗(yàn)三種方式??赏ㄟ^對(duì)它寫入一定的方式控制字、命令控制字從而進(jìn)行初始化。它與MCS-51的連接如前面所示,則它的數(shù)據(jù)口地址為0F0H,控制口地址為0F1H。它的工作狀態(tài)寄存于其狀態(tài)字寄存器中,可由MCS-51的CPU讀取。通信協(xié)議如下:(1)串行通信波特率為1200bps;(2)幀格式為8位數(shù)據(jù)位,一位起始位,一位可編程的第9位(即發(fā)送和接收的地址/數(shù)據(jù)位的標(biāo)志位),一位停止位;(3)主機(jī)和從機(jī)遵循主從原則,主機(jī)用呼叫方式選擇從機(jī),數(shù)據(jù)在主機(jī)和從機(jī)之間雙向傳遞,各從機(jī)之間的相互通信需通過主機(jī)作為中介;(4)主從機(jī)之間還應(yīng)傳送一些供它們識(shí)別的命令和狀態(tài)字,如以00H表示主機(jī)發(fā)送從機(jī)接收命令,以01H表示從機(jī)發(fā)送主機(jī)接收命令等。
3.3通信程序設(shè)計(jì)思路及其實(shí)現(xiàn)
程序主要包括主機(jī)程序(由主機(jī)主程序和通信子程序組成)、從機(jī)主程序和其中斷服務(wù)程序組成。主機(jī)程序主要完成對(duì)8251A的初始化以及主機(jī)與從機(jī)之間的通信,主機(jī)程序框圖見圖5。而從機(jī)主程序主要完成對(duì)串行口的初始化、波特率的設(shè)置(應(yīng)與8251A的波特率一致),它的中斷程序主要用來完成MCS-51單片機(jī)與PC機(jī)的數(shù)據(jù)通信。從機(jī)中斷服務(wù)程序框圖見圖6。這里簡(jiǎn)單介紹8251A的初始化程序,設(shè)8251A工作于異步通信方式,波特率系數(shù)×1,字符長(zhǎng)度為8位,偶校驗(yàn),所以方式字為7DH,又設(shè)8251A為全雙工方式,出錯(cuò)標(biāo)志
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公共交通工具安全防護(hù)方案計(jì)劃
- 生物觀察實(shí)踐活動(dòng)方案計(jì)劃
- 倉(cāng)庫(kù)作業(yè)效率提升的案例分析計(jì)劃
- 肺癌合并肺栓塞護(hù)理
- 未來市場(chǎng)的年度工作應(yīng)對(duì)策略計(jì)劃
- 《貴州萬勝恒通礦業(yè)有限責(zé)任公司習(xí)水縣溫水鎮(zhèn)吉華煤礦(變更)礦產(chǎn)資源綠色開發(fā)利用方案(三合一)》評(píng)審意見
- 木林森品牌新形象
- Definitiontheability(英文版知識(shí)講義)
- 儲(chǔ)能鋰電池知識(shí)培訓(xùn)課件
- 內(nèi)蒙古開魯縣高中生物 第四章 細(xì)胞的物質(zhì)輸入和輸出 4.1 物質(zhì)跨膜運(yùn)輸?shù)膶?shí)例 第一課時(shí)教學(xué)實(shí)錄 新人教版必修1
- 心理咨詢中心介紹
- 土石方工程投標(biāo)書技術(shù)標(biāo)
- 胸腹聯(lián)合傷完整版本
- 裝修店長(zhǎng)述職報(bào)告
- 2023年10月自考試題00840第二外語(yǔ)(日語(yǔ))
- 農(nóng)產(chǎn)品市場(chǎng)營(yíng)銷中的市場(chǎng)競(jìng)爭(zhēng)分析
- 了解滑雪:滑雪器材與滑雪的技巧
- 也是冬天也是春天:升級(jí)彩插版
- 報(bào)價(jià)單模板完
- 【某醫(yī)療美容機(jī)構(gòu)營(yíng)銷策略現(xiàn)狀、問題及優(yōu)化建議分析6300字】
- 關(guān)于tiktok的英語(yǔ)新聞
評(píng)論
0/150
提交評(píng)論