您的位置 首页 设计

怎么使用usb转串口完成单片机和电脑的通讯

如何利用usb转串口实现单片机和电脑的通信-名称:串口通信

内容:连接好串口或者usb转串口至电脑,下载该程序,打开电源

打开串口调试程序,将波特率设置为9600,无奇偶校验

晶振11.0592MHz,发送和接收使用的格式相同,如都使用

字符型格式,按复位重启程序,可以看到接收到 UART test

然后在发送区发送任意信息,接收区返回同样信息,表明串口收发无误

写这篇博客,首要反省一下自己,由于曾经串口的程序,也和步进电机相同,时灵时不灵,我现在总算知道这是为什么了,由于51上有三个串口,一个公口,一个母口,一个usb转串口,这样的话,串口有3个了,我手头上有usb转串口线,也便是平常用来下程序的那根线,还有一个母口的线,今日我很纠结这两个的驱动,由于今日用usb转串口线,能够完成单片机和电脑的通讯,可是用母口线,奇怪的是他并没有幻想中的那种作用,更奇葩的是单片机下电它还能接纳到数据

怎么运用usb转串口完成单片机和电脑的通讯

这么久,仍是看一下今日的程序,这个程序很简单,也便是上一次多次不爽的程序,这儿晒出来,还有串口小帮手的截图也发出来,供今后学习之用

/*———————————————–

称号:串口通讯

内容:连接好串口或许usb转串口至电脑,下载该程序,翻开电源

翻开串口调试程序,将波特率设置为9600,无奇偶校验

晶振11.0592MHz,发送和接纳运用的格局相同,如都运用

字符型格局,按复位重启程序,能够看到接纳到 UART test

然后在发送区发送恣意信息,接纳区回来相同信息,标明串口收发无误

————————————————*/

#include //包括头文件,一般状况不需要改动,头文件包括特别功用寄存器的界说

/*————————————————

函数声明

————————————————*/

void SendStr(unsigned char *s);

/*————————————————

串口初始化

————————————————*/

void InitUART (void)

{

SCON = 0x50; // SCON: 形式 1, 8-bit UART, 使能接纳

TMOD |= 0x20; // TMOD: TImer 1, mode 2, 8-bit 重装

TH1 = 0xFD; // TH1: 重装值 9600 波特率 晶振 11.0592MHz

TR1 = 1; // TR1: TImer 1 翻开

EA = 1; //翻开总中止

// ES = 1; //翻开串口中止

}

/*————————————————

主函数

————————————————*/

void main (void)

{

InitUART();

SendStr(“UART test,技术论坛: 请在发送区输入恣意信息”);

ES = 1; //翻开串口中止

while (1)

{

}

}

/*————————————————

发送一个字节

————————————————*/

void SendByte(unsigned char dat)

{

SBUF = dat;

while(!TI);

TI = 0;

}

/*————————————————

发送一个字符串

————————————————*/

void SendStr(unsigned char *s)

{

while(*s!=‘\0’)// \0 表明字符串完毕标志,经过检测是否字符串结尾

{

SendByte(*s);

s++;

}

}

/*————————————————

串口中止程序

————————————————*/

void UART_SER (void) interrupt 4 //串行中止服务程序

{

unsigned char Temp; //界说暂时变量

if(RI) //判别是接纳中止发生

{

RI=0; //标志位清零

Temp=SBUF; //读入缓冲区的值

P1=Temp; //把值输出到P1口,用于调查

SBUF=Temp; //把接纳到的值再发回电脑端

}

if(TI) //如果是发送标志位,清零

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部