国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

MCS-96單片機(jī)和PC計(jì)算機(jī)串行通訊技術(shù)的實(shí)現(xiàn)

2009-08-31 02:58張曉軍
關(guān)鍵詞:下位寄存器電平

摘要:文章論述了實(shí)現(xiàn)工業(yè)PC計(jì)算機(jī)(上位機(jī))與MCS-96單片機(jī)(下住機(jī))的數(shù)據(jù)通訊技術(shù)實(shí)現(xiàn)要點(diǎn),并對(duì)具體實(shí)現(xiàn)思路和實(shí)施過程進(jìn)行了詳細(xì)說明。

關(guān)鍵詞:PC計(jì)算機(jī);MCS-96單片機(jī);串行通訊

中圖分類號(hào):TP368文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-2374(2009)13-0006-02

在電氣自動(dòng)化控制領(lǐng)域,集中分布式測(cè)控系統(tǒng)是以計(jì)算機(jī)技術(shù)為核心,與數(shù)據(jù)通訊技術(shù)相結(jié)合的集檢測(cè)、控制和管理為一體的計(jì)算機(jī)網(wǎng)絡(luò)控制系統(tǒng),例如,以單片機(jī)作為從機(jī),負(fù)責(zé)現(xiàn)場(chǎng)控制和實(shí)時(shí)數(shù)據(jù)的采集;PC機(jī)作為主機(jī),負(fù)責(zé)對(duì)各從機(jī)發(fā)來的數(shù)據(jù)進(jìn)行分析、處理,并向各從機(jī)發(fā)布命令,以實(shí)現(xiàn)對(duì)工業(yè)現(xiàn)場(chǎng)的集中監(jiān)控與管理。由于主從機(jī)需不斷進(jìn)行信息交流,因此數(shù)據(jù)通訊成為分布式測(cè)控系統(tǒng)重要而基本的功能,本文以MCS96系列單片機(jī)中的800196為例,論述了PC機(jī)和單片機(jī)串行通訊的實(shí)現(xiàn)過程。

一、串行通訊技術(shù)總體描述

串口通訊的物理標(biāo)準(zhǔn),現(xiàn)在得到大家廣泛采用的是RS232C、RS422、RS485等。一般微機(jī)提供標(biāo)準(zhǔn)的RS232C接口,該接口采用負(fù)邏輯,與CMOS、TrL電路的連接需要專用集成電路進(jìn)行電平轉(zhuǎn)換。一般應(yīng)用情況下,RS232C的最高傳輸速率為20kb/s,最大傳輸線長(zhǎng)為30m。

在串行通訊的數(shù)據(jù)輸入過程中,數(shù)據(jù)一位一位的從下位單片機(jī)進(jìn)入上位機(jī)串行接口的“接受移位寄存器”,當(dāng)“接收移位寄存器”接受完一個(gè)字符的各位后,數(shù)據(jù)就從“接受移位寄存器”進(jìn)入“數(shù)據(jù)輸入寄存器”,CPU從“數(shù)據(jù)輸入寄存器”中并行讀取到接收的字符?!敖邮找莆患拇嫫鳌钡囊莆凰俣扔伞敖邮諘r(shí)鐘”確定。

當(dāng)上位計(jì)算機(jī)要向下位各檢測(cè)單元的單片機(jī)輸出數(shù)據(jù)時(shí),上位CPU把要輸出的字符送人“數(shù)據(jù)輸出寄存器”,“數(shù)據(jù)輸出寄存器”的內(nèi)容傳輸?shù)健鞍l(fā)送移位寄存器”,然后,由“發(fā)送移位寄存器”移位,把數(shù)據(jù)一位一位的送到下位各檢測(cè)單元的單片微機(jī),“發(fā)送移位寄存器”的移位速度由“發(fā)送時(shí)鐘”確定。

從理論上講,上位PC計(jì)算機(jī)和下位單片微機(jī)進(jìn)行RS232C串口通訊的接線方法是:上位Pc計(jì)算機(jī)RS232接口的接收數(shù)據(jù)針腳RXD與下位單片微機(jī)串行口的發(fā)送數(shù)據(jù)針腳TXD相連,上位Pc計(jì)算機(jī)RS232接口的發(fā)送數(shù)據(jù)針腳TXD與下位單片微機(jī)串行接口的接收數(shù)據(jù)針腳RXD相連,兩者的信號(hào)地GND對(duì)應(yīng)相接。但是,在工程實(shí)踐中我們必須重視并解決上位Pc機(jī)與下位單片機(jī)RS232C串口間的邏輯電平是不一致的問題。

通過查閱有關(guān)技術(shù)標(biāo)準(zhǔn)我們不難發(fā)現(xiàn)上位Pc機(jī)的串行接口是符合EIARS-232C規(guī)范的外部總線標(biāo)準(zhǔn)接口。RS-232C采-用的是負(fù)邏輯,即邏輯“1”:5V至-15V;邏輯“O0”:+5V至+15V。而本系統(tǒng)中所使用的下位機(jī)80C196單片微機(jī)的電平為:邏輯“1”:4.99V,邏輯“0”:0.01V。

因此,在用RS-232C總線進(jìn)行串行通訊時(shí)需外接電路實(shí)現(xiàn)電平轉(zhuǎn)換。在發(fā)送端用驅(qū)動(dòng)器將CMOS電平轉(zhuǎn)換為RS-232C電平,在接收端用接收器將RS-232C電平再轉(zhuǎn)換為CMOS電平。

二、串行通訊實(shí)現(xiàn)過程

(一)串行通訊的具體思路

在串行通訊之前,必須約定好收、發(fā)雙方的通訊協(xié)議,明確規(guī)定彼此的聯(lián)絡(luò)信號(hào)以及數(shù)據(jù)的傳送方式等項(xiàng)內(nèi)容,具體思路如下:

1在PC讀數(shù)據(jù)時(shí)遵循“讀命令-等數(shù)據(jù)-報(bào)告”即PC下達(dá)一命令、等待接收數(shù)據(jù)、再據(jù)所接收數(shù)據(jù)的正誤向應(yīng)用程序報(bào)告此命令的執(zhí)行情況。

2在PC寫數(shù)據(jù)時(shí)遵循“寫命令-等回應(yīng)-報(bào)告”,即PC下達(dá)一寫命令,此時(shí)所要寫的數(shù)據(jù)含于此命令中等待單片機(jī)發(fā)來的已正確接收的回應(yīng)信號(hào),并向應(yīng)用程序報(bào)告此命令執(zhí)行完畢。

3如果在轉(zhuǎn)輸過程其間Pc或單片機(jī)所接收任何一幀信號(hào)出現(xiàn)錯(cuò)誤時(shí),均會(huì)向?qū)Ψ桨l(fā)送重發(fā)此幀信號(hào)的請(qǐng)求,如果連續(xù)三次轉(zhuǎn)輸失敗則退出通訊,并向應(yīng)用程序報(bào)告。

(二)下位單片機(jī)串口通訊偏程的幾個(gè)關(guān)鍵環(huán)節(jié)

串行通訊是上位PC計(jì)算機(jī)與下位單片計(jì)算機(jī)之間的數(shù)據(jù)交換。上面已經(jīng)對(duì)上位微機(jī)串行通訊的關(guān)鍵環(huán)節(jié)和相關(guān)實(shí)現(xiàn)思路進(jìn)行了論述,下面再對(duì)與之相對(duì)應(yīng)的下位單片機(jī)串行通訊的關(guān)鍵環(huán)節(jié)的實(shí)現(xiàn)加以說明,下位單片機(jī)串口通訊編程的實(shí)現(xiàn)要處理好以下幾個(gè)關(guān)鍵環(huán)節(jié):

1首先對(duì)單片機(jī)串口進(jìn)行正確的初始化設(shè)置。進(jìn)行串行通訊時(shí)必須對(duì)下位的80C196單片機(jī)進(jìn)行正確的設(shè)置,與串行通訊有關(guān)的寄存器有:

(1)IOCl控制寄存器:在串行應(yīng)用中,該寄存器用于選擇TXD/P2.0引腳端的復(fù)用功能,置1時(shí),選中TXD功能。

(2)SP_CoN寄存器(1lH,只寫)和SP_STAT寄存器(11H,只讀):該寄存器的低5位作控制寄存器,高3位作狀態(tài)寄存器。

(3)INT_MASK中斷屏蔽寄存器:INTMAS.6置1允許串行口中斷。

(4)BAUD_RATE寄存器(OEH,只寫):是16位寄存器,對(duì)其設(shè)置串行通訊的波特率需分兩次連續(xù)向0EH進(jìn)行寫操作,先送低位字節(jié),后送高位節(jié),80C196單片機(jī)CPU和其串行口之間通過SBUF_TX發(fā)送寄存器和sBUF_Rx接收寄存器進(jìn)行數(shù)據(jù)傳輸,CPU將欲發(fā)送的數(shù)據(jù)寫入SBUVFX;從SBUFRX中讀取串行口接收到的數(shù)據(jù)。一旦一幀信息中最后一個(gè)數(shù)據(jù)位寫入緩沖器或從中讀出,即產(chǎn)生相應(yīng)的發(fā)送和接收中斷。

2選擇單片機(jī)串行口正確的工作方式。80C19彈片機(jī)的串口共有四種工作方式,簡(jiǎn)述如下:

方式0:實(shí)質(zhì)是移位寄存器操作同步工作方式。接收和發(fā)送數(shù)據(jù)時(shí),最低有效位DO在前,8位位1幀。

方式1:是標(biāo)準(zhǔn)異步通訊方式,全雙工操作。串行收發(fā)數(shù)據(jù)幀格式為:1位起始位(TTL低電平0);8位數(shù)據(jù)(TTL高電平),最低有效位在前,1位停止位(TTL高電平)。

方式2:方式2的串行幀格式約定為11位,一個(gè)起始位(TTL低電平O),8個(gè)數(shù)據(jù)位(TTL電平),1個(gè)可編程位(D8,TTL電平),1個(gè)停止位(TTL高電平1)。由此可見,方式2與方式1的區(qū)別在于數(shù)據(jù)位D7后面多了一個(gè)可編程位D8,發(fā)送時(shí)可編程預(yù)先設(shè)置D8為1或0,接收時(shí),若D8=1則接收1幀后引發(fā)串口中斷;若D8=0,則不中斷。方式2不允許奇偶校驗(yàn)。

方式3:方式3的幀格式與方式2完全一致,所不同的是,接收時(shí)無論D8是1還是0均引發(fā)串行口中端,并且方式3允許實(shí)施奇偶校驗(yàn)。

本系統(tǒng)中由于是上位Pc機(jī)(單機(jī))對(duì)多個(gè)下位單片機(jī)(多機(jī))的1機(jī)對(duì)多機(jī)的串行通訊方式。所以,必須選擇恰當(dāng)?shù)拇锌诠ぷ鞣绞?,才能?shí)現(xiàn)有關(guān)功能。仔細(xì)分析和考慮一主機(jī)和多從機(jī)分布式計(jì)算機(jī)工作系統(tǒng)的具體通訊特點(diǎn)和要求。采用上述方式2和方式3相結(jié)合的方式來實(shí)現(xiàn)多機(jī)數(shù)據(jù)通訊比較合理有效。

(三)具體編程思路

通訊開始,計(jì)算機(jī)工作于方式2,上位Pc機(jī)發(fā)送一條11位地址幀:1個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)可編程的的第9位,1個(gè)停止位,其中可編程的第9數(shù)據(jù)位為1。當(dāng)工作于方式2的下位80C19彈片機(jī)接收到地址幀時(shí),所有從機(jī)均發(fā)生接收中斷,并判斷上位機(jī)所發(fā)來的地址幀中8位數(shù)據(jù)所確定的地址碼(實(shí)際就是個(gè)從機(jī)的標(biāo)示符,各從機(jī)可相應(yīng)編號(hào)為00、01、02……等)是否與自己的地址相符,如果相符立即將工作方式轉(zhuǎn)為方式3,則隨后無論上位機(jī)送來的第9位數(shù)據(jù)位是1還是0本從機(jī)均工作于中斷開放狀態(tài)。隨后當(dāng)上位機(jī)送出地址幀之后,緊接著送出數(shù)據(jù)幀(第九位數(shù)據(jù)位為0)。仍按方式2工作的其他各從機(jī)不能接收這個(gè)數(shù)據(jù)幀,繼續(xù)處理自己的事項(xiàng)。

以上對(duì)工業(yè)Pc計(jì)算機(jī)(上位機(jī))與MCS-96單片機(jī)(下位機(jī))的數(shù)據(jù)通訊技術(shù)實(shí)現(xiàn)要點(diǎn)、關(guān)鍵環(huán)節(jié)、實(shí)現(xiàn)思路和實(shí)施過程進(jìn)行了詳細(xì)論述,并且筆者在具體的工程項(xiàng)目中應(yīng)用以上技術(shù)順利實(shí)現(xiàn)了工業(yè)Pc計(jì)算機(jī)(上位機(jī))與多個(gè)MeS-96單片機(jī)(下位機(jī))構(gòu)成的集中分布式測(cè)控系統(tǒng)的數(shù)據(jù)通訊問題。為在電氣技術(shù)職業(yè)教育教學(xué)過程中實(shí)施相關(guān)技術(shù)的項(xiàng)目教學(xué)奠定了理論和實(shí)踐兩個(gè)層面的雙重基礎(chǔ)。

參考文獻(xiàn)

[1]陳寶江,Mcs單片機(jī)應(yīng)用系統(tǒng)使用指南,機(jī)械工業(yè)出版社,2000

[2]方園人機(jī)界面設(shè)計(jì)與應(yīng)用[s],化學(xué)工業(yè)出版社,2004

[3]謝平,單片機(jī)多機(jī)串行通訊,甘肅科技,2006,(9),

作者簡(jiǎn)介:張曉軍,男,青島市高級(jí)技工學(xué)校教師,電氣工程師。

猜你喜歡
下位寄存器電平
Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)射機(jī)房監(jiān)控系統(tǒng)之下位機(jī)
分簇結(jié)構(gòu)向量寄存器分配策略研究*
景洪電廠監(jiān)控系統(tǒng)下位機(jī)數(shù)據(jù)傳輸網(wǎng)絡(luò)改造
NPC五電平Z源逆變器的設(shè)計(jì)研究
CAN總線并發(fā)通信時(shí)下位機(jī)應(yīng)用軟件設(shè)計(jì)
基于三電平光伏并網(wǎng)逆變器控制系統(tǒng)的研究與實(shí)踐
基于NPC三電平變換器的STATCOM研究
一種多電平逆變器及其并網(wǎng)策略
高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
浏阳市| 乐亭县| 成安县| 阿拉善盟| 武城县| 舟山市| 元江| 榕江县| 玉田县| 曲水县| 宁阳县| 博野县| 始兴县| 江城| 长宁区| 新宁县| 锦屏县| 富平县| 伽师县| 隆尧县| 文登市| 建湖县| 克什克腾旗| 定陶县| 贵溪市| 武川县| 昆山市| 共和县| 思茅市| 钟祥市| 抚顺市| 怀仁县| 宣汉县| 子长县| 阳城县| 鹤峰县| 清徐县| 诏安县| 灵山县| 尉犁县| 会宁县|