基于AT89S52单片机的电子秤设计与C语言源码解析

5星 · 超过95%的资源 需积分: 42 153 下载量 65 浏览量 更新于2024-10-19 7 收藏 762KB DOC 举报
"这篇资源主要涉及一个实用电子秤的设计,该设计使用C语言编程,并在2004年的山东省电子设计大赛中展出。设计的核心是AT89S52单片机,它负责电子秤的基本控制功能。硬件部分包括最小系统板、数据采集模块和人机交互界面。软件部分则是用C语言实现的,包括称重、显示购物清单、设置日期、商品单价设定以及超重报警等功能。" 电子秤系统采用单片机AT89S52作为核心控制器,这是一款常见的8位微处理器,拥有8KB的内部程序存储器,并且外部扩展了32K的数据存储器,以满足程序运行和数据存储的需求。选择AT89S52的原因在于,系统需要处理复杂的液晶显示和键盘交互,而大规模可编程逻辑器件如CPLD或FPGA并不适合处理这种状态多变的问题。 数据采集部分由压力传感器、信号前级处理和A/D转换组成。传感器选用的是L-PSIII型,量程为20Kg,精度高,能够满足9.999Kg的称重范围要求,同时具备一定的抗冲击能力。传感器的输出信号通过惠更斯电桥原理转化为电压信号,这个电压信号需要经过前级放大器放大,以便后续的A/D转换。 在前级放大器的选择上,考虑到需要高精度的A/D转换,因此需要低噪声的放大器。文章提到了两种可能的方案,一种是使用多级普通低温漂运算放大器,但这种方法可能会引入过多噪声,影响测量精度。另一种方案虽未详细展开,但显然需要更加适合高精度应用的放大器设计。 软件部分,系统应用C语言实现了所有控制功能。C语言的灵活性和效率使得它可以有效地控制硬件并执行各种任务,如基本的称重、显示功能,以及额外的购物清单、日期设置和超重报警功能。这些功能的实现展示了C语言在嵌入式系统中的强大应用能力。 这篇资源提供了电子秤设计的详细概述,包括硬件选择和软件实现,对于学习C语言编程和电子秤设计的读者来说极具参考价值。同时,对于想要了解单片机应用和数据采集系统设计的工程师也是一个很好的学习材料。