日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]【摘 要】 主要講解了IBM-PC機與MCS-51單片機多機系統(tǒng)的通信原理,給出了其硬件接口框圖,并詳細地分析了系統(tǒng)的多機通信軟件設(shè)計。   關(guān)鍵詞:單片機,分布式系統(tǒng),串行通信 1 引 言   在測控系統(tǒng)和工程

【摘 要】 主要講解了IBM-PC機MCS51單片機多機系統(tǒng)的通信原理,給出了其硬件接口框圖,并詳細地分析了系統(tǒng)的多機通信軟件設(shè)計。
  關(guān)鍵詞:單片機,分布式系統(tǒng),串行通信


1 引 言
  在測控系統(tǒng)和工程應(yīng)用中,常遇到多項任務(wù)需同時執(zhí)行的情況,因而主從式多機分布式系統(tǒng)成為現(xiàn)代工業(yè)廣泛應(yīng)用的模式。它們大多由IBM-PC微機和MCS-51單片機組成。單片機功能強、體積小、價格低廉、開發(fā)應(yīng)用方便,尤其具有全雙工串行通訊的特點,在工業(yè)控制、數(shù)據(jù)采集、智能儀器儀表、家用電器方面都有廣泛的應(yīng)用。同時,IBM-PC機正好補充單片機人機對話和外圍設(shè)備薄弱的缺陷。各單片機獨立完成數(shù)據(jù)采集處理和控制任務(wù),同時通過通信接口將數(shù)據(jù)傳給PC機,PC機將這些數(shù)據(jù)進行處理、顯示或打印,把各種控制命令傳給單片機,以實現(xiàn)集中管理和最優(yōu)控制。
  故IBM-PC機(上位機)與各MCS-51單片機(下位機)之間的通信顯得尤其重要。本文主要探討它們之間的遠距離串行通信接口和軟件程序設(shè)計。
2 硬件設(shè)計接口
  RS-232-C串行通信接口是美國電氣工業(yè)協(xié)會(EIA)與BELL公司等一起開發(fā)的一種標準通信協(xié)議,現(xiàn)在它在終端、外設(shè)與計算機中被廣泛采用。該標準規(guī)定了21個信號和25個引腳,但在智能儀器與計算機之間的通信中常用2個信號及3個引腳(2腳數(shù)據(jù)輸入,3腳數(shù)據(jù)輸出,7腳信號地)。它采用雙極性的負邏輯信號,0邏輯信號為+3V至12V,1邏輯信號為-3V至-12V,它的傳輸速率最大為20kbit/s,傳輸距離僅為15m。由于RS-232主要是完成電平移位、轉(zhuǎn)換和信號反相等,所以它有自己的電平轉(zhuǎn)換與驅(qū)動芯片,如MC1488(發(fā)送)與MC1489(接受)。IBM-PC機有兩個標準的RS-232串行口,其電平采用的是EIA電平,而MCS-51單片機的串行通信是由TXD(發(fā)送數(shù)據(jù))和RXD(接收數(shù)據(jù))來進行全雙工通信的,它們的電平是TTL電平,為了PC機與MCS-51機之間能可靠地進行串行通信,需要用電平轉(zhuǎn)換芯片。由于MC1488和MC1489需要±12V、+5V電源供電,故采用MAXIM公司生產(chǎn)的低功耗、單電源的MAX232芯片,因為它自身帶有電源電壓變換器,可以把+5V電源變換成RS-232輸出電平所需的±10V電壓,能實現(xiàn)RS-232的技術(shù)指標,并只需要+5V的電源,為串行通信帶來了較好的性能和低廉的價格。MAX232的接口電路圖如圖2所示。

  PC機采用可編程串行異步通信控制器8251A來實現(xiàn),通過對INS8251A初始化可以控制串行數(shù)據(jù)傳送格式和速度及其工作方式,使得它與單片機的通信方式一致,從而實現(xiàn)PC機與單片機之間的通信。MCS-51和8251A的連接圖見圖3。

  由于遠距離數(shù)據(jù)傳輸,在系統(tǒng)中用了兩片MAX485芯片進行數(shù)據(jù)傳送,還采用了兩級光電隔離來提高系統(tǒng)的抗干擾能力。單片機和PC機之間的RS-232通信硬件接口電路框圖如圖4所示。
3 串行通信的軟件程序設(shè)計
3.1 主從式多機通信原理
  MCS-51用于多機通信時必須工作在方式2或方式3。以方式3為例,每發(fā)送一幀數(shù)據(jù)為11位:1位起始位(0),8位數(shù)據(jù)位和1位停止位(1),附加的第9位數(shù)據(jù)在非多機系統(tǒng)中為奇偶校驗位,在發(fā)送端有SCON的TB8產(chǎn)生,在接收端傳送到SCON的RB8。它還可設(shè)定為“0”或“1”作為在多機通信中區(qū)分數(shù)據(jù)幀(0標志)還是地址幀(1標志)的標志。在MCS-51多機系統(tǒng)中有以下協(xié)議:所有的各從機均處于聽命狀態(tài),即SM2=1,以便接收主機發(fā)來的地址,當接收到一幀信息的RB8為“1”時,表示主機發(fā)送來的是地址信息,所有的從機均發(fā)生接收中斷,否則中斷屏蔽。當一從機進入相應(yīng)的中斷服務(wù)程序,把接收到的地址和本機的地址比較,如果相符合就令其SM2=0,并向主機發(fā)回本機地址以作應(yīng)答,該從機就與主機聯(lián)通,準備接收主機發(fā)來的命令或數(shù)據(jù)信息,而其他的未被尋址從機保持SM2=1并退出各自的中斷服務(wù)程序。這樣,只有SM2=0的從機才能接收到主機發(fā)送來的數(shù)據(jù)信息,順利實現(xiàn)地址幀和數(shù)據(jù)幀的分離。被尋址從機在通信完成后重新使SM2=1,并退出中斷服務(wù)程序,等待下次通信。


 

3.2 多機通信協(xié)議
  要實現(xiàn)單片機和PC機的正常通信,必須正確設(shè)定它們兩者之間的通信方式,保證雙方都用相同的波特率、起始位、停止位、奇偶校驗位,并且要建立雙方通信的應(yīng)答信號。
  單片機既可工作在同步移位寄存器方式下也可工作在UART(通用異步收發(fā)器)下。串行口的通信方式是由特殊功能寄存器SCON來控制的。其各控制定義如下:

SM0,SM1:工作模式設(shè)定位;SM2:允許使用方法2、3多機通信控制位;RB8:接收數(shù)據(jù)第9位;TB8:發(fā)送數(shù)據(jù)第9位;TI:發(fā)送中斷標志;RI:接收中斷標志。本文中工作方式為3,即9位UART定時器T1作為波特率發(fā)生器,工作在方式2,若選定波特率為1200bps,則計數(shù)初值為0E8H(SMOD=0,時鐘頻率Fosc為11.059MHz)。
  PC機的異步通信接口為INTEL8251A,它可設(shè)定1位、1.5位或2位停止位,數(shù)據(jù)可在5~8位之間選擇,通信頻率為0~9.6Kbps,有奇偶校驗、幀校驗、溢出校驗三種方式??赏ㄟ^對它寫入一定的方式控制字、命令控制字從而進行初始化。它與MCS-51的連接如前面所示,則它的數(shù)據(jù)口地址為0F0H,控制口地址為0F1H。它的工作狀態(tài)寄存于其狀態(tài)字寄存器中,可由MCS-51的CPU讀取。通信協(xié)議如下:(1)串行通信波特率為1200bps;(2)幀格式為8位數(shù)據(jù)位,一位起始位,一位可編程的第9位(即發(fā)送和接收的地址/數(shù)據(jù)位的標志位),一位停止位;(3)主機和從機遵循主從原則,主機用呼叫方式選擇從機,數(shù)據(jù)在主機和從機之間雙向傳遞,各從機之間的相互通信需通過主機作為中介;(4)主從機之間還應(yīng)傳送一些供它們識別的命令和狀態(tài)字,如以00H表示主機發(fā)送從機接收命令,以01H表示從機發(fā)送主機接收命令等。
3.3 通信程序設(shè)計思路及其實現(xiàn)
  程序主要包括主機程序(由主機主程序和通信子程序組成)、從機主程序和其中斷服務(wù)程序組成。主機程序主要完成對8251A的初始化以及主機與從機之間的通信,主機程序框圖見圖5。而從機主程序主要完成對串行口的初始化、波特率的設(shè)置(應(yīng)與8251A的波特率一致),它的中斷程序主要用來完成MCS-51單片機與PC機的數(shù)據(jù)通信。從機中斷服務(wù)程序框圖見圖6。


 

  這里簡單介紹8251A的初始化程序,設(shè)8251A工作于異步通信方式,波特率系數(shù)×1,字符長度為8位,偶校驗,所以方式字為7DH,又設(shè)8251A為全雙工方式,出錯標志復(fù)位,故其命令控制字為27H,其相應(yīng)的初始化程序如下:
MOV R0,#0F0H


  

4 結(jié)束語
  本系統(tǒng)軟硬件在IBM PC/XT機和DICE系列的MCS51單片機上進行過調(diào)試,運行良好,驗證了其在 仿真平臺的控制,現(xiàn)已用于實際系統(tǒng),且特別適用于從機實時性要求較高的中小型工控系統(tǒng)。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

采用51單片機最小開發(fā)板,由8位自制獨立按鍵控制。單片機芯片為STC89C52RC,晶振為@12.000 mhz。8X8LED點陣屏模塊由MAX7219驅(qū)動,MAX7219包含一個自動掃描電路。你只需要把要顯示的數(shù)據(jù)發(fā)送...

關(guān)鍵字: 51單片機 MAX7219 寄存器

在一些特殊的工業(yè)場合,有時需要將傳感器的信號不斷的實時采集和存儲起來,并且到一定時間再把數(shù)據(jù)回放到PC機中進行分析和處理。

關(guān)鍵字: PC機

?CAN總線(Controller Area Network)設(shè)計?涉及多個關(guān)鍵方面,包括硬件設(shè)計、軟件實現(xiàn)、通信協(xié)議以及實際應(yīng)用中的挑戰(zhàn)和解決方案。

關(guān)鍵字: ?CAN總線 硬件設(shè)計

在嵌入式系統(tǒng)開發(fā)的廣闊領(lǐng)域,51單片機和STM32無疑是兩種極具代表性的微控制器。對于初學(xué)者而言,選擇學(xué)習(xí)路徑時往往會面臨一個抉擇:是直接跨越51單片機,挑戰(zhàn)更高層次的STM32,還是從51開始,逐步進階?本文旨在探討直...

關(guān)鍵字: 51單片機 STM32

隨著硬件設(shè)計復(fù)雜性的不斷增加,高層次綜合(HLS)技術(shù)已成為加速設(shè)計流程、提高設(shè)計效率的關(guān)鍵手段。HLS允許設(shè)計師使用高級編程語言(如C、C++)來描述硬件行為,然后通過綜合工具將這些描述轉(zhuǎn)化為底層的硬件描述語言(HDL...

關(guān)鍵字: HLS HDL 硬件設(shè)計

德國柏林2024年10月12日 /美通社/ -- 2024年德國柏林軌道交通技術(shù)展覽會(InnoTrans 2024)期間,華為面向全球發(fā)布智能鐵路FRMCS-T(未來鐵路移動通信系統(tǒng))白皮書,從行業(yè)趨勢、標準解讀、頻譜...

關(guān)鍵字: MCS 華為 智能化 軌道

在嵌入式系統(tǒng)開發(fā)中,特別是在使用8051系列單片機(簡稱C51)進行編程時,數(shù)據(jù)類型的選擇與定義對程序的性能和可讀性至關(guān)重要。C51語言在標準C語言的基礎(chǔ)上進行了擴展,以適應(yīng)單片機特有的硬件結(jié)構(gòu)和操作需求。本文將深入探討...

關(guān)鍵字: C51數(shù)據(jù) 51單片機

在嵌入式系統(tǒng)領(lǐng)域,51單片機作為一種經(jīng)典的微控制器,廣泛應(yīng)用于各種自動化控制系統(tǒng)中。其外部引腳作為單片機與外界交互的接口,承載著數(shù)據(jù)傳輸、控制信號輸出等重要功能。本文將通過對51單片機外部引腳的案例分析,結(jié)合實際代碼,深...

關(guān)鍵字: 51單片機 單片機

在電子技術(shù)的浩瀚星空中,LED(發(fā)光二極管)以其獨特的魅力成為了一顆璀璨的明星。而結(jié)合51單片機這一經(jīng)典的嵌入式開發(fā)平臺,LED的應(yīng)用更是被賦予了無限可能,其中,花樣流水燈便是一個生動而富有創(chuàng)意的實例。本文將帶您深入探索...

關(guān)鍵字: 51單片機 LED

PC機所使用的電源是基于一種叫做 “開關(guān)模式 ”的技術(shù),所以我們通常把PC電源稱為——開關(guān)電源(SMPS),它還有一個別名——直流——直流轉(zhuǎn)換器。

關(guān)鍵字: PC機 開關(guān)模式 直流
關(guān)閉