您的位置 首页 系统

51单片机编程-虚拟串口

串口通信在一些通信方面的项目中用的很多,但是学习起来往往条件不够充分。这里我介绍一款软件虚拟串口助你学。SUDTSerialNullV1.7http…

串口通讯在一些通讯方面的项目顶用的许多,可是学习起来往往条件不行充沛。这儿我介绍一款软件“虚拟串口”助你学。SUDT SerialNull V1.7http://www.skycn.com/soft/27579.html

1.装置结束后翻开该软件

上面为你实践的物理串行口COM3,COM4(留意我的电脑两个串口坏了,换上了PCI 串口卡(长的很像内存条),装了驱动就设置为COM3,COM4,你的没坏的话应该是COM1,COM2,新增虚拟物理串口便是COM3,COM4了),下面是虚拟的物理串行口。下面咱们来添加一对虚拟串行口。

由于一般的电脑最多为两个串行口,在这个画面上,咱们设置为com3,com4,点击add pair就能够添加一对虚拟串口(如上图所示)。这两对端口是经过这个软件物理衔接的,并且是rs232电平衔接。

这样咱们就完结里串口的设置,能够把此软件封闭,这两个端口将会一向存在于你的电脑中,下次直接运用就能够了。

翻开两个串口调试帮手。一个选COM1,发ABCDEFGHI,选中“主动发送”,别的一个选中COM2,发123456789,相同选中“主动发送”。看看两个串口是不是现已忙活起来了。呵呵,帅吧。

OK,现在开端仿照单片机与PC机的串行通讯吧。PROTEUS就不必介绍了吧。

留意:这儿的单片机的RXD要与P1的RXD, 单片机的TXD要与P1的TXD,P1设置为COM1(虚拟串口中的一个),波特率就设为2400,然后翻开串口调试帮手,设为COM2(虚拟串口的别的一个),波特率就设为2400。点击PROTEUS中的PLAY,点击BUTTON,看看串口调试帮手里边的东东吧。是不是点击一下BUTTON就发一串字符到串口调试帮手。

有了这东东,今后学习串口就不必忧愁了。这是我从网上一片文章中学习的,你能够上网查查,把串口这一块吃透。

源程序如下:

#include

#include

char code str[] = “I love MCU \n\r”;

void send_int(void);

void delayms(unsigned char ms);

void send_char(unsigned char txd);

void send_str();

sbit K1 = P1^4;

main()

{

send_int();

TR1 = 1; // 发动定时器1

while(1)

{

if(!K1) // 扫描按键

{

delayms(10); // 延时去颤动

if(!K1) // 再次扫描

{

send_str();

while(!K1);

}

}

}

}

void send_int(void)

{ TMOD = 0x20; // 定时器1作业于8位主动重载形式, 用于发生波特率

TH1 = 0xF3; // 波特率2400

TL1 = 0xF3;

SCON = 0x50; // 设定串行口作业方式

PCON&= 0xef; // 波特率不倍增

IE = 0x0; // 制止任何中止

}

void send_char(unsigned char txd)

// 传送一个字符

{

SBUF = txd;

while(!TI); // 等特数据传送

TI = 0; // 铲除数据传送标志

}

void send_str()

// 传送字串

{

unsigned char i = 0;

while(str[i] != \0)

{

SBUF = str[i];

while(!TI); // 等特数据传送

TI = 0; // 铲除数据传送标志

i++; // 下一个字符

}

}

void delayms(unsigned char ms)

// 延时子程序

{

unsigned char i;

while(ms–)

{

for(i = 0; i < 120; i++);

}

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/xitong/274911.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部