导航:首页 > 操作系统 > rs232单片机程序

rs232单片机程序

发布时间:2024-05-14 01:57:37

1. 电脑上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接口与单片机(串口)连接并通讯(未考虑软件设置部分)。

2. 怎么用RS232写程序进单片机

首先确定AVR能不能用串口烧录,也就是有没有ISP(in system program 在系统编程)功能,说明一下
ISP功能是在ROM的最后1块空间(一般是512 ~1024byte)里放了1段代码,在单片机上电的时候进行特定的操作,单片机就不会从00开始执行程序,而是跳到最后那块空间开始,这块rom中的代码的功能是通过串口接收PC发送过来的数据写到其他的rom中去,这些数据包括命令编译好的程序的机器码。所以即使有ISP功能你还得知道这些命令和数据的格式

3. 单片机RS232串口通信实验

没大问题,就是贴过来少了一些空格,

另外 倒数第四行检测TI后忘记清零TI了,

修改后的代码如下:

ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
MOV SP,#60H
MOV TMOD, #20H
MOV TH1, #0FDH
MOV TL1, #0FDH
MOV SCON, #50H
MOV PCON, #00H
SETB TR1
MAINLOOP:
setb p1.7
jb p1.7,MAINLOOP
send$:
MOV SBUF, #41H
JNB TI, $
CLR TI
AJMP MAINLOOP
;
END

运行后如果把接到P1.7和地之间的开关接通让P1.7为低电平,串口就以9600的波特率不断发送字符A,如图所示:

4. 单片机与相位计的RS232串口通信编程问题。 硬件已经没有问题,c程序存在问题,请帮忙修改一下。

/*************************************************
如果你的相位计只需要在初始的时候发送p0 c0 l0 这三个的话,也就是说后继的数据都是由相位计发送,
单片机接收的话,初始化部分没有大问题,但接收数据的部分 ReceStr()有问题,应该是收不到数据吧?

1、串口初始化程序先确定TH1的值和单片机晶振匹配不?0xfd是用于11.0592M晶振的波特率不加倍(smod = 0)方式下的9600bps的
这个可以控制单片机发送,由pc设定9600接收,看单片机串行速率设置是否正确
2、你现在的串口接收函数执行了也收不到数据, 因为单片机串口只有一个字节的缓冲,所以一般用中断方式来接收数据,
每次有一个字节收到后,通过中断来将收到的字节放入程序缓冲去。
还有接收变量怎么会写成float的?单字节用char 。
如果是相位计的数据发过来是float类型,那需要你自己程序转换,串口发送的只会是8bit的hex数据
3、如果程序需要很准确的延迟的话,延迟函数需要调试一下的
串口接收例程:

全局变量:
unsigned char x_Buf[50] = {0};
unsigned char * pX = x_Buf;
//volatile unsigned char posBf = 0;
中断服务:
void Serial_ISR(void) interrupt 4
{
if(RI)
{
RI = 0;
*pX++ = SBUF;
if(pX == &x_Buf[49]+1) pX = x_Buf;
}
}
*************************************************/

/*------------------------------------------------
串口初始化
------------------------------------------------*/
void InitUART (void)
{

SCON = 0x50;
TMOD |= 0x20;
TH1 = 0xFD;
TR1 = 1;
ES = 1; //串口中断使能
EA = 1;
}

5. 单片机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。

阅读全文

与rs232单片机程序相关的资料

热点内容
印度加密代币机票 浏览:415
哪个app可以看江西2套 浏览:677
哪个小说app好用还免费 浏览:663
win7ping命令 浏览:505
程序员看图识算法 浏览:947
vs设置远程编译 浏览:598
速腾汽车怎么给安卓手机充电 浏览:270
苹果安卓换机用什么软件好 浏览:261
华为通话加密电话 浏览:60
什么服务器可以代替计算机 浏览:962
服务器当电脑用怎么安装显卡 浏览:521
回女友消息神器python 浏览:52
App分类框怎么添加 浏览:546
海尔帅王子冰箱压缩机启动跳闸 浏览:489
cadfill命令什么意思 浏览:337
中公专项题库pdf 浏览:933
拼多多缓存在哪个文件夹 浏览:645
安卓无卡汽车导航怎么升级 浏览:52
cs管理员命令是什么 浏览:126
华为v10模拟加密门禁卡 浏览:726