那位大神 给一个完整的 pic16f877a配置字的独立按键程序我参考一下!要确保能用的!怎么我自己写

一款基于PIC16F877A单片机的高准确度数字称重系统设计
查看: 214|
摘要: 称重计量技术的应用颇为广泛,遍布于社
会经济的各行各业,在生产过程或贸易结算中,
对称量技术的要求越来越高。而在我国,目前
大多使用的仍为模拟式的电子称重系统,纯数
字式的称重系统由于成本问题,在商业及工业
生产中的应用不为广泛,为了解决现有的模拟
称重系统存在各类误差补偿困难、稳定性和可
靠性低以及难以实现在线监测等诸多问题,且
考虑到纯数字式称重系统的成本,本文设计了
一种基于PIC16F877A 单片机的高准确度远程
数字化称重系统。
&Data Base Technique • 数据库技术
Electronic Technology & Software Engineering 电子技术与软件工程&#
【关键词】数字称重系统 PIC16F877A 单片
称重计量技术的应用颇为广泛,遍布于社
会经济的各行各业,在生产过程或贸易结算中,
对称量技术的要求越来越高。而在我国,目前
大多使用的仍为模拟式的电子称重系统,纯数
字式的称重系统由于成本问题,在商业及工业
生产中的应用不为广泛,为了解决现有的模拟
称重系统存在各类误差补偿困难、稳定性和可
靠性低以及难以实现在线监测等诸多问题,且
考虑到纯数字式称重系统的成本,本文设计了
一种基于PIC16F877A 单片机的高准确度远程
数字化称重系统。
1 系统总体设计
系统主要包括模拟称重传感器部分、数
字化部分、通信接口部分及仪表数据处理部分。
模拟称重传感器的弹性体在外力的作用下,产
生弹性形变,从而使得粘贴在弹性体表面的电
阻应变片产生变形,电阻应变片的电阻随之变
化,经过惠斯顿电桥电路将力的变化转换为电
信号的变化,输出mV 级的信号。该信号经过
放大再进行A/D 转换,然后通过单片机对传
感器数据进行各种补偿修正,包括零点、温度、
灵敏度、非线性、蠕变等补偿,从而使得称重
系统的各项技术指标达到规定的准确度,最后
将补偿完的称重数据信号以RS-232 信号格式
2 基本硬件电路设计
一款基于PIC16F877A 单片机的高准确度数字称重系统设计
文/严建军 秦树伟 李苏明
本文设计了一款高准确
度数字称重系统。该设计利用
PIC16F877A单片机作为微处理器,
在称重数据处理中,应用了混合
滤波算法,提高了称重系统的稳
定性、准确度。测试表明:该称
重系统能够实现多通道称重系统
的数字化处理,并符合OIML R76
中的级衡器的允差要求。
系统处理器采用美国Microchip 公司生产
的PIC16F877A 单片机,其主频为20MHz,内
部集成了8k×14 位Flash 程序存储器和368 字
节数据存储器,并拥有14 个中断源,可以完
全满足本项目的需要。文中设计的称重系统称
量相对误差在0.05% 以内,则数据采集电路要
保证A/D 转换器无噪声分辨率输出在21 位或
以上,综合考虑多通道高精度Σ-Δ 型A/D 转
换器的失调、动态噪声、线性度和温度漂移等
技术指标,选用了24 位多通道高精度A/D 转
换器AD7718。
3 软件设计
系统采用PIC16F877A 单片机作为微处理
器,整个系统采用模块化设计,由主程序、数
据采集、滤波、数据处理、通信及智能称重子
程序等构成。
单片机上电后先初始化,其中包括寄存
器、RAM、串口、定时器及端口的初始化,
然后对RAM、ROM、EEPROM 进行测试,包
括RAM 的读写,ROM 及EEPROM 的测试,
测试不正常则置出错标志。如果测试正常则读
取EEPROM 中的参数到RAM 中,然后读取
AD7718 中出来的A/D 值,随即进行滤波处理,
再判断是否在正常范围之内,如是则进入补偿
程序进行补偿,结果输出到数字化模块的屏幕
端,并将结果按通讯协议通过RS232 总线输
出到上位机,输出同时判断数据是否有效,如
无效则置出出错标志,如果有效则重新读取
A/D 值进行下一个数据的处理。
电子称重系统在称量过程中由于输出的
模拟信号较弱,且称重设备所处环境条件通常
不为理想状态,常伴有各种频率的噪声,尽管
在本设计中,AD7718 承担了部分的针对高频
噪声干扰的滤波功能,但不能排除低频噪声的
干扰,为了更好抑制干扰对A/D 转换结果的
影响,本项目采用了数字滤波的方法。
考虑到PIC16F877A 单片机处理速度和
RAM 空间,本项目采用了移位平均滤波、去
极值平均滤波相结合的混合滤波算法来对A/D
转换值进行滤波处理,该算法的实现过程为:
首先在 RAM 中建立两个长度为N(在本项目
中,考虑到单片机的能力,取N=8)的缓冲区,
一个用来作为备份队列,另外一个用来实现队
列移位。每次采样之前先把备份缓冲区的数据
对应调入移位缓冲区,并丢掉队首数据(最早
进入队列的那个数据),再做一次向前的移位
操作,最后把新采样的数据补充队尾,这样就
保证了能够实现滤波对新的采样值的操作,把
新生成的队列备份。为了更好抑制脉冲干扰,
必须对新的队列排序,剔除新产生队列里的最
大值和最小值,然后求余下 N-2 个值的算术平
均值就为本次采样 A/D 值的滤波结果。当然
为了进一步提高滤波效果,在求余下 N-2 个值
的算术平均值之前也可以在增加一次剔除队列
里的最大值和最小值。
对于称重传感器,由于一般采用全桥的
工业标准,由温度变化引起的应变输出非线性,
在全桥传感器中,己得到补偿。但是,实际使
用中称重传感器不可避免的存在零漂和稳漂等
问题,且其大小在uV 级以上。而这一漂移信
号叠加到实际信号中,就会造成测量误差。故
本文中的补偿子程序主要是指对称重数据进行
零点漂移的处理。零点稳定是影响称重系统准
确度非常重要的因素,传感器的零漂,即零点
漂移,是指当外界温度保持恒定时,传感器未
承受载荷却有一个随时间增加而变化的输出。
零输入信号时,输出可能不为零,为消除这个
零位漂移值,采用零位补偿技术。一般在称重
传感器中,零点温度补偿采用了通过串连在桥
路上的温度系数大的铜丝等来补偿温度带来的
误差,针对本系统的特点,本补偿模块采取了
开机清零:系统启动后自动检测称台是否有物
体,若有就把此时的值保存在RAM 中,每次
获取物体重量之后由系统自动减去作为显示结
果。零位跟踪:在工作状态系统不断监测称重
结果是否小于设定的阈值,若小于说明此时状
态称台空载,现在为零位,显示结果为零。若
工作状态监测称重结果大于设定阈值,操作人
员确认此时称台没有被称重物体,可以在此时
有操作人员按下置零按键手动置零,并把此时
的误差也保存在RAM 中,待以后的称重过程
中在减去这个值。
本项目在实现智能称重功能使用了基于
202 • 电子技术与软件工程 Electronic Technology & Software Engineering
数据库技术 • Data Base Technique
RS-232 接口,并编写了基于PC 机的数据处理
软件,来实现数据监控、数据存储、程序设定
及系统维护等功能。
下位机的智能称重即包含了故障诊断功
能,该功能可以通过仪表的自诊断完成,自诊
断主要包含以下几个方面:仪表内部存储器检
查、显示屏检查、通讯接口检查。整个称重系
统部分诊断的主要思路是通过读取下位机的输
出,将下位机的输出和系统设定的参数比较来
判断系统是否有故障。如下位机各传感器AD
码是否有超出范围的输出(是否有超载或欠
载),检查每个传感器的AD 码重量分配关系
是否发生重大变化,是否零点与初始数据发生
相对较大的漂移等,如若有以上情况,系统将
会给出相关的提示,提示使用人员对相关部件
进行检查以维护整个系统的正常工作。
4 实验结果
文中设计的智能数字称重系统, 根据
OIML-R76《非自动衡器》国际建议,该系统
的4 路独立称重误差应都能满足级衡器的
允差要求。故对由4 路独立的模拟信号输入的
该系统进行测试,每个通道的模拟信号由一个
制作完好的秤台中配有的模拟称重传感器产
生,其中ABC 三通道最大秤量为100kg,D
通道最大秤量为1000kg。测试前先对各独立
系统进行1/2 最大秤量及最大秤量两个秤量点
进行标定,然后进行测试,测试数据如表1 所
由表1 可见,该多通道数字称重系统每
通道的结果都满足OIML-R76 中级衡器的
允差要求。
文中设计了一种基于PIC16F877A 单片机
的智能数字称重系统,采用了新的硬件电路设
通道检测项目检测结果最大允差
A(Max=100kg, e=20g) 示值误差0≤m≤500e 0.1e ±0.5e
500e <m≤e ±1.0e
2000e <m≤Max 0.4e ±1.5e
重复性误差1/2 Max 0.0e 1.5e
Max 0.1e 1.5e
B(Max=100kg, e=20g) 示值误差0≤m≤500e 0.0e ±0.5e
500e <m≤2000e -0.3e ±1.0e
2000e <m≤Max 0.3e ±1.5e
重复性误差1/2 Max 0.1e 1.5e
Max 0.1e 1.5e
C(Max=100kg, e=20g) 示值误差0≤m≤500e 0.1e ±0.5e
500e <m≤e ±1.0e
2000e <m≤Max -0.2e ±1.5e
重复性误差1/2 Max 0.1e 1.5e
Max 0.2e 1.5e
D(Max=1000kg,
示值误差0≤m≤500e 0.1e ±0.5e
500e <m≤2000e -0.2e ±1.0e
2000e <m≤Max -0.5e ±1.5e
重复性误差1/2 Max 0.1e 1.5e
Max 0.1e 1.5e
计,与以往产品相比具有更好的综合性能,该
方案已经在宁波精联电子衡器有限公司得到应
用,实验结果表明,该系统测量示值误差及重
复性误差较小,能够满足一定的市场需求。
[1] 李银伟. 电阻应变式数字智能称重变送
器设计[D]. 硕士学位论文. 华东交通大
学,2009,P29.
[2] 关晓丽. 基于PIC16F877A 的温室自动控
制系统的研究[D]. 硕士学位论文. 哈尔
滨理工大学,-P33.
[3]OIML R76-1:2006(E) Non-automatic
weighing instruments[S].
宁波市计量测试研究院 浙江省宁波市
315048*优领域
Copyright &使用16f877a芯片设计带温度传感器的分时显示时间,日期,温度的程序
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
pic16f877a课程设计
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口&#xe621; 上传我的文档
&#xe602; 下载
&#xe60c; 收藏
该文档贡献者很忙,什么也没留下。
&#xe602; 下载此文档
正在努力加载中...
PIC16F877A实例程序
下载积分:30
内容提示:PIC16F877A实例程序
文档格式:PDF|
浏览次数:262|
上传日期: 13:20:49|
文档星级:&#xe60b;&#xe60b;&#xe60b;&#xe612;&#xe612;
该用户还上传了这些文档
PIC16F877A实例程序
官方公共微信

我要回帖

更多关于 pic16f877中文资料 的文章

 

随机推荐