第二部分:具体实现方案
一、硬件组成:
(一)、硬件结构框图如下:
( 二)、各部分硬件电路实现
(1)、基于AT89S52的主控电路图
主控电路以 89C52为核心扩展32K RAM;单片机使用6M晶振,P0口外接上拉电阻,增大了带负载能力;A12~A15接74LS138译码器,输出作外部片选信号。 扩展了几个接口用于其它部分于单片机的通信
( 2)前端信号处理
INA126构成的放大器及滤波电路:
通过调节 300)this.width=300" border=0>的阻值来改变放大倍数。微弱信号Vi1和Vi2被分别放大后从INA126的第6脚输出。A/D转换器ICL7135的输入电压变化范围是-2V~+2V,传感器的输出电压信号在0~20mv左右,因此放大器的放大倍数在200~300左右,可将
300)this.width=300" border=0>接成
300)this.width=300" border=0>的滑动变阻器。
由于 ICL7135对高频干扰不敏感,所以滤波电路主要针对工频及其低次谐波引入的干扰。因为压力信号变化十分缓慢,所以滤波电路可以把频率做得很低。
( 3)A/D转换器
基于 ICL7135的A/D转换器实现电路:
基准源选用芯片 MC1403 2.5V分压得到:
由于 ICL7135内部没有振荡器,所以需要外接。但A/D转换器精度与时钟频率的漂移无关。正向积分时间T1和反向积分时间T2按相同比例增加并不影响测量的结果。ICL7135的时钟频率典型值为200kHz最高允许为1200kHz,时钟频率越高,转换速度越快。每输出一位BCD码的时间为200个时钟周期,选通脉冲位于数据脉冲的中部,如果时钟频率太高,则数据的接受程序还没有接受完毕,数据就已经消失了。考虑到此系统频率要求不是太高,且单片机的工作频率也不是很高,因此我们取时钟频率的典型值:200kHz。由于频率比较低,对时钟漂移要求不高,我们采用阻容方式实现了基本的振荡电路。如下:
振荡频率约为 160kHz。
此外 ICL7135外部还需要外接积分电阻、积分电容,但A/D转换器精度与外接的积分电阻、积分电容的精度无关,故可以降低对元件质量的要求。不过积分电容和积分电容的介质损耗会影响到A/D转换器的精度,所以应采用介质损耗较小的聚丙乙烯电容
ICL7135还需要外接基准电源,这是因为芯片内部的基准源一般容易受到温度的影响,而基准电源的变化会直接影响转换精度。所以当精度要求较高时,应采用外接基准源。一般接其典型值1V。
(4) 、人机交互界面
(a) 、键盘接口图:
键盘控制芯片 ZLG7289 控制键盘的扫描,当监测到有键按下后 ZLG7289 的 9 脚便产生一个低电平通知单片机,单片机可以采用查询或者中断方式将数据通过 P1.5 以串行方式读入。因为查询方式会浪费大量的时间 , 所以本系统采用的是中断方式。
(b) 、 LCD 显示接口电路
.
LCD 复位信号通过反相器接到单片机的 RESET 上,上电或手动复位时将随单片机同时复位。由于复位后并行口输出高电平, LCD 处于选中状态,此时 LCD 将输出内部状态字,将会影响数据总线上的数据传输。所以外接一个反相器。
二、软件组成:
(一)、流程图
主程序流程如图所示:
中断服务程序流程图如下:
( 2)、软件说明
由于涉及到大量数据的运算,程序不宜采用汇编语言, C语言大大缩短了开发时间,且程序可读性非常好。
程序中对 AD采入的数据进行了数字滤波,进一步减小AD读入数据的误差。
7289键盘控制采用中断方式,加快了程序的执行效率。
详细的操作过程见使用说明。
本文关键字:电子秤 工具,电子知识资料 - 工具