『壹』 51單片機的引腳的四種模式分別是在什麼情況下用什麼模式
ALE(Address Lock Enable)功能是在訪問外部存儲器時,P0口做為地址/數據復用口,ALE信號用於鎖存低8位地址。當ALE信號為高電平時,P0口上的信息為低8位地址,在ALE信號的下降沿時將P0口上的低8位地址送到地址鎖存器鎖存起來。在ALE為低電平期間P0口上的信息為指令或數據信息。在ALE為低電平期間P0口上的信息為指令或數據信息,以實現低位地址與數據的分離。;ALE是自動運行的
『貳』 單片機通信有三種,其中應用在對講機是採用
首先弄懂串列通信和並行通信以及串口通信和並口通信的概念。
串列通行:它是一個概念,它是指數據一位一位地順序傳送,其特點就是通信線路
簡單,只要一對傳輸線就可實現雙向通信,適用於遠距離通信,但傳輸速度慢。它
包括普通的串口通信,I2C,SPI,UART...
串口通信:是一種實際通信方式,但是我們可以幾乎看成一樣.
串列介面:簡稱串口,或串列通信介面,或串列通訊介面(通常指com口)。
並行通信:如果一組數據的各數據位在多條線上同時被傳輸,那麼就是並行通信。
並口介面:就是一種介面,各數據位同時被傳輸,傳輸速度快,效率高,一邊可用於MCU。
串列通信又可分為單工,半雙工和全雙工
單工:信息只能單向傳送。
半雙工:信息能雙向傳送但不能同時。
全雙工:信息能同時雙向傳送。
串列通信還可分為同步通信和非同步通信
同步通信(兩根線):是把許多字元組成一個信息組,這樣,字元可以一個接一個地傳輸,但是,
在每組信息(通常稱為信息幀)的開始要加上同步字元,在沒有信息要傳輸時,要填上空字元,
因為同步傳輸不允許有間隙。同步方式下,發送方除了發送數據,還要傳輸同步時鍾信號,
信息傳輸的雙方用同一個時鍾信號確定傳輸過程中每1位的位置
非同步通信(一根信號線,沒有時鍾線):是一種很常用的通信方式。非同步通信在發送字元時,所發送的字元之間的時間
間隔可以是任意的。當然,接收端必須時刻做好接收的准備。發送端可以在任意時刻開始發送字元,
因此必須在每一個字元的開始和結束的地方加上標志,即加上開始位和停止位,以便使接收端能夠
正確地將每一個字元接收下來。非同步通信的好處是通信設備簡單、便宜,但傳輸效率較低(因為開始位和停止位的開銷所佔比例較大)。
同步通信與非同步通信區別:
1.同步通信要求接收端時鍾頻率和發送端時鍾頻率一致,發送端發送連續的比特流;非同步通信時
不要求接收端時鍾和發送端時鍾同步,發送端發送 完一個位元組後,可經過任意長的時間間隔再發送下一個位元組。
2.同步通信效率高;非同步通信效率較低。
3.同步通信較復雜,雙方時鍾的允許誤差較小;非同步通信簡單,雙方時鍾可允許一定誤差。
4.同步通信可用於點對多點;非同步通信只適用於點對點。
單片機中的SPI、UART、I2C
1、SPI
SPI允許單片機和外圍設備或者單片機之間高速同步數據傳輸,SPI可以有主機和從機模式之選,通信的主從機之間通過移位寄存器同時交換數據。目前自己用的以主機模式居多。SPI需要四線:SS,MISO,MOSI,SCK。
通信過程:在設置好SPI的工作模式:包括SCK頻率(數據傳輸速率),工作速度,主從模式,以及數據接收發送對應的時鍾極性。在主模式下,將SS拉低表示通信的開始,然後通過向SPI數據寄存器中寫入一位元組的數據後自動啟動時鍾SCK開始進行一次通信,通信完成後會產生相應的中斷標志,標志一個位元組數據的傳送完成。通信完成後將SS腳拉高,表示通信過程已經結束。
注意SS引腳的設置:當設置為從機模式時,SS引腳應設置為輸入,拉低的時候SPI才能起作用,拉高的話是消極的SPI模式;在主機模式下,SS引腳可以設置,一般應設置為輸出,如果設置為輸入的話應保持為高,否則將不能進行正常的主機模式操作。
2、USART
USART的操作比較簡單,主要是設置波特率,數據格式,以及中斷允許位等,值得至於的是其USART IN SPI MODE,在SPI模式下的USART的操作跟SPI操作差不多,主要是Clock的設置,然後發送數據還是通過USART的中斷進行
3、I2C
I2C介面是簡單強大的通信介面,只需要兩根雙向匯流排(時鍾和數據線),SCL和SDA,即可實現一個主機和最多128個從機進行通信。模擬I2C介面的過程:啟動I2C,一般是在SCL為高時將SDA拉低啟動數據發送,SDA只有在SCL為低時才能拉高拉低有效,在SCL為高時拉高拉低SDA只是用於停止啟動I2C通信
I2C匯流排是 內部匯流排 ,用來連接內部系統內的晶元。
串口通信是用來和系統外部的設別通信的。比如設備和設備之間通信。
SPI,UAR,I2C都是串列通信方式,並行通信方式一般用的少,因為只適合
短距離,一般用於MCU比較多,因為MCU它對數據的傳輸速度有要求,而且
與塔相連的晶元一般會比較近。
MCU 他的屬性要比CPU(這里指單片機,其他地方應該也是) 強,它包括CPU的性能,
且還有CPU沒有的性能。
『叄』 單片機串口通信原理
1.RS232介面
RS232-C介面連接器一般使用型號為DB-9的9芯插頭座,只需3條介面線,即"發送數據"、"接收數據"和"信號地"即可傳輸數據,其9個引腳的定義如圖11-3所示。
圖11-3 RS232-C介面連接器定義
在RS232的規范中,電壓值在+3V~+15V(一般使用+6V)稱為"0"或"ON"。電壓在-3V~-15V(一般使用-6V)稱為"1"或"OFF";計算機上的RS232"高電位"約為9V,而"低電位"則約為-9V。
RS232為全雙工工作模式,其信號的電壓是參考地線而得到的,可以同時進行數據的傳送和接收。在實際應用中採用RS232介面,信號的傳輸距離可以達到15m。不過RS232隻具有單站功能,即一對一通信。
2.RS485介面
RS485採用正負兩根信號線作為傳輸線路。兩線間的電壓差為+2V~6V表示邏輯"1":兩線間的電壓差為-2V~6V表示邏輯"0"。
RS485為半雙工工作模式,其信號由正負兩條線路信號准位相減而得,是差分輸入方式,抗共模干擾能力強,即抗雜訊干擾性好;實際應用中其傳輸距離可達1200米。RS485具有多站能力,即一對多的主從通信。
在串列通信中,數據通常是在兩個站之間傳送,按照數據在通信線路上的傳送方向可分為3種基本的傳送方式:單工、半雙工和全雙工,如圖11-4所示。
(點擊查看大圖)圖11-4 單工、半雙工和全雙工通信
單工通信使用一根導線,信號的傳送方和接收方有明確的方向性。也就是說,通信只在一個方向上進行。
若使用同一根傳輸線既作為接收線路又作為發送線路,雖然數據可以在兩個方向上傳送,但通信雙方不能同時收發數據,這樣的傳送方式稱為半雙工。採用半雙工方式時,通信系統每一端的發送器和接收器,通過收發開關分時轉接到通信線上,進行方向的切換。
當數據的發送和接收,分別由兩根不同的傳輸線傳送時,通信雙方都能在同一時刻進行發送和接收操作,這樣的傳送方式就是全雙工。在全雙工方式下,通信系統的每一端都設置了發送器和接收器,因此,能控制數據同時在兩個方向上傳輸。全雙工方式無須進行方向的切換。
串列通信可分為兩種類型,一種是同步通信,另一種是非同步通信。採用同步通信時,將所有字元組成一個組,這樣,字元可以一個接一個地傳輸,但是,在每組信息的開始要加上同步字元,在沒有信息要傳輸時,填上空字元,因為同步傳輸不允許有空隙。採用非同步通信時,兩個字元之間的傳輸間隔是任意的,所以,每個字元的前後都要用一些數據位來作為分隔位。比較起來,在傳輸率相同時,同步通信方式下的信息有效率要比非同步方式高,因為同步方式的非數據信息比例比較小。但是,從另一方面看,同步方式要求進行信息傳輸的雙方必須用同一個時鍾進行協調,正是這個時鍾確定了同步串列傳輸過程中每一個信息位的位置。這樣一來,如果採用同步方式,那麼,在傳輸數據的同時,還必須傳輸時鍾信號。而在非同步方式下,接收方的時鍾頻率和發送方的時鍾頻率不必完全一樣,而只要比較相近,即不超過一定的允許范圍就行了。在數據傳輸中,較為廣泛採用的是非同步通信,非同步通信的標准數據格式如圖11-5所示。
(點擊查看大圖)圖11-5 非同步通信數據格式
從圖11-5所列格式可以看出,非同步通信的特點是一個字元一個字元地傳輸,並且每個字元的傳送總是以起始位開始,以停止位結束,字元之間沒有固定的時間間隔要求。每一次有一個起始位,緊接著是5~8個的數據位,再後為校驗位,可以是奇檢驗,也可以是偶校驗,也可不設置,最後是1比特,或1比特半,或2比特的停止位,停止位後面是不定長度的空閑位。停止位和空閑位都規定為高電平,這樣就保證起始位開始處一定有一個下降沿,以此標識開始傳送數據。
『肆』 51單片機串列通信工作方式的選擇原則、即什麼情況下選方式0方式1或方式2或方式3
這種問題很空泛,也只能空泛地回答你:根據需要選擇。
首先你得明白這幾種工作方式各自的特點。簡單來說,模式0多用於實現與外部移位寄存器的介面;模式1、2、3多用於與外部設備的非同步串列通信,其中模式1不帶第8位、波特率可調;模式2帶第8位、波特率固定;模式3帶第8位、波特率可調。
『伍』 單片機的幾種傳輸方式的總結
學習了51單片機以及STM32後總結下單片機與外設或者上位機通訊的幾種傳輸方式
串口、COM口是指的物理介面形式(硬體)。而TTL、RS-232、RS-485是指的電平標准(電信號)
串列通信:指數據一位一位順序傳送
串列介面:簡稱串口(COM口)
並行通信:一組數據的各數據位在多線上同時被傳輸
並行介面:一種介面,各數據位同時被傳輸,傳輸速度快,效率高,一般用於MCU
串列通信分為:
單工:數據單項傳送
半雙工:數據能雙向傳送但不能同時
全雙工:數據能同時雙向傳送
通用的、及支持同步也支持非同步的接收、發送「模塊」,在晶元內部,與SPI、I2C一起構成單片機的匯流排「枝幹」,對於串口,串口通信指串口按位(bit)發送和接收位元組,盡管比按位元組(byte)的並行通信慢,但是串口可以在使用一根線發送數據的同時用另一根線接收數據。
串列通信技術標准EIA-232/485也就是以前所稱的RS-232/485。
232是PC機與通信工業中應用最廣泛的一種串列介面,RS232單端通信,傳輸距離可達15米,最高速率20Kbps。
RS485傳輸速率為10Mbps,最大傳輸距離1219米,,採用二線制時可實現真正的多點雙向通信,而采
用四線連接時只能實現點對多點通信,無論四線還是二線連接方式匯流排上可接多達 32 個設備。
串列通信傳輸速率用於說明傳輸的快慢。在串列通信中,數據是按位進
行傳送的,因此傳輸速率用每秒鍾傳送格式位的數目來表示,稱之波特率
(band rate)。每秒傳送一個格式位就是 1 波特。常用的波特率有:4800、
9600、19200、115200 波特。
串口三個腳:TX、RX、GND
IIC匯流排是一種兩線式串列匯流排,支持多主控,其中任何能夠進行發送和接收的設備都可以成為主匯流排,一個主控能夠控制信號的傳輸和時鍾頻率,當然在任何時間點上只能有一個主控。IIC匯流排是由數據線SDA和時鍾SCl構成的串列匯流排,可發送和接收數據,在CPU與被控IC之間,IC與IC之間進行雙向傳送,最高傳送速率100Kbps,各種被控制電路均並聯在這條匯流排上,每個設備模塊都有唯一的地址,IIC匯流排上的每一個設備模塊既是主控器或被控器,又是發送器或接收器,這取決於你要實現的功能是怎樣的。
CPU發出的控制信號分為地址碼和控制量兩部分
IIC匯流排傳輸過程中有三種信號:起始信號,終止信號,應答信號。
起始信號:SCL 為高電平時,SDA 由高電平向低電平跳變,開始傳送數據;
終止信號:SCL 為低電平時,SDA 由低電平向高電平跳變,結束傳送數據;
應答信號:接收數據的 IC 在接收到 8bit 數據後,向發送數據的 IC 發出
特定的低電平脈沖,表示已收到數據。CPU 向受控單元發出一個信號後,
等待受控單元發出一個應答信號,CPU 接收到應答信號後,根據實際情
況作出是否繼續傳遞信號的判斷。若未收到應答信號,由判斷為受控單
元出現故障。
SPI允許單片機和外圍設備或者單片機之間高速同步數據傳輸,SPI可以有主機和從機模式之選,通信的主從機之間通過移位寄存器同時交換數據。目前自己用的以主機模式居多。SPI需要四線:SS,MISO,MOSI,SCK。
通信過程:在設置好SPI的工作模式:包括SCK頻率(數據傳輸速率),工作速度,主從模式,以及數據接收發送對應的時鍾極性。在主模式下,將SS拉低表示通信的開始,然後通過向SPI數據寄存器中寫入一位元組的數據後自動啟動時鍾SCK開始進行一次通信,通信完成後會產生相應的中斷標志,標志一個位元組數據的傳送完成。通信完成後將SS腳拉高,表示通信過程已經結束。
注意SS引腳的設置:當設置為從機模式時,SS引腳應設置為輸入,拉低的時候SPI才能起作用,拉高的話是消極的SPI模式;在主機模式下,SS引腳可以設置,一般應設置為輸出,如果設置為輸入的話應保持為高,否則將不能進行正常的主機模式操作。
單片機通訊方式
『陸』 51單片機串列通信模式1同步信號從哪個引腳輸出
串列口定義為模式1時,是串列非同步通信方式。TXD為數據發送端(不知道是不是你要的「輸出」)8051單片機的引腳是11腳
『柒』 關於51單片機的串口方式0通訊
嚴格來說,51單片機的串口方式0,並不是用於串口通信的,只用於在RXD,TXD引腳上接有74LS164,串入/並出,或74LS165,並入串出。也就是只能與串列晶元配合使用的。
而真正用串口實現串列通信的是方式1。所以,你的程序要改成方式1。在方式1時,只有開中斷允許標志位和接收到數據後,才會申請中斷,單片機才會響應中斷。
『捌』 單片機中串口的4種工作模式怎麼設置
單片機內部有一個全雙工的串列介面 。有兩個獨立的接收、發送緩沖器SBUF(屬於特殊功能寄存器)可同時發送、接收數據。MCS-51單片機內部串列介面有4種工作模式。這4種模式分別是 :模式0、模式1、模式2、模式3。串口方式0是作為同步以為寄存器使用的,你用它可以模擬SPI 作為主機。其他三個是串口,只是每次通訊的數據位數或波特率不同而已。
『玖』 單片機IO口在作為輸入引腳是,為什麼要配置成(open drain)開漏模式
這個只是51早期的單片機。
關鍵是要設置成高阻抗。使埠讀取模塊有效。讓引腳能夠跟隨外界電壓的變化。
否則還是在輸出狀態下。一直是高或者低。外界信號完全改變不了這個引腳的狀態。
又或者不是高阻,很低的阻抗使外界的信號根本驅動不了這個引腳使其電壓翻轉。一樣達不到效果。
『拾』 單片機中各引腳的功能是什麼
對於at89c51的單片機40引腳
網上找的!希望對你有用
VCC/GND:供電電源。
P0口:可以被定義為數據/地址的低八位,能夠用於外部程序/數據存儲器。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。
P1口:標准輸入輸出I/O,P1口管腳寫入1後,被內部上拉為高,可用作輸入。在FLASH編程和校驗時,P1口作為第八位地址接收。
P2口:既可用於標准輸入輸出I/O,也可用於外部程序存儲器或數據存儲器訪問時的高八位地址。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。
P3口:既可以作標准輸入輸出I/O,也可作為AT89C51的一些特殊功能口,
管腳 備選功能
P3.0 RXD(串列輸入口)
P3.1 TXD(串列輸出口)
P3.2 /INT0(外部中斷0)
P3.3 /INT1(外部中斷1)
P3.4 T0(記時器0外部輸入)
P3.5 T1(記時器1外部輸入)
P3.6 /WR(外部數據存儲器寫選通)
P3.7 /RD(外部數據存儲器讀選通)
RST:復位輸入。當振盪器復位器件時,要保持RST腳兩個機器周期的高電平時間。
ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用於鎖存地址的地位位元組。
在FLASH編程期間,此引腳用於輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出
正脈沖信號,此頻率為振盪器頻率的1/6。
/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。
但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。
/EA / VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序
存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程
序存儲器。在FLASH編程期間,此引腳也用於施加12V編程電源(VPP)。
XTAL1:反向振盪放大器的輸入及內部時鍾工作電路的輸入。
XTAL2:來自反向振盪器的輸出。