單片機(jī)串行通信功能設(shè)計(jì)_第1頁(yè)
單片機(jī)串行通信功能設(shè)計(jì)_第2頁(yè)
單片機(jī)串行通信功能設(shè)計(jì)_第3頁(yè)
單片機(jī)串行通信功能設(shè)計(jì)_第4頁(yè)
單片機(jī)串行通信功能設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、單片機(jī)串行通信功能設(shè)計(jì)摘要現(xiàn)代的單片機(jī)測(cè)控系統(tǒng)中通常以 PC 機(jī)作為控制中心,單片機(jī)將 采集到的數(shù)據(jù)通過(guò)串口送給 PC 機(jī)進(jìn)行各種處理,為保證數(shù)據(jù)傳送的 及時(shí)性和正確性,就必須建立可靠的通訊。在開(kāi)發(fā)控制系統(tǒng)時(shí),信號(hào) 的測(cè)控及采集均由單片機(jī)系統(tǒng)自行完成, 然后通過(guò)異步串行通信口將 信號(hào)實(shí)時(shí)地傳送給 PC 機(jī)進(jìn)行處理。上位 PC 機(jī)使用 VB 進(jìn)行串口通 信的編程,下位單片機(jī)使用 C51 進(jìn)行編程。本文詳述了使用 VB 和 C51 實(shí)現(xiàn) PC 機(jī)和單片機(jī)串行通信的開(kāi)發(fā)方法,并簡(jiǎn)要地介紹了 VB 通訊控件及其使用方法,給出了調(diào)試程序。采用將置于現(xiàn)場(chǎng)MCS 51單片機(jī)應(yīng)用系統(tǒng)掛在主機(jī)PC的串行 通信上

2、,通過(guò)串行通信電路及系統(tǒng)控制軟件與 PC 機(jī)和單片機(jī)進(jìn)行數(shù) 據(jù)交換的方式, 實(shí)現(xiàn)了對(duì)現(xiàn)場(chǎng)數(shù)據(jù)的接收與發(fā)送。 串行通信系統(tǒng)主機(jī) 采用標(biāo)準(zhǔn)接口。該系統(tǒng)的通信是由 PC 機(jī)主動(dòng)進(jìn)行發(fā)信訪問(wèn),各個(gè) MCS 一 51 單片機(jī)處于被動(dòng)通信狀態(tài),對(duì) PC 機(jī)與單片機(jī)數(shù)據(jù)通信的 校驗(yàn)采用奇校驗(yàn)方式。關(guān)鍵詞 : 單片機(jī);串行通信; VB 程序設(shè)計(jì) ; 上位機(jī)AbstractModern microcontroller measure-control system usually regard PC as the control center, the microcontroller will send the

3、collected data to a PC for a serial port, to ensure that the transmission of all the timeliness and accuracy data, It must establish reliable com muni cati on. In the development of the control system, signal control and collection of microcomputer system itself, then through asynchronous serial com

4、 muni cati on to the real-time sig nal tran smitted PC.PC using VB program ming for serial com muni catio n, SCM C51 use for program ming. The paper describes using VB C51 and PC machine and MCU developme nt method of serial com muni cati on, and briefly in troduces the method of using VB com muni c

5、ati on con trol is prese nted, and debuggi ng. Usi ng placed on site MCS a 51 SCM system in the PC host han gi ng on the serial com muni cati on, through serial com muni cati on circuit and control system software and PC and MCU exchange data on site, receivi ng and sending data. Serial com muni cat

6、i on system is using sta ndard in terface host. The system of com muni cati on by the PC is active on a visit each MCS kin dhearted passive com muni cati on 51-series microcomputer. For PC and calibration adopts single-chip data com muni cati ons parity.Keywords: Sin gle Chip; Serial com muni cati o

7、n; VB program desig n; Host computer目錄第一章 緒論 1.1.1 單片機(jī)技術(shù)介紹 1.1.2 課題背景與意義 2.1.3 課題研究?jī)?nèi)容 3.第二章 串行通信基礎(chǔ) 4.2.1 串行通信協(xié)議 4.2.2 通信方式 5.2.2.1 串行通信 5.2.2.2 并行通信 6.2.3 串行通信方式 6.2.3.1 異步串行通信方式 6.2.3.2 同步串行通信方式 7.2.4 串行通信的制式 8.2.4.1 單工 8.2.4.2 半雙工 8.2.4.3 全雙工 9.2.5 波特率 9.2.6 串行通信的錯(cuò)誤校驗(yàn) 1.02.6.1 奇偶校驗(yàn) 1.0.2.6.2 代碼和校驗(yàn)

8、 1.0.2.6.3 循環(huán)冗余校驗(yàn) 1.0.2.7 串行通信的工作方式 1.12.7.1 方式 01.1.2.7.2 方式 11.2.2.7.3 方式 2 和方式 31.32.8 本章小結(jié) 1.4.第三章 系統(tǒng)開(kāi)發(fā)基礎(chǔ) 1.5.3.1 系統(tǒng)硬件 1.5.3.1.1 微處理器芯片 89C511.53.1.2 顯示芯片 HD7279A1.73.1.3 串行通信芯 MAX23.21.83.2 軟件工具及編程語(yǔ)言 1.9321選用VB開(kāi)發(fā)上位機(jī)軟件 19322 MSComm控件的主要屬性、事件193.2.3 編程小結(jié) 2.0.33 系統(tǒng)方案設(shè)計(jì) 2.1.第四章 系統(tǒng)方案實(shí)施 2.2.4.1 接口設(shè)計(jì)

9、2.2.4.1.1 系統(tǒng)連接電路 2.24.1.2 串行通信電路 2.3.4.2 軟件設(shè)計(jì) 2.4.4.2.1顯示HD7279顯示程序244.2.2 串行口通信 2.5.423 VB 通信程序264.3 小結(jié) 2.7.第五章 結(jié)束語(yǔ) 2.8.致 謝 錯(cuò). 誤!未定義書(shū)簽。參考文獻(xiàn) 2.9.第一章緒論第一章緒論1.1單片機(jī)技術(shù)介紹單片機(jī)也被稱(chēng)為微控制器(Microcontroller Unit ),常用英文字母的縮寫(xiě)MCU表示單片機(jī),它最早是被用在工業(yè)控制領(lǐng)域。單片機(jī)由芯片內(nèi)僅 有CPU的專(zhuān)用處理器發(fā)展而來(lái)。 最早的設(shè)計(jì)理念是通過(guò)將大量外圍設(shè)備和 CPU集成在一個(gè)芯片中,使計(jì)算機(jī)系統(tǒng)更小,更容易

10、集成為復(fù)雜的而對(duì)體 積要求嚴(yán)格的控制設(shè)備當(dāng)中。自單片機(jī)出現(xiàn)至今,單片機(jī)技術(shù)已走過(guò)了近 20年的發(fā)展路程。縱觀20年 來(lái)單片機(jī)發(fā)展歷程可以看出,單片機(jī)技術(shù)的發(fā)展以微處理器(MPU)技術(shù)及超大規(guī)模集成電路技術(shù)的發(fā)展為先導(dǎo),以廣泛的應(yīng)用領(lǐng)域?yàn)槔瓌?dòng),表現(xiàn)出較微處理 器更具個(gè)性的發(fā)展趨勢(shì)。與此同時(shí)在市場(chǎng)上以單片機(jī)為核心控制器的產(chǎn)品更是 層出不窮,各種家用電器、智能儀器儀表、醫(yī)療器械、機(jī)電一體化、實(shí)時(shí)工業(yè) 控制、交通領(lǐng)域無(wú)不用到單片機(jī)。從目前單片機(jī)的發(fā)展趨勢(shì)來(lái)看,單片機(jī)控制 技術(shù)已成為電子設(shè)計(jì)技術(shù)及計(jì)算機(jī)技術(shù)不可缺少的一個(gè)重要部分,因此單片機(jī) 系統(tǒng)在電子世界里有著較好的前景,進(jìn)行單片機(jī)的系統(tǒng)開(kāi)發(fā)設(shè)計(jì)在當(dāng)今

11、電子領(lǐng) 域有著重大的意義。單片機(jī)又稱(chēng)單片微控制器 ,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。相當(dāng)于一個(gè)微型的計(jì)算機(jī),和計(jì)算機(jī) 相比,單片機(jī)只缺少了I/O設(shè)備。概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。它的體積小、質(zhì)量輕、價(jià)格便宜、為學(xué)習(xí)、應(yīng)用和開(kāi)發(fā)提供了便利條件。 同時(shí),學(xué)習(xí)使用單片機(jī)是了解計(jì)算機(jī)原理與結(jié)構(gòu)的最佳選擇。它是一種在線式實(shí)時(shí)控制計(jì)算機(jī),在線式就是現(xiàn)場(chǎng)控制,需要的是有 較強(qiáng)的抗干擾能力,較低的成本,這也是和離線式計(jì)算機(jī)的(比如家用PC)的主要區(qū)別。單片機(jī)是靠程序運(yùn)行的,并且可以修改。通過(guò)不同的程序?qū)崿F(xiàn)不同的 功能,尤其是特殊的獨(dú)特的一些功能,這是別的器件需要費(fèi)

12、很大力氣才能 做到的,有些則是花大力氣也很難做到的。一個(gè)不是很復(fù)雜的功能要是用美國(guó)50年代開(kāi)發(fā)的74系列,或者60年代的CD4000系列這些純硬件來(lái)搞 定的話(huà),電路一定是一塊大PCB板!但是如果要是用美國(guó)70年代成功投放市場(chǎng)的系列單片機(jī),結(jié)果就會(huì)有天壤之別!只因?yàn)閱纹瑱C(jī)的通過(guò)你編寫(xiě) 的程序可以實(shí)現(xiàn)咼智能,咼效率,以及咼可靠性!由于單片機(jī)對(duì)成本是敏感的,所以目前占統(tǒng)治地位的軟件還是最低級(jí) 匯編語(yǔ)言,它是除了二進(jìn)制機(jī)器碼以上最低級(jí)的語(yǔ)言了,既然這么低級(jí)為 什么還要用呢?很多高級(jí)的語(yǔ)言已經(jīng)達(dá)到了可視化編程的水平為什么不 用呢?原因很簡(jiǎn)單,就是單片機(jī)沒(méi)有家用計(jì)算機(jī)那樣的CPU,也沒(méi)有像硬盤(pán)那樣的海量存

13、儲(chǔ)設(shè)備。一個(gè)可視化高級(jí)語(yǔ)言編寫(xiě)的小程序里面即使只有 一個(gè)按鈕,也會(huì)達(dá)到幾十K的尺寸!對(duì)于家用 PC的硬盤(pán)來(lái)講沒(méi)什么,可是對(duì)于單片機(jī)來(lái)講是不能接受的。單片機(jī)在硬件資源方面的利用率必須很高才行,所以匯編雖然原始卻還是在大量使用。一樣的道理,如果把巨 型計(jì)算機(jī)上的操作系統(tǒng)和應(yīng)用軟件拿到家用PC上來(lái)運(yùn)行,家用PC的也是承受不了的。1.2課題背景與意義計(jì)算機(jī)與計(jì)算機(jī)或計(jì)算機(jī)與終端之間的數(shù)據(jù)傳送可以采用串行通訊和并行 通訊二種方式。由于串行通訊方式具有使用線路少、成本低,特別是在遠(yuǎn)程傳 輸時(shí),避免了多條線路特性的不一致而被廣泛采用。在串行通訊時(shí),要求通訊雙方都采用一個(gè)標(biāo)準(zhǔn)接口,使不同的設(shè)備可以方便地連接起

14、來(lái)進(jìn)行通訊。RS-232-C接口(又稱(chēng)EIA RS-232-C)是目前最常用的一種串行通訊接口。 它是在1970年由美國(guó)電子工業(yè)協(xié)會(huì)(EIA)聯(lián)合貝爾系統(tǒng)、調(diào)制解調(diào)器廠家及計(jì) 算機(jī)終端生產(chǎn)廠家共同制定的用于串行通訊的標(biāo)準(zhǔn)。它的全名是“數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通訊設(shè)備(DCE)之間 串行二進(jìn)制數(shù)據(jù)交換接口技術(shù)標(biāo)準(zhǔn)”該標(biāo) 準(zhǔn)規(guī)定采用一個(gè)25個(gè)腳的DB25連接器,對(duì)連接器的每個(gè)引腳的信號(hào)內(nèi)容加以 規(guī)定,還對(duì)各種信 號(hào)的電平加以規(guī)定。隨著計(jì)算機(jī)技術(shù)尤其是單片微型機(jī)技術(shù)的發(fā)展,人們已越來(lái)越多地采用單 片機(jī)來(lái)對(duì)一些工業(yè)控制系統(tǒng)中如溫度、流量和壓力等參數(shù)進(jìn)行檢測(cè)和控制。PC機(jī)具有強(qiáng)大的監(jiān)控和管理功能,而

15、單片機(jī)則具有快速及靈活的控制特點(diǎn),通過(guò)PC機(jī)的RS-232串行接口與外部設(shè)備進(jìn)行通信,是許多測(cè)控系統(tǒng)中常用的一種 通信解決方案。因此如何實(shí)現(xiàn)PC機(jī)與單片機(jī)之間的通訊具有非常重要的現(xiàn)實(shí)意 義。1.3課題研究?jī)?nèi)容設(shè)計(jì)要求實(shí)現(xiàn)如下功能(1)完成最小系統(tǒng)設(shè)計(jì);(2)設(shè)計(jì)串行通信接口,實(shí)現(xiàn)與 PC機(jī)的通信;(3)具有人機(jī)對(duì)話(huà)功能,可通過(guò)鍵盤(pán)進(jìn)行輸入。具有串行通信功能的數(shù)據(jù)采集模塊為通用化模塊設(shè)計(jì),下位機(jī)A/D芯片可采集工業(yè)現(xiàn)場(chǎng)的標(biāo)準(zhǔn)信號(hào),經(jīng)單片機(jī)數(shù)據(jù)量化能夠?qū)崟r(shí)上傳給PC機(jī),靈活組網(wǎng),使用十分方便?;趩纹瑱C(jī)技術(shù)的發(fā)展,隨著其成本的降低,這種通過(guò)RS232 串口與外圍數(shù)據(jù)采集設(shè)備的通信模式將會(huì)更大地發(fā)揮

16、其市場(chǎng)價(jià)值。下章先介紹 串行通信基礎(chǔ)知識(shí)。3第二章串行通信基礎(chǔ)第二章串行通信基礎(chǔ)2.1串行通信協(xié)議最被人們熟悉的串行通信技術(shù)標(biāo)準(zhǔn)是EIA 232、EIA-422和EIA 485,也就是以前所稱(chēng)的RS-232、RS-422和RS-485。由于 EIA提出的建議標(biāo)準(zhǔn)都是以“ RS乍為前綴,所以在工業(yè)通信領(lǐng)域,仍然習(xí)慣將上述標(biāo)準(zhǔn) 以RS作前綴稱(chēng)謂。EIA 232、EIA-422和EIA 485都是串行數(shù)據(jù)接口標(biāo)準(zhǔn),最初都是 由電子工業(yè)協(xié)會(huì)(EIA )制訂并發(fā)布的,EIA-232在1962年發(fā)布,后來(lái)陸 續(xù) 有不少改進(jìn)版本,其中最常用的是EIA-232-C版。(1)EIA-232目前EIA-232是P

17、C機(jī)與通信工業(yè)中應(yīng)用最廣泛的一種串行接口。EIA-232被定義為一種在低速率串行通信中增加通信距離的單端標(biāo)準(zhǔn)。EIA-232采取不平衡傳輸方式,即所謂單端通信。標(biāo)準(zhǔn)規(guī)定,EIA 232的傳送距離要求可達(dá) 50英尺(約15米),最高速率為20kbps。(2)EIA-422由于EIA-232存在傳輸距離有限等不足,于是EIA-422誕生了。EIA-422標(biāo)準(zhǔn)全稱(chēng)是 平衡電壓數(shù)字接口電路的電氣特性”,它定義了一種平衡通信接口,將傳輸速率提高到10Mbps,傳輸距離延長(zhǎng)到 4000英尺(約1219米),并允許在一條平衡總線上連接最多10個(gè)接收器。當(dāng)然,EIA 422也有缺陷:因?yàn)槠淦胶怆p絞線的長(zhǎng)度與傳

18、輸速率成反比,所以在 100kbps速率以?xún)?nèi),傳輸距離才可能達(dá)到最大值,也就是說(shuō),只有在很短 的距離下才能獲得最高傳輸速率。一般在100米長(zhǎng)的雙絞線上所能獲得的最大傳輸速率僅為 1Mbps。另外有一點(diǎn)必須指出,在EIA-422通信中,只有一個(gè)主設(shè)備(Master),其余為從設(shè)備(Salve),從設(shè)備之間不能進(jìn)行通 信,所以EIA-422支持的是點(diǎn)對(duì)多點(diǎn)的雙向通信。(3)EIA-485為擴(kuò)展應(yīng)用范圍,EIA 于1983年在 EIA-422 基礎(chǔ)上制定了EIA-485標(biāo)準(zhǔn),增加了多點(diǎn)、雙向通信能力,即允許多個(gè)發(fā)送器連接到同一條總線上,同時(shí)增加了發(fā)送器的驅(qū)動(dòng)能力和沖突保護(hù)特性,擴(kuò)展了總線共模范圍,后

19、命名為 TIA/EIA-485-A 標(biāo)準(zhǔn)。由于EIA-485是從EIA-422基礎(chǔ)上發(fā)展而來(lái)的,所以EIA-485許多電氣規(guī)定與EIA-422相仿,如都采用平衡傳輸方式、都需要在傳輸線上接終 接電阻、最大傳輸距離約為1219米、最大傳輸速率為10Mbps等。但是,EIA-485可以采用二線與四線方式,采用二線制時(shí)可實(shí)現(xiàn)真正的多點(diǎn)雙向 通信,而采用四線連接時(shí),與EIA-422 樣只能實(shí)現(xiàn)點(diǎn)對(duì)多點(diǎn)通信,但它比EIA-422有改進(jìn),無(wú)論四線還是二線連接方式總線上可接多達(dá)32個(gè)設(shè)備。由于EIA-232、EIA-422與EIA-485標(biāo)準(zhǔn)只對(duì)接口的電氣特性做出規(guī)定,而不涉及接插件、電纜或協(xié)議,標(biāo)準(zhǔn)內(nèi)容規(guī)

20、定比較簡(jiǎn)單,在此標(biāo)準(zhǔn)基 礎(chǔ)上,用戶(hù)可以建立自己的高層通信協(xié)議。因此,這些串行通信技術(shù)應(yīng)用 很廣,如錄像機(jī)、計(jì)算機(jī)以及許多工業(yè)控制設(shè)備上都配備有EIA - 232串行通信接口。2.2通信方式通信方式分為并行通信方式和串行通信方式兩種2.2.1串行通信所謂串行通信是指將數(shù)據(jù)字節(jié)分成一位一位的形式在一條傳輸線上逐個(gè) 地傳送,此時(shí)只需要一條數(shù)據(jù)線,外加一條公共信號(hào)地線和若干控制信號(hào)線。 因此一次只能傳輸一位,所以對(duì)于一個(gè)字節(jié)的數(shù)據(jù),至少要分8位才能傳送完畢。串行通信的必要過(guò)程是:發(fā)送時(shí),要把并行數(shù)據(jù)變成串行數(shù)據(jù)發(fā)送到線路 上去,接受時(shí),要把串行信號(hào)再變成并行數(shù)據(jù),這樣才能被計(jì)算機(jī)及其他設(shè)備 處理。如圖

21、2.1所示。停止位 0 100 00 0 起始位| I I I I I I i I |1IIIi9III-11I1.j|1 IIP1H|1IIIPII圖2.1串行通信方式串行通訊方式,由于高速率的要求,處于計(jì)算機(jī)內(nèi)部的CPU與串口之間的通訊仍然采用并行的通訊方式,所以串行口的本質(zhì)就是實(shí)現(xiàn)CPU與外圍數(shù)據(jù)設(shè)備的數(shù)據(jù)格式轉(zhuǎn)換(或者稱(chēng)為串并轉(zhuǎn)換器),即當(dāng)數(shù)據(jù)從外圍設(shè)備輸入計(jì) 算機(jī)時(shí),數(shù)據(jù)格式由位(bit)轉(zhuǎn)化為字節(jié)數(shù)據(jù);串行端口的本質(zhì)功能是作為 CPU 和串行設(shè)備間的編碼轉(zhuǎn)換器。當(dāng)數(shù)據(jù)從 CPU經(jīng)過(guò)串行端口發(fā)送出去時(shí),字節(jié) 數(shù)據(jù)轉(zhuǎn)換為串行的位。在接收數(shù)據(jù)時(shí),串行的位被轉(zhuǎn)換為字節(jié)數(shù)據(jù)。反之,當(dāng) 計(jì)算機(jī)

22、發(fā)送下行數(shù)據(jù)到外圍設(shè)備時(shí),串口又將字節(jié)數(shù)據(jù)轉(zhuǎn)化為位數(shù)據(jù)。2.2.2并行通信通信有并行和串行兩種方式。并行通訊通常是將數(shù)據(jù)的各位用多條數(shù)據(jù)線同時(shí)進(jìn)行傳輸,并由傳輸?shù)臄?shù)據(jù)位數(shù)線外加地址線和通信控制線。優(yōu)點(diǎn)是傳輸速率高,缺點(diǎn)是長(zhǎng)距離傳輸成本高,可靠性差,只適用于近距離傳輸。2.3串行通信方式串行通信又有兩種方式:異步串行通信和同步串行通信。2.3.1異步串行通信方式異步串行通信方式是指通信的發(fā)送與接收設(shè)備使用各自的時(shí)鐘控制數(shù)據(jù)的 發(fā)送和接收過(guò)程。為使雙方收、發(fā)協(xié)調(diào),要求發(fā)送和接收設(shè)備的時(shí)鐘盡可能一 致。異步串行通信的字符物格式所謂異步串行通信是指具有不規(guī)則數(shù)據(jù) 段傳送特性的串行數(shù)據(jù)傳輸異步通信數(shù)據(jù)幀

23、的第一位是開(kāi)始位,在通信線上沒(méi)有數(shù)據(jù)傳送時(shí)處于 邏輯 T狀態(tài)。當(dāng)發(fā)送設(shè)備要發(fā)送一個(gè)字符數(shù)據(jù)時(shí),首先發(fā)出一個(gè)邏輯0”信號(hào),這個(gè)邏輯低電平就是起始位。起始位通過(guò)通信線傳向接收設(shè)備,當(dāng) 接收設(shè)備檢測(cè)到這個(gè)邏輯低電平后,就開(kāi)始準(zhǔn)備接收數(shù)據(jù)位信號(hào)。因此, 起始位所起的作用就是表示字符傳送開(kāi)始。當(dāng)接收設(shè)備收到起始位后,緊接著就會(huì)收到數(shù)據(jù)位。數(shù)據(jù)位的個(gè)數(shù)可 以是5, 6, 7或8位的數(shù)據(jù)。在字符數(shù)據(jù)傳送過(guò)程中,數(shù)據(jù)位從最低位開(kāi) 始傳輸。數(shù)據(jù)發(fā)送完之后,可以發(fā)送奇偶校驗(yàn)位。奇偶校驗(yàn)位用于有限差 錯(cuò)檢測(cè),通信雙方在通信時(shí)需約定一致的奇偶校驗(yàn)方式。就數(shù)據(jù)傳送而言,奇偶校驗(yàn)位是冗余位,但它表示數(shù)據(jù)的一種性質(zhì),這種性

24、質(zhì)用于檢錯(cuò),雖 有限但很容易實(shí)現(xiàn)。 在奇偶位或數(shù)據(jù)位之后發(fā)送的是停止位,可以是1位、1. 5位或2位。停止位是一個(gè)字符數(shù)據(jù)的結(jié)束標(biāo)志。在異步通信中,字符數(shù)據(jù)以圖所示的格式一個(gè)一個(gè)地傳送。在發(fā)送間 隙,即空閑時(shí),通信線路總是處于邏輯T狀態(tài),每個(gè)字符數(shù)據(jù)的傳送均以起始位空閑一 停j 止: 位:空下一字符 閑起始位邏輯0”開(kāi)始2,如圖2.2.1所示。一個(gè)字符幀 校驗(yàn) 數(shù)據(jù)位位:LSBMSB!圖22異步串行通信字符幀格式異步通信的特點(diǎn):不要求收發(fā)雙方時(shí)鐘的嚴(yán)格一致,實(shí)現(xiàn)容易,設(shè)備開(kāi)銷(xiāo) 較小,但每個(gè)字符要附加23位,用于起止位,校驗(yàn)位和停止位,各幀之間還 有間隔,因此傳輸效率不高。在單片機(jī)與單片機(jī)之間,

25、單片機(jī)與計(jì)算機(jī)之間通信時(shí),通常采用異步串行 通信。2.3.2同步串行通信方式同步通信時(shí)要建立發(fā)送方時(shí)鐘對(duì)接收方時(shí)鐘的直接控制,使雙方完全達(dá)到完全同步。此時(shí),傳輸數(shù)據(jù)的位之間的距離均為 位間隔”的整數(shù)倍,同時(shí)傳送 的字符間不留間隙,即保持位同步關(guān)系,也保持字符同步關(guān)系。發(fā)送方對(duì)接收 方的同步可以通過(guò)外同步和自同步兩種方法實(shí)現(xiàn)。如圖222所示SNYSNY數(shù)據(jù)1數(shù)據(jù)2Y二個(gè)同步字符數(shù)據(jù)n連續(xù)幾個(gè)數(shù)據(jù)CRCiCRC2丿2字節(jié)校驗(yàn)碼11圖2.3同步串行通信數(shù)據(jù)格式2.4串行通信的制式2.4.1單工單工是指數(shù)據(jù)傳輸僅能沿一個(gè)方向,不能實(shí)現(xiàn)反方向傳輸3。如圖2.3.1所 示。圖2.4單工2.4.2半雙工半雙

26、工是指數(shù)據(jù)傳輸可以沿兩個(gè)方向,但需要分時(shí)進(jìn)行。如圖2.3.2所示圖2.5半雙工2.4.3全雙工全雙工是指數(shù)據(jù)可以同時(shí)進(jìn)行雙向傳輸。如圖2.3.3所示圖2.6全雙工2.5波特率數(shù)據(jù)的傳輸速度可以用波特率表示。波特率是美妙傳輸二進(jìn)制代碼的位數(shù), 單位:位/s。在異步通訊中,接收方和發(fā)送方應(yīng)使用相同的波特率,才能成功 傳輸數(shù)據(jù)。波特率的計(jì)算在串行通信中,收發(fā)雙方對(duì)發(fā)送或接收數(shù)據(jù)的速率要有約定。通過(guò)軟件可 對(duì)單片機(jī)串行口編程為四種工作方式,其中方式0和方式2的波特率是固定的, 而方式1和方式3的波特率是可變的,由定時(shí)器 T1的溢出率來(lái)決定。串行口的四種工作方式對(duì)應(yīng)三種波特率。由于輸入的移位時(shí)鐘的來(lái)源不

27、同, 所以,各種方式的波特率計(jì)算公式也不相同 。方式0的波特率fosc/12方式2的波特率 =(2SMOD/64)-fosc方式1的波特率方式3的波特率=(2SMOD/32)=(2SMOD/32)(T1溢出率)(T1溢出率)當(dāng)T1作為波特率發(fā)生器時(shí),最典型的用法是使 T1工作在自動(dòng)再裝入的8位定 時(shí)器方式(即方式2,且TCON的TR1=1,以啟動(dòng)定時(shí)器)。這時(shí)溢出率取決于TH1中的計(jì)數(shù)值。如公式2-1所示。(2-1)T1 溢出率 =fosc /12 256 (TH1) 2.6串行通信的錯(cuò)誤校驗(yàn)2.6.1奇偶校驗(yàn)在傳送數(shù)據(jù)時(shí),數(shù)據(jù)位尾隨的1位為奇偶校驗(yàn)位(1或0),奇校驗(yàn)時(shí),數(shù) 據(jù)中1的個(gè)數(shù)與校

28、驗(yàn)位1的個(gè)數(shù)之和應(yīng)為奇數(shù);偶校驗(yàn)時(shí),數(shù)據(jù)中 1的個(gè)數(shù)與 校驗(yàn)位1的個(gè)數(shù)之和應(yīng)為偶數(shù)。接收字符時(shí),對(duì) 1的個(gè)數(shù)進(jìn)行校驗(yàn),若發(fā)現(xiàn)不 一致,則說(shuō)明傳輸數(shù)據(jù)過(guò)程中出現(xiàn)了差錯(cuò)5 02.6.2代碼和校驗(yàn)代碼和校驗(yàn)是發(fā)送方將所發(fā)數(shù)據(jù)塊求和(或各字節(jié)異或),產(chǎn)生一個(gè)字節(jié)的 校驗(yàn)字符(校驗(yàn)和)附加到數(shù)據(jù)塊末尾。接收方接收數(shù)據(jù)時(shí)同時(shí)對(duì)數(shù)據(jù)塊(除 校驗(yàn)字節(jié)外)求和(或各字節(jié)異或),將所得的結(jié)果與發(fā)送方的 校驗(yàn)和”進(jìn)行比 較,相符則無(wú)差錯(cuò),否則即認(rèn)為傳送過(guò)程中出現(xiàn)了差錯(cuò)。2.6.3循環(huán)冗余校驗(yàn)這種校驗(yàn)是通過(guò)某種數(shù)學(xué)運(yùn)算實(shí)現(xiàn)有效信息與校驗(yàn)位之間的循環(huán)校驗(yàn),常 用于對(duì)磁盤(pán)信息的傳輸,存儲(chǔ)區(qū)的完整性校驗(yàn)等。這種校驗(yàn)方法糾錯(cuò)

29、能力強(qiáng), 廣泛應(yīng)用于同步通信中。2.7串行通信的工作方式串行接口可由SCON中的SM0和SM1設(shè)置4種工作方式。2.7.1 方式0方式0時(shí),串行口為同步移位寄存器的輸入輸出方式。主要用于擴(kuò)展并行 輸入或輸出口。數(shù)據(jù)由RXD(P3.0)引腳輸入或輸出,同步移位脈沖由TXD(P3.1) 引腳輸出。發(fā)送和接收均為8位數(shù)據(jù),低位在先,高位在后。波特率固定為fosc/12。(1)方式0輸出寫(xiě)入SBUFRXD(數(shù)據(jù))-芒旦-.史竺_ txd(移位脈沖)|_J_|_J_L_l_LJLJ_LJ_L_l_LJ TI (中斷標(biāo)志)圖2.7方式0輸出時(shí)序(2)方式0輸入REN=1 IRI=0RXD(數(shù)據(jù)輸入)D1:

30、D2:D3D4 D5D6TXD(移位脈沖)圖2.8方式0輸入時(shí)序第二章串行通信基礎(chǔ)方式0接收和發(fā)送電路,如圖RXD 80C51TXDP1.0 -74LS164CLK CLRGND14圖2.9全雙工272方式1(1)方式1輸出寫(xiě)入 sbuf|TXD起始亙;衛(wèi):巴竺竺- T7 停止位TI (中斷標(biāo)志)圖2.10方式1輸出時(shí)序(2)方式1輸入rxd 起始 衛(wèi);p.衛(wèi)- 24、!d. Ids 停止位 位米樣脈沖丁- 二 .7 ; W RI (中斷標(biāo)志)圖2.11方式1輸入時(shí)序用軟件置REN為1時(shí),接收器以所選擇波特率的16倍速率采樣RXD引腳 電平,檢測(cè)到RXD引腳輸入電平發(fā)生負(fù)跳變時(shí),則說(shuō)明起始位有

31、效,將其移入 輸入移位寄存器,并開(kāi)始接收這一幀信息的其余位。接收過(guò)程中,數(shù)據(jù)從輸入 移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時(shí),控制電路進(jìn)行最 后一次移位。當(dāng)RI=0,且SM2=0 (或接收到的停止位為1)時(shí),將接收到的9 位數(shù)據(jù)的前8位數(shù)據(jù)裝入接收SBUF,第9位(停止位)進(jìn)入RB8,并置RI=1, 向CPU請(qǐng)求中斷。2.7.3方式2和方式3萬(wàn)式2或萬(wàn)式3時(shí)為11位數(shù)據(jù)的異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,RXD 為數(shù)據(jù)接收引腳。1幀共11位空閑數(shù)據(jù)位9位停止位空閑D0D7赳RBf3/TB8LSBMSB圖2.12異步通信字符幀格式方式2和方式3時(shí)起始位1位,數(shù)據(jù)9位(含1位附加的第9

32、位,發(fā)送時(shí) 為SCON中的TB8,接收時(shí)為RB8),停止位1位,一幀數(shù)據(jù)為11位。方式2 的波特率固定為晶振頻率的1/64或1/32,方式3的波特率由定時(shí)器T1的溢出 率決定。(1)方式2和方式3輸出寫(xiě)入 sbUFTXD 起始 衛(wèi) 色衛(wèi)20 衛(wèi)衛(wèi).衛(wèi)6,衛(wèi)7詞砂 停止位TI (中斷標(biāo)志)圖2.13方式2和方式3的發(fā)送時(shí)序發(fā)送開(kāi)始時(shí),先把起始位0輸出到TXD引腳,然后發(fā)送移位寄存器的輸出 位(D0)到TXD引腳。每一個(gè)移位脈沖都使輸出移位寄存器的各位右移一位, 并由TXD引腳輸出。第一次移位時(shí),停止位“ 1移入輸出移位寄存器的第9位上,以后每次移 位,左邊都移入0。當(dāng)停止位移至輸出位時(shí),左邊其余

33、位全為 0,檢測(cè)電路檢測(cè) 到這一條件時(shí),使控制電路進(jìn)行最后一次移位,并置 TI=1,向CPU請(qǐng)求中斷。(2)方式2和方式3輸入RXD停止位n 血fwi nnna 耐訓(xùn) 幾冊(cè)麗 Jiiwi iuiji fwi hiw位采樣脈沖RI (中斷標(biāo)志)圖2.14方式2和方式3的接收時(shí)序接收時(shí),數(shù)據(jù)從右邊移入輸入移位寄存器,在起始位 0移到最左邊時(shí),控 制電路進(jìn)行最后一次移位。當(dāng) RI=0,且SM2=0 (或接收到的第9位數(shù)據(jù)為1) 時(shí),接收到的數(shù)據(jù)裝入接收緩沖器 SBUF和RB8(接收數(shù)據(jù)的第9位),置RI=1, 向CPU請(qǐng)求中斷。如果條件不滿(mǎn)足,則數(shù)據(jù)丟失,且不置位RI,繼續(xù)搜索RXD 引腳的負(fù)跳變。

34、2.8本章小結(jié)本章介紹了串行口的通信協(xié)議,通信方式,串行口的通信制式,串行口的 工作方式,串行通信的錯(cuò)誤校驗(yàn),串行通信的波特率,等串行通信的基礎(chǔ)知識(shí), 接下來(lái)將從具體的軟件來(lái)實(shí)現(xiàn)計(jì)算機(jī)與單片機(jī)的之間的通信。第三章系統(tǒng)開(kāi)發(fā)基礎(chǔ)2119XTAL1PO.O/ADOP0.1WD1Pa2ZAD2XTAL2P0.3XAD3 PO 4WD4 Pa.5D5 PG.5/AD6RSTPD.7/AD7P2.0/ASP2.VA9P2 2/A10;PSEN AT89C51P2.3/A11i ALEP2.4/A12EAP2 5/A13P2.0/A14P2.7/A15P1,0H 2P3.0/RXD:P1 1AT2EXP3.

35、1HXDPI 2P32/NT0P3 3jWT1P3 4)T0.4P1 sP35)T1P1 6P36JWRP17P3.7IRDU1sabldiHi呂蘭蘭二弐aqHi亠Hf-圖3.1 89C51單片機(jī)引腳圖第三章系統(tǒng)開(kāi)發(fā)基礎(chǔ)3.1系統(tǒng)硬件3.1.1微處理器芯片89C51(1) 89C51組成:89C51由8個(gè)部件組 成,即微處理器(CPU),數(shù)據(jù)存儲(chǔ)器(RAM), 程序存儲(chǔ)器(EEPROM), I/O 口(P0,P1, P2, P3),串行口,定時(shí)器計(jì)數(shù)器,中斷系統(tǒng) 及特殊功能寄存器(SFR) 數(shù)據(jù)存儲(chǔ)器:片內(nèi)為128個(gè)字節(jié),片外 最多可外擴(kuò)64K字節(jié); 程序存儲(chǔ)器:片內(nèi)為4K EERPOM, 片

36、外最多可外擴(kuò)64K字節(jié); 中斷系統(tǒng):具有5個(gè)中斷源,2級(jí)中斷 優(yōu)先權(quán); 定時(shí)器/計(jì)數(shù)器:2個(gè)16位的定時(shí)器/計(jì) 數(shù)器,具有四種工作方式; 串行口: 1個(gè)全雙工的串行口,具有四種工作方式;P0,P1,P2, P3:為 4個(gè)并行 I/O 口;特殊功能寄存器(SFR):共有21個(gè),用于對(duì)片內(nèi)各功能模塊進(jìn)行管理, 控制,監(jiān)視。實(shí)際上是一些控制寄存器和狀態(tài)寄存器,是一個(gè)特殊功能的RAM 區(qū)。微處理器(CPU):為8位的CPU,且內(nèi)含一個(gè)1位CPU (位處理器)(2)引腳及功能:電源及時(shí)鐘引腳VCC( 40):接+5V直流電源VSS( 20):接地XTAL 1( 19):接外部晶體的一個(gè)引腳。在單片機(jī)內(nèi)部

37、,它是一個(gè)反向放 大器的輸入端;XTAL2 (18):接外部晶體的一個(gè)引腳。在單片機(jī)內(nèi)部接到內(nèi)部反相器的輸出端; 控制引腳RST/VPD(9):當(dāng)震蕩器運(yùn)行時(shí),在此引腳加上兩個(gè)機(jī)器周期的高電平 將使單片機(jī)復(fù)位(RST)。掉電期間,此引腳可接上備用電源(VPD),以保持 內(nèi)部RAM的數(shù)據(jù),當(dāng)Vcc下降到低于規(guī)定的值,而VPD在其規(guī)定的電壓范 圍內(nèi)(5+0.5V)時(shí),VPD就向內(nèi)部RAM提供備用電源;ALE/PROG(30):當(dāng)訪問(wèn)單片機(jī)外部存儲(chǔ)器時(shí),ALE (地址鎖存允許) 輸出脈沖的負(fù)跳沿,用于16位地址的低8位的鎖存信號(hào)。即使不訪問(wèn)外部存儲(chǔ) 器,ALE端仍有正脈沖信號(hào)輸出,此頻率為始終震蕩器

38、頻率的1/6。ALE端可以驅(qū)動(dòng)8個(gè)TTL負(fù)載。對(duì)于EPROM型單片機(jī)(8751),在EPROM編程 期間,此引腳用來(lái)輸入編程脈沖(PROG);PSEN(29):此腳的輸出是單片機(jī)訪問(wèn)外部程序存儲(chǔ)器的讀選通信號(hào)。 在由外部程序存儲(chǔ)器取指令(或常數(shù))期間,每個(gè)機(jī)器周期PSEN兩次有效。PSEN可以驅(qū)動(dòng)8個(gè)LSTTL負(fù)載;EA/VPP(31):當(dāng)EA端保持高電平時(shí),單片機(jī)訪問(wèn)內(nèi)部程序存儲(chǔ)器, 但在PC值超過(guò)0FFFFH,將自動(dòng)轉(zhuǎn)向執(zhí)行外部程序存儲(chǔ)器內(nèi)的程序。當(dāng)EA保持低電平時(shí),只訪問(wèn)外部程序存儲(chǔ)器。對(duì)于89C51,因其片內(nèi)有 4KFFPROM,故該腳接高電平。在 FFPROM編程期間,VPP編程電壓

39、為 +12V 或 +5V。 I/O 口引腳P0 口( 39-32):雙向8位三態(tài)I/O 口,此口為地址總線(低 8位)及數(shù) 據(jù)總線分時(shí)復(fù)用口,可帶8個(gè)LSTTL負(fù)載;P1 口( 1-8): 8位準(zhǔn)雙向I/O 口,可帶4個(gè)LSTTL負(fù)載;P2 口( 21-28): 8位準(zhǔn)雙向I/O 口,與地址總線(高8位)復(fù)用,可帶4 個(gè)LSTTL負(fù)載;P3 口( 10-17): 8位準(zhǔn)雙向I/O 口,雙功能復(fù)用口。3.1.2 顯示芯片HD7279A(1) HD7279A是鍵盤(pán)/顯示器的串行控制芯片,能同時(shí)驅(qū)動(dòng) 8位共陰極LED數(shù)碼管或64個(gè)獨(dú)立的LED發(fā)光二極管以及64鍵的鍵盤(pán)(8*8鍵盤(pán)矩陣)。(2)引腳及

40、功能:28腳雙列直插式封裝,單一 +5V供電圖3.2 HD7279引腳圖表2 1 HD7279引腳說(shuō)明引腳名稱(chēng)說(shuō)明1, 2Vcc+5v電源3, 5NC懸空4Vss接地6CS片選信號(hào),低電平有效7CLK同步時(shí)鐘輸入端8DATA串行數(shù)據(jù)寫(xiě)入/讀出端9KEY接鍵有效輸出端10-16SG-SALED的g-a段驅(qū)動(dòng)輸出17DP小數(shù)點(diǎn)驅(qū)動(dòng)輸出端18-25DIG0-DIG7LED驅(qū)動(dòng)輸出端26CLKO振蕩輸出端27RCRC振蕩器連接端28RESET復(fù)位端,低電平有效3.1.3 串行通信芯 MAX232(1) 通常PC機(jī)的主板會(huì)提供一個(gè)打印機(jī)輸出并行端口 (LPT),兩個(gè)串行口 (C0M1、COM2),并行口

41、主要進(jìn)行短距離的數(shù)據(jù)傳送,至少需要8根數(shù)據(jù)線同時(shí)進(jìn)行數(shù)據(jù)的傳送,因而傳送速率較快。而長(zhǎng)距離的數(shù)據(jù)傳送只能采用串 行口,串行口只需要一根數(shù)據(jù)線進(jìn)行數(shù)據(jù)傳送,傳送距離較長(zhǎng),投資較少,但傳送速率較低。RS 232C也是人們常用的網(wǎng)絡(luò)通信接口。此處,PC機(jī)與單片 機(jī)的通信便采用該接口。(2) 接口電路為了能使單片機(jī)與PC機(jī)之間通信,必須使二者遵循相同的通信協(xié)議。由于 下位機(jī)的8031芯片串行口,輸入輸出為T(mén)TL邏輯電平,高電平為3.8 V左右, 低電平為0.3 V左右,這種以TTL電平傳送數(shù)據(jù)的方式,抗干擾性較差。而 上位機(jī)的RS232C串行口則采用+12 V和-12 V電平方式,使0信號(hào)和1 信號(hào)的

42、電平差別增大,從而增強(qiáng)了抗干擾性。為了解決這一矛盾,可采用一個(gè) RS 232C電平轉(zhuǎn)換器。它由發(fā)送器1488和接收器1489組成(見(jiàn)圖3.13)。圖3.3串行口連接電路(3)在+5V電源供電情況下降TTL電平轉(zhuǎn)換為0V的RS-232電平,完全可 以替代傳統(tǒng)的MC-1488、MC-1489芯片的功能,簡(jiǎn)化了電路設(shè)計(jì),因此得到了 廣泛應(yīng)用。引腳及功能:Vcc:電源;GND :接地T1i n,T2i n:TTI/CMOS 輸入引腳Rlout, R2outTTI/CMOS輸出引腳Tlout: RS-232輸出口U叵!區(qū)叵叵區(qū)C1+V+SC2+C2-味伽咼圖3.4 MAX232引腳圖R1in: RS-2

43、32輸入口3.2軟件工具及編程語(yǔ)言3.2.1選用VB開(kāi)發(fā)上位機(jī)軟件Visual Basic(簡(jiǎn)稱(chēng)VB)是 Windows操作系統(tǒng)下簡(jiǎn)單,易學(xué),咼效的應(yīng)用軟件開(kāi)發(fā)工具,已廣泛地應(yīng)用于各個(gè)領(lǐng)域,在微機(jī)串口方面也有很強(qiáng)的功能。 很多情況下我們需要把工程技術(shù)領(lǐng)域中系統(tǒng)采集的數(shù)據(jù)交給計(jì)算機(jī)來(lái)處理,或 者需要讓計(jì)算機(jī)發(fā)送指令來(lái)控制我們的系統(tǒng)。而大多數(shù)的微處理器都帶用串口, 這個(gè)時(shí)候需要編寫(xiě)一個(gè)界面良好的上位機(jī)軟件來(lái)和微處理器進(jìn)行通信。顯然, 選擇VB來(lái)開(kāi)發(fā)上位機(jī)軟件是一個(gè)不錯(cuò)的主意。3.2.2 MSComm 控件的主要屬性、事件在 Visual Basic 中有一個(gè)名為 Microsoft Communi

44、cation Control(簡(jiǎn)稱(chēng)MSComm)的通信控件,利用這個(gè)控件我們可以很方便的編寫(xiě)一個(gè)與單片機(jī)通信 的上位機(jī)。(1)MSComm的屬性由于MSComm控件屬性很多,在此筆者僅介紹與實(shí)現(xiàn)串口通信密切相關(guān) 的核心屬性。Commport:設(shè)置通信所占用的串口號(hào)。如設(shè)成1(默認(rèn)值),表示對(duì) Corn1進(jìn)行操作。Sett ing:對(duì)串口通信的相關(guān)參數(shù)。包括串口通信的比特率,奇偶校驗(yàn),數(shù) 據(jù)位長(zhǎng)度、停止位等。其默認(rèn)值是“9600 N ,8,1”,表示串口比特率是9600bit /s,不作奇偶校驗(yàn),8位數(shù)據(jù)位,1個(gè)停止位。Portopen:設(shè)置串口狀態(tài),值為 True時(shí)打開(kāi)串口,值為False時(shí)關(guān)

45、閉串口。In put :從輸入寄存器讀取數(shù)據(jù),返回值為從串口讀取的數(shù)據(jù)內(nèi)容,同時(shí)輸 入寄存器將被清空。Oupout:發(fā)送數(shù)據(jù)到輸出寄存器。In Buffer Cou nt :設(shè)置輸入寄存器所存儲(chǔ)的字符數(shù),當(dāng)將其值設(shè)為0時(shí),則輸入寄存器將被清空。In put Mode :設(shè)置從輸入寄存器中讀取數(shù)據(jù)的形式。若值為 0,則表示以文 本形式讀??;值為1,則表示以二進(jìn)制形式讀取。Out Buffer Count :設(shè)置輸出寄存器所存儲(chǔ)的字符數(shù),當(dāng)將其值設(shè)為0時(shí),則輸出寄存器將被清空。RThreshold:設(shè)置在 MSComm 控件設(shè)置 CommEvent 屬性為 comEv Receive 并產(chǎn)生On

46、Comm事件之前要接受的字符數(shù)。CommEve nt屬性:返回最近的通訊事件或錯(cuò)誤。通過(guò)對(duì)它具體屬性值的查 詢(xún),我們就可以獲得通訊事件和通訊錯(cuò)誤的完整信息。當(dāng)其值是comEvReceive時(shí)表示接收到數(shù)據(jù)。(2)MSComm的事件除了公共事件之外,MSComm只有一個(gè) On Comm事件。當(dāng) CommEve nt 屬性值變化時(shí)將發(fā)生On Comm事件,指示發(fā)生一個(gè)通信事件或錯(cuò)誤 。當(dāng)我們 設(shè)置Rtheshold屬性值為0時(shí),將使得捕獲comEvReceive事件無(wú)效。3.2.3編程小結(jié)單片機(jī)要發(fā)送和接收的操作其實(shí)都是對(duì)串行數(shù)據(jù)緩沖器 (SBUF)進(jìn)行調(diào)用。 串行數(shù)據(jù)緩沖器SBUF用來(lái)存放需發(fā)送

47、和接收的數(shù)據(jù),它由兩個(gè)獨(dú)立的寄存器組 成,一個(gè)是發(fā)送緩沖器,另一個(gè)是接收緩沖器,例如:(1)date=SBUF;表示單片機(jī)接收到數(shù)據(jù)data。SBUF=date;表示單片機(jī)發(fā)送數(shù)據(jù)到上位機(jī)。3 . 3系統(tǒng)方案設(shè)計(jì)系統(tǒng)方框圖如圖3.5所示圖3.5系統(tǒng)方框圖系統(tǒng)方框圖中可以看出用此方案設(shè)計(jì)的系統(tǒng)由電源電路、數(shù)據(jù)采集放大電路、A/D轉(zhuǎn)換電路、D/A轉(zhuǎn)換電路、MAX232串行接口電路、單片機(jī)外圍電路、LED顯示電路、鍵盤(pán)電路等部分組成。此方案的特點(diǎn)是:硬件電路的實(shí)現(xiàn)較為簡(jiǎn) 單、所用元器件也較少、系統(tǒng)可以配上外部的各種傳感器采集電路作為系統(tǒng)的被 測(cè)對(duì)象的模擬輸入信號(hào)來(lái)源,如壓力、溫度、濕度的采集等等;配

48、上相應(yīng)的模擬 采集電路和軟件就可以實(shí)現(xiàn)各種不同的功能、還能用LED數(shù)碼管十進(jìn)制顯示相應(yīng) 的測(cè)量數(shù)據(jù),如可以顯示測(cè)得的壓力、溫度、濕度;還可以實(shí)現(xiàn)和PC機(jī)串行通信和ISP編程下載功能。第四章系統(tǒng)方案實(shí)施第四章系統(tǒng)方案實(shí)施4.1接口設(shè)計(jì)4.1.1系統(tǒng)連接電路系統(tǒng)連接電路如圖4.1所示。27TXD/P 3. 1RXD/P3TVC4J1594837o1DB9261 383C310.11 1T1 IN1 01T2 怙C1 +DC1 - GR1 IN V -R2 IN VVCC0.121 2R1 OUT9R2 OUT1 4T1 OUTT2 OUTC2 +57466C2C1M AX232EWVCCE(16)

49、C20.1 gF0.1 gF圖4.1單片機(jī)與PC機(jī)串行通信接口的電路串行通信部分主要是由MAX232電平轉(zhuǎn)換電路和ISP編程下載電路組成, 其原理是:MAX232芯片把單片機(jī)引腳的 COMS電平(05V)轉(zhuǎn)換為RS232 電平(-12V +12V),AT89S52單片機(jī)有一個(gè)全雙工的串行通信口,而 PC機(jī) 有一個(gè)RS232的通信接口。只要用 RS232 D型9針的引腳的雙邊母頭接到 PC 機(jī)上,而另一頭和 MAX232相連接,MAX232的輸出再和AT58S52相連就可 以實(shí)現(xiàn)單片機(jī)和PC機(jī)的串行通信。具體連線如上圖8所示,AT89S52的串行 通信引腳的TXD和RXD分別接到MAX232的

50、T1IN和T1OUT 上, MAX232的 R1OUT和R1IN分別接到RS232的2、3 上, RS232的5腳接地。MAX232外 圍元件只有四個(gè)電容,根據(jù) MAX232的典型應(yīng)用電路,可取0.1 g F / 5的電解 電容。ISP編程口和 AT89S52 的連線為:AT89S52 的 P1.5、P1.6 P1.7、RESET 分別連接到ISP的3、4、5、7腳上,ISP的1、2腳聯(lián)合接電源9、10腳聯(lián)合 接地即可.直接從上位機(jī)上下載可執(zhí)行的二進(jìn)制代碼文件,無(wú)須外加寫(xiě)讀器。D1為下載指示燈,R1為限流電阻,發(fā)光二極管的壓降為 2V,電流取5mA,其 阻值為:R1=5-2/0.005=600

51、Q,考慮到和ISP 一起共電,在此取1K。4.1.2串行通信電路單片機(jī)除了具有四個(gè)8位并行口外,還具有串行接口。該串行接口是一個(gè) 全雙工串行通信接口,既能同時(shí)進(jìn)行串行發(fā)送和接收。它可以作UART (通用異步接收和發(fā)送器)用,也可以作為同步位移寄存器用。應(yīng)用串行接口可以實(shí) 現(xiàn)89C51單片機(jī)系統(tǒng)之間點(diǎn)對(duì)點(diǎn)的單片機(jī)通信、多機(jī)通信和89C51與系統(tǒng)機(jī)(如 IBM-PC機(jī)等)的單機(jī)或多機(jī)通信。MCS-51串行口的輸入輸出均為 TTL 電平。這種以TTL電平傳輸數(shù)據(jù)的方式,抗干擾性差,傳輸距離短。為了提 高通訊距離,工程技術(shù)人員一般采用標(biāo)準(zhǔn)串行接口,如RS-232、RS-422A、RS-485等標(biāo)準(zhǔn)串行

52、接口來(lái)進(jìn)行串行通訊。其中RS-232是異步串行通訊中應(yīng)用 最廣泛的標(biāo)準(zhǔn)總線,它包含了按位串行傳輸?shù)碾姎夂蜋C(jī)械方面的規(guī)定。適用于 數(shù)據(jù)終端設(shè)備(DCE)和數(shù)據(jù)傳輸設(shè)備(DCE)之間的接口。RS-232是美國(guó)電子工業(yè)協(xié)會(huì)正式公布的串行總線標(biāo)準(zhǔn),也是目前最常用的串行接口標(biāo)準(zhǔn),主要用來(lái)實(shí)現(xiàn)計(jì)算機(jī)與計(jì)算機(jī)之間、計(jì)算機(jī)與外設(shè)之間的數(shù)據(jù) 通訊。RS-232串行通信是雙工的,可以同時(shí)接收和發(fā)送。其邏輯電平與TTL、CMOS電平完全不同:邏輯 “ C規(guī)定為+5V+15V ;邏輯“ 1規(guī)定為-5V-15V之 間。由于RS-232發(fā)送和接收之間有公共地,傳輸采用非平衡模式,因此共模噪 聲會(huì)耦合到信號(hào)系統(tǒng)中,其標(biāo)準(zhǔn)建

53、議的最大通信距離為15米。但實(shí)際應(yīng)用中在 300bit/s的速率下可達(dá)到300米,并且最大傳輸速率為20Kbps。由于RS-232規(guī)定的電平和一般任意微處理器的邏輯電平不一致,故必須進(jìn)行電平轉(zhuǎn)換。本次設(shè)計(jì)選用 MAX232芯片實(shí)現(xiàn)TTL與232電平之間的轉(zhuǎn)換, 與MAX232相連的一側(cè)是 AT89C51單片機(jī),另一側(cè)是 GPRS模塊,由它們來(lái) 實(shí)現(xiàn)數(shù)據(jù)的無(wú)線傳輸。RS-232通訊電路如圖4.2所示:uf丄川12U4+5VO.luf1.0 uf345678C1 + V+C1-C2+C2V-VC CGN DMCoX231C n151 out151 in2Ci n 251 out1615141312

54、109|+5VRX DTX DMA X232162-713ry84C9r5cRS2 321.0 uf1.0uf圖4.2 RS-232通訊電路4.2軟件設(shè)計(jì)4.2.1顯示HD7279顯示程序用單片機(jī)驅(qū)動(dòng)LED數(shù)碼管有很多方法,按顯示方式分為靜態(tài)顯示和動(dòng)態(tài)顯 示;按譯碼方式可分為硬件譯碼和軟件譯碼 9。靜態(tài)顯示就是顯示驅(qū)動(dòng)電路具 有輸出鎖存功能,單片機(jī)將所要顯示的數(shù)據(jù)送出后就不再管,直到下一次顯示 數(shù)據(jù)需要更新時(shí)再傳送一次新數(shù)據(jù),所有數(shù)碼管都是一直亮著的,這樣顯示數(shù) 據(jù)穩(wěn)定,占用很少的處理時(shí)間。動(dòng)態(tài)顯示需要單片時(shí)刻對(duì)顯示器件進(jìn)行數(shù)據(jù)刷 新,數(shù)碼管一位一位地輪流被點(diǎn)亮,對(duì)每一個(gè)數(shù)碼管來(lái)說(shuō),它是每隔一段時(shí)間 亮一次,利用人的視覺(jué)暫留功能可以看到整個(gè)顯示,但必須保證掃描的速

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論