在proteus之外使用串口軟件和單片機(jī)通信栅屏。通過在proteus設(shè)計(jì)一個(gè)單片機(jī)接收PC發(fā)送的數(shù)據(jù)飘千,并將接收的數(shù)據(jù)發(fā)送出去,利用軟件【Configure Virtual Serial Port Driver】創(chuàng)建一對虛擬串口栈雳,利用軟件【串口助手】向單片機(jī)發(fā)送數(shù)據(jù)护奈。
proteus仿真電路圖如下:
COMPIM器件是
COM Port Physical Interface Model
串口物理端口模型。proteus中的COMPIM是標(biāo)準(zhǔn)的RS-323端口哥纫,可直接使用電腦的物理串口通信霉旗,即COMPIM是通過電腦的物理串口進(jìn)行實(shí)際通信的。也就是說proteus仿真利用COMPIM通過電腦的串口與外界的其它設(shè)備進(jìn)行通信蛀骇。
需要注意的是COMPIM與單片機(jī)的接法:單片機(jī)的RXD引腳與COMPIM的RXD引腳連接厌秒,單片機(jī)的TXD引腳與COMPIM的TXD引腳連接。
設(shè)置COMPIM的參數(shù)擅憔,按照需求設(shè)計(jì)鸵闪。如下,設(shè)置COM端口號為COM2暑诸,波特率為9600bps蚌讼。要注意單片機(jī)的波特率要和各個(gè)串口波特率一致;串口選擇了COM2表示單片機(jī)在COM2邏輯上是相互的个榕,串口上收到的信息篡石,也就是單片機(jī)收到的信息,單片機(jī)發(fā)送的信息就會從COM3發(fā)出笛洛。
使用軟件【Configure Virtual Serial Port Driver】查看或創(chuàng)建當(dāng)前的端口號夏志,打開軟件如下。電腦中只有一個(gè)物理端口COM1苛让,可以添加虛擬端口對,點(diǎn)擊【Add pair】即可湿诊。這時(shí)COM2和COM3是相連的狱杰,只要在串口助手中監(jiān)視COM3即可。
打開【串口調(diào)試助手】厅须,設(shè)置相同的波特率仿畸,如下,然后打開串口監(jiān)視朗和。
編寫單片機(jī)的代碼错沽,單片機(jī)接收PC(即串口助手)發(fā)送的數(shù)據(jù),并將接收到的數(shù)據(jù)發(fā)送出來眶拉。編碼如下:
/*
實(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; // 打開串口中斷允許位
EA=1; // 打開CPU中斷允許位
TR1=1; // 啟動計(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é)果: