日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> 技術(shù)中心 >> 單片機(jī)入門 >> 串行通信的初步認(rèn)識(shí)

串行通信的初步認(rèn)識(shí)

作者:admin 來源:不詳 發(fā)布時(shí)間:2018-05-08  瀏覽:6

  通信按照基本類型可以分為并行通信和串行通信。并行通信時(shí)數(shù)據(jù)的各個(gè)位同時(shí)傳送,可以實(shí)現(xiàn)字節(jié)為單位通信,但是因?yàn)橥ㄐ啪多占用資源多,成本高。比如我們前邊用到的P0 = 0xfe;一次給P0的8個(gè)IO口分別賦值,同時(shí)進(jìn)行信號(hào)輸出,類似于有8個(gè)車道同時(shí)可以過去8輛車一樣,這種形式就是并行的,我們習(xí)慣上還稱P0、P1、P2和P3為51單片機(jī)的4組并行總線。

  而串行通信,就如同一條車道,一次只能一輛車過去,如果一個(gè)0xfe這樣一個(gè)字節(jié)的數(shù)據(jù)要傳輸過去的話,假如低位在前高位在后,那發(fā)送方式就是0-1-1-1-1-1-1-1-1,一位一位的發(fā)送出去的,要發(fā)送8次才能發(fā)送完一個(gè)字節(jié)。

  在我們的STC89C52上,有兩個(gè)引腳,是專門用來做UART串口通信的,一個(gè)是P3.0一個(gè)是P3.1,還分別有另外的名字叫做RXD和TXD,這兩個(gè)引腳是專門用來進(jìn)行UART通信的,如果我們兩個(gè)單片機(jī)進(jìn)行UART串口通信的話,那基本的演示圖如圖1所示。

單片機(jī)之間UART通信示意圖

圖1 單片機(jī)之間UART通信示意圖

  圖中,GND表示單片機(jī)系統(tǒng)電源的參考地,TXD是串行發(fā)送引腳,RXD是串行接收引腳。兩個(gè)單片機(jī)之間要通信,首先電源基準(zhǔn)得一樣,所以我們要把兩個(gè)單片機(jī)的GND相互連起來,然后單片機(jī)1的TXD引腳接到單片機(jī)2的RXD引腳上,即此路為單片機(jī)1發(fā)送而單片機(jī)2接收的通道,單片機(jī)1的RXD引腳接到單片機(jī)2的TXD引腳上,即此路為單片機(jī)2發(fā)送而單片機(jī)2接收的通道。這個(gè)示意圖就體現(xiàn)了兩個(gè)單片機(jī)各自收發(fā)信息的過程。

  當(dāng)單片機(jī)1想給單片機(jī)2發(fā)送數(shù)據(jù)時(shí),比如發(fā)送一個(gè)0xE4這個(gè)數(shù)據(jù),用二進(jìn)制形式表示就是0b11100100,在UART通信過程中,是低位先發(fā),高位后發(fā)的原則,那么就讓TXD首先拉低電平,持續(xù)一段時(shí)間,發(fā)送一位0,然后繼續(xù)拉低,再持續(xù)一段時(shí)間,又發(fā)送了一位0,然后拉高電平,持續(xù)一段時(shí)間,發(fā)了一位1......一直到把8位二進(jìn)制數(shù)字0b11100100全部發(fā)送完畢。這里就牽扯到了一個(gè)問題,就是持續(xù)的這“一段時(shí)間”到底是多久?從這里引入我們通信中的另外重要概念——波特率,也叫做比特率。

  波特率就是發(fā)送一位二進(jìn)制數(shù)據(jù)的速率,習(xí)慣上用baud表示,即我們發(fā)送一位數(shù)據(jù)的持續(xù)時(shí)間=1/baud。在通信之前,單片機(jī)1和單片機(jī)2首先都要明確的約定好他們之間的通信波特率,必須保持一致,收發(fā)雙方才能正常實(shí)現(xiàn)通信,這一點(diǎn)大家一定要記清楚。

  約定好速度后,我們還要考慮第二個(gè)問題,數(shù)據(jù)什么時(shí)候是起始,什么時(shí)候是結(jié)束呢?不管是提前接收還是延遲接收,數(shù)據(jù)都會(huì)接收錯(cuò)誤。在UART串行通信的時(shí)候,一個(gè)字節(jié)是8位,規(guī)定當(dāng)沒有通信信號(hào)發(fā)生時(shí),通信線路保持高電平,當(dāng)要發(fā)送數(shù)據(jù)之前,先發(fā)一位0表示起始位,然后發(fā)送8位數(shù)據(jù)位,數(shù)據(jù)位是先低后高的順序,數(shù)據(jù)位發(fā)完后再發(fā)一位1表示停止位。這樣本來要發(fā)送一個(gè)字節(jié)8位數(shù)據(jù),而實(shí)際上我們一共發(fā)送了10位,多出來的兩位其中一位起始位,一位停止位。而接收方呢,原本一直保持的高電平,一旦檢測(cè)到來了一位低電平,那就知道了要開始準(zhǔn)備接收數(shù)據(jù)了,接收到8位數(shù)據(jù)位后,然后檢測(cè)到停止位,再準(zhǔn)備下一個(gè)數(shù)據(jù)的接收了。我們圖示看一下,如圖2所示。

串口數(shù)據(jù)發(fā)送示意圖

圖2 串口數(shù)據(jù)發(fā)送示意圖

   像我們的圖2串口數(shù)據(jù)發(fā)送示意圖,實(shí)際上是一個(gè)時(shí)域示意圖,就是信號(hào)隨著時(shí)間變化的對(duì)應(yīng)關(guān)系。比如在單片機(jī)的發(fā)送引腳上,左邊的是先發(fā)生的,右邊的是后發(fā)生的,數(shù)據(jù)位的切換時(shí)間就是波特率分之一秒,如果能夠理解時(shí)域的概念,后邊很多通信的時(shí)序圖就很容易理解了。

編輯:admin  最后修改時(shí)間:2018-05-08

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

民权县| 高淳县| 刚察县| 朝阳区| 连江县| 阿拉善左旗| 历史| 阿拉尔市| 阜宁县| 山阴县| 满洲里市| 商都县| 成都市| 安阳县| 松阳县| 明星| 资阳市| 鄂托克旗| 交城县| 博爱县| 左权县| 铁岭市| 梧州市| 定边县| 河曲县| 黑龙江省| 年辖:市辖区| 年辖:市辖区| 安庆市| 越西县| 青神县| 德庆县| 凤冈县| 大悟县| 云安县| 浦城县| 夏津县| 兴隆县| 山阳县| 仙游县| 正宁县|