基于单片机的电子秤的设计与实现整理版内容摘要:
大 5nA 高共模抵制 CMR 最小 120dB 输入保护至 177。 40V 图 28 INA128 引脚图 宽电源电压范围 177。 至 177。 18V 低静态电流 700181。 A 8 引脚塑料 DIP 和 SO8 封装 放大器增益 G=1+50k/Rg,通过改变 Rg 的大小来改变放大器的增益。 因为放大的倍数是 1000,所以大致选用 50 欧姆的电阻就可以了。 基于以上分析,采用专用仪表放大器能跟好的满足要求,我最终选择了 INA128。 模数转换器选型 DJKHJKFDSFJK HJDSKH FJDH JKFDHSJK FDSJK JKDHFJKH JFHDSJKFHJKDS HFJKDSHF DSJKFHDSJK 称重传感器采集的压力信号是模拟量,单片机系统内部运算时用的都是数字量,即 0 和 1,因此对于单片机而言我们无法直接操作模拟量,必须将模拟量转换为数字量。 这就需要在单片机前段加上模数转换器,模数转换器就是将输入的模拟信号转换 成数字信号 [9]。 而模数转换器的数字信号提供给微处理器处理。 现在模数转换的基本方法有十几种,常用的有计数法、逐次比较法、双斜积分法和并行转换法。 由于逐次比较法模数转换具有速度快、分辨率高等特点,而且采用这种方法的 ADC 芯片成本较低,所以我们选用逐次比较型模数转换集成芯片 ADC0832, ADC0832 是美国国家半导体公司生产的一种 8 位分辨率、双通道模数转换芯片, 其输入输出 电平与 TTL/CMOS 相兼容,电源供电时输入电压在 0~ 5V 之间,工作频率为250KHZ 转换时间为 32μS,一般功耗仅为 15mW; 由于它体积小,兼容性,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。 ADC0832 特点 : 8 位分辨率 ; 双通道 A/D 转换; 输入输出电平与 TTL/CMOS 相兼容; 5V 电源供电时输入电压在 0~5V 之间; 工作频率为 250KHZ,转换时间为 32μS; 一般功耗仅为 15mW; 8P、 14P—DIP(双列直插)、 PICC 多种封装; 商用级芯片温宽为 0176。 C to +70176。 C,工业级芯片温宽为 −40176。 C to +85176。 C; 芯片接口说明: CS_ 片选 使能,低电平芯片使能。 CH0 模拟输入通道 0,或作为 IN+/使用。 CH1 模拟输入通道 1,或作为 IN+/使用。 GND 芯片参考 0 电位(地)。 DI 数据信号输入,选择通道控制。 图 29 AD0832 双列直插式封装引脚图 DJKHJKFDSFJK HJDSKH FJDH JKFDHSJK FDSJK JKDHFJKH JFHDSJKFHJKDS HFJKDSHF DSJKFHDSJK DO 数据信号输出,转换 数据输出。 CLK 芯片时钟输入。 Vcc/REF 电源输入及参考电压输入(复用)。 ADC0832 为 8 位分辨率 A/D 转换芯片,其最高分辨可达 256 级,可以适应一般的模拟量转换要求。 其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V 之间。 芯片转换时间仅为 32μS,据有双数据输出可作为 数据校验 ,以减少数据误差,转换速度快且稳定性能强。 独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。 通过 DI 数据输入端,可以轻易的实现通道功能的选择。 键盘部分的方案 键盘输入是人机交互界面中重要的组成部分,它是系统接受用户指令的直接途径。 键盘是由若干个按键开关组成,键的多少根据单片机应用系统的用途而定。 键盘由许多键组成,每一个键相当于一个机械开关触点,当键按下时 ,触点闭合,当键松开时,触点断开。 单片机接收到按键的触点信号后作相应的功能处理。 因此,相对于单片机系统来说键盘接口信号是输入信号。 键盘部分有两个可行的方案,第一是采用 34 的矩阵键盘结构的键盘接口电路,第二是采用 44 的矩阵键盘结构的键盘接口电路 [15]。 由于电子秤需要设置单价(十个数字键),还具有确认、清零等功能,总共需设置 13 个键(包括一个复位键),其中复位可以单独拿出来。 所以我们采用 34 的矩阵键盘结构的键盘接口电路。 34 矩阵式键盘的特点是把检测线分成两组,一组为行线,一组列线,按键放在行线和列 线的交叉点上。 图 26 给出了一个 34 的矩阵键盘结构的键盘接口电路,图中的每一个按键都通过不同的行线和列线与主机相连这。 34 矩阵式键盘共可以安装 12 个键,但只需要 7 条测试线。 DJKHJKFDSFJK HJDSKH FJDH JKFDHSJK FDSJK JKDHFJKH JFHDSJKFHJKDS HFJKDSHF DSJKFHDSJK 图 210 3 4 矩阵式键盘图 显示部分选 型 数据显示是电子秤的一项重要功能,是人机交换的主要组成部分,它可以将测量电路测得的数据经过微处理器处理后直观的显示出来。 数据显示部分可以有以下两种方案供选择:一是 LED 数码管显示,二是 LCD 液晶。 LED 显示每一个数码管只能显示一个数字,电子秤系统需要许多数码管,会使线路变得复杂化。 LCD 液晶显示器是一种极低功耗显示器,其能够多行显示,并且能够显示汉字或英文字母,应用于电子秤中能够更人性化,更容易操作。 所以最终选择了两行显示的 LCD1602,LCD1602 的引脚图如 211 所示。 图 211 液晶显示器 LCD1602 过载报警部分的方案 智能仪器一般都具有报警和通讯功能,报警主要用于系统运行出错、当测量的数据超过仪表量程或者是超过用户设置的上下限时为提醒用户而设置。 在本系统中,设置报警的目的就是在超出电子秤测量范围时,发出声光报警信号,提示用户,防止损DJKHJKFDSFJK HJDSKH FJDH JKFDHSJK FDSJK JKDHFJKH JFHDSJKFHJKDS HFJKDSHF DSJKFHDSJK 坏仪器。 超限报警电路是由单片机的 I/O 口来控制的,当称重物体重量超过系统设计所允许的重量时,通过程序使单片机的 I/O 值为高电平,从而三极管导通,使蜂鸣器SPEAKER 发出报警声,同时使二极管发光。 DJKHJKFDSFJK HJDSKH FJDH JKFDHSJK FDSJK JKDHFJKH JFHDSJKFHJKDS HFJKDSHF DSJKFHDSJK 3 硬件设计 系统设计的总体思路 物体放在压力传感器上,传感器发生形变,阻抗就发生变化,产生一个变化的模拟信号,该信号需要有放大电路放大后输入到模数转换器,转换为数字信号后输入到微处理器处理。 微处理器根据键盘命令以及程序将结果输出到显示器,直到显示结果。 如下图所示 31 所示。 图 31 硬件设计的总体思路 单片机 STC89C52 最小系统 图 32 STC89C52 最小系统图 STC89C52 是片内有 ROM/EPROM 的单片机,其最小系 统简单 、可靠,仅 由时钟电路、复位电路、电源电路构成 [11]。 时钟电路 压 力 传感器 放大电路 模数转换 微处理器 键 盘 x = x = x = x = LCD 显示 x = x = x = x = DJKHJKFDSFJK HJDSKH FJDH JKFDHSJK FDSJK JKDHFJKH JFHDSJKFHJKDS HFJKDSHF DSJKFHDSJK STC89C52 虽然有内部振荡电路,但要形成时钟,必须外部附加电路。 STC89C52单片机的时钟产生方法有两种。 内部时钟方式和外部时钟方式。 本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。 振荡晶体可在 到 12MHZ 之间选择。 电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,可在 20pF 到 100pF 之间取值。 所以本设计中,振荡晶体选择 12MHZ,电容选择 30pF[11]。 复位电路 STC89C52 的复位电路是由外部的复位电路来实现的。 只需给复位引脚 RST 加上大于 2 个机器周期的高电平就可使其复位。 复位电路通常采用上电自动复位和按键复位两种方式。 本设计就是用的按键手动复位。 其中电平复位是通过 RST 端经电阻与电源 Vcc 接通而实现的。 电源电路 STC89C52 的电源脚分别为 20 脚 Vss 和 40 脚 Vcc(图中已默认连接,未显示出来)。 这两个脚分别接地和 +5V 直流电源, 31 脚 EA 为内外存储器的控制端,接 +5V允许访问外部存储器。 放大电路 传感器检测电路的功能是把电阻应变片的电阻变 化转变为电压输出,本设计中选用 CZAF605 电阻应变式称重传感器 [10],因为通过其得到的电压信号很小,为所以还需要放大器放大信号。 考虑到干扰的作用,对传感器的信号进行了滤波处理,最终设计如图 33。 图 33 传感器与放大器的接口电路 INA128 的 2 和 3 脚为信号输入端, 5 和 7 脚为电源引脚。 微弱信号放大后从Rd RaRc RbVCC10K10K200pF 100pF200pF 100pFV4IN+3IN2OUT6REF5RG1RG8+V7INA128VCC1KDJKHJKFDSFJK HJDSKH FJDH JKFDHSJK FDSJK JKDHFJKH JFHDSJKFHJKDS HFJKDSHF DSJKFHDSJK INA128 的第 6 脚输出。 通过调节 Rg 的阻值可以来改变放大倍数,使得输出电压在A/D 转换的基准电压要求范围之内。 根据要求 ,A/D 转换器的输入电压变化范围是 0V~ ,传 感器的输出电压信号在 0~ 5mv, 10 00 因此取放大器的放大倍数 1000。 因此代入公式501 KG Rg , 50100050g KR。 模数转换器与单片机接口电路 ADC0832 为 8 位分辨率 A/D 转换芯片,其最高分辨可达 256 级,可以适应一般的模拟量转换要求。 其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V 之间。 芯片转 换时间仅为 32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强 [12]。 独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。 通过 DI 数据输入端,可以轻易的实现通道功能的选择 [21]。 正常情况下 ADC0832 与单片机的接口应为 4 条数据线,分别是 CS、 CLK、 DO、 DI。 但由于 DO 端与 DI 端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将 DO 和 DI 并联在一根数据线上使用。 当 ADC0832 未工作时其 CS 输入端应为高电平,此时芯片禁用, CLK 和 DO/DI 的 电平可任意。 当要进行 A/D 转换时,须先将 CS 使能端置于低电平并且保持低电平直到转换完全结束。 此时芯片开始转换工作,同时由处理器向芯片时钟输入端 CLK 输入 时钟脉冲 , DO/DI 端则使用 DI 端输入通道功能选择的数据信号。 在第 1 个时钟脉冲的下沉之前 DI 端必须是高电平,表示启始信号。 在第 3 个脉冲下沉之前 DI 端应输入 2 位数据用于选择通道功能 [9]。 作为单通道模拟信号输入时 ADC0832 的输入电压是 0~5V 且 8 位分辨率时的电压精度为。 如果作为由 IN+与 IN输入的输入时,可是将电压值设定在某一 个较大范围之内,从而提高转换的宽度。 但值得注意的是,在进行 IN+与 IN的输入时,如果 IN的电压大于 IN+的电压则转换后的数据结。基于单片机的电子秤的设计与实现整理版
相关推荐
=3V~ 15V 逻辑 0(SPACE)=+3~+ 15V; 在 RTS、 CTS、 DSR、 DTR 和 DCD 等控制线上:信号有效(接通, ON 状态,正电压)= +3V~ +15V 信号无效(断开, OFF 状态,负电压 )=3V~15V TTL 输出 高电平 ,输出低电平。 在室温下,一般输出高电平是 ,项目 符号 测试条件 最小 典型 最大 单位 输入 正向压降 VF IF=10mA
相一致。 对于 74161 而言, 当 CLOCK 由低至高跳变或跳变前,如果计数控制端 ENP、 ENT 位高电平,则 LOAD 应避免由低电平至高电平的跳变,而74LS161 则无此限制。 161 的计数是同步的,靠 CLOCK 同时加在四个触 发器上而实现的。 当 ENP、 ENT 均为基于单片机的电源管理系统设计 10 高电平时,在 CLOCK 上升沿作用下 Q0— Q3同时变化
1 相当于一个单 8 通道数字的控制模拟电子开关,有 A、 B 和 C 三个二进制控制输入端的以及 INH 共 4 个输入。 由输入 3 位地址码 ABC 来决定开关要接通哪个的通道。 其中要注意的是引脚中 INH 是禁止输入端,当“ INH” =1 时,各通道均不会被接通。 CD4051 的真值表如 22 所示。 表 22 CD4051真值表 数据输入 通道选择 INH C B A 输出 0
设计 在 LCD 显示子程序中,初始化后,从 LCD 中读状态字,判断 LCD 是否忙状态,不是则可向 LCD 写控制命令,再写数据,即显示数据。 19 图 LCD显示流程图 八、 程 序清单 include include //include //include define uint unsigned int define uchar unsigned char sbit
错后,就直接生产 hex 文件,然后进行( proteus)软件仿真。 我们用 proteus 绘制的仿真图如下: 图 、 软件仿真 在硬件设计完成后,利用软件对其进行仿真,这样,就会减少在做硬件时的错误,做到更准确。 本次我采用 Proteus 软件仿真。 第 16 页 如图 所示,电子万年历的时间仿真图。 图 经过此次的软件仿真,仿真结果正常,可以顺利的进行硬件制作。 、硬件调试
为前提的,蓄电池可接受的充电曲线,如图 1 所示。 实验表明,如果充电电流按 这条曲线变化,就可以大大缩短充电时间,并且对电池的容量和寿命也没有影响。 原则上把这条曲线称为最佳充电曲线,从而奠定了快速充电方法的研究方向。 图 最佳充电 曲线 由图 可以看出:初始充电电流很大,但是衰减很快。 主要原因是充电过程中产生了极化现象。 在密封式蓄电池充电过程中,内部产生氧气和氢气,当氧 7