4. 结论
单片机控制的电子秤集传感器技术、微计算机技术、数字显示技术于一体、其反应灵敏、准确度高、显示直观,便于使用。另外稍加扩展,该电子秤还可与其它生产质量管理系统项连接,具有推广应用价值。
电子秤不仅要向高精度、高可靠方向发展, 而且更需向多种功能的方向发展。目前飞电子秤技术朝着以下方向发展 :
(1) 智能化:本系统中虽然利用单片软件实现一些简单的功能,我们可以将其与电子计算机组合,开发称重用计算机,利用计算机功能使电子秤具有推理、判断、自诊断、自适应、自组织等功能。
(2) 综合性:本系统中虽然利用软件实现称重、计价、显示,但远远不够,电子称重技术发展规律就是不断的加强基础扩大应用,扩展新技术领域,向相邻学科和行业渗透,综合各种技术去解决称重计量、自动控制、信息处理,与计算机网络组合可以显示很多商业信息,构成一个完整的综合控制系统。
(3) 组合性:未来称重系统会大量应用在工业计量过程和工艺流程中,其要求组合性,即测量范围可以任意设定;硬件能够依据一定的工作条件和环境作某些调整;软件能按一定的程序进行修改和扩展;输入输出数据与指令可以使用不同的语言和条形码,并能与外部的控制和数据处理设备进行通信。
在整个毕业设计过程中,我对大学四年所学的知识有了一个系统的认识和理解,尤其
是对本课题所用到的单片机及其相关知识有了进一步的掌握,对利用单片机进行控制系统的设计与开发又及对系统的分析和问题的解决有了切身的认识和体会,正所谓学以致用,在此实践过程中增长了知识、丰富了经验,提高了解决问题的能力。系统的分析与设计过程是对学习的总结过程,更是进一步学习和探索的过程。控制系统的开发设计是一项复杂的系统工程,必须严格按照系统分析、系统设计、系统实施、系统运行与调试的过程来进行。系统的分析和设计是项很辛苦的工作,同时也是一个充满乐趣的过程,在设计过程中,要边学习,边实践,遇到新问题就不断探索和努力即可使问题得到解决。
14
参考文献
[1] 关德新,冯文全. 单片机外围器件实用手册 [M].京:北京航空航天大学出版社,1998,6.33~98 [2] 郁有文,常健,程继红. 传感器原理及工程应用[M].西安:西安电子科技大学出版社,2006.10~200 [3] 范立南,李雪飞,尹授远. 单片微型计算机控制系统设计[M].北京:人民邮电出版社,2004.15~100 [4] 高吉祥. 电子技术基础试验与课程设计[M].北京:电子工业出版社,2005.55~99 [5] 唐俊杰,高秦生. 微型计算机原理及应用[M].北京:高等教育出版社,1993.60~150 [6] 康华光,陈大钦. 模拟电子技术基础[M].北京:高等教育出版社,1999.6,10~200 [7] 张毅刚主编. 单片机原理及应用[M].北京:高等教育出版社,2003.12.220~250 [8] 厉志飞. 电子衡器的发展趋势[J].现代计量仪器与技术,2003,(04) [9] 王艳春. 智能电子称重系统的设计[J].微计算机信息,2007,(04) [10] 张景元. 一种基于单片机的多功能电子称[J].微计算机信息,2006,(04)
[11] 孙鹏,徐发明. 模拟称重传感器信号发生器的设计[J].牡丹江师范学院学报,2007,(03):23 [12] 南光群. 基于HT49R30A-1单片机控制的电子秤设计[J].电工技术,2007,(04):8~9 [13] 明尚志. 电子秤称重传感器V/F转换电路的设计[J].电子测量技术,2007,30(03):175~177 [14] 周清华,马善农. 高性能低成本电子秤的参考设计[J].世界电子元器件,2006,(5):59~64 [15] 张海霞. 新型便携式电子秤设计[J].计量技术,2005,(9):6~9
15
附录一:
A/D转换程序
#include
sbit ad_cs=P1^1; //AD转换器AD7705硬件I/O定义 sbit ad_sclk=P1^0; sbit ad_dout=P1^4; //AD输入输出I/O sbit ad_din=P1^3; //AD输入输出I/O sbit ad_reset=P1^2; //AD7705复位 sbit ad_drdy=P1^5; //AD7705
data unsigned int lsb,msb; void delay()
{ data unsigned int i; i=0;
while(i<7000) { i++; } }
void ad_write(unsigned char command)//数据输入 { data unsigned char i; ad_sclk=1; ad_cs=0; i=8;
while(i!=0)
{ ad_sclk=0; ad_in=command&0x80; ad_sclk=1;
command=command<<1; i--; }
ad_din=1; //送完命令置'1',准备输入数据 ad_cs=1; }
//设置A/D转换模式.然后可以连续读出结果.
Void ad_set (unsigned char ch,unsigned char gain) // //ch=1,2;gain=0,1,2,3(1,2,4,8...) ch通道 gain 增益
{ data unsigned char i=0x46; //单极性,加缓冲器 data unsigned char j=gain; j=j<<3; i=i|j;
ad_write(0x0f+ch); //写通讯寄存器,选择通道1,2,并建立下一个操作为写设置寄存器
16
ad_write(i); //写设置寄存器,清除FSYNC,建立增益等运行条件
//初始化被选通道为自校准模式,有缓冲器
}
//A/D转换结果读取函数. unsigned int ad_pro()
{ data unsigned int j,k=0; data unsigned char kk; while(ad_drdy==1);
ad_write(0x38); //读通讯寄存器,选择通道1,2,并建立下一个操作位读数据寄存器
ad_sclk=1; //读取结果 ad_cs=0; kk=16;
while(kk!=0) { k=k<<1; ad_sclk=0; j=ad_dout; ad_sclk=1;
k=k|j; //或 kk--; }
ad_cs=1; ad_dout=1;
return(k); }
//AD初始化复位,50赫兹输出速率 ad_init()
{ ad_cs=0;
ad_reset=1; //复位AD转换器1--0--1脉冲,40ms delay(); ad_reset=0; delay(); ad_reset=0; delay(); ad_reset=1;
ad_write(0x20); //写通讯寄存器,选择通道1,并建立下一个操作为写时钟寄存器
ad_write(0x04); //写时钟寄存器,设时钟信号位于使用的主时钟信号(2.4576MHz)
ad_write(0x10); ad_write(0x46); }
17
void ad_jiaozhun() //初始化A/D,校准两个通道.在通道一上持续工作.
{ ad_init(); ad_set(1,0);
while(ad_drdy==0); while(ad_drdy==1); while(ad_drdy==0); while(ad_drdy==1);
// ad_write(0x20); //写通讯寄存器,选择通道1,并建立下一个操作为写时钟寄存器,掉电.
// ad_write(0x14); //A/D }
void main() {
ad_jiaozhun(); lsb=ad_pro(); msb=ad_pro(); }
基准断电. 18