- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于vb的pc机与单片机的串口通信设计
0 at29c51温度电路
使用pc系统的同步通信基础设施可以实现序列通信。适配器的核心元件是可编程的AT89C51芯片, 它使PC有能力与其他具有RS-232标准的接口的计算机或设备进行通信, 而AT89C51单片机本身具有一个全双工的串行口, 因此只要配上电平转换电路就可以和RS-232接口组成一个简单的串行通道了。通过由传感器测量出来的数值, 单片机采集并数据处理后, 通过串行口发送给PC机
1 机与分子机的串行通信
本设计采用MAX232接口芯片来完成PC机与单片机的串行通信。硬件连接时, 可从MAX232中的2路发送器和接收器中任选一路, 只要注意发送与接收的引脚对应关系即可
2 软件方案的设计
2.1 直接把接口口
如果串口打开, 先关闭串口, 再换端口号, 然后打开串口;如果串口已关闭, 可以直接选择端口号, 再打开串口。其中可以添加串口出错的处理。比如说COM3已被占用, 则系统会提示你“串口不存在或被占用”。上位机工作流程图, 如图3所示。
(1) 字符串初始化
(2) 建立图像坐标系
本设计中, 为了便于图形的观察, 在Pictutr1上建立坐标系, 当打开VB数据采集系统时, 在Form_Load下调用Scale Sys, 以实现坐标系的形成。
(3) 数据接收
数据接收开始, 根据串口通信的协议, 下位机发送过来的数据显示在Text1.Text文本框中。其接收代码如下:
(4) 数据存储设备
在完成数据的接收后, 对数据进行保存, 点击“保存”按钮即, 可把数据存于G盘的a.txt文档中, 如图4所示。
数据的存储代码如下:
(5) 接收数据是接收数据是曲线的形式
在存储了单片机发送过来的数据后, 为了能更形象、更清楚地表达接收的数据, 把它以曲线形式表现出来。打开数据的存储文件a.txt, 从中按顺序一个一个地读出, 以采集到的数据值为Y轴, 以采集到的数据的个数为X轴, 把数据绘于图上, 如图5所示。
2.2 片机晶振控制
首先, 先对串口初始化:
1) 确定T1的工作方式。T1是编程TMOD寄存器的高4位, 选择方式2。
2) 计算T1的初值。如采用12 MHz的晶振, 单片机有可能收不到数据或接收到的数据是乱码, 所以我采用11.059 2 MHz的晶振。
3) 启动定时器T1 (编程TCON中的TR1位) 。
4) 确定串行口控制 (编程SCON寄存器) 。其中SCON是个8位特殊功能寄存器, 用以设定串行口的工作方式、接收/发送控制以及设置状态标志。SM2=1时, 可以利用收到的RB8来控制是否激活RI, 当SM2=0时, 不论收到的RB8为0和1, 均可以使收到的数据进入SBUF, 并激活RI。串口初始化代码如下:
2.3 再用软件的应用
下位机的数据接收采用中断方式。当单片机收到数据时, RI自动置1, 单片机从SBUF中读取数据完毕, 再用软件清零。其中我用了个接收标志位flag来判断接收是否完成, 如果flag=1, 则表示接收完成, 把接收到的数据送到P0口, 在这里LED显示的不是接收到的数据, 而是用它来标识一下单片机是否收到数据, 如果收到数据, 则数码管发生变化, 如数码管无变化, 则说明单片机没收到数据, 接收程序如下所示。
2.4 ti控制器:把用户打造成城市破局,把sduf-发送
当下位机接收到数据时, 标志位flag置1, 进入发送模块, 关闭串口中断开关, 标志位清零, 然后把单片机收到的数据送到SBUF (发送) , 等待数据发送完毕, TI自动置1, 跳出while (!T1) 循环语句, 再用软件将TI清零, 最后打开串口中断开关。下位机流程图如图6和7所示。
3 调试和模拟
3.1 roteus仿真
根据串口通信的协议, 利用MAX232芯片, 完成单片机与PC机间的串口通信。在Proteus仿真过程中, 需要用到AT89C51、COMPIM等。连接好电路图后放在Proteus软件中进行仿真, 当单片机采集到数据时通过一系列的转换最终送到上位机进行数据显示, 从上位机即可得到下位机采集到的数据, 从而完成上位机与下位机的通信
3.2 vb软件的模拟
VB界面布局如图9所示。
3.3 分气接收数据
用VB完成的串口通信设计即可以把数据传输给单片机, 也可以从单片机接收数据。建立一对虚拟串口, 如COM1与COM3, 可以通过串口的选择和波特率的匹配, 完成单片机与PC机间的串口通信及数据传输
3.4 at29c51温度设计
用VB完成的串口通信设计Proteus仿真。首先, 在Proteus中打开已经设计好的硬件电路图, 然后在AT89C51单片机中导入在Keil环境下已编好的串口通信程序, 其次选择PC口的串口号,
文档评论(0)