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充當頻率發生器,接線如下圖所示。
上傳時間: 2013-12-19
上傳用戶:小火車啦啦啦
IO口狀態切換說明
上傳時間: 2013-10-09
上傳用戶:truth12
T2作為波特率控制UART_RXD 是硬中斷0或1口,如果能進入中斷,說明該線有一個起始位產生,進入中斷后調用下面的接收程序。退出硬中斷之前還需要將硬中斷標志重新復位。UART_TXD 是任何其它IO即可。UART_SEND: PUSH IE PUSH DPH PUSH DPL PUSH PSW PUSH 00H PUSH ACC CLR EA SETB UART_TXD ;START BIT MOV R0,A CLR TR2 ;TR2置1,計數器2啟動,時間計數啟動。 MOV A,RCAP2L;計數器2重新裝載值 MOV TL2,A ;置計數器2初值 ;T2需要重新裝載 MOV A,DPH MOV A,RCAP2H MOV TH2,A MOV A,R0 SETB TR2 ;TR2置1,計數器 JNB TF2,$ CLR TF2 JNB TF2,$ CLR TF2
上傳時間: 2014-01-12
上傳用戶:二十八號
PL2303或PV8651USB轉串口原理圖:由PV8651芯片組成。
上傳時間: 2013-11-01
上傳用戶:CHENKAI
MCS51單片機內部有4個并行口,當內部并行口不夠用時可以外擴并行口芯片。可外擴的并行口芯片很多,分成2類:不可編程的并行口芯片(74LS3734和74LS245)和可編程的并行口芯片(8255)。7.1 不可編程并行口芯片的擴展7.1.1 74LS373的擴展1、 74LS245的結構2、 74LS245的引腳3、 74LS245與89C51的連接 7.1.2 74LS245的擴展 7.2 可編程并行口芯片的擴展 7.2.1 8255的結構7.2.2 8255的引腳7.2.3 8255的工作方式7.2.4 8255的控制字7.2.5 8255的應用
上傳時間: 2013-11-13
上傳用戶:lnnn30
2.1 MCS-51 單片機并行口結構1.1.1 P0口結構 1.1.2 P1口結構 1.1.3 P2口結構 1.1.4 P3口結構2.2 MCS-51 單片機并行口應用在沒有外擴任何芯片時,MCS-51單片機內部并行口可以作為輸出口,直接與輸出外設連接,常用的輸出外設是發光二極管; MCS-51單片機內部并行口也可以作為輸入口,直接與輸入外設連接,常用的輸入外設是開關。1.2.1 直接做輸出口 1.2.2 直接做輸入口2.3 七段LED顯示器接口在單片機控制系統中顯示器是必不可少的外設。常用的顯示器有發光二極管,數碼管和液晶顯示器。本節介紹數碼管接口。1.3.1 數碼管簡介 1.3.2 單個七段LED數碼管的接口 1.3.3 多個七段LED數碼管的接口2.4 鍵盤接口 鍵盤是單片機控制系統最常用、最簡單的輸入設備。用戶可以通過鍵盤輸入數據或命令,實現簡單的人機通信。 1.4.1 鍵盤類型 1.4.2 非編碼鍵盤與單片機的接口 1.4.3 矩陣非編碼鍵盤與單片機的接口
上傳時間: 2013-10-15
上傳用戶:阿四AIR
C51單片機是我們生活中最常用的系列,MCS-51系列單片機有4個并行口(P0,P1,P2,P3口),但對一個稍微復雜的應用系統來說,真正可供用戶使用的并行口,只有P1口可用,況且常常因擴展I2C和SPI的器件需占用某些P1口,迫使用戶不得不擴展并行口以滿足實際的需要。習慣上,常用的并行口接口芯片有8255、8155,這兩種芯片功能比較齊全,可以使用在相對比較復雜的系統中,但如是對一般的系統而言,這些功能往往閑置不用。那么就可以選用一些本來閑置不用的口線作為選通信號來進行并行口的擴展,這樣就能充分利用單片機有限的I/O資源,在本設計中是將P1口擴展成一個或幾個8位并行口,在每一個八位口上接入8個發光二極管做為輸出,二極管是做開關量來使用的,在這里設計了跑馬燈和流水燈程序,做到對開關量的開斷控制;配合開關量的控制筆者設計了一個共陽LED數碼管,用來顯示當前發光二極管發亮的序號,做到更加直觀的雙重控制效果,然后再將P0口通過D/A轉換器和一放大器輸出一個模擬信號,其結果可以通過示波器看出。這樣整個系統即有了數字信號輸出和模擬信號輸出,也有數碼管顯示功能,實用性能大提高了。2、 基于89C51的系統硬件設計2.1 并行口的擴展的電路設計 眾所周知,C51系列的單片機都有四個I/O口(P0、P1、P2、P3),那么AT89C51也不例外,但我們通常僅僅使用P1口作為并行口,而令其余口(P2、P3)處于閑置狀態,所以這次設計,我們就是使用閑置不用的P3口做為選能信號線來將P1口進行并行口擴展。 (1) 種方式的并行口擴展優點 連線簡單; 不占用存儲器空間; (2) 編程也方便靈活。但也有很大的缺點 并行口擴展能力有限,(如使用74LS573(74LS373)且不進行驅動處理,則最多可擴展4個同樣類型的并行輸出端口,當然還需要與之對應的四個選通信號。) 如擴展較多,選通信號占用并行口位數太多,例如欲擴展8個并行輸出端口,則需要8個選能信號,此時,僅選能信號就占用了一個8位并行口,這對在I/O端口線有限的單片機系統中,如此浪費資源的現象是不能容忍的。在本次的設計中,采用芯片74HC573(帶三態輸出的八進制透明D型鎖存器)對P1口進行了一個8位并行口的擴展,選通信號選用P3口的P3.3引腳。原理圖如圖1所示:
上傳時間: 2013-11-18
上傳用戶:dbs012280
1. RS-232-C 詳解 22. 串口通信基本接線方法 123. 串口通訊的概念及接口電路 134. 有關RS232和RS485接口的問答 145. 同步通信方式 166. 通信協議197. 實戰串行通訊258. 全雙工和半雙工方式 339. 淺析PC 機串口通訊流控制 3410. 奇偶校驗 3511. 開發通信軟件的技術與技巧 3612. 接口技術的基本知識 4113. 一個單片機串行數據采集/傳輸模塊的設計 4414. 單工、半雙工和全雙工的定義 4815. 從RS232 端口獲得電源4916. 串行同步通信的應用5017. 串行通信波特率的一種自動檢測方法5318. RS-232、RS-422 與RS-485 標準及應用5619. 串口泵 6串行通信接口標準經過使用和發展,目前已經有幾種。但都是在RS-232標準的基礎上經過改進而形成的。所以,以RS-232C為主來討論。RS-323C 標準是美國EIA(電子工業聯合會)與BELL等公司一起開發的1969 年公布的通信協議。它適合于數據傳輸速率在0~20000b/s 范圍內的通信。這個標準對串行通信接口的有關問題,如信號線功能、電器特性都作了明確規定。由于通行設備廠商都生產與RS-232C制式兼容的通信設備,因此,它作為一種標準,目前已在微機通信接口中廣泛采用。在討論RS-232C 接口標準的內容之前,先說明兩點:首先,RS-232-C標準最初是遠程通信連接數據終端設備DTE(Data Terminal Equipment)與數據通信設備DCE(Data Communication Equipment)而制定的。因此這個標準的制定,并未考慮計算機系統的應用要求。但目前它又廣泛地被借來用于計算機(更準確的說,是計算機接口)與終端或外設之間的近端連接標準。顯然,這個標準的有些規定及和計算機系統是不一致的,甚至是相矛盾的。有了對這種背景的了解,我們對RS-232C標準與計算機不兼容的地方就不難理解了。其次,RS-232C 標準中所提到的“發送”和“接收”,都是站在DTE 立場上,而不是站在DCE 的立場來定義的。由于在計算機系統中,往往是CPU 和I/O設備之間傳送信息,兩者都是DTE,因此雙方都能發送和接收。
上傳時間: 2013-11-21
上傳用戶:crazyer
主要功能:1、將串口通訊協議存儲為一個通訊文件,可是隨時將存儲通訊協議文件調入計算機運行與下位機通訊可以實現通訊對話,供下位機工程師參考使用,其主要的通訊協議本程序把它們分成四種情況。以下說明:1)下位機直接發送數據,上位機只接收不回應數據。2)下位機直接發送數據,上位機接收并回應數據。3)上位機直接發送數據,下位機只接收不回應數據。4)上位機直接發送數據,下位機接收并回應數據。下位機工程師完全可以利用這個功能單獨的并且很方便的調試與上位機通訊程序,更改雙方的通訊協議,不再需要上位機工程師的配合。windwos標準操作,使用方便。2、可以監聽活動串口的數據,將監聽到的數據顯示到數據顯示區里面,可以保存。也可以將原先保存的文件數據讀進來,以供分析。數據可以按照十六進制和ascii碼顯示出來。3、自動識別串口設置,當不知道對方設備的通訊串口設置時,可以利用該功能讓此程序自動識別,當然前提是對方設備必須是一直在發數據,整個識別過程大概需要二分鐘。4、可以通過該程序,利用串口將文件發送到另一個計算機上。另一個計算機通過接收文件接收所發出的文件。
上傳時間: 2013-11-11
上傳用戶:semi1981
串口精靈源代碼
上傳時間: 2013-10-21
上傳用戶:hanwu