導航:首頁 > 操作系統 > 單片機串口

單片機串口

發布時間:2022-01-13 16:30:34

1. 單片機,什麼是串列口,什麼是並行口

兩種介面都是用來傳送二進制數據的介面形式。

串列介面,一般有一根時鍾線,一根數據線,一個時鍾周期傳送二進制1位,要傳送一個位元組至少需要8個時鍾周期,串列線根數少,遠程傳輸抗干擾能力強,成本低。

並行介面,比如8位並行介面,除具備時鍾線外,還有8根數據線,另外還有幾根輔助信號線,一個時鍾8位數據全部可傳送完畢,並行線根數多,電纜成本高、容易受干擾因而距離受限(電纜長度受限)。

(1)單片機串口擴展閱讀:

單片機的硬體特性:

1、主流單片機包括CPU、4KB容量的RAM、128 KB容量的ROM、 2個16位定時/計數器、4個8位並行口、全雙工串口行口、ADC/DAC、SPI、I2C、ISP、IAP。

2、系統結構簡單,使用方便,實現模塊化。

3、單片機可靠性高,可工作到10^6 ~10^7小時無故障。

4、處理功能強,速度快。

5、低電壓,低功耗,便於生產攜帶型產品。

6、控制功能強。

7、環境適應能力強。

2. 單片機串口通信程序

串口部分沒有對,你好好看看串列口控制器SCON裡面RI和TI的用法。TI=1不是啟動發送,而是表示發送完畢。一般來說,發送一個數據,可以這樣寫:

voidSend_Char(charp)
{
SBUF=p;
while(!TI);
TI=0;
}
發送一串數據,假設是p[],那麼程序代碼可以這樣寫:
voidSend_Str(char*p)
{
chari=0;
while(p[i]!='')
{
SBUF=p[i];
while(!TI);
TI=0;
i++;
}
}

3. 怎麼配置單片機串口

最近測試涉及到底層串口代碼的修改。經過這次修改,突然發現其實自己對於串口的一些特性以前並不是十分清楚。
首先遇到的一些問題:
1)在使用IO的數據位的時候,沒有考慮校驗位所佔的位數。
2)在設置串口輸入的時候,使用懸空輸入。
關於1),在一次使用STM32串口參數9600,N,8,1與另一個 8051MCU通信的時候發現偶校驗沒有問題,但是無校驗通信就出現異常。但是,當將STM32與電腦通信的時候,偶校驗與無校驗通信又完全都是正確的。8051MCU單獨與電腦通信也都是完全正確的。查看代碼,還真不知道有什麼不對勁的。因為這段代碼,用了很長時間了。後來一個同事看代碼後,提醒說對於數據位的設置,偶校驗和無校驗是一致的,既然沒有數據位,有可能會少一位。從這點看,這段代碼可以修改看看。於是在這個地方,將偶校驗的時候數據位長度設置為9bit,無校驗的時候設置為8bit。重新測試,發現通信正常了。

4. 簡述單片機串列口的工作方式

89系列單片機的串列通信有4種工作方式:

1、方式0是同步移位寄存器方式,幀格式8位,波特率固定為fosc/12。

2、方式1是8位非同步通信方式,幀格式10位,波特率可變:T溢出率/n(n= :32或16)。

3、方式2是9位非同步通信方式,幀格式11位,波特率固定: fosc/n(n=32 或16)。

4、方式3是9位非同步通信方式,幀格式11位,波特率可變:T溢出率(m=32或16)。

方式1、2、3的區別主要表現在幀格式及波特率兩個方面。

單片機應用范圍:

單片機滲透到我們生活的各個領域。導彈的導航裝置,飛機上各種儀表的控制,計算機的網路通訊與數據傳輸,工業自動化過程的實時控制和數據處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統,錄像機、攝像機、全自動洗衣機的控制等等。

還有自動控制領域的機器人、智能儀表、醫療器械以及各種智能機械。因此,單片機的學習、開發與應用將造就一批計算機應用與智能化控制的科學家、工程師。

5. 單片機 串口

錯,RI是要手動去清0的
當單片機接收完一個位元組後,RI自動變為1,同時程序自動進入中斷程序,再中斷程序里需要將RI清0,否則中斷程序退出後,即使沒有再次收到位元組,因為RI仍為1,會再進進入中斷引起錯誤。
所以RI=0開始接收是不對的,什麼時候開始接收你不知道的,只有接收完一個位元組後你才能知道。
單片機是每收完一個位元組就中斷一次

6. 單片機串口通信

不就是發送兩個ASCII碼字元嘛,你想復雜了吧

7. 單片機串口作用

進行兩線制通信,通過電平轉換(MAX232)可與計算機通信
也可單片機間相互通信

8. 單片機串口通信

「比如P1=SBUF;按照常理說應該是。發送數據才對啊。通過電腦給SBUF賦值,然後在送入P1口。」
SBUF在等號右邊,你什麼時候見過賦值放到右邊的?
這個語句實際上就是先從SBUF中讀取數據(接收),之後通過P1口輸出。

9. 單片機串口

把死循環里改一下:

while(1)
{
if(a==6)
{
p1=!p1;
}
else
{
p2=!p2;
}

delay(250); //250ms,變化效果明顯一點
}

如果上面這樣改後,還是不能通訊,你要看以下兩個問題:
1、用數字示波器看單片機接收端能否接收到電腦傳來的數據,判斷硬體是否連接正常。電腦串口DB9上的第五腳要與單片機系統共地,這些東西都別忽略了。
2、好好看看單片機通訊設置的數據格式是否與電腦上串口調試小程序中的數據格式是否一致,不止包括波特率,還有起始位,校驗位,停止位等,是否確定完全一致?如果不一致,上位機發十六進制數06,下位機接收到的就不一定是06,很可能是其它數字,這是兩端通訊設置問題,往往容易出錯。

10. 單片機的串口真的需要嗎

單片機有獨立的運算器。存儲器。有一套完整的指令系統,可以單獨工作,pc機只是對它裝載程序用,具體操作還是單片機完成

閱讀全文

與單片機串口相關的資料

熱點內容
精品php源碼 瀏覽:956
自己編寫雲伺服器搶紅包 瀏覽:199
java解壓縮文件加密 瀏覽:884
dlink列印伺服器默認地址 瀏覽:349
php休眠函數 瀏覽:369
金蝶如何打開伺服器 瀏覽:762
e4a手游輔助源碼 瀏覽:774
什麼app可以實時直播 瀏覽:103
蘋果13的app閃退什麼原因 瀏覽:772
尾盤選股源碼公式 瀏覽:447
php日期運算 瀏覽:928
天龍八部長歌伺服器什麼時候開的 瀏覽:197
鬼泣4模型在那個文件夾 瀏覽:226
單片機的串列口 瀏覽:55
phpjson轉化為數組 瀏覽:265
pdf導入excel 瀏覽:425
蘋果xsmax信任app在哪裡設置 瀏覽:50
自動外鏈php源碼 瀏覽:242
我的世界新手獎勵箱命令 瀏覽:143
linux更新vim 瀏覽:995