【51单片机系列】单片机与PC进行串行通信

一、单片机与PC机串行通信的设计

工业现场的测控系统中,常使用单片机进行监测点的数据采集,然后单片机通过串口与PC通信,把采集的数据串行传送到PC机上,再在PC机上进行数据处理。

PC机配置的都是RS-232标准串口,为D型9针插座,输入/输出为RS-232电平。D型9针插头引脚如下:

D型9针插头引脚

如下表为RS-232C的D型9针插头的引脚定义。

引脚号 功能 符号 方向
1 数据暂替检测 DCD 输入
2 接收数据 RXD 输入
3 发送数据 TXD 输出
4 数据终端就绪 DTR 输出
5 信号地 GND
6 数据通信设备准备好 DSR 输入
7 请求发送 RTS 输出
8 清除发送 CTS 输入
9 振铃指示 RI 输入

由于两者电平不匹配,因此必须把单片机输出的TTL电平转换为RS-232电平。

单片机与PC的接口如下图所示。图中的转换芯片为MAX232,接口连接只用了3条线,即RS-232插座中的2引脚、3引脚与5引脚。

单片机与PC机的RS-232串行通信接口

二、单片机向PC发送数据示例

要求单片机通过串行口的TXD引脚向PC机串行发送8个数据字节。在proteus中使用两个串行口虚拟终端观察串行口线上出现的串行传输数据。

两个虚拟终端窗口为VT1和VT2,其中窗口VT1显示的数据表示单片机串口发送给PC机的数据,窗口VT2显示的数据表示由PC机经RS-232串口模型COMPIM接收到的数据,由于使用了串口模型COMPIM,从而省去了PC机的模型。

proteus仿真原理图如下:

单片机向PC发送数据的proteus仿真电路图

需要注意要设置虚拟终端的波特率与代码中设置的波特率保持一致。经过MAX232转换后电平是相反的,设置VT2属性中的【RX/TX Polarity】为【Inverted】。

软件设计,首先初始化串口通信,设置串口工作方式1,定时器工作方式2,波特率9600bps,波特率不加倍,代码如下:

void UsartInit()
{
   
	SCON=0x40;  // 设置串口工作方式1
	TMOD=0x20;  // 设置定时器T1工作方式2
	TH1=TL1=0xFD;  // 设置波特率为9600bps,波特率不倍增
	PCON=0x00;
	EA=1;
	TR1=1;
}

发送数据功能单独编写一个函数,如下:

void send
### ToDesk 使用教程详尽指南 #### 安装过程概述 为了在 Ubuntu 系统上成功安装 Todesk 远程控制软件,需遵循特定的操作流程。该流程已被细分为三个主要部分,确保用户可以无障碍地完成整个安装过程[^1]。 #### 启动登录 一旦安装完毕,启动应用程序后会提示创建账户或使用已有账号登录。首次使用者需要注册新账户来获取服务权限。输入有效的电子邮件地址以及设定密码即可完成这一环节。 #### 用户界面导航 主界面上方设有菜单栏,包含了文件传输、聊天等功能选项;左侧边栏则列出了最近连接过的设备列表方便快速访问。中间区域显示当前操作对象的画面预览窗口,在这里能够看到被控端屏幕实时影像。 #### 建立远程连接 要建立新的远程连接,可以通过两种方式实现:一种是在客户端直接输入目标机器上的识别码进行配对;另一种方法是从已保存联系人里挑选想要操控的对象发起请求。当对方接受邀请之后便能开始共享桌面了。 #### 文件交换功能 除了基本的视窗分享外,Todesk 支持双向文件传送能力。只需拖拽所需发送的数据到对应位置就能轻松达成目的。这项特性极大地提高了工作效率,特别是在团队协作场景下显得尤为重要。 ```bash # 打开终端执行命令更新源并下载最新版本的应用程序 sudo apt-get update && sudo apt-get install todesk ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值