PCB抄板专家世纪芯官方网站——PCB抄板网!   
  首页  公司介绍  资讯中心  案例展示  服务推荐  常见问题  联系我们  
24小时客服热线: +86-0755-83035861
PCB抄板资料站
世纪芯寻找疑难项目隆重启幕
世纪芯芯片解密取得重大突破
世纪芯PCB抄板服务流程
世纪芯保证PCB抄板100%准确
资讯中心
基于单片机的高精度称重系统的技术研究

基于单片机的高精度称重系统的技术研究

http://www.pcbcb.com    2009年09月22日10:02  PCB抄板网    我要咨询
;           
  读取重力量程序功能。启动A/D转换,将称重传感器测量的重量值转换成数字信号并读取到单片机内部。
  串口发送和接收子程序功能。完成下位机和上位机的通信。单片机读取的温度和湿度值通过发送子程序发送给上位机并等待命令,收到命令后再继续进行测量。接收子程序通过接收上位机传输的命令进行系统自检、参数修正等。上位机的命令发送采用间隔10ms反复发送的方式,直到单片机将接收到的命令返回为止。如在 1s内单片机没有响应,则设置超时,系统复位单片机。
  2.2 上位机软件编程
  本系统采用MSComm控件实现VB与单片机之间的数据交换,具有程序实现简便,程序模块化,工作可靠等优点,并能满足多数情况下的工控要求。使用MSComm控件主要是通过事件来处理串行口的交互。控件的OnComm事件负责捕获或处理这些通讯事件和通讯错误。
  2.2.1 MSCOMM属性设置
  MSComml.CommPort=1 '设置端口1
  MSComml.Settings="2400,N,8,1" '2400 b/s,无校验,8位数据位,1位停止位
  MSComml.InputLen=1 '一次从缓冲区中接收一个字节
  MSComml.InBufferSize=1024 '接口收缓冲区大小
  MSComml.PortOpen=Ture '打开端口
  MSComml.Rthreshold=1 '接收一个字节触发一次ONCOMM事件
  2.2.2 ONCOMM事件响应程序
  Private Sub MSComml_OnComm()
  Dim buffer As Variant '由缓冲区接收到的数据用Variant格式接收
  Dim arr()As Byte '定义二进制数组
  Dim i As Integer
  Dim receivester As string '定义输出到接收文本框中的字符变量
  '下段程序是comEvReceive事件触发后,将数据存入相应的数组,并在接收文本框中显示
  Select Case MSComml.CommEvent CasecomEvReceive buffer=MSComml.Inpute
  arr=buffer接收缓冲区内数据variant变量内
  arr=buffer '转换为二进制数并送入相应数组
  For i=1to8
  receivester arr(i)
  Text1.Text=Text1.Text&receiverstr&"."
  '在接收框中显示文本
  Next i
  End Select
  End Sub
  3 结束语
  本重量测量系统,充分发挥了AT89S52单片机强大的控制能力和计算机的数据处理能力,通过称重传感器和24位分辨率的A/D转换器实现了对重量的高精度测量。系统在电子秤的实际应用中收到了满意的效果。

关于我们 ┊ about shijixin ┊ 服务项目 ┊ 成功案例 ┊ 常见问题 ┊ 合作伙伴 ┊ 联系我们 ┊ 加入我们 
Copyright © 1998 - 2009 www.pcbcb.com. All Rights Reserved
PCB抄板资料站--国内最专业的PCB抄板信息综合门户!
联系地址:深圳市福田区国际科技大厦2603单元 联系电话:0755-83035861/62/63 Design By :www.pcbcb.com