一、借助虛擬串口驅(qū)動(dòng)軟件模擬PC端串口調(diào)試助手軟件與Proteus中51單片機(jī)相互通信原理
虛擬終端(比如:Proteus中51單片機(jī))的TXD(發(fā)送數(shù)據(jù))和RXD(接收數(shù)據(jù))分別與虛擬串口驅(qū)動(dòng)軟件所模擬出其中一個(gè)虛擬串口的TXD(發(fā)送數(shù)據(jù))和RXD(接收數(shù)據(jù))一一對(duì)應(yīng)接通后,再與虛擬串口驅(qū)動(dòng)軟件所模擬出另外一個(gè)虛擬串口的TXD(發(fā)送數(shù)據(jù))和RXD(接收數(shù)據(jù))交叉對(duì)應(yīng)接通來(lái)相互發(fā)送和接收數(shù)據(jù),從而實(shí)現(xiàn)相互通信。
二、借助虛擬串口驅(qū)動(dòng)軟件模擬PC端串口調(diào)試助手軟件與Proteus中51單片機(jī)相互通信原理圖
三、虛擬通信串口驅(qū)動(dòng)軟件操作
(1)、虛擬通信串口驅(qū)動(dòng)軟件所模擬出虛擬串口間通信原理。
虛擬串口驅(qū)動(dòng)軟件所模擬出虛擬串口的TXD(發(fā)送數(shù)據(jù))和RXD(接收數(shù)據(jù))交叉對(duì)應(yīng)接通來(lái)相互發(fā)送和接收數(shù)據(jù),從而實(shí)現(xiàn)相互通信。
(2)、虛擬通信串口驅(qū)動(dòng)軟件所模擬出虛擬串口間通信原理圖。
(3)、下載虛擬通信串口驅(qū)動(dòng)軟件,安裝完成后的圖標(biāo),如下所示。
(4)、雙擊打開(kāi)虛擬通信串口驅(qū)動(dòng)軟件圖標(biāo),彈出以下界面。
(5)、在虛擬通信串口驅(qū)動(dòng)軟件界面點(diǎn)擊“添加端口”,左邊Virtual Serial Port Driver欄下Virtual port處出現(xiàn)添加兩個(gè)虛擬通信串口:COM2與COM3。
(6)、右鍵點(diǎn)擊電腦上的計(jì)算機(jī),在彈出列表中選中屬性,會(huì)彈出一個(gè)關(guān)于電腦控制面板的信息界面,點(diǎn)擊左上邊設(shè)備管理器,彈出設(shè)備管理器界面,找到端口項(xiàng)點(diǎn)開(kāi),出現(xiàn)新增兩個(gè)虛擬通信串口:COM2->COM3與COM3->COM2。
四、PC端串口調(diào)試助手軟件與Proteus中51單片機(jī)相互通信的單片機(jī)C語(yǔ)言程序與Proteus仿真電路圖
(1)、燒寫(xiě)PC端串口調(diào)試助手軟件與Proteus中51單片機(jī)相互通信的單片機(jī)C語(yǔ)言程序
#includevoid main() { TMOD=0x20;//定時(shí)器工作方式為方式2,8位自動(dòng)重裝。 TH1=0xfd;//初始化計(jì)數(shù)器高8位:1111 1101,對(duì)應(yīng)波特率為9600。 TL1=0xfd;//初始化計(jì)數(shù)器低8位 TR1=1;//啟動(dòng)定時(shí)器1 SM0=0;//設(shè)定串口工作方式1(10位異步通信) SM1=1;//設(shè)定串口工作方式1 REN=1;//打開(kāi)串口中斷接收允許 PCON = 0;//波特率不加倍 P1 = SBUF;//表示PC端串口調(diào)試助手給單片機(jī)接收數(shù)據(jù)緩存寄存器發(fā)送某數(shù)據(jù),然后單片機(jī)接收數(shù)據(jù)緩存寄存器接收PC端串口調(diào)試助手發(fā)來(lái)的某數(shù)據(jù),并賦給P1端口。 while(!RI);//判斷串口接收中斷標(biāo)志位是否為1,若為1則單片機(jī)發(fā)送數(shù)據(jù)緩存寄存器給PC端串口調(diào)試助手發(fā)送數(shù)據(jù)結(jié)束。 RI = 0;//表示單片機(jī)接收數(shù)據(jù)緩存寄存器可重新接收PC端串口調(diào)試助手發(fā)送數(shù)據(jù)。 SBUF = P1;//表示單片機(jī)接收數(shù)據(jù)緩存寄存器把從PC端串口調(diào)試助手獲取的某數(shù)據(jù)(用P1端口表示)賦給單片機(jī)發(fā)送數(shù)據(jù)緩存寄存器。 while(!TI);//判斷串口發(fā)送中斷標(biāo)志位是否為1,若為1則單片機(jī)發(fā)送數(shù)據(jù)緩存寄存器給PC端串口調(diào)試助手發(fā)送數(shù)據(jù)結(jié)束。 TI = 0;//TI(即串口發(fā)送中斷標(biāo)志位)=0,表示單片機(jī)發(fā)送數(shù)據(jù)緩存寄存器可重新給PC端串口調(diào)試助手發(fā)送數(shù)據(jù)。 }
(2)、PC端串口調(diào)試助手軟件與Proteus中51單片機(jī)相互通信的Proteus仿真電路圖
(3)、右鍵點(diǎn)擊Proteus仿真電路圖中的COMPIM元件,在彈出列表中選中編輯屬性,會(huì)彈出一個(gè)編輯元件的信息界面,在Physical port處將通信串口COM1改為通信串口COM3,在Physical Baud Rate將4800改為9600,在Virtual Baud Rate處將4800改為9600,其它不變,之后點(diǎn)擊確定。
五、PC端串口調(diào)試助手軟件操作
(1)、下載PC端串口調(diào)試助手軟件,安裝完成后的圖標(biāo),如下所示。
(2)、雙擊打開(kāi)PC端串口調(diào)試助手軟件圖標(biāo),彈出以下界面。
(3)、在PC端串口調(diào)試助手軟件界面串口處將通信串口COM1改為通信串口COM2,在波特率處將4800改為9600,選上十六進(jìn)制顯示及十六進(jìn)制發(fā)送,點(diǎn)擊“打開(kāi)串口”。
(4)、在PC端串口調(diào)試助手軟件界面點(diǎn)擊“打開(kāi)串口”彈出的界面
(5)、回到虛擬串口驅(qū)動(dòng)軟件界面,Virtual Serial Port Driver欄下Virtual port處的通信串口COM2出現(xiàn)[9600-N-8-1],表示PC端串口調(diào)試助手的通信串口COM2已激活。
(6)、回到PC端串口調(diào)試助手軟件與Proteus中51單片機(jī)相互通信的Proteus仿真電路圖界面,啟動(dòng)Proteus仿真電路。
(7)、再次回到虛擬串口驅(qū)動(dòng)軟件界面,Virtual Serial Port Driver欄下Virtual port處的通信串口COM3出現(xiàn)[9600-N-8-1],表示Proteus仿真電路圖中51單片機(jī)借助COMPIM元件(RS-232串口(即9針端口)與MAX232芯片結(jié)合體)激活通信串口COM3。
六、PC端串口調(diào)試助手軟件與Proteus中51單片機(jī)相互通信(注意:先啟動(dòng)PC端串口調(diào)試助手軟件中的串口,再運(yùn)行Proteus仿真電路,否則PC端串口調(diào)試助手軟件與Proteus中51單片機(jī)無(wú)法相互通信。)
(1)、在PC端串口調(diào)試助手軟件界面的“發(fā)送的字符/數(shù)據(jù)”右邊長(zhǎng)條輸入框輸入發(fā)送給Proteus仿真電路圖中51單片機(jī)的數(shù)據(jù)。
(2)、Proteus中51單片機(jī)未接到PC端串口調(diào)試助手軟件發(fā)送數(shù)據(jù)的初始狀態(tài)。
(3)、在PC端串口調(diào)試助手軟件界面的“發(fā)送的字符/數(shù)據(jù)”右邊長(zhǎng)條輸入框輸入發(fā)送給Proteus仿真電路圖中51單片機(jī)的數(shù)據(jù)后,點(diǎn)擊PC端串口調(diào)試助手軟件界面中的“手動(dòng)發(fā)送”,讓PC端串口調(diào)試助手軟件給Proteus中51單片機(jī)發(fā)送數(shù)據(jù)。
(4)、Proteus中51單片機(jī)接收到PC端串口調(diào)試助手軟件發(fā)送的數(shù)據(jù)。
(5)、在Proteus中51單片機(jī)接收到PC端串口調(diào)試助手軟件發(fā)送數(shù)據(jù)的同時(shí),PC端串口調(diào)試助手軟件也接收了Proteus中51單片機(jī)發(fā)送的初始狀態(tài)數(shù)據(jù)。
(6)、再次在PC端串口調(diào)試助手軟件界面的“發(fā)送的字符/數(shù)據(jù)”右邊長(zhǎng)條輸入框輸入發(fā)送給Proteus中51單片機(jī)的數(shù)據(jù)。
(7)、Proteus中51單片機(jī)未接到PC端串口調(diào)試助手軟件再次發(fā)送數(shù)據(jù)的初始狀態(tài)。
(8)、再次在PC端串口調(diào)試助手軟件界面的“發(fā)送的字符/數(shù)據(jù)”右邊長(zhǎng)條輸入框輸入發(fā)送給Proteus仿真電路圖中51單片機(jī)的數(shù)據(jù)后,點(diǎn)擊PC端串口調(diào)試助手軟件界面中的“手動(dòng)發(fā)送”,再次讓PC端串口調(diào)試助手軟件給Proteus中51單片機(jī)發(fā)送數(shù)據(jù)。
(9)、Proteus中51單片機(jī)再次接收到PC端串口調(diào)試助手軟件發(fā)送的數(shù)據(jù)。
(10)、在Proteus中51單片機(jī)接收到PC端串口調(diào)試助手軟件再次發(fā)送數(shù)據(jù)的同時(shí),PC端串口調(diào)試助手軟件也再次接收了Proteus中51單片機(jī)發(fā)送的初始狀態(tài)數(shù)據(jù)。
-
51單片機(jī)
+關(guān)注
關(guān)注
277文章
5711瀏覽量
127398 -
串口驅(qū)動(dòng)
+關(guān)注
關(guān)注
2文章
86瀏覽量
19109 -
虛擬通信
+關(guān)注
關(guān)注
0文章
3瀏覽量
6929
發(fā)布評(píng)論請(qǐng)先 登錄
基于51/32單片機(jī)按鍵控制步進(jìn)電機(jī)正反轉(zhuǎn),A4988驅(qū)動(dòng)
瑞薩Cortext-M85內(nèi)核RA8系列單片機(jī)的串口輸出實(shí)現(xiàn)方法

LabVIEW與單片機(jī)無(wú)法串口通信 提示串口打開(kāi)錯(cuò)誤 端口設(shè)置有問(wèn)題嗎?
51單片機(jī)中為什么很少出現(xiàn)printf的身影

串口通信的開(kāi)發(fā)環(huán)境配置
51單片機(jī)STC8H8K64U通過(guò)RA8889/RA8876如何控制彩屏 I2C源碼下載

基于51單片機(jī)的多路溫度檢測(cè)調(diào)節(jié)及串口顯示

基于51單片機(jī)的遙控開(kāi)關(guān)仿真(雙機(jī)通信)

評(píng)論