咨询电话

ENGLISH0755-88840386
新闻中心

咨询电话

0755-88840386
您的位置:首页 > 新闻中心>详情页

基于MSComm控件的称重仪表与计算机的串行通信

发布时间:2020-12-03 11:38:02 |来源:网络转载

0前言
称重仪表是大家日常生活所见的更为普遍的一种仪表盘,伴随着自动化科技等每门课程的发展趋势,如今的称重仪表已不仅是将净重显示信息出去,而提升了很多新的作用,如串口通信、复印等。该文关键详细介绍称重仪表的串口通信,在仪表盘与电子计算机的通讯中,主要是运用单片机的串行接口来完成串口通信,将单片机与电子计算机相接组成上下位机的构造,以拓展操纵页面,完成人机交互技术。称重仪表常用的单片机是SYNCMOS-SM8958A,归属于8052系列产品单片机的继承商品。
1称重仪表串口通信
1.1RS232脉冲信号变换通信接口
单片机有一个串口通信插口,其标准接口为TTL规范,而电子计算机串口通信的标准接口为RS232C标准接口。它合适于数据信息传输速率0~115200b/s范畴内的通讯。系统软件中串口通信在硬件配置上釆用3线制RxD、TxD、GND软挥手的零MODEM方法,仅必须3个线就可在2个数据机器设备中间完成全双工的数据信息传输,将要PC机和单片机的传送数据线TxD与读取数据RxD交叉式联接,二者的接地线GND立即相接,别的电源线能够无需,而釆用手机软件挥手方法。那样既能够完成预订的每日任务,又可以简单化电路原理节约成本。可是电子计算机根据串行接口处理芯片,推送和接受的全是TTL电平表明的电子信息。它与TTLMOS逻辑性脉冲信号彻底不一样,逻辑性。脉冲信号要求为5~15V中间,逻辑性1是脉冲信号为-5~-15V中间。因而在将电子计算机和单片机的RxD和TxD交叉式联接时,务必开展脉冲信号变换,釆用某企业的MAX232来做脉冲信号变换。MAX232归属于某企业的通用性串行通信接受/推送驱动器处理芯片。其外围电路简易,只需外接4个0.1让的电容器就可以,MAX232将电子计算机的TxD端輸出的TTL电平数据信号变换为RS232C脉冲信号,輸出到单片机的RxD脚位。
1.2単片机串口通信
SM8958A系列产品单片机根据外界脚位RxD(P3.0,串行通信数据信息协调器)、TxD(P3.1,串行通信数据信息推送端)向客户出示一个可编程控制器的全双工串口通信插口,其內部结构示意图如图2所显示。推送油压缓冲器和接受油压缓冲器全是以8031內部独特作用存储器SBUF的为名存有的,2个缓冲寄存器公共一个详细地址99H,可以用读/写命令区别。要传送数据时只需应用“MOVSBUF,A”写命令,CPU把累加器A的內容载入推送的SBUF(99H),再由TxD脚位一位一位地为外推送;串行通信读取数据时,协调器RxD一位一位地读取数据,直至接到一个详细的标识符数据信息后通告CPU,再根据“MOVA,SBUF”读命令,CPU从接受的SBUF(99H)读出数据,送至累加器A中。推送和读取数据全过程釆用终断方法,进而能够进一步提高CPU的利用率。
单片机的UART插口是一个全双工的串行接口,能另外推送和读取数据。单片机的UART插口有4种工作方式,必须对串行接口操纵存储器SCON的设定来界定串行接口的工作方式和操纵它的作用。
SMO和SM1为工作方式挑选位;RI为接受终断标示;TI为推送终断标示;RB8为读取数据第9位;TB8为传送数据第9位;REN为接受操纵;SM2为多极通讯。
串行接口的操纵存储器SCON操纵串行接口的工作方式和串口波特率,推送和接受全过程选用终断方法。SCON的TI或RI引起內部串行接口终断或根据內部查看进行终断作用,串口波特率产生器能用计时器T/C1或T/C2设定。SM8958A有一个规范的串行接口,有4种工作方式,其表明和常用串口波特率见表2。根据对串口通信操纵存储器SCON开展程序编写进行串口通信的复位。单片机能够选用选编或是C语言,根据对单片机的串口通信程序编写,从串口通信把数据信息发给电子计算机。
SMO.SM1为串行接口工作方式挑选位,在原文中SM0.SM1为0、1,即串口通信工作中在方法1,该方法为10位一帧的多线程串口通信方法,其串口波特率是可变性的,由计时器操纵,1位起止位,8位数据位,1位终止位,无奇偶校验位。
1-3单片机串口通信编程设计
仪表盘的单片机程序流程是在KeilC51c语言编译器下撰写,串行接口输入选用查看方法,輸出选用终断方法。
2上位机软件串口通信编程设计
运用MSComm控制开展上位机软件串口通信程序编写。
串口通信控制MSComm32.OCX是Windows下串口通信程序编写的32位系统ActiveX控制。量化策略法是MSComm解决通讯难题的一种方式。OnComm恶性事件还能够定期检查解决通讯不正确。每每有新的标识符抵达,或端口号情况更改或产生不正确时,MSComm控制开启OnComm恶性事件,进而获得并解决这种通讯恶性事件。另外CPU不用持续检测串口通信,这类方法的优势是程序流程回应立即,可信性高。
1)复位并开启串口通信。对串口通信的复位关键包含下列好多个特性的设定:根据CommPort特性设定通讯服务器端口;根据Handshaking特性设定通讯协议;根据Setings特性设定传输速度等主要参数;再依据实际必须设定别的丄些有关特性。在复位完串口通信后根据将PortOpen特性设为True即打开了串口通信。
2)捕获串口通信恶性事件。采用较为普遍应用的恶性事件动的方法,在OnComm恶性事件里捕获通讯恶性事件并开展相对的解决。
3)串口通信数据信息的读写能力。串口通信的读写能力关键根据Input和Output特性。从串口通信读人的数据信息在Input里,立即启用就可以载入,而把要推送的数据信息取值给Out-put就可以。留意这儿的数据信息分二种状况,字符串数组和二进制。
4)串口通信的关掉。将PortOpen特性设定为False就可以关掉串口通信。
3结果
该文以称重仪表与电子计算机开展数据通讯为例子,主要详细介绍了单片机与电子计算机中间的串口通信和RS232串口通信系统总线规范,运用VisualC++的MSComm控制完成了称重仪表与电子计算机的串口通信。

 

本文源于网络转载,如有侵权,请联系删除

分享到