51单片机——UART
單片機(jī)——UART串口通信
宗旨:技術(shù)的學(xué)習(xí)是有限的,分享的精神是無限的。
對(duì)于單片機(jī)來說,通信則與傳感器、存儲(chǔ)芯片、外圍控制芯片等技術(shù)緊密結(jié)合,成為整個(gè)單片機(jī)系統(tǒng)的“神經(jīng)中樞”。
1、初步認(rèn)識(shí)
一位一位的發(fā)送出去的,要發(fā)送 8 次才能發(fā)送完一個(gè)字節(jié)。
STC89C52有兩個(gè)引腳是專門用來做 UART串行通信的,一個(gè)是 P3.0一個(gè)是 P3.1,它們還分別有另外的名字叫做 RXD和TXD,由它們組成的通信接口就叫做串行接口,簡稱串口。
波特率:發(fā)送二進(jìn)制數(shù)據(jù)位的速率,習(xí)慣上用 baud 表示;即我們發(fā)送一位二進(jìn)制數(shù)據(jù)的持續(xù)時(shí)間=1/baud。
? ? ? ? ? ? ?通信過程:在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 表示停止位。
?
2、RS232通信接口與USB轉(zhuǎn)串口通信
? ? ? ? ? ? RS232 接口一共有 9 個(gè)引腳,分別定義是: 1、載波檢測(cè) DCD; 2、接收數(shù)據(jù) RXD; 3、發(fā)送數(shù)據(jù) TXD; 4、數(shù)據(jù)終端準(zhǔn)備好 DTR; 5、信號(hào)地線 SG; 6、數(shù)據(jù)準(zhǔn)備好 DSR; 7、請(qǐng)求發(fā)送 RTS; 8、清除發(fā)送 CTS; 9、振鈴提示 RI。我們要讓這個(gè)串口和我們單片機(jī)進(jìn)行通信,我們只需要關(guān)心其中的 2 腳 RXD、 3 腳 TXD 和 5 腳 GND 即可。
? ? ? ? ? ? 負(fù)邏輯:低電平代表的是 1,而高電平代表的是 0,因此需要電平轉(zhuǎn)換芯片 MAX232。 RS232 串口和 UART 串口,它們的協(xié)議類型是一樣的,只是電平標(biāo)準(zhǔn)不同而已,而 MAX232 這個(gè)芯片起到的就是中間人的作用,它把 UART 電平轉(zhuǎn)換成 RS232 電平,也把 RS232 電平轉(zhuǎn)換成 UART 電平。
? ? ? ? ? ? USB 轉(zhuǎn)串口芯CH340T:實(shí)現(xiàn) USB通信協(xié)議和標(biāo)準(zhǔn)UART 串行通信協(xié)議的轉(zhuǎn)換。
?
3、通信的三種基本類型
單工通信就是指只允許一方向另外一方傳送信息,而另一方不能回傳信息;
半雙工通信是指數(shù)據(jù)可以在雙方之間相互傳播,但是同一時(shí)刻只能其中一方發(fā)給另外一方;
全雙工通信就發(fā)送數(shù)據(jù)的同時(shí)也能夠接收數(shù)據(jù),兩者同步進(jìn)行。
?
4、串口通信
1、配置串口為模式 1。
2、配置定時(shí)器 T1 為模式 2,即自動(dòng)重裝模式。
3、根據(jù)波特率計(jì)算 TH1 和 TL1 的初值,如果有需要可以使用 PCON 進(jìn)行波特率加倍。
4、打開定時(shí)器控制寄存器 TR1,讓定時(shí)器跑起來。
定時(shí)器的重載值計(jì)算公式為:TH1= TL1 = 256 - 晶振值/12 /2/16 /波特率
?
總結(jié)
以上是生活随笔為你收集整理的51单片机——UART的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cass小插件集合_CASS插件合集
- 下一篇: TQ210——交叉编译器的安装