㈠ 單片機調試串口是什麼
1、串口是一種通信方式介面。其數據一位一位地順序傳送,一般使用3條線(TX、RX、GND)連接。一般電腦的COM口(9針D形介面)也稱它為RS-232介面不能與單片機機直接相連,需要通過電平轉換模塊轉換為TTL電平方可通信。主要設置有波特率、數據位數、奇偶校驗、停止位等。單片機通信一般採用96n81配置,即波特率9600、數據位:8位、奇偶校驗:n(無)、停止位:1
2、電腦和單片機通信一般使用《串口調試助手》》軟體進行調試。
沒有串口的電腦一般採用usb轉串口(TTL)與單片機的TX、RX管腳直接連接即可調試。
㈡ 單片機串口有什麼用
問題一:單片機中串口程序的作用是什麼啊 從串口發送或接收數據。
問題二:單片機串口通信的波特率有什麼用 兩個串口之間通訊的速率,兩個串口的波特率設置成一樣才能互相發送和接收數據
問題三:單片機中串口與普通I/O口有什麼區別? 1 基本功能是一樣的,普通埠通過編程也可以完成232串口(spi,i2c)的功能。
2而大多單片機中2個串口管腳(復用,也可以做普通IO口),人家單片機廠家已經集成好了,只需操作一些寄存器和簡單編程就可以了,不需要復雜的模擬232串口進行編程了。
3,現在很多單片機都有spi,i2c集成好丹了,不需模擬編程了,簡單的控制下相應的寄存器和簡單編程可以,
問題四:單片機串列通信的實際作用???舉例來說。 單片機串列通信的實際作用:一般用於和外部設備交換數據的
舉例來說:一、比如和PC的串口機通信,單片機可以採集一些模擬量(溫度,濕度,氣體濃度等),將這些模擬量轉換成數字量後通過串列通信介面傳輸個PC機,PC機上還得編寫一個簡單的應用軟體,可以顯示這些模擬量(溫度,濕度,氣體濃度等)的值,這個簡單的應用軟體應具有串口設置,數據顯示,繪制曲線等功能。還可以通過PC機串口發送數據給單片機,用來控制單片機的工作狀態等等。和PC機通信應該是應用最廣泛的。
二、和其他串口設備通信:單片機一般充當控制器的角色,通過串口發送一定格式的數據來控制與之相連設備的動作,同時設備也會反饋回來一些自己的狀態信息給單片機,供念賀仿單片機進行判斷,做出相應的控制。
問題五:單片仔纖機中的ES和EA有什麼區別在串口中的用途 你把51系統中IE寄存器的各控制位含義搞清楚就明白了。
【1】EA,是所有中斷源的總允許位,要使能任何一個中斷源,都必須置位它。是「中斷總開關」。
【2】ES,僅是串口中斷允許位,需要串口的收或發中斷允許時,才置位它。是串口中斷的「單獨開關」。
問題六:為什麼用單片機串口通信它的優點是什麼 主要是串口通信程序編寫簡單,硬體介面簡單,而且用電腦顯示相關的調試信息,不需要藉助其他外部硬體,可以很方便地進行程序調試。
最重要的特點:程序簡單,可以方便驗證程序的正確性。
問題七:單片機調試串口是什麼 30分 1、串口是一種通信方式介面。其數據一位一位地順序傳送,一般使用3條線(TX、RX、GND)連接。一般電腦的口(9針D形介面)也稱它為RS-232介面不能與單片機機直接相連,需要通過電平轉換模塊轉換為TTL電平方可通信。主要設置有波特率、數據位數、奇偶校驗、停止位等。單片機通信一般採用96n81配置,即波特率9600、數據位:8位、奇偶校驗:n(無)、停止位:1
2、電腦和單片機通信一般使用《串口調試助手》》軟體進行調試。
沒有串口的電腦一般採用u *** 轉串口(TTL)與單片機的TX、RX管腳直接連接即可調試。
問題八:單片機串口工作的原理是什麼? 串口通信的概念非常簡單,串口按位(bit)發送和接收位元組。盡管比按位元組(byte)的並行通信慢,但是串口可以在使用一根線發送數據的同時用另一根線接收數據。它很簡單並且拍臘能夠實現遠距離通信。比如IEEE488定義並行通行狀態時,規定設備線總長不得超過20米,並且任意兩個設備間的長度不得超過2米;而對於串口而言,長度可達1200米。典型地,串口用於ASCII碼字元的傳輸。
通信使用3根線完成:(1)地線,(2)發送,(3)接收。由於串口通信是非同步的,埠能夠在一根線上發送數據同時在另一根線上接收數據。其他線用於握手,但是不是必須的。串口通信最重要的參數是波特率、數據位、停止位和奇偶校驗。對於兩個進行通信的埠,這些參數必須匹配:
a,波特率:這是一個衡量通信速度的參數。它表示每秒鍾傳送的bit的個數。例如300波特表示每秒鍾發送300個bit。當我們提到時鍾周期時,我們就是指波特率例如如果協議需要4800波特率,那麼時鍾是4800Hz。這意味著串口通信在數據線上的采樣率為4800Hz。通常電話線的波特率為14400,28800和36600。波特率可以遠遠大於這些值,但是波特率和距離成反比。高波特率常常用於放置的很近的儀器間的通信,典型的例子就是GPIB設備的通信。
b,數據位:這是衡量通信中實際數據位的參數。當計算機發送一個信息包,實際的數據不會是8位的,標準的值是5、7和8位。如何設置取決於你想傳送的信息。比如,標準的ASCII碼是0~127(7位)。擴展的ASCII碼是0~255(8位)。如果數據使用簡單的文本(標准 ASCII碼),那麼每個數據包使用7位數據。每個包是指一個位元組,包括開始/停止位,數據位和奇偶校驗位。由於實際數據位取決於通信協議的選取,術語「包」指任何通信的情況。
c,停止位:用於表示單個包的最後一位。典型的值為1,1.5和2位。由於數據是在傳輸線上定時的,並且每一個設備有其自己的時鍾,很可能在通信中兩台設備間出現了小小的不同步。因此停止位不僅僅是表示傳輸的結束,並且提供計算機校正時鍾同步的機會。適用於停止位的位數越多,不同時鍾同步的容忍程度越大,但是數據傳輸率同時也越慢。
d,奇偶校驗位:在串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。當然沒有校驗位也是可以的。對於偶和奇校驗的情況,串口會設置校驗位(數據位後面的一位),用一個值確保傳輸的數據有偶個或者奇個邏輯高位。例如,如果數據是011,那麼對於偶校驗,校驗位為0,保證邏輯高的位數是偶數個。
如果是奇校驗,校驗位位1,這樣就有3個邏輯高位。高位和低位不真正的檢查數據,簡單置位邏輯高或者邏輯低校驗。這樣使得接收設備能夠知道一個位的狀態,有機會判斷是否有雜訊干擾了通信或者是否傳輸和接收數據是否不同步。
問題九:單片機串口工作方式0,有什麼問題? STC89C516是有串口0模式的,所以亂碼,有兩個原因:
1 串口0模式是低位在先發送的,所以,你的數碼管段碼不能用普通的碼,需要改一下
2 74HC164沒有鎖存功能,你要加個74HC373來鎖存。
另外補充一下,你用74164驗證串口0,是沒有意義的,因為串口資源本來就少,你還用來轉並口,沒有實際的意義,真正的擴展,都是用SPI的74159
㈢ 51單片機串口發送「」是怎麼回事
一、51單片機串口概念
1、51單片機的串列口
51單片機的串列口是一個可編程全雙工的通信介面,具有UART(通用非同步收發器)的全部功能。
2、51單片機的硬體連接
簡單雙向串口通信有兩根數據通信線:
發送端TXD(Transmit Data)
接收端RXD(Receive Data)
TXD和RXD要交叉連接
3、51單片機串口通信的基本結構
51單片機的串列口主要是由兩個獨立的串列數據緩存器SUBF(一個發送緩存寄存器,一個接收緩存寄存器)和發送控制器、接收控制器、輸入移位寄存器及若干控制門電路組成。串列口的基本結構如圖所示:
關於SUBF:串口數據緩存寄存器,物理上是兩個獨立的寄存器,但是佔用相同的地址。寫操作時,寫入的是發送寄存器;讀操作時,讀出的是接收寄存器。
①:接收端:數據通過RXD接收引腳,再通過移位寄存器將數據轉存到接收寄存器中
②:發送端:講數據從發送寄存器中移出,通過TXD發送引腳將數據發送出去
③:波特率:通過設置定時器1的初值,獲取T1溢出率,通過SMOD模式的設置求取波特率
④:中斷:通過發送中斷標志位或接收中斷標志位是否被置位,判斷是否進入串口中斷程序,在接收數據完成後,會將RI置位,產生一個接收中斷;在發送完成後,會將TI置位,產生發送中斷
4、傳播速率——比特率
比特率是指每秒傳送的比特(bit)數。單位為bps(bit per second)也可表示為b/s,比特率越高,單位時間傳送的數據量(位數)越大。
5、波特率
在串口通信中,收發雙方對發送或接收數據的速率有約定,即雙方要有相同的波特率,我們可以通過編程對單片機串列口設定4中工作方式:
其中,T1的溢出率 = 1/T1溢出的時間
①:關於定時器1方式的選擇
在說選取定時器1方式之前插一句:這里的定時器1方式2不是串口那4中方式中的方式2;
在學習定時器的相關知識的時候,我們知道定時器有4種不同的工作方式,在串口通信的實驗中,我們選擇的是定時器1的工作方式2;
定時器T1工作於方式0:溢出所需周期數=8192-x
定時器T1工作於方式1:溢出所需周期數=65536-x
定時器T1工作於方式2:溢出所需周期數=256-x
為什麼不選擇定時器1的工作方式1:
如果我們使用定時器1的工作方式1在中斷中裝初值的方法來T1溢出率的話,在進入中斷、重裝值、出中斷這個過程中很容易產生時間上的微小的誤差,當多次操作時微小的誤差不斷累積,終會產生錯誤;
為什麼選擇定時器1的工作方式2:
因為方式2為自動重裝初值的8位定時器/計數器模式(自動重裝載就是在定時器溢出後自動裝入設定的初值,這樣的好處當然是顯而易見的,不需要在中斷伺服器裏手動賦值了,所以可以精確的定時)所以用它來做波特率發生器最恰當。
②:波特率的計算
在上面介紹串口四種方式的時候提到了波特率的計算公式,由公式可以看出,串口方式0和方式2的波特率是固定的;方式1和方式3的波特率是可變的(根據定時器T1的溢出率來控制)
話不多說,根據題來理解:
根據已知波特率,如何計算定時器1方式2下計數寄存器中的初值:
已經波特率 = 9600,系統的晶振頻率 = 12Mhz,求給TH1和TL1的初值:
由此可見,當系統的晶振頻率為12Mhz時,定時器的初值不是整數;經過計算可得,當晶振頻率為11.0592Mhz時,(256-x) = 3;
當時鍾頻率選用11.0592MHZ時,取易獲得標準的波特率,所以很多單片機系統選用這個看起來「怪」的晶振就是這個道理。
6、波特率與比特率關系與區別
碼元:在數字通信中常常用時間間隔相同的符號來表示一個 二進制數字 ,這樣的時間間隔內的信號稱為 (二進制)碼元。
在信息傳輸通道中,攜帶數據信息的信號單元叫碼元,每秒鍾通過信道傳輸的碼元數稱為碼元傳輸速率,簡稱波特率。即波特率是指數據信號對載波的調制速率,它用單位時間內載波調制狀態改變次數來表示。每秒鍾通過信道傳輸的信息量稱為位傳輸速率,簡稱比特率。比特率表示有效數據的傳輸速率。波特率與比特率的關系是比特率=波特率X單個調制狀態對應的二進制位數。波特率是傳輸通道頻寬的指標。
二、串口通信有關寄存器
1、數據緩存寄存器
SBUF是可以直接定址的專用寄存器。物理上,它對應著兩個寄存器,即一個發送寄存器一個接收寄存器,CPU寫SBUF就是修改發送寄存器;讀SBUF就是讀接收寄存器。接收器是雙緩沖的,以避免在接收下一幀數據之前,CPU未能及時的響應接收器的中斷,沒有把上一幀的數據讀走而產生兩幀數據重疊的問題。對於發送器,為了保持最大的傳輸速率,一般不需要雙緩沖,因為發送時CPU是主動的,不會產生重疊問題。
2、電源寄存器PCON
該寄存器是用來管理單片機的電源部分,包括上電復位檢測,掉電模式,空閑模式等
在串口通信中,我們僅僅需要關注SMOD這一位
SMOD = 0且串口方式為1、2、3時,波特率正常
SMOD = 1且串口方式為1、2、3時,波特率加倍
3、狀態寄存器SCON(98H)
SM0 SM1:工作方式選擇位,串列口有四種工作方式,他們由SM0和SM1設定,其對應關系表如下:
SM2:多機通信時的接收允許標志位
REN:允許串列接收位
TB8,RB8:發送接收數據的第9位,當串口工作於方式2或3 時使用到,指向的是串列傳輸的第9位數據;
1)SM2=0,在方式2或3下,TB8、RB8 發送與接收第9位奇偶校驗位;
2)SM2=1,多機通信時的接收允許位,並且在方式2或3下工作;
TI:發送中斷標志位,在方式0時,當串列發送第8位數據結束時,或在其他方式,串列發送停止位的開始時,由其內部硬體使TI置1,向CPU發出中斷申請。在中斷服務程序中,必須用軟體將其清 0,取消此中斷申請。
RI:接收中斷標志位,在方式0時,當串列接收第8位數據結束時,或在其他方式,串列接收停止位的中間時,由內部硬體使RI置1,向CPU發出中斷申請。也必須在中斷服務程序中,用軟體將其清0,取消此中斷申請。
三、串口通信代碼
串列口在工作之前,應對其進行初始化,主要是設置產生波特率的定時器1,串列口控制和中斷控制。
void usart_init()
{
TMOD = 0x20; //選擇定時器1的工作方式2
TH1 = 0xF3; //通過設置定時器1的初值來選擇波特率
TL1 = 0xf3;
TR1 = 1; //打開計數器
SCON = 0x50; //0101 0000
PCON = 0x80;
ES = 1; //打開通信中斷 ①
EA = 1; //打開總中斷 ②
}
或者
void usart_init()
{
TMOD = 0x20;
TH1 = 253;
TL1 = 253;
TR1 = 1;
SM0 = 0;
SM1 = 1;
// REN = 1
// EA = 1;
// ES = 1;
}
在編寫串口發送端程序時,無需用到接收數據和中斷服務函數,所以REN、EA、ES不需要對他們進行操作
㈣ 單片機中的串口是什麼
單片機中的串口用來進行串列通信,即數據是一位一位(二進制0或1)向外傳輸的,和並行傳遞數據相比,數據線比較少,只要1根(非同步傳輸)或2根數據線(同步傳輸)加一根地線,因此成本低,適合遠距離傳輸,而並行傳輸一次傳輸8位或16 位數據,理論上傳輸速度快,但所需數據線多,並且傳輸距離遠時存在相互干擾問題,結果近年來在一些高速傳輸場合也被串列通信替代,如USB介面(也是一種串口)列印機已基本取代並口列印機,SATA硬碟早已取代並口硬碟,連顯卡也成了串口連接
㈤ 單片機串口是什麼意思
問題一:單片機里的串口和並口是什麼?什麼意思簡單解釋下,謝謝! 串列介面 (Serial Interface) 是指數據一位一位地順序傳送,其特點是通信線路簡單,只要一對傳輸線就可以實現雙向通信(可以直接利用電話線作為傳輸線),從而大大降低了成本,特別適用於遠距離通信,但傳送速度較慢。l
問題二:單片機串口調試是什麼意思? 一般通過一根串口線將單片機與PC連接好,通過常用的串口調試助手這個軟體發數據和接收數據。調試的意貳就是看是否產品能否達到設計人員想要的通信過程。
問題三:單片機串列通信中通信什麼意思? 數模是將單片機內的數據輸出轉換為模擬信號。是單片機通過數模轉換器以模擬量的方式與外部建立聯系。
模數是將外部模擬信號變為數字信號輸入單片機。是外部模擬信號通過模數轉換器與單片機建立聯系。
串口通訊是單片機與外設之間數字信號的交互。
問題四:單片機串口作用? 進行兩線制通信,通過電平轉換(MAX232)可與計算機通信
也可單片機間相互通信
問題五:單片機中串口與普通I/O口有什麼區別? 1 基本功能是一樣的,普通埠通過編程也可以完成232串口(spi,i2c)的功能。
2而大多單片機中2個串口管腳(復用,也可以做普通IO口),人家單片機廠家已經集成好了,只需操作一些寄存器和簡單編程就可以了,不需要復雜的模擬232串口進行編程了。
3,現在很多單片機都有spi,i2c集成好丹了,不需模擬編程了,簡單的控制下相應的寄存器和簡單編程可以,
問題六:什麼是單片機串口顯示 就是通過單片機的串口傳輸數據到電腦上或者其他單片機上,然後通過顯示工具顯示出來。
問題七:單片機調試串口是什麼 30分 1、串口是一種通信方式介面。其數據一位一位地順序傳送,一般使用3條線(TX、RX、GND)連接。一般電腦的口(9針D形介面)也稱它為RS-232介面不能與單片機機直接相連,需要通過電平轉換模塊轉換為TTL電平方可通信。主要設置有波特率、數據位數、奇偶校驗、停止位等。單片機通信一般採用96n81配置,即波特率9600、數據位:8位、奇偶校驗:n(無)、停止位:1
2、電腦和單片機通信一般使用《串口調試助手》》軟體進行調試。
沒有串口的電腦一般採用u *** 轉串口(TTL)與單片機的TX、RX管腳直接連接即可調試。
問題八:單片機裡面波特率是什麼意思 波特率表示串口通信快慢,單位是bit/s
就是1秒能傳送二進制數據的位數
計算機中數據都是以二進制形式存儲的
一位二進制數稱為1比特(bit),它只能表示0和1兩個數值,8位二進制數(稱1位元組)可表示的數值范圍是0-255
問題九:單片機中的TXD RXD指什麼? RXD、TXD是Receive Data ,Tran *** it Data 的意思。 RXD 為接收數據的引腳,TXD 為發送數據的引腳。
RXD是P3.0,TXD是P3.1
問題十:單片機串列口與普通IO口區別? hi 低調136 ,
串列口是復用口,可以作為串口使用,也可以作為普通IO口。
但是其他的IO口就只能作為普通IO使用了。
因為串列口的相關管教連接著串列模塊!
如果能夠幫到你,請採納我的回答,謝謝!
Anson