① 单片机 串口通信 RS232
这种类型的单片机,在内部特殊区域常驻有一个监控程序,当单片机上电时,PC指针会首先指向该程序(有的CPU需要给某个引脚加上指定电平才可以),该监控程序会监测串口数据,如果有合法的命令数据,单片机就会进入编程模式。如果没有接收到合法数据,PC指针就会自动指向用户程序起始点(一般是0000H),开始执行用户程序。
你也可以在自己的程序内部嵌入专门的语句,调用常驻监控程序提供的
烧录
功能,以实现在应用中编程。
② 单片机rs232通讯怎么用
方法有二:【1】弄个有串口的单片机,例如C8051F300,还有一片MAX232。一头连接PC机,一头连接单片机。单片机的GPIO连接x1和x2,例如P1.0 & P1.1,并设为中断引脚。每次接收到x1 或者x2信号改变,就往PC机发送一段字符。PC机就检查这个接受的字串,做相应的动作。这里涉及到MSCOMM32 或者 Windows API的CreateFile函数;【2】MAX232直接连接x1 和x2,另一端连接PC机的CTS 和RTS。也用CreateFile函数,不用单片机。Windows(PC机)直接检查CTS 和RTS,间接有效!MS-COMM32也可以检查CTS和RTS。
③ 单片机串口232通信c语言
我写的串口通信代码比较长,给几个关键函数你吧,可实现PC与单片机的双工通信
/*串口通讯
单片机晶振:11.0592MHz
T1工作于方式2
波特率=2^smod*fosc/32/12/(256-X)*/
#include<common.h>
void
do_uart(void);
//串口接收执字符时的操作
/*串口发送字符串
*/
void
sendstr(uchar
*p)
{
while(*p!='\0')
{
SBUF=*p;
//待发送的数据写入缓冲区
while(!TI);
//等待发送完成
TI=0;
//清零发送标志位
p++;
//指针加1
cnt_s++;
//发送计数
}
}
/*串口接收中断函数*/
void
int_rec(void)
interrupt
4
using
2
{
if(RI)
//查询接收标志位(有数据发送过来时置为1)
{
RI
=
0;
//接收标志位清零
//
sendchar(SBUF);//让从电脑上传到单片机的数据,传回的电脑显示
do_uart();//对接受到得字符操作
}
}
/*串口初始化*/
void
com_init(uint
baud)
{
SCON
=
0x50;
//串口工作方式为1,串行允许接受
TMOD
=
0x21;
//定时器1工作在方式2
定时器0工作在方式1
//PCON
=
0x80;
//SMOD
=
1;
波特率加倍
TH1=256-fosc/32/12/baud;
TL1=TH1;
ES
=
1;
//开串口中断
TR1
=
1;
//允许定时器1工作
EA
=
1;
//开总中断
}
void
sendchar(uchar
uart_dat)
//串口发送字符函数
{
SBUF
=
uart_dat;
//待发送的数据写入缓冲区
while(!TI);
//等待发送完成
TI
=
0;
//清零发送标志位
cnt_s++;
//发送计数
}
④ 关于单片机利用232通信时的问题 望指点迷津
1、MAX232外围用了4个1uF的电容,通过电容充放电(自举方式)将5V转换成+12V和-12V的
MAX202外围是4个0.1uF的,一样用。
2、单片机之间通讯,短距离通讯,如在同一板上,或在同一壳内,不太长的情况下,可以不用MAX232转,两个串口对接就可以了,但过长的距离或在两个壳内就需要转了了,一个是加大驱动能力,一个是抗干扰。
单片机串口直接出来的是5V电平,即TTL或CMOS电平。
⑤ 关于51单片机的串口通信,为什么要用rs232电平
所谓的RS-232通信标准,就是对插件样式、信号名称和意义以及所谓的驱动器/接收器的电气模式这种硬件作出规定。一般的都是9针的接口,其中包括CD接口:数据通道接收载波的检测;RD接口:接收数据;SD接口:发送数据;ER接口:数据终端就绪;SG接口:信号用接地;DR接口:数据集就绪;RS接口:请求发送;CS接口:允许发送;CI接口:被呼表示。用以上接口进行数据通信,还有对电平的要求。当然与51单片机进行通信方式很简单,首先要解决的是电平标准,51的I/O口最大输出5V电压,而RS-232要求电压在±10V,为达到电平匹配,需用到MAX232CPF电平转换芯片,将0~5V电平转换为±10V电平,从而实现电平匹配;然后,数据接口只用到了数据发送与接收2个端口,还有数据的请求发送与允许发送,共4个端口,MAX232CPF还有其他一些外围电路接口,但比较简单,都是些电容接口,从而实现单片机与RS232接口的通信。我这儿还有RS232通信接口的相关资料,需要的话我可以给你。
⑥ 电脑上RS232跟单片机怎么连接
电脑通过RS232接口与单片机连接的常用实现如下图(单片机以51系列为例):
3 RS-232
规定的逻辑电平与(51)单片机的逻辑电平不同(如:RS-232的逻辑“1”是以-3~-15V来表示的,而51单片机的逻辑“1”是以+5V来表示的)。因此,单片机系统与电脑的RS-232接口通信,必须把单片机的信号电平(TTL电平)转换成计算机的RS-232C电平(或者反过来把计算机的RS-232C电平转换成单片机的TTL电平),才能成功通讯。本方案使用电平转换芯片MAX232芯片来实现电平转换(连接图中间的芯片)。
4(51)单片机使用RXD和TXD引脚执行串口数据输入/输出。
5 RS-232的RXD连接单片机TXD,TXD连接单片机RXD(中间用MAX232芯片转换电平)。
通过上述步骤即可实现电脑通过RS232接口与单片机(串口)连接并通讯(未考虑软件设置部分)。
⑦ 单片机外围电路中RS232的作用
RS232是一种电平规范,当单片机与电脑串行通讯时,要用专用芯片进行电平转换,一般用MAX232,可以在TTL电平和电脑的电平之间相互转换.
⑧ 单片机与电脑通讯为什么用232 usb不行吗
说简单点就是,单片机比较简单,它的通讯也比较简单,用一般串口通讯!USB协议比较复杂,包含设备信息驱动等等! 如果你让单片机用USB通讯方式也可以,那要换支持USB协议的而且程序复杂,你还要单片机实现其他功能!光一个USB协议就够你弄了,你还要弄其它功能,估计你要累死了!所以不推荐!