PC串口如何给单片机串口发送字符串供电

单片机与PC用串口通讯需要什么条件?_百度知道
单片机与PC用串口通讯需要什么条件?
是不是还需要一个max232芯片?rs232指的是PC的串口吗?买来那个MAX232芯片是插在单片机上的?需要自己写电路吗?麻烦懂得具体回答下。
我有更好的答案
好像不需要其它条件吧单片机与PC通信一般就是用串口,当然也有用并口的用串口通信,距离在10米内用RS232,超过了就用RS485或是RS422单片机是硬件,由时钟控制向PC发送数据,或是接收数据在PC端,编程也是用底层时钟控制,不断的接收或是发送数据要看你用何种程序写了,一般的VB、C都有串口连接控件,直接调用它就可以与单片机通信
采纳率:70%
PC的串口的电平逻辑1是-3~-15V逻辑0是 +3~+15V跟单片机0-5V电平是不兼容的所以需要MAX232转换电路接法如下图(maxv &max232为5v &接口一样只是工作电压不同)电容选用104-105均可TXD RXD分别连接到单片机的串口引脚即可
本回答被提问者和网友采纳
如果你电脑是笔记本,一般还没RS232串口呢,需要买一条USB转串口线。
如果不用串口用USB只需要买一条USB转串口线?我听说用USB来通信很难啊,
你电脑上有串口是最好的了,就是那个COM口,在电脑后面的,是DB9针的,直接用啊,不要再用USB转串口线了。要是笔记本且没有串口,就只好买一条USB转串口线了。买时,卖家会给你一个驱动程序的,安装驱动程序后,会在电脑上虚拟出一个串口来,确实,用USB通信常常会出现一些问题,但必竟是解决的办法,总比没有强啊。
MAX232就是电平转换芯片,外围需要几个电容,电路网上很多的,芯片上有RS232接口就是直接和PC连的,还有TTL的串口是跟单片机串口连的,这样弄好以后硬件就算好了,剩下的就是写上位机软件,也就是PC端的软件和单片机上的串口通讯程序了。
其他1条回答
为您推荐:
其他类似问题
您可能关注的内容
串口通讯的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。USB转串口-硬件扫盲
作者:瑞生
阅读:13,974次
瑞生网http://www.rationmcu.com版权所有
以下文章是给硬件小白看的,高手请找到浏览器的“X”按钮猛戳,谢谢!
1.带你见见串口
你当然知道电脑的USB口在哪里,但是你知道电脑的串口在哪里吗?别找了,你的电脑应该是没有。现在的电脑,已经不配串口了,下图是在我的旧电脑上拍的串口:
在你的电脑上找到串口了?别开玩笑了,你找到的是VGA视频输出口吧?
仔细看看,串口是9针的,VGA口是15针的哦!
2.串口有什么用?
串口是为了通信用的,在当年,它可以连接Modem,打印机,游戏机等外部设备,现在,这些设备都变成USB口了,所以现在的电脑上,再也看不到串口了。只有工控机上,串口还被保留。因为串口在工业控制方面,到现在还有很多应用。
我们是搞单片机的,那必定离不开串口了,因为单片机基本上都是或者都可以通过串口下载程序。为了解决我们电脑上没有串口,但是还要用串口的矛盾,于是“USB转串口线”就出来了。
这条USB转成的串口,我们称作虚拟串口,不过,在使用起来,和电脑上原来的串口是一模一样的。(不过,有些非法商家,为了降低成本,偷工减料,只使得串口中的引脚2引脚3引脚5起作用,就是只可以通信,其它通信握手信号引脚却都是空脚了。所以,当你买下它给你的51单片机下载程序还可以,但是如果给可以自动ISP的单片机,例如LPC1114下载程序的话,就不行了!因为自动ISP需要用到两条串口引脚作为握手信号。)
3.你需要知道的两个概念
TTL电平:一般用作数字芯片的电平,例如芯片的供电电压是5V,那么高电平就是5V,低电平就是0V,这里所说的电平,就是TTL电平。
232电平:232电平特制电脑串口的电平,-12V左右为正电平,+12V左右为低电平。我们刚才所见到的“USB转串口线”和电脑原生的串口,就是232电平。
4.单片机串口和电脑串口(或者USB转串口线)怎么通信?
由于单片机串口是TTL电平,要和电脑串口(或者USB转串口线)通信,就需要使得他两的电平逻辑一样才可以通信。这时候,就需要用到TTL转232电平的芯片,常用的有MAX232、MAX3232、SP232、SP3232等。连接方式为:
单片机串口&#芯片–串口
232芯片用于5V单片机,3232用于3.3V的单片机,这就是为什么好多童鞋用232芯片加到3.3V的单片机上,无法下载程序的直接原因。
5.什么是USB转TTL芯片?
在第4条中,如果用的不是电脑原生的串口,而是USB转的串口,实际硬件连接为:
单片机串口&#芯片—USB转232芯片—USB口
那么,USB转TTL芯片,就是为了解决上面的冗余而生的,用USB转TTL芯片,单片机与电脑的连接方式为:
单片机串口—USB转TTL芯片–USB口
也就是,直接把USB转的串口,变成了可以和单片机直接通信的TTL电平了。
USB转TTL芯片有很多,例如:CH340、PL2303、CP2102、FT232等。
在瑞生的LPC1114开发板上,板载USB转TTL芯片:CH340,所以你只需要用USB连接线把电脑和开发板连起来,就可以下载程序和进行串口通信了。
有些单片机开发板,尤其是最小系统板,没有板载USB转TTL芯片,只是引出了所有的引脚,这种情况,可以买一个“USB转TTL电路板”,就可以下载程序和串口通信了,这种USB转TTL电路板,在网上卖的也有很多,有的是用CH340做的,有的是用PL2303做的,有的是用CP2102做的,芯片虽不同,但功能是一样的。
我们所说的USB转串口,实际上是上两种,一种是USB转232串口,一种是USB转TTL串口。
关注我的微信公众号,可以第一时间看到我的文章
我的微信公众号由 PC 机串行口获取单片机工作电源的一种方法--《电测与仪表》1998年05期
由 PC 机串行口获取单片机工作电源的一种方法
【摘要】:介绍一种利用PC机串行口进行数据交换,同时为单片机提供电源时,因启动电流大而使单片机不能正常工作的解决方法。
【作者单位】:
【分类号】:TP303.3,
欢迎:、、)
支持CAJ、PDF文件格式,仅支持PDF格式
【相似文献】
中国期刊全文数据库
苏义鑫;夏伟;;[J];电源技术应用;2007年10期
赵珂;李佳;刘映秋;;[J];电源技术应用;2008年11期
盛信,杨凌冬;[J];安徽电子信息职业技术学院学报;2005年03期
韩其国;杨勇;徐平;刘珂舟;;[J];电力电子技术;2010年07期
吴文秀,吴修德,杨雄;[J];江汉石油学院学报;2000年02期
鄢化彪;黄绿娥;;[J];兵工自动化;2006年07期
李春学;;[J];青海气象;1999年02期
张甜;[J];国外电子元器件;2001年07期
吴锴;郝称意;郭海霞;;[J];山西农业大学学报(自然科学版);2008年01期
潘孔杰;吴大伟;;[J];微计算机信息;2008年20期
中国重要会议论文全文数据库
程彦礼;霍志成;赵云峰;;[A];低碳经济与科学发展——吉林省第六届科学技术学术年会论文集[C];2010年
王永国;;[A];2011年浙江省医学会医学工程学分会第九届学术年会论文汇编[C];2011年
王文中;;[A];通信电源新技术论坛2011通信电源学术研讨会论文集[C];2011年
彭大铭;;[A];四川省通信学会2011年学术年会论文集[C];2011年
王淑莲;唐建林;高晓佳;孙辉;陈兵;;[A];第三届全国流体传动及控制工程学术会议论文集(第三卷)[C];2004年
李汉学;;[A];2010中华医学会影像技术分会第十八次全国学术大会论文集[C];2010年
陈明;马跃洲;马颖;郝远;;[A];2010全国机械装备先进制造技术(广州)高峰论坛论文汇编[C];2010年
王红军;张灵桃;;[A];土木建筑学术文库(第13卷)[C];2010年
范小兰;;[A];第七届全国信息获取与处理学术会议论文集[C];2009年
王立平;;[A];福建省图书馆学会2003年学术年会论文集[C];2003年
中国重要报纸全文数据库
郭涛;[N];中国计算机报;2008年
子悦;[N];中国机电日报;2002年
新疆 于振麒;[N];电子报;2009年
上海 苏成富;[N];电子报;2009年
见习记者张彤薇;[N];中国技术市场报;2010年
李叶 应辽产;[N];华夏时报;2010年
徐锐;[N];上海证券报;2011年
陈烨;[N];中国计算机报;2002年
黑龙江 任志坚;[N];电子报;2008年
王忠良 唐传虎;[N];中国改革报;2009年
中国博士学位论文全文数据库
徐长江;[D];南京理工大学;2007年
王海明;[D];燕山大学;2006年
王长全;[D];浙江大学;2006年
彭环云;[D];中南大学;2004年
何宁;[D];中国科学技术大学;2006年
史云;[D];河北农业大学;2009年
杨唐胜;[D];武汉理工大学;2005年
刘瑞祥;[D];大连理工大学;2005年
李映平;[D];南京理工大学;2006年
林放;[D];华南理工大学;2011年
中国硕士学位论文全文数据库
郑悦卿;[D];华东师范大学;2010年
王非;[D];复旦大学;2011年
何晓航;[D];上海交通大学;2010年
刘伟;[D];南京理工大学;2003年
张雄希;[D];武汉理工大学;2004年
代庚辛;[D];西北工业大学;2004年
李玉贤;[D];东北农业大学;2004年
王福增;[D];河北大学;2004年
张文敬;[D];大连理工大学;2005年
杨生;[D];兰州理工大学;2005年
&快捷付款方式
&订购知网充值卡
400-819-9993单片机和PC通过串口通信
> 单片机和PC通过串口通信
单片机和PC通过串口通信
通信协议:每次PC向单片机发送10个字节的数据,第一个字节为0XFA,数据开始标志,后面8个字节为任意数据,最后一个字节为前9个数据和的低字节(高字节忽略),作为校验和。串口设置:PC串口参数设置本文引用地址:串口号:COM1(默认,具体视使用情况而定)波特率:9600数据位:8其他默认测试方法:可以用串口调试工具的字符串输入框输入:FAFAFA FA FA FA FA FA FACA,选择HEX发送,HEX显示,如果每发送一次就接收到以上数据,并在单片机开发板上正确显示,则测试成功。//52单片机串口接收和发送测试程序;//接收采用中断方式,发送采用查询方式;//52串口通信,T1做串口波特率发生器;#include "Port_Config.h"//单片机端口定义#include "LCD_Driver.h"//单片机LCD显示#include "52_UART.h"//52串口#defineREC_BUF_LEN10//数据长度#defi#deucharrec_buf[REC_BUF_LEN];//接收数据缓冲区uintcheck_sum= 0;//接收数据校验和ucharcount= 0;//当前接收数据个数bitrec_flag= 0;//数据接收完成标志bitstart_flag= 0;//接收数据起始标志//==================================================//函数:void Init_UART1(void)//描述:串口初始化函数,使用T1方式2自重载方式做波特率发生器,//串口使用方式1,8位数据,可变波特率//参数:无//返回:无//作者:geoff日期://修改:日期://版本:V1.1//==================================================void UART1_Init(void){SCON=0x50 ;//方式1,8位可变波特率TMOD=0x20 ;//定时器1,方式2,8位自重载PCON=0x00 ;//倍频禁用TH1=0//晶振22.1184MHz,波特率9600;TL1=0//9600IE|=0x90 ;//开中断TR1=1 ;//启动定时器}//==================================================//函数:uchar UART1_Receive_Char(void)//描述:单片机从串口接收一个字符//参数:无//返回:uchar dat//接收到的数据//作者:geoff日期://修改:日期://版本:V1.1//==================================================uchar UART1_Receive_Char(void){uchar rec_while(!RI);//等待接收完成RI = 0;//接收完成后,清接收完成中断rec_data = SBUF;return rec_}//==================================================//函数:void UART1_Send_Char(uchar send_data)//描述:单片机向串口发送一个字符//参数:uchar send_data//待发送数据//返回:无//作者:geoff日期://修改:日期://版本:V1.1//==================================================void UART1_Send_Char(uchar send_data){SBUF = send_while(!TI);//等待发送完成TI = 0;//发送完成后,清发送完成中断}//==================================================//函数:void UART1_Send_String(uchar *str, uchar len)//描述:单片机向串口发送一个字符串//参数:uchar *str//待发送数据//uchar len//字符串长度//返回:无//作者:geoff日期://修改:日期://版本:V1.1//==================================================void UART1_Send_String(uchar *str, uchar len){for(i=0; i< i++){UART1_Send_Char(*(str+i));}}//==================================================//函数:void UART1_Intr(void) interrupt 4//描述:串口中断处理函数,接受串口向单片机发来的数据//参数:无//返回:无//作者:geoff日期://修改:geoff日期://版本:V2.1注意:第一个数据以0XFA开始//==================================================void UART1_Intr(void) interrupt 4{uchar rec_if(RI)//RI=1,串口接收到数据{RI = 0;//清RIrec_temp = SBUF;//接收数据if((rec_temp==0xfa)&&(count==0))//判断数据是否以OXFA开始{check_sum = 0;//清校验和rec_buf[count] = rec_//把接收到的数据存到接收数组里count++;///////测试用LCD_DataWrite(rec_temp);//在LCD上显示接收数据check_sum += rec_//计算校验和start_flag = 1;//数据以OXFA开始,置开始标志}else if(start_flag==1)//判断数据是否开始{rec_buf[count] = rec_//接收数据count++;///////测试用LCD_DataWrite(rec_temp);//在LCD上显示接收数据check_sum += rec_//计算校验和if(count==REC_BUF_LEN)//判断是否是最后一位数据,第十位{count = 0;//从0重新计数start_flag = 0;//接收数据结束check_sum -= rec_//计算最终校验和if((uchar)check_sum==rec_temp)//判断数据接收是否正确,{//数据最后一位是校验和的后8位rec_flag = 1;//置接收完成标志}}}}}//==================================================//函数:void UART1_Demo(void)//描述:串口通信测试程序,使用T1方式2自重载方式做波特率发生器,//串口使用方式1,8位,可变波特率//晶振22.1184MHz,波特率9600;//参数:无//返回:无//作者:geoff日期://修改:geoff日期://版本:V1.1//==================================================void UART1_Demo(void){UART1_Init();TI = 1;//SBUF置空/////测试用LCD_RegWrite(0x80);while(1){if(rec_flag == 1)//把接收到的数据,发送到串口输出{rec_flag = 0;//清接收完成标志UART1_Send_String(rec_buf,REC_BUF_LEN);}Rst_WDT();//喂狗}}//==================================================//函数:void main(void)//描述:主函数//参数:无//返回:无//作者:geoff日期://修改:日期://版本:V1.1//==================================================void main(void){LCD_Init();//单片机LCD初始化UART1_Demo();}本文通过约定特定通信协议,实现单片机和PC的通信,经过测试,单片机收发正常;出现不能通信时,可以多发几个非0XFA数据,让单片机准备接收,然后按照约定的格式发送,并保证每次发送字符长度为10个字节。
分享给小伙伴们:
我来说两句……
微信公众号二
微信公众号一单片机、电路板
连接器、接插件
其他元器件
从PC机RS232口获取单片机工作电源
从PC机RS232口获取单片机工作电源
计算机RS-232串行口是一种很常用的通信接口,一直在工业、科研中占有极为重要的角色。除作为简单的串口通信外,许多用户在串行口上开发了不少种类繁多、用途广泛的扩展产品,如手写笔、RS-232/RS-485转换接口、数据采集器等。这些产品大多需要有电源供电,如果由外部来给接口产品提供电源,难免繁琐且增加成本,本文向大家介绍从PC机RS-232串口获取电源的简单方法。  图一所示是一种最简单的正、负电
计算机RS-232串行口是一种很常用的通信接口,一直在工业、科研中占有极为重要的角色。除作为简单的串口通信外,许多用户在串行口上开发了不少种类繁多、用途广泛的扩展产品,如手写笔、RS-232/RS-485转换接口、数据采集器等。这些产品大多需要有电源供电,如果由外部来给接口产品提供电源,难免繁琐且增加成本,本文向大家介绍从PC机RS-232串口获取电源的简单方法。  图一所示是一种最简单的正、负电源获取方法。电路非常简单,成本也很低,仅需要4只二极管和2只电容即可完成整个功能,该电路的缺点是电流有限、电压不稳定。为此需要对图一的电路进行改进,以获得更好的正、负电源获取电路。    如图二所示。在PC机通电启动初始化串行口前,RS-232接口中RXD、RTS、DTR信号线电压约为-11V,经由图中二极管向六反相器UA~UF供电,反相器UA~UC和电阻R2、R3、电容C3组成振荡器,经UD~UF驱动输出方波。通过电容C4耦合和二极管整流至R1、C1、T1、DW、C2组成的电压调整电路产生供给系统的Vcc电压。初始化串行口后,RS-232接口中DTR、RTS信号线电压转换为约+11V,也经电压调整电路产生Vcc电压,为单片机电路提供电源。    点击放大  注意PC机串行口本身不具备提供过大电流的能力,当从信号线上提取电流超过6mA时,信号线的电平将会下降许多,电流拾取过大还可能损害RS-232接口。  遇到的问题及解决方法  许多单片机系统的正常工作电流不大,但往往启动时电流远大于正常工作电流,这种情况可能出现启动时系统供电不足,导致单片机复位不良,从而造成单片机电路不能正常工作。  系统主要耗电大户往往是单片机与存储器,上电初始阶段,单片机启动电流较大,会使串行口提供的Vcc电压有所降低,单片机不能很快进入正常工作状态,而且此时程序存储器的各端口引脚上的状态也没有达到稳定,从而吸入更多的电流,由此产生不良循环使电压Vcc进一步下降,从而造成单片机不能正常复位启动。  解决问题的方法一是增加单片机上电复位时间,使单片机能可靠自动复位;二是通过右图所示的简单电路来控制程序存储器的选通时间。在上电初始阶段,由于R2、C1的充电过程,使得三极管V1的集电极输出YCS=&1&,使程序存储器选通失效。当R2、C1充电延迟一段时间后,YCS由&l&变&0&,程序存储器进入选通状态,从而避免了由于单片机外围电路上电时吸收电流过大而造成的非正常工作状态。实践证明,该方法行之有效。
上一篇:已经是第一篇
型号/产品名
深圳市福田区新亚洲文佳新电子商行
深圳市赛恒电子科技有限公司
华强电子网测试账号-huangxiaobo

我要回帖

更多关于 单片机串口接收字符串 的文章

 

随机推荐