【51單片機(jī)系列】proteus仿真單片機(jī)的串口通信

本文參考:https://zhuanlan.zhihu.com/p/425809292。

在proteus之外使用串口軟件和單片機(jī)通信。通過(guò)在proteus設(shè)計(jì)一個(gè)單片機(jī)接收PC發(fā)送的數(shù)據(jù),并將接收的數(shù)據(jù)發(fā)送出去,利用軟件【Configure Virtual Serial Port Driver】創(chuàng)建一對(duì)虛擬串口,利用軟件【串口助手】向單片機(jī)發(fā)送數(shù)據(jù)。

proteus仿真電路圖如下:

proteus仿真電路圖

COMPIM器件是COM Port Physical Interface Model串口物理端口模型。proteus中的COMPIM是標(biāo)準(zhǔn)的RS-323端口,可直接使用電腦的物理串口通信,即COMPIM是通過(guò)電腦的物理串口進(jìn)行實(shí)際通信的。

也就是說(shuō)proteus仿真利用COMPIM通過(guò)電腦的串口與外界的其它設(shè)備進(jìn)行通信。

需要注意的是COMPIM與單片機(jī)的接法:?jiǎn)纹瑱C(jī)的RXD引腳與COMPIM的RXD引腳連接,單片機(jī)的TXD引腳與COMPIM的TXD引腳連接。

設(shè)置COMPIM的參數(shù),按照需求設(shè)計(jì)。如下,設(shè)置COM端口號(hào)為COM2,波特率為9600bps。要注意單片機(jī)的波特率要和各個(gè)串口波特率一致;串口選擇了COM2表示單片機(jī)在COM2邏輯上是相互的,串口上收到的信息,也就是單片機(jī)收到的信息,單片機(jī)發(fā)送的信息就會(huì)從COM3發(fā)出。

COMPIM屬性設(shè)置

使用軟件【Configure Virtual Serial Port Driver】查看或創(chuàng)建當(dāng)前的端口號(hào),打開(kāi)軟件如下。電腦中只有一個(gè)物理端口COM1,可以添加虛擬端口對(duì),點(diǎn)擊【Add pair】即可。這時(shí)COM2和COM3是相連的,只要在串口助手中監(jiān)視COM3即可。

虛擬端口驅(qū)動(dòng)界面

打開(kāi)【串口調(diào)試助手】,設(shè)置相同的波特率,如下,然后打開(kāi)串口監(jiān)視。

串口調(diào)試助手界面

編寫(xiě)單片機(jī)的代碼,單片機(jī)接收PC(即串口助手)發(fā)送的數(shù)據(jù),并將接收到的數(shù)據(jù)發(fā)送出來(lái)。編碼如下:

/*
    實(shí)現(xiàn)功能:串口通信,proteus仿真單片機(jī)與串口通信
        接收PC機(jī)數(shù)據(jù)
        
    [2024-01-16] zoya
*/
#include <reg52.h>

typedef unsigned char u8;
typedef unsigned int u16;

#define GPIO_LED P1

void UsartInit()
{
    SCON=0x50;  // 串口工作方式1,接收數(shù)據(jù)
    TMOD=0x20;  // 定時(shí)器T1工作方式2
    TH1=TL1=0xFD;  // 波特率9600bps,不倍增
    PCON=0x00;
    ES=1;  // 打開(kāi)串口中斷允許位
    EA=1;  // 打開(kāi)CPU中斷允許位
    TR1=1;  // 啟動(dòng)計(jì)數(shù)
}
void main()
{
    UsartInit();
    while(1);
}

void ReceiveDat() interrupt 4
{
    u8 tmp;
    if(RI)
    {
        tmp=SBUF;
        RI=0;
        SBUF=tmp;
        while(!TI);
        TI=0;
    }
}

仿真結(jié)果:

proteus仿真單片機(jī)與PC通信
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容