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

單片機串口

發布時間: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機只是對它裝載程序用,具體操作還是單片機完成

閱讀全文

與單片機串口相關的資料

熱點內容
手機app的視頻存在哪裡了 瀏覽:280
程序員幾年會淘汰 瀏覽:737
調試助手查詢sim卡命令 瀏覽:439
催眠程序員 瀏覽:774
python中3怎樣 瀏覽:106
米10安卓11怎麼升安卓12 瀏覽:347
安卓屏幕模式有什麼用 瀏覽:201
iphone換魅族安卓如何轉移數據 瀏覽:775
linux安裝命令rpm 瀏覽:328
太原方特app哪裡下載 瀏覽:709
小黑加密照片 瀏覽:403
安卓apaid怎麼發朋友圈 瀏覽:857
怎麼幫安卓手機換電池 瀏覽:388
python做伺服器監控 瀏覽:905
如何將pdf文件轉成jpg 瀏覽:130
破解so文件源碼 瀏覽:927
怎麼用命令符修復病毒 瀏覽:237
假裝程序員怎麼做 瀏覽:945
輕量應用伺服器怎麼改模板 瀏覽:828
網站源碼是多少文件 瀏覽:859