版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、窗体顶端上位机与下位机通信的设计初步1 引言现代化集中管理需要对现场数据进行统计、分析、制表、打印、绘图、报警等,同时,又要求对现场装置进行实时控制,完成各种规定操作,达到集中管理的目的。加之单片机的计算能力有限,难以进行复杂的数据处理。因此在功能比较复杂的控制系统中,通常以PC机为上位机,单片机为下位机,由单片机完成数据的采集及对装置的控制,而由上位机完成各种复杂的数据处理及对单片机的控制。2 PC机与单片机8051之间的通信特点在工业控制系统中,各种数据的采集和执行机构的控制都是由下位机或探测站来完成。由于单片机具有体积小、价格低廉、可应用于恶劣工业环境的特点,在分布式控制系统中大多采用单
2、片机作为下位机来进行数据采集和现场控制。在这些应用中,单片机只是直接面向被控对象底层。而对采集到的数据进行进一步分析和处理的工作是由功能强大的主控PC机来完成的。因此,PC机和单片机之间就有着大量的数据交换。3 PC机与单片机8051通信的硬件设计通常PC机和单片机之间的通信是通过串行总线RS-232实现的。因此采用一种以MAX232为核心的通信接口电路。该接口电路适用于由一台PC机与多个8051单片机串行通信的设计,其原理和方法同样适用于PC机与其它单片机之间的串行数据通信。其原理框图见图1:图1 单片机与PC机通信原理框图该框图中,起着重要作用的是RS-232C通信接口电路。它是上位机和下
3、位机之间信息传递的枢纽,一切数据的传输必需由它完成,上位机直接利用它的RS-232串行口,为此,采用了RS-232串行通信来接收或上传数据和指令。但RS-232信号的电平和单片机串口信号的电平不一致,必须进行二者之间的电平转换。在此电路中,采用MAX232实现TTL逻辑电平和RS-232电平之间的相互转换。 MAX232由单一的+5V电源供电,只需配接5个高精度10F/50V的钽电容即可完成电平转换。因此,避免了用1488和1489时必需两路电源的麻烦。转换后的串行信号TXD、RXD直接与PC机的串行口连接。如此设计,既可发挥出PC机强大的计算和显示功能,又可以体现出单片机灵活的控制功能,有利
4、于对现场信号的实时采集、处理和监控。3.1 8051与PC机之间的通信协议在许多场合的测控系统中,约定PC机和8051单片机的通信协议为:Number+Command+Length+DataCheckNumber:下位机的机号,若设计中有3台下位机,即Number 取01H,02H,03H,分别代表:1,2,3号下位机;Command:本次命令的代码;Length:本次发送数据段的字节数;Data:要发送的数据段;Check:1字节的校验码。本设计只考虑一个8051单片机,故可对上述通信协议进行简化。3.2 8051和PC机之间通信的软件设计VB提供了串行端口控件Mscomm方便应用程序实现串
5、行通讯,该控件屏蔽了通信过程中的底层操作,程序员应用时只需设置、监视Mscomm控件的属性和事件即可完成对串行口的初始化和数据的输入、输出工作。汇编语言是一种执行效率高、可读性强的语言。为实现通讯正常,PC机与单片机约定如下:波特率:2400bps;信息格式:1个起始位,8位数据位,1个停止位,无奇偶校验位;串行口操作模式:标准异步串行通信,串行口模式1;传送方式:PC机采用查询方式接收数据,8051单片机采用中断方式接收信息。(1) 总体功能设计通过综合分析,本系统至少应具备如下功能:PC机与单片机8051都可发送和接收数据,进行可以异步串行通信;PC机键盘输入发送给单片机8051,单片机接
6、收PC机发来的数据并送LED显示;单片机8051键盘的每次输入以BCD码送给单片机的LED显示,单片机发送的数据由四次按键的BCD码组成,发送时作为一个队列发送,PC机接收单片机发送来的数据并送窗口显示;上位机程序即PC端程序采用VB6.0制作,人机界面友好,界面简洁,功能完善,下位机程序即单片机端采用汇编语言进行开发。系统功能模块图见图2和图3。图2 上位机模块图3 下位机模块(2) 通讯流程图主程序实现下位机即单片机8051系统的初始化,8255初始化,设置单片机串行口控制寄存器SCON,电源控制寄存器PCON,定时器T1初始化,开中断。系统不停的对键盘和RxD线进行监测,当通过扫描发现有
7、按键输入时,经过按键处理后就启动该模块向上位机PC端发送所检测到的键码;当单片机8051监测到RxD线上有数据到时就启动该子程序对PC发来的数据进行接收,同时经过BCD转换送单片机系统的LED进行显示以方便和PC机发送的数据进行比较,以确认通信是否正确。流程图见图4。图4 主程序流程图图5 数据队列发送流程图数据队列发送子程序当单片机8051键盘已有4次输入时,就启动该模块向上位机PC端发送所检测到的键码。流程图见图5。键码发送子程序当单片机8051检测到键盘有输入时,就通过按键处理启动该模块向上位机PC端发送所检测到的键码。流程图见图6。图6 键码发送流程图图7 数据接收流程图图8 BCD转
8、换流程图数据接收子程序当8051监测到RxD线有数据到时就启动子程序对PC发来的数据进行接收。流程图见图7。BCD码转换子程序该程序通过把DATABUF中的十进制数值除以100(64H),得到的商就是百位数的BCD码,然后把余数除以10(0AH)便可以得到十位和个位的BCD码,从而得到相应的三位BCD码。在该子程序中进行双字节无符号二进制数的除法时要用到前面介绍的多字节无符号二进制数的除法算法,由于原理相似,在此不再重述。流程图见图8。在此程序中因原来的接收数据存在于#DATABUF附近,为防止发生信息覆盖故使用了暂存单元来暂时寄存除法计算的中间值。LED显示子程序该子程序实现对接收数据进行BCD码转换并输出到LED,采用动态显示的方式进行显示。流程图见图9:图9 LED显示流程图4 结束语上位机与下位机通讯是一个应用性广,适用性强的基础设计,可以应用在变频器上。要真正做好一个具有良好人机界面及交互性,使上位机和下位机能正常高效的通讯,需要设计人员具有很强的VB和单片机汇编语言的驾驭能力。同时,需要相当程度的设计经验,这样
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 财务管理部部门职责
- XX建筑工程有限公司办公室内勤岗位职责
- 金融危机下就业前景分析
- 人工智能的名字:AI命名背后的故事
- 防癌抗癌健康知识普及
- 乳房手术康复指导
- 电动多功能护理床全球前十强生产商排名及市场份额(by QYResearch)
- 2026年公办中小学编制教师招聘面试语文预测题
- 2026年医院招聘护理岗笔试题库
- 2026年物流师中级考试重点复习资料
- 2026年春季学期人教版小学数学五年级下册期末质量检测卷含答案
- 2025陕西省中考历史真题(原卷版)
- 浙江省Z20联盟2026届高三年级第三次学情诊断地理+答案
- (正式版)JJD 008-2026 房屋建筑和市政基础设施工程安全管理资料导则(试行)
- 创业管理(上海财经大学)智慧树知到期末考试答案章节答案2024年上海财经大学
- 墨西哥与中美洲古代文明:考古与文化史
- 《道路勘测设计》 课件 4-1道路横断面组成
- 2023年10月中国互联网发展基金会招考2名工作人员笔试历年难易错点考题荟萃附带答案详解
- 2023年重庆市中考化学试卷(A卷及解析)
- 基因功能研究技术之基因敲除及基因编辑技术-课件
- 示波器的原理和使用课件
评论
0/150
提交评论