PC機之間串口通信的實現
一、實驗目的
1.熟悉微機接口實驗裝置的結構和使用方法。
2.掌握通信接口芯片8251和8250的功能和使用方法。
3.學會串行通信程序的編制方法。
二、實驗內容與要求
1.基本要求
主機接收開關量輸入的數據(二進制或十六進制),從鍵盤上按“傳輸”鍵(可自行定義),就將該數據通過8251A傳輸出去。終端接收后在顯示器上顯示數據。具體操作說明如下:
(1)出現提示信息“start with R in the board!”,通過調整乒乓開關的狀態,設置8位數據;
(2)在小鍵盤上按“R”鍵,系統將此時乒乓開關的狀態讀入計算機I中,并顯示出來,同時顯示經串行通訊后,計算機II接收到的數據;
(3)完成后,系統提示“do you want to send another data? Y/N”,根據用戶需要,在鍵盤按下“Y”鍵,則重復步驟(1),進行另一數據的通訊;在鍵盤按除“Y”鍵外的任意鍵,將退出本程序。
2.提高要求
能夠進行出錯處理,例如采用奇偶校驗,出錯重傳或者采用接收方回傳和發送方確認來保證發送和接收正確。
三、設計報告要求
1.設計目的和內容
2.總體設計
3.硬件設計:原理圖(接線圖)及簡要說明
4.軟件設計框圖及程序清單
5.設計結果和體會(包括遇到的問題及解決的方法)
四、8251A通用串行輸入/輸出接口芯片
由于CPU與接口之間按并行方式傳輸,接口與外設之間按串行方式傳輸,因此,在串行接口中,必須要有“接收移位寄存器”(串→并)和“發送移位寄存器”(并→串)。能夠完成上述“串←→并”轉換功能的電路,通常稱為“通用異步收發器”(UART:Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251。
8251A異步工作方式:
如果8251A編程為異步方式,在需要發送字符時,必須首先設置TXEN和CTS#為有效狀態,TXEN(Transmitter Enable)是允許發送信號,是命令寄存器中的一位;CTS#(Clear To Send)是由外設發來的對CPU請求發送信號的響應信號。然后就開始發送過程。在發送時,每當CPU送往發送緩沖器一個字符,發送器自動為這個字符加上1個起始位,并且按照編程要求加上奇/偶校驗位以及1個、1.5個或者2個停止位。串行數據以起始位開始,接著是最低有效數據位,最高有效位的后面是奇/偶校驗位,然后是停止位。按位發送的數據是以發送時鐘TXC的下降沿同步的,也就是說這些數據總是在發送時鐘TXC的下降沿從8251A發出。數據傳輸的波特率取決于編程時指定的波特率因子,為發送器時鐘頻率的1、1/16或1/64。當波特率指定為16時,數據傳輸的波特率就是發送器時鐘頻率的1/16。CPU通過數據總線將數據送到8251A的數據輸出緩沖寄存器以后,再傳輸到發送緩沖器,經移位寄存器移位,將并行數據變為串行數據,從TxD端送往外部設備。
在8251A接收字符時,命令寄存器的接收允許位RxE(Receiver Enable)必須為1。8251A通過檢測RxD引腳上的低電平來準備接收字符,在沒有字符傳送時RxD端為高電平。8251A不斷地檢測RxD引腳,從RxD端上檢測到低電平以后,便認為是串行數據的起始位,并且啟動接收控制電路中的一個計數器來進行計數,計數器的頻率等于接收器時鐘頻率。計數器是作為接收器采樣定時,當計數到相當于半個數位的傳輸時間時再次對RxD端進行采樣,如果仍為低電平,則確認該數位是一個有效的起始位。若傳輸一個字符需要16個時鐘,那么就是要在計數8個時鐘后采樣到低電平。之后,8251A每隔一個數位的傳輸時間對RxD端采樣一次,依次確定串行數據位的值。串行數據位順序進入接收移位寄存器,通過校驗并除去停止位,變成并行數據以后通過內部數據總線送入接收緩沖器,此時發出有效狀態的RxRDY信號通知CPU,通知CPU8251A已經收到一個有效的數據。一個字符對應的數據可以是5~8位。如果一個字符對應的數據不到8位,8251A會在移位轉換成并行數據的時候,自動把他們的高位補成0。
五、系統總體設計方案
根據系統設計的要求,對系統設計的總體方案進行論證分析如下:
1.獲取8位開關量可使用實驗臺上的8255A可編程并行接口芯片,因為只要獲取8位數據量,只需使用基本輸入和8位數據線,所以將8255A工作在方式0,PA0-PA7接實驗臺上的8位開關量。
2.當使用串口進行數據傳送時,雖然同步通信速度遠遠高于異步通信,可達500kbit/s,但由于其需要有一個時鐘來實現發送端和接收端之間的同步,硬件電路復雜,通常計算機之間的通信只采用異步通信。
3.由于8251A本身沒有時鐘,需要外部提供,所以本設計中使用實驗臺上的8253芯片的計數器2來實現。
4:顯示和鍵盤輸入均使用DOS功能調用來實現。
設計思路框圖,如下圖所示:
六、硬件設計
硬件電路主要分為8位開關量數據獲取電路,串行通信數據發送電路,串行通信數據接收電路三個部分。
1.8位開關量數據獲取電路
該電路主要是利用8255并行接口讀取8位乒乓開關的數據。此次設計在獲取8位開關數據量時采用8255令其工作在方式0,A口輸入8位數據,CS#接實驗臺上CS1口,對應端口為280H-283H,PA0-PA7接8個開關。
2.串行通信電路
串行通信電路
本設計中8253主要為8251充當頻率發生器,接線如下圖所示。
資源簡介:PC機之間串口通信的實現一、實驗目的?1.熟悉微機接口實驗裝置的結構和使用方法。?2.掌握通信接口芯片8251和8250的功能和使用方法。?3.學會串行通信程序的編制方法。 二、實驗內容與要求?1.基本要求主機接收開關量輸入的數據(二進制或十六進制)...
上傳時間: 2013-12-19
上傳用戶:小火車啦啦啦
資源簡介:這是一個單片機與PC機之間串口通信的程序,內反映了具體的通信協議。
上傳時間: 2014-08-09
上傳用戶:ztj182002
資源簡介:主要介紹PC機之間串口通信實現的總體方案,能很快了解它的原理。
上傳時間: 2014-01-22
上傳用戶:wang0123456789
資源簡介:是單片機與PC機RS232串口通信的調試好幫手,當你苦于串口通信的調試,試試如何
上傳時間: 2015-03-30
上傳用戶:onewq
資源簡介:【資源描述】:很好的51單片機和PC機進行串口通信的例子
上傳時間: 2022-06-17
上傳用戶:
資源簡介:PC機與DSP之間串行通信的實現
上傳時間: 2017-07-25
上傳用戶:
資源簡介:1、 利用FLEX10的片內RAM資源,根據DDS原理,設計產生正弦信號的各功能模塊和頂層原理圖; 2、 利用實驗板上的TLC7259轉換器,將1中得到的正弦信號,通過D/A轉換,通過ME5534濾波后在示波器上觀察; 3、 輸出波形要求: 在輸入時鐘頻率為16KHz時,輸出正弦波...
上傳時間: 2013-09-06
上傳用戶:zhuimenghuadie
資源簡介:基于MSP430的模擬SPI串口通信的實現
上傳時間: 2013-11-23
上傳用戶:wfymay
資源簡介:串口通信的實現
上傳時間: 2013-12-24
上傳用戶:dongqiangqiang
資源簡介:Delphi中串口通信的實現 Delphi是一種具有功能強大、簡便易用和代碼執行速度快等優點的可視化快速應用開發工具,它在構架企業信息系統方面發揮著越來越重要的作用,許多程序員愿意選擇 Delphi作為開發工具編制各種應用程序。但是,美中不足之處是 Delphi沒...
上傳時間: 2014-12-21
上傳用戶:Late_Li
資源簡介:Avr單片機與 PC機通過并口通信的程序,找了好久才找到的!有單片機和上位機(pc)的程序。
上傳時間: 2015-09-18
上傳用戶:lijianyu172
資源簡介:此文獻主要講解了串口通信的相關內容.并介紹了串口通信的實現過程
上傳時間: 2013-12-20
上傳用戶:6546544
資源簡介:自己編寫的一個和DSP下位機進行串口通信的程序,有自己特殊的數據格式。
上傳時間: 2014-12-02
上傳用戶:a3318966
資源簡介:嵌入式VxWorks實時操作系統中串口通信的實現.pdf 關鍵詞: 串口通信;VxWorks; 內核組件;配置宏
上傳時間: 2016-07-25
上傳用戶:epson850
資源簡介:ARM2410 異步串口通信的實現源代碼,UART串口!
上傳時間: 2013-12-26
上傳用戶:xiaodu1124
資源簡介:基于labwindows/cvi的串口通信的實現,希望對有需要的朋友提高參考
上傳時間: 2013-12-10
上傳用戶:dsgkjgkjg
資源簡介:TMS320C5402與單片機SPI串口通信的實現方法
上傳時間: 2013-12-01
上傳用戶:change0329
資源簡介:基于VC++串口通信的實現的畢業論文和分析
上傳時間: 2017-09-17
上傳用戶:源弋弋
資源簡介:該文檔為基于MSP430的模擬SPI串口通信的實現講解文檔,是一份很不錯的參考資料,具有較高參考價值,感興趣的可以下載看看………………
上傳時間: 2022-01-21
上傳用戶:
資源簡介:本程序為Labview開發的PC與單片機串口通信的源程序
上傳時間: 2022-06-30
上傳用戶:
資源簡介:微機之間串口通信,實現兩臺微型計算機之間快速簡便的串行通信。
上傳時間: 2014-01-06
上傳用戶:cuibaigao
資源簡介:通信原理課件 PPT版
上傳時間: 2013-04-15
上傳用戶:eeworm
資源簡介:在單片機與上位機PC通信的過程中,通信速率一般是固定的,并且是一致的,否則通信不會成功,此程序介紹了如何實現串口通信的波特率自動識別.
上傳時間: 2015-10-29
上傳用戶:lgnf
資源簡介:單片機串口通信,可實現51系列與PC機的串口讀寫和顯示
上傳時間: 2014-12-04
上傳用戶:1583060504
資源簡介:簡單的51單片機與PC機通過串口實現的串行通信.
上傳時間: 2016-07-13
上傳用戶:cjf0304
資源簡介:89c2051串口通訊89C51 單片機通過普通I/O 口與PC 機RS232 串口實現 通信的硬件接口電路
上傳時間: 2014-01-15
上傳用戶:lnnn30
資源簡介:-- 本模塊的功能是驗證實現和PC機進行基本的串口通信的功能。需要在 --PC機上安裝一個串口調試工具來驗證程序的功能。 -- 程序實現了一個收發一幀10個bit(即無奇偶校驗位)的串口控 --制器,10個bit是1位起始位,8個數據位,1個結束 --位。串口的波特律...
上傳時間: 2017-04-12
上傳用戶:lgnf
資源簡介:本模塊的功能是驗證實現和PC機進行基本的串口通信的功能。需要在PC機上安裝一個串口調試工具來驗證程序的功能。
上傳時間: 2013-12-05
上傳用戶:wsf950131
資源簡介:單片機串口通信,可實現51系列與PC機的串口讀寫和顯示
上傳時間: 2013-12-27
上傳用戶:gaojiao1999
資源簡介:DSP和PC機通過串口進行通信的好例子
上傳時間: 2013-12-27
上傳用戶:qilin