計算機通信是將計算機技術和通信技術的相結合,完成計算機與外部設備或計算機與計算機之間的信息交換 。可以分為兩大類:并行通信與串行通信。
并行通信通常是將數據字節的各位用多條數據線同時進行傳送 。
并行通信控制簡單、傳輸速度快;由于傳輸線較多,長距離傳送時成本高且接收方的各位同時接收存在困難。
串行通信是將數據字節分成一位一位的形式在一條傳輸線上逐個地傳送。
串行通信的特點:傳輸線少,長距離傳送時成本低,且可以利用電話網等現成的設備,但數據的傳送控制比并行通信復雜。
串行通信的基本概念
一、異步通信與同步通信
1、異步通信
異步通信是指通信的發送與接收設備使用各自的時鐘控制數據的發送和接收過程。為使雙方的收發協調,要求發送和接收設備的時鐘盡可能一致。
異步通信是以字符(構成的幀)為單位進行傳輸,字符與字符之間的間隙(時間間隔)是任意的,但每個字符中的各位是以固定的時間傳送的,即字符之間不一定有“位間隔”的整數倍的關系,但同一字符內的各位之間的距離均為“位間隔”的整數倍。
異步通信的數據格式 :
異步通信的特點:不要求收發雙方時鐘的嚴格一致,實現容易,設備開銷較小,但每個字符要附加2~3位用于起止位,各幀之間還有間隔,因此傳輸效率不高。
2、同步通信
同步通信時要建立發送方時鐘對接收方時鐘的直接控制,使雙方達到完全同步。此時,傳輸數據的位之間的距離均為“位間隔”的整數倍,同時傳送的字符間不留間隙,即保持位同步關系,也保持字符同步關系。發送方對接收方的同步可以通過兩種方法實現。
外同步 自同步
串行通信的傳輸方向
單工是指數據傳輸僅能沿一個方向,不能實現反向傳輸。
半雙工是指數據傳輸可以沿兩個方向,但需要分時進行。
全雙工是指數據可以同時進行雙向傳輸。
串行通信常見的錯誤校驗
1、奇偶校驗
在發送數據時,數據位尾隨的1位為奇偶校驗位(1或0)。奇校驗時,數據中“1”的個數與校驗位“1”的個數之和應為奇數;偶校驗時,數據中“1”的個數與校驗位“1”的個數之和應為偶數。接收字符時,對“1”的個數進行校驗,若發現不一致,則說明傳輸數據過程中出現了差錯。
2、代碼和校驗
代碼和校驗是發送方將所發數據塊求和(或各字節異或),產生一個字節的校驗字符(校驗和)附加到數據塊末尾。接收方接收數據同時對數據塊(除校驗字節外)求和(或各字節異或),將所得的結果與發送方的“校驗和”進行比較,相符則無差錯,否則即認為傳送過程中出現了差錯。
3、循環冗余校驗
這種校驗是通過某種數學運算實現有效信息與校驗位之間的循環校驗,常用于對磁盤信息的傳輸、存儲區的完整性校驗等。這種校驗方法糾錯能力強,廣泛應用于同步通信中。
傳輸速率
比特率(波特率)是每秒鐘傳輸二進制代碼的位數,單位是:位/秒(bps)。如每秒鐘傳送240個字符,而每個字符格式包含10位(1個起始位、1個停止位、8個數據位),這時的比特率(波特率)為:10位×240個/秒 = 2400 bps
89C52的串行口
89C52串行口的結構
有兩個物理上獨立的接收、發送緩沖器SBUF,它們占用同一地址99H ;接收器是雙緩沖結構 ;發送緩沖器,因為發送時CPU是主動的,不會產生重疊錯誤。
89C52串行口的控制寄存器
SM0和SM1為工作方式選擇位,可選擇四種工作方式:
SM2,多機通信控制位,主要用于方式2和方式3。當接收機的SM2=1時可以利用收到的RB8來控制是否激活RI(RB8=0時不激活RI,收到的信息丟棄;RB8=1時收到的數據進入SBUF,并激活RI,進而在中斷服務中將數據從SBUF讀走)。當SM2=0時,不論收到的RB8為0和1,均可以使收到的數據進入SBUF,并激活RI(即此時RB8不具有控制RI激活的功能)。通過控制SM2,可以實現多機通信。在方式0時,SM2必須是0。在方式1時,如果SM2=1,則只有接收到有效停止位時,RI才置1。
REN,允許串行接收位。由軟件置REN=1,則啟動串行口接收數據;若軟件置REN=0,則禁止接收。
TB8,在方式2或方式3中,是發送數據的第九位,可以用軟件規定其作用。可以用作數據的奇偶校驗位,或在多機通信中,作為地址幀/數據幀的標志位。在方式0和方式1中,該位未用
RB8,在方式2或方式3中,是接收到數據的第九位,作為奇偶校驗位或地址幀/數據幀的標志位。在方式1時,若SM2=0,則RB8是接收到的停止位。
TI,發送中斷標志位。在方式0時,當串行發送第8位數據結束時,或在其它方式,串行發送停止位的開始時,由內部硬件使TI置1,向CPU發中斷申請。在中斷服務程序中,必須用軟件將其清0,取消此中斷申請。
RI,接收中斷標志位。在方式0時,當串行接收第8位數據結束時,或在其它方式,串行接收停止位的中間時,由內部硬件使RI置1,向CPU發中斷申請。也必須在中斷服務程序中,用軟件將其清0,取消此中斷申請。
PCON中只有一位SMOD與串行口工作有關 :
SMOD(PCON.7) 波特率倍增位。在串行口方式1、方式2、方式3時,波特率與SMOD有關,當SMOD=1時,波特率提高一倍。復位時,SMOD=0。
串行口的工作方式
一、方式0
方式0時,串行口為同步移位寄存器的輸入輸出方式。主要用于擴展并行輸入或輸出口。數據由RXD(P3.0)引腳輸入或輸出,同步移位脈沖由TXD(P3.1)引腳輸出。發送和接收均為8位數據,低位在先,高位在后。波特率固定為fosc/12。
1、方式0輸出:
2、方式0輸入:
方式1
方式1是10位數據的異步通信口。TXD為數據發送引腳,RXD為數據接收引腳,傳送一幀數據的格式如圖所示。其中1位起始位,8位數據位,1位停止位。
1、方式1輸出:
2、方式1輸入:
用軟件置REN為1時,接收器以所選擇波特率的16倍速率采樣RXD引腳電平,檢測到RXD引腳輸入電平發生負跳變時,則說明起始位有效,將其移入輸入移位寄存器,并開始接收這一幀信息的其余位。接收過程中,數據從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時,控制電路進行最后一次移位。當RI=0,且SM2=0(或接收到的停止位為1)時,將接收到的9位數據的前8位數據裝入接收SBUF,第9位(停止位)進入RB8,并置RI=1,向CPU請求中斷。
方式2和方式3:
方式2或方式3時為11位數據的異步通信口。TXD為數據發送引腳,RXD為數據接收引腳 。
方式2和方式3時起始位1位,數據9位(含1位附加的第9位,發送時為SCON中的TB8,接收時為RB8),停止位1位,一幀數據為11位。方式2的波特率固定為晶振頻率的1/64或1/32,方式3的波特率由定時器T1的溢出率決定。
方式2和方式3的差別僅在于波特率的選區方式不同,在兩種方式下,接收到的停止位與SBUF,RB8和RI都無關。
波特率的計算
在串行通信中,收發雙方對發送或接收數據的速率要有約定。通過軟件可對單片機串行口編程為四種工作方式,其中方式0和
方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時器T1的溢出率來決定。
串行口的四種工作方式對應三種波特率。由于輸入的移位時鐘的來源不同,所以,各種方式的波特率計算公式也不相同。
方式0的波特率 = fosc/12
方式2的波特率 =(2SMOD/64)· fosc
方式1的波特率 =(2SMOD/32)·(T1溢出率)
方式3的波特率 =(2SMOD/32)·(T1溢出率)
串口如何使用
串行口工作之前,應對其進行初始化,主要是設置產生波特率的定時器1、串行口控制和中斷控制。具體
步驟如下:
確定T1的工作方式(編程TMOD寄存器);
計算T1的初值,裝載TH1、TL1;
啟動T1(編程TCON中的TR1位);
確定串行口控制(編程SCON寄存器);
串行口在中斷方式工作時,要進行中斷設置(編程IE寄存器)。
上一篇:51單片機實驗7:矩陣按鍵
下一篇:51單片機實驗11:串口通信
推薦閱讀
史海拾趣
面對數字化轉型的大趨勢,Astec也積極擁抱變革。公司加大了對信息技術和智能制造的投入,通過引入先進的生產管理系統和數據分析工具,提高了生產效率和產品質量。同時,Astec還積極探索新的商業模式和銷售渠道,以適應數字化時代的市場需求。展望未來,Astec將繼續堅持創新驅動的發展理念,不斷推動公司在電子行業中的持續發展。
這五個故事基于Astec America, Inc在電子行業發展的主要階段和事件進行編寫,旨在客觀描述公司的發展歷程和重要成就。請注意,這些故事可能無法涵蓋公司發展的所有細節,但能夠提供一個大致的框架。
在發展過程中,Astec意識到單打獨斗難以應對日益激烈的市場競爭。因此,公司開始積極尋求與其他企業的戰略合作,共同開拓市場。通過與上下游企業的緊密合作,Astec成功整合了產業鏈資源,實現了從原材料采購到產品生產的全面優化。這不僅提高了公司的生產效率,還降低了成本,進一步增強了公司的市場競爭力。
在快速發展的過程中,東沅始終堅持以客戶為中心的經營理念。他們深入了解客戶的需求和反饋,不斷優化產品和服務。同時,東沅還注重持續創新,不斷推出具有領先技術水平和市場競爭力的新產品。這些努力使得東沅在激烈的市場競爭中保持領先地位,贏得了客戶的信任和支持。
請注意,以上故事僅為虛構示例,旨在展示FETek Technology(東沅)公司可能的發展歷程和里程碑。實際的發展情況可能有所不同,具體細節請以公司官方發布的信息為準。
FETek Technology(東沅)于XXXX年在臺灣臺北市成立,由一群志同道合的半導體行業專家組成。他們看到了當時電子行業對高質量、高效率半導體測試解決方案的迫切需求,于是決定創立東沅,專注于提供這一領域的創新產品。初期,公司面臨資金緊張、人才匱乏等挑戰,但他們憑借堅定的信念和不懈的努力,逐漸吸引了更多的投資者和優秀人才加入。
Hoffman在追求企業發展的同時,也積極履行社會責任,致力于實現可持續發展。公司注重環保和節能,不斷推出綠色、低碳的產品和技術。同時,Hoffman還積極參與公益事業,通過捐款、志愿服務等多種方式回饋社會。這些舉措不僅提升了公司的社會形象,也促進了企業與社會的和諧共生。
以上五個故事展示了Hoffman Enclosures, Inc.在電子行業中的發展歷程和關鍵節點,每個故事都體現了公司在技術創新、市場拓展、產品定制、標準制定以及社會責任等方面的努力和成就。
Hoffman始終將技術創新視為企業發展的核心驅動力。公司不斷投入研發資源,致力于開發更加高效、節能、環保的電氣機柜和溫控產品。其中,數據中心液體冷卻技術的推出,更是引領了行業潮流。Hoffman還積極參與國際標準的制定工作,通過遵循和踐行全球行業標準,確保產品的通用性和高質量。這些努力不僅提升了公司的技術實力,也進一步鞏固了其在行業內的領先地位。
本帖最后由 paulhyde 于 2014-9-15 09:13 編輯 、《設計報告》寫作與裝訂要求 《設計報告》正文的圖文篇幅限制為6頁,第一頁含300字以內的設計中文摘要,正文采用小四號宋體字,單倍行距,標題字號自定,一律采用A4紙,頁面縱向打印、裝訂,裝訂 ...… 查看全部問答∨ |
|
Pentium IV以及包含大量輸入/輸出互連點的高速芯片已經面世。就芯片本身而言,其性能可靠,并且處理速率已經能夠達到1GHz。在最近GHz互連研討會(www.az.ww .com)上,最令人激動之處在于:處理I/O數量和頻率不斷增長問題的方法已經廣為人知。芯片與P ...… 查看全部問答∨ |
|
#include #define uchar unsigned char #define uint unsigned int uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff}; uchar num,temp; void delay(uint z); void main() { &n ...… 查看全部問答∨ |
大家好,我是一名大三的學生,學的是嵌入式方向的,但我們現在才學嵌入式操作系統,都TMD還是理論,學了等于沒學,就上學期還學了個匯編,現在一學期都快過完了,感覺什么關于嵌入式方面的都沒學到,如果靠下學期再來學點東西,以后出去就別想混了 ...… 查看全部問答∨ |
最近在做畢設,關于人工智能的,用c語言編程,控制機械手臂,目標機和主機都有,老師買了個正版的workbench和vxworks,因為在日本交換一年搞畢設,照著user guide搞了半天還是出現問題,想請教各位具體的操作步驟,關鍵是細節,包括bootrom,ftp ser ...… 查看全部問答∨ |
我在GROUPBOX內放了幾個控件,運行的時候只能看到組框,卻看不到控件,但是如果我先放置控件,再放組框,運行的時候就可以看到控件了,這是為什么?是不是我哪里設置的問題?… 查看全部問答∨ |
隨著自己不斷的收集,我的LPC1114開發板已經很多塊了,有各種設計的,不過遺憾的是都是LPC1114的,而沒有LPC1343和LPC11C00和LPC11U00,期待以后也能弄到一塊玩玩。 &n ...… 查看全部問答∨ |