国产三级在线看完整版-内射白嫩大屁股在线播放91-欧美精品国产精品综合-国产精品视频网站一区-一二三四在线观看视频韩国-国产不卡国产不卡国产精品不卡-日本岛国一区二区三区四区-成年人免费在线看片网站-熟女少妇一区二区三区四区

儀器網(wǎng)(yiqi.com)歡迎您!

| 注冊2 登錄
網(wǎng)站首頁-資訊-話題-產(chǎn)品-評測-品牌庫-供應(yīng)商-展會-招標-采購-知識-技術(shù)-社區(qū)-資料-方案-產(chǎn)品庫-視頻

問答社區(qū)

單片機串口通信原理

清檸Triste 2011-04-15 07:22:02 506  瀏覽
  •  

參與評論

全部評論(4條)

  • 心在哪拍檔 2011-04-21 00:00:00
    1.RS232接口 RS232-C接口連接器一般使用型號為DB-9的9芯插頭座,只需3條接口線,即"發(fā)送數(shù)據(jù)"、"接收數(shù)據(jù)"和"信號地"即可傳輸數(shù)據(jù),其9個引腳的定義如圖11-3所示。 圖11-3 RS232-C接口連接器定義 在RS232的規(guī)范中,電壓值在+3V~+15V(一般使用+6V)稱為"0"或"ON"。電壓在-3V~-15V(一般使用-6V)稱為"1"或"OFF";計算機上的RS232"高電位"約為9V,而"低電位"則約為-9V。 RS232為全雙工工作模式,其信號的電壓是參考地線而得到的,可以同時進行數(shù)據(jù)的傳送和接收。在實際應(yīng)用中采用RS232接口,信號的傳輸距離可以達到15m。不過RS232只具有單站功能,即一對一通信。 2.RS485接口 RS485采用正負兩根信號線作為傳輸線路。兩線間的電壓差為+2V~6V表示邏輯"1":兩線間的電壓差為-2V~6V表示邏輯"0"。 RS485為半雙工工作模式,其信號由正負兩條線路信號準位相減而得,是差分輸入方式,抗共模干擾能力強,即抗噪聲干擾性好;實際應(yīng)用中其傳輸距離可達1200米。RS485具有多站能力,即一對多的主從通信。 在串行通信中,數(shù)據(jù)通常是在兩個站之間傳送,按照數(shù)據(jù)在通信線路上的傳送方向可分為3種基本的傳送方式:單工、半雙工和全雙工,如圖11-4所示。 (點擊查看大圖)圖11-4 單工、半雙工和全雙工通信 單工通信使用一根導(dǎo)線,信號的傳送方和接收方有明確的方向性。也就是說,通信只在一個方向上進行。 若使用同一根傳輸線既作為接收線路又作為發(fā)送線路,雖然數(shù)據(jù)可以在兩個方向上傳送,但通信雙方不能同時收發(fā)數(shù)據(jù),這樣的傳送方式稱為半雙工。采用半雙工方式時,通信系統(tǒng)每一端的發(fā)送器和接收器,通過收發(fā)開關(guān)分時轉(zhuǎn)接到通信線上,進行方向的切換。 當(dāng)數(shù)據(jù)的發(fā)送和接收,分別由兩根不同的傳輸線傳送時,通信雙方都能在同一時刻進行發(fā)送和接收操作,這樣的傳送方式就是全雙工。在全雙工方式下,通信系統(tǒng)的每一端都設(shè)置了發(fā)送器和接收器,因此,能控制數(shù)據(jù)同時在兩個方向上傳輸。全雙工方式無須進行方向的切換。 串行通信可分為兩種類型,一種是同步通信,另一種是異步通信。采用同步通信時,將所有字符組成一個組,這樣,字符可以一個接一個地傳輸,但是,在每組信息的開始要加上同步字符,在沒有信息要傳輸時,填上空字符,因為同步傳輸不允許有空隙。采用異步通信時,兩個字符之間的傳輸間隔是任意的,所以,每個字符的前后都要用一些數(shù)據(jù)位來作為分隔位。比較起來,在傳輸率相同時,同步通信方式下的信息有效率要比異步方式高,因為同步方式的非數(shù)據(jù)信息比例比較小。但是,從另一方面看,同步方式要求進行信息傳輸?shù)碾p方必須用同一個時鐘進行協(xié)調(diào),正是這個時鐘確定了同步串行傳輸過程中每一個信息位的位置。這樣一來,如果采用同步方式,那么,在傳輸數(shù)據(jù)的同時,還必須傳輸時鐘信號。而在異步方式下,接收方的時鐘頻率和發(fā)送方的時鐘頻率不必完全一樣,而只要比較相近,即不超過一定的允許范圍就行了。在數(shù)據(jù)傳輸中,較為廣泛采用的是異步通信,異步通信的標準數(shù)據(jù)格式如圖11-5所示。 (點擊查看大圖)圖11-5 異步通信數(shù)據(jù)格式 從圖11-5所列格式可以看出,異步通信的特點是一個字符一個字符地傳輸,并且每個字符的傳送總是以起始位開始,以停止位結(jié)束,字符之間沒有固定的時間間隔要求。每一次有一個起始位,緊接著是5~8個的數(shù)據(jù)位,再后為校驗位,可以是奇檢驗,也可以是偶校驗,也可不設(shè)置,Z后是1比特,或1比特半,或2比特的停止位,停止位后面是不定長度的空閑位。停止位和空閑位都規(guī)定為高電平,這樣就保證起始位開始處一定有一個下降沿,以此標識開始傳送數(shù)據(jù)。

    贊(4)

    回復(fù)(0)

    評論

  • 夢魘bd7l5y 2011-04-17 00:00:00
    1、51系列單片機的串口有4個模式,可分別用作串并轉(zhuǎn)換、并串轉(zhuǎn)換、異步串行通信(2種模式)。異步串行通信中,有1+8+1和1+8+1+1兩種幀格式,多機通信是特殊的通信方式。 2、基本原理是兩組移位寄存器。將并行通信轉(zhuǎn)換成串行通信模式(發(fā)送部分),或反之(接收部分)??扇p工運行。 3、速度通過移位脈沖決定。具體一般通過定時器1的自動裝載模式產(chǎn)生的溢出脈沖給出。 4、電平上采用的是CMOS邏輯。 5、以上是物理層和數(shù)據(jù)鏈路層的單片機串口模塊的約定,其他層需要軟件人員根據(jù)需要自行把握。另外,電平需要根據(jù)實際通信環(huán)境做變換,如232、485或紅外等。

    贊(15)

    回復(fù)(0)

    評論

  • 也迷糊呢 2011-04-16 00:00:00
    將一個或多個字節(jié)一位一位地通過串行總線按照一定的頻率(波特率)發(fā)送出去就是串口通訊,接收方和發(fā)送方要有相同的物理設(shè)置(如波特率)和協(xié)議設(shè)置

    贊(20)

    回復(fù)(0)

    評論

  • 897600865 2018-04-11 00:00:00
    串行通信的基本原理: 串行端口的本質(zhì)功能是作為CPU和串行設(shè)備間的編碼轉(zhuǎn)換器。當(dāng)數(shù)據(jù)從 CPU經(jīng)過串行端口發(fā)送出去時,字節(jié)數(shù)據(jù)轉(zhuǎn)換為串行的位。在接收數(shù)據(jù)時,串行的位被轉(zhuǎn)換為字節(jié)數(shù)據(jù)。 在Windows環(huán)境(Windows NT、Win98、Windows2000)下,串口是系統(tǒng)資源的一部分。 應(yīng)用程序要使用串口進行通信,必須在使用之前向操作系統(tǒng)提出資源申請要求(打開串口),通信完成后必須釋放資源(關(guān)閉串口)。

    贊(2)

    回復(fù)(0)

    評論

熱門問答

單片機串口通信原理
 
2011-04-15 07:22:02 506 4
電子負載與單片機怎么實現(xiàn)串口通信
 
2014-07-15 00:25:30 537 2
力控組態(tài)軟件怎樣和單片機串口通信
想用力控做一個界面實現(xiàn)和單片機串口通信,請高手指教... 想用力控做一個界面實現(xiàn)和單片機串口通信,請高手指教 展開
2012-12-06 05:02:57 392 3
labview課設(shè),串口通信,求個單片機程序
具體要求如下;【設(shè)計內(nèi)容】1、編制單片機程序,實現(xiàn)在LED上顯示指定的字符串并進行調(diào)試。2、編制虛擬儀器軟件,可以通過串口實現(xiàn)與單片機的通迅,可以向單片機發(fā)送規(guī)定的字符串并在單... 具體要求如下; 【 設(shè)計內(nèi)容 】 1、編制單片機程序,實現(xiàn)在LED上顯示指定的字符串并進行調(diào)試。 2、編制虛擬儀器軟件,可以通過串口實現(xiàn)與單片機的通迅,可以向單片機發(fā)送規(guī)定的字符串并在單片機試驗箱的LED顯示器上顯示。 3、實驗設(shè)備為:計算機、單片機試驗箱、串口數(shù)據(jù)線。 【 設(shè)計要求 】 1、程序能夠連續(xù)運行,可在字符型控件中輸入字符串,點擊發(fā)送鍵可以向單片機發(fā)送該字符串。 2、單片機在接受字符串后,在LED上進行顯示,要求字符顯示正確,當(dāng)發(fā)送的字符串較長時,應(yīng)能逐個字符顯示。 3、編程實現(xiàn),界面友好,操作方便。 展開
2012-06-15 03:39:22 491 3
modbus rtu串口通信
公司買了一個溫度巡檢儀,功能有限,我想通過自己做的軟件來增強巡檢儀的功能,但對串口通信編程知之甚少?,F(xiàn)通過監(jiān)控原程序得到以下數(shù)據(jù):write requests: 01 03 00 01 00 01 D5 CA 01 01 00 50 00 20 3D C3 01 03 00 60 00 10 44 18 read requests: 01 03... 公司買了一個溫度巡檢儀,功能有限,我想通過自己做的軟件來增強巡檢儀的功能,但對串口通信編程知之甚少?,F(xiàn)通過監(jiān)控原程序得到以下數(shù)據(jù):write requests: 01 03 00 01 00 01 D5 CA 01 01 00 50 00 20 3D C3 01 03 00 60 00 10 44 18 read requests: 01 03 02 00 02 39 85 01 01 04 00 00 00 00 FB D1 01 03 20 4E 20 4E 20 4E 20 4E 20 4E 20 4E 20 4E 20 4E 20 4E 20 4E 20 4E 20 4E 20 4E 20 4E 20 4E 20 4E 20 AE 38 從中能不能翻譯出什么東西?? 后來我又根據(jù)已有資料及網(wǎng)上相關(guān)程序編寫了以下通訊程序: Private Sub Command1_Click() '發(fā)請求 Dim btSend(23) As Byte btSend(0) = &H1 '目標站號 btSend(1) = &H3 '功能碼 btSend(2) = &H0 'I0.0地址(0000)高字節(jié) btSend(3) = &H1 'i0.0地址(0000)低字節(jié) btSend(4) = &H0 '讀取個數(shù)高字節(jié) btSend(5) = &H1 '讀取個數(shù)低字節(jié) btSend(6) = &HD5 btSend(7) = &HCA btSend(8) = &H1 btSend(9) = &H1 btSend(10) = &H0 btSend(11) = &H50 btSend(12) = &H0 btSend(13) = &H20 btSend(14) = &H3D btSend(15) = &HC3 btSend(16) = &H1 btSend(17) = &H3 btSend(18) = &H0 btSend(19) = &H60 btSend(20) = &H0 btSend(21) = &H10 btSend(22) = &H44 btSend(23) = &H18 ComK3.Output = CVar(btSend) Dim btReceive As Variant With ComK3 Do DoEvents Loop Until .InBufferCount = 5 .InputLen = 30 btReceive = .Input Text1.Text = Hex$(btReceive(1)) Text2.Text = Hex$(btReceive(2)) Text3.Text = Hex$(btReceive(3)) Text4.Text = Hex$(btReceive(4)) ' Text5.Text = Hex$(btReceive(5)) 'Text6.Text = Hex$(btReceive(6)) ' Text7.Text = Hex$(btReceive(7)) ' Text8.Text = Hex$(btReceive(8)) ' Text9.Text = Hex$(btReceive(9)) ' Text10.Text = Hex$(btReceive(10)) ' Text11.Text = Hex$(btReceive(11)) ' Text12.Text = Hex$(btReceive(12)) ' Text13.Text = Hex$(btReceive(13)) ' Text14.Text = Hex$(btReceive(14)) ' Text15.Text = Hex$(btReceive(15)) ' Text16.Text = Hex$(btReceive(16)) ' End If End With End Sub Private Sub Form_Load() With ComK3 .CommPort = 1 .Settings = "9600,N,8,2" .InputMode = comInputModeBinary '二進制收發(fā) .InBufferSize = 512 .OutBufferSize = 512 If (Not .PortOpen) Then .PortOpen = True End With End Sub 能收到4個亂碼,應(yīng)該是錯誤標示,原程序待CRC驗證,我驗證不出,所以先刪除了。期望大俠們幫我修改下程序 展開
2009-07-05 16:19:26 438 2
兩個單片機能不能不通過兩個MAX232直接連接進行串口通信?
單片機串口通信要通過MAX232進行電平轉(zhuǎn)換,兩個單片機通常需要兩片,這樣相當(dāng)于電平轉(zhuǎn)換了兩次,也就是又轉(zhuǎn)換回了初試的TTL電平,那么能不能直接不用MAX232.兩個單片機之間直接是TTL電平通信呢?
2012-07-01 09:05:37 501 7
總線通信與串口通信有什么區(qū)別
請教下大蝦們,常說的總線有profibus、can、modbus、FF、devicenet等,這些是不是以走什么協(xié)議來命名的?那我可以說:“它走can協(xié)議嗎?”而常見的串口通信modbus,MPI,PPI等與總線通信... 請教下大蝦們,常說的總線有profibus、can、modbus、FF、devicenet等,這些是不是以走什么協(xié)議來命名的?那我可以說:“它走can協(xié)議嗎?”而常見的串口通信modbus, MPI , PPI等與總線通信有什么區(qū)別呢? 展開
2017-09-03 18:20:12 568 1
串口通信和串行通信有什么區(qū)別?
 
2017-09-03 22:50:26 609 2
51單片機串口通訊
51單片機串口是不是全雙工的,我記得書上寫的是,但是用中斷的話,又想發(fā)送和接收同時進行,程序怎么寫?按理說在中斷里根據(jù)是RI=1還是TI=1是可以判斷接收引起的中斷還是發(fā)送引起的中... 51單片機串口是不是全雙工的,我記得書上寫的是,但是用中斷的話,又想發(fā)送和接收同時進行,程序怎么寫?按理說在中斷里根據(jù)是RI=1還是TI=1是可以判斷接收引起的中斷還是發(fā)送引起的中斷,但是發(fā)送和接收同時進行是不是會出現(xiàn)RI和TI同時為1?對此很困惑,總覺得不是全雙工,哪位幫我解釋一下,謝謝! 展開
2016-10-16 04:46:14 485 1
壓力傳感器串口通信的問題
Z近在用壓力傳感器在做串口通信,需要將壓力傳感器傳出的數(shù)據(jù)通過串口解析然后保存到數(shù)據(jù)庫中??墒窃谥亓?,也就是壓力不變的情況下,串口接收到的數(shù)據(jù)一直在循環(huán)變化。到底哪些才是... Z近在用壓力傳感器在做串口通信,需要將壓力傳感器傳出的數(shù)據(jù)通過串口解析然后保存到數(shù)據(jù)庫中??墒窃谥亓?,也就是壓力不變的情況下,串口接收到的數(shù)據(jù)一直在循環(huán)變化。到底哪些才是需要的數(shù)據(jù)格式呢?壓力不可能在一直變化的啊。接收到的數(shù)據(jù)應(yīng)該如何解析呢?如何轉(zhuǎn)化為我們所需要的壓力數(shù)值呢?(壓力傳感器沒有什么協(xié)議之類的描述,只給了模擬量和壓力之間的計算公式)。 大神求指點?。。?! 我們購買的壓力傳感器輸出的是模擬信號,我們用了ADC將其轉(zhuǎn)化為數(shù)值信號,但是輸出的數(shù)據(jù)格式不知道如何解析。另外,有測量介質(zhì)是固體的數(shù)字壓力傳感器嗎?我查了好像大部分數(shù)字壓力傳感器都是測液壓和氣壓的啊,沒有測量固體壓力的。高手幫忙??! 展開
2013-04-26 08:49:26 480 2
63201電子負載如何設(shè)置串口通信
 
2015-06-02 13:50:35 401 1
九針串口通信連接線的接法
九針串口通信連接線的接法是不是只要用到三根線就可以,其中,公對公母對母,,公對母各是怎么樣接的用,數(shù)字123456789表示就可以啦希望高手能說明白一點... 九針串口通信連接線的接法 是不是只要用到三根線就可以, 其中,公對公 母對母,,公對母 各是怎么樣接的 用,數(shù)字 123456789 表示就可以啦 希望高手能說明白一點 展開
2013-03-26 10:18:50 956 4
設(shè)計一個用8250實現(xiàn)串口通信
 
2011-06-17 03:16:24 357 2
實現(xiàn)串口通信分析用什么軟件
 
2015-12-20 17:06:57 406 1
80C51單片機的串口異步通信時,方式1時,SM2=0和SM2=1有什么區(qū)別?
注意,是區(qū)別,分別為0和1時具體的過程的區(qū)別是什么呢?謝謝各位大俠!~... 注意,是區(qū)別,分別為0和1時具體的過程的區(qū)別是什么呢?謝謝各位大俠!~ 展開
2011-06-05 14:32:30 461 3
如何利用OMRON CP1H串口進行Modbus-RTU通信
 
2018-11-18 18:31:24 500 0
如何利用OMRON CP1H串口進行Modbus-RTU通信
 
2017-01-04 16:07:30 424 1
基于LabVIEW的加速度傳感器串口通信設(shè)計怎么做
 
2018-11-18 02:59:19 394 0
一臺計算機上兩個串口如何實現(xiàn)通信?
 
2018-03-13 13:48:56 469 1
一臺計算機上兩個串口如何實現(xiàn)通信
 
2013-04-23 05:14:16 588 3

4月突出貢獻榜

推薦主頁

最新話題