目录
11 绪论
11.1 课题的背景及意义
11.2 电子称重技术的发展概况
32 系统的总体设计
32.1 电子称重技术的基本原理
32.2 系统的组成
32.3电源电路
53 系统的硬件设计
53.1 模拟电路设计
113.2 数字电路设计
184 系统的软件设计
184.1软件的设计思想
184.2主程序
图
194.3主要程序模块设计
204.4使用操作说明
225 总体调试
225.1测试仪
225.2 操作方法
225.3 测试方法
225.4 测试数据及测试结果分析
24结论
25参考文献
26致 谢
27附录1:软件程序
45附录2:英文资料
55附录3:英文翻译
1 绪论
电子衡器一般是指装有电子装置的衡器。因其种类繁多,且涉及到贸易结算和保护广大消费者的利益,所以为世界各国政府普遍关注和重视,并被确定为国家强制管理的法制计量器具。电子衡器是自动化称重控制和贸易计量的重要手段,对加强企业管理、严格生产、贸易结算、交通运输、港口计量和科学研究都起到了重要作用。电子衡器具有反应速度快,测量范围广、应用面广、结构简单、使用操作方便、信号远传、便于计算机控制等特点。被广泛应用于煤炭、石油、化工、电力、轻工、冶金、矿山、交通运输、港口、建筑、机械制造和国防等各个领域。
1.1 课题的背景及意义
电子称重技术是从50年代中期电子技术深入到衡器的辅助侧量技术,从60年初出现了机电结合电子衡器开始,迅速发展成为一门新兴技术,它是集传感器技术、微电子技术、计算机控制及测试技术、机械制造自动化技术、物料输送和管理技术为一体的综合技术,是现代称重计量和控制系统
的重要技术基础。应用电子称重技术开发的电子称重系统,具有广阔的应用领域和较强的渗透性、同其它高技术产业一样,电子衡器产业也是国家经济和科学竞争的重要阵地。
1.2 电子称重技术的发展概况
1.2.1 国内外的发展状况
电子称重技术是五六十年代发展起来的一门新兴技术。在我国发展比较晚,大约在80年代初才开始进入我国,随着计算机技术的普及电子称重技术在我国得到了长足的发展,在其在商业衡器领域电子秤的应用比例已达到7.7%,在工业计量领域电子称重技术也广泛应用于石油、化工、冶金、港口和码头、粮食等需定量包装的各个行业。
虽然我国的电子衡器水平有了相当的提高:但与发达国家相比,无论应用指标还是技术指标都有很大的差距,如国外的商用电子衡器的比例大约在80%以上,而我国目前仅7.7%,在高档次的电子称重产品中,如定量包装秤、配料秤、自动校检秤仍刚刚起步,水平尚待提高。
在称重的理论研究方面存在巨大的差异。据悉,近年国际上解决运动中和振动中的动态称重的问题,运用了工程动力学的称重原理与技术处理动态称重问题:突破了依赖静力场下力平衡的称重原理,相比之下我国在称重理论研究方面相当薄弱15-61新材料,新技术的应用也同国外发达国家相比有很大的差距。在国际上衡器的发展几乎能与计算机技术、微电子技术同步发展,己向数字化和智能化方向发展,而我国还处于刚刚起步阶段。
1.2.2发展趋势
通过分析近年来电子秤的发展情况及国内外市场的需求,电子秤的发展趋势是小型化、模块化、集成化、智能化;其技术性能趋向是速率高、准确度高、稳定性高、可靠性高;其功能趋向是称重计量的控制信息和非控制信息并重的“智能化”功能;其应用性能趋向于综合性和组合性。其中小型化与智能化是最重要的发展趋势。体积小、高度低、重量轻,即小、薄、轻。近几年新研制的电子秤结构充分体现了小薄轻的发展方向。电子秤的重显示控制器与电子计算机组合,利用电子计算机的智能来增加称重显示控制器的功能,充分体现了智能化。
2 系统的总体设计
2.1 电子称重技术的基本原理
称重技术的根本任务是测量各种状态下物体重量。实质上是测量被称物体质量,我们知道,质量的测量是物体在重力场下的重力测量获得的,用公式W=mg,w是物体的重量,g是在重力场的重力加速度,m是物体的质量。目前无论是利用杠杆的原理,还是利用弹性元件的弹力与被测物体的重力达到平衡来测量物体的质量,都没有离开两个必须的条件:一是重力场,二是静力平衡。
随着现代传感技术的发展,人们已从传统的机械杠杆原理测量物体的质量,发展到现在的电子称重,即用传感器把重力信号转变成电信号,利用电子计算机技术,根据电信号同重力信号的数学模型,间接的求出物体的质量。
2.2 系统的组成
本系统以ATmega48单片机为核心,主要制作原理是通过压力传感器使物品的压力信号转变为微弱的电信号,运用信号放大调理电路使电信号得到放大和整理,再将此信号进行A/D转换,使模拟信号转换成数字信号,再将其输入单片机中,利用单片机对其进行处理,最后用数码管显示出来。
本系统主要由压力传感器、信号放大电路、A/D转换、信号处理、键盘输入、数码管显示、报警电路、电源等组成。系统总体框图如下:
图2-1 系统总体框图
2.3电源电路
系统需要+5V,±12V电源,传感器需要+5V的线性电源
3 系统的硬件设计
电子秤的硬件设计主要包括模拟电路部分和数字电路部分,模拟电路部分的功能主要是实现压力信号与电信号的转换、信号放大输出。数字电路部分的功能主要是实现A/D转换、显示、通讯等功能。
本系统采用ATMEL公司的atmega48型单片机,具有运算速度快,数据处理能力强等特点。广泛应用于各类检测和工业控制系统,还适用于一般的信号处理
和高级智能仪器,以及高性能的计算机外部设备控制器和办公自动化设备控制器。
3.1 模拟电路设计
3.1.1传感器
传感器(SENSOR)是由敏感元件和转换元件组成的可将电量或非电量转换为可测量的电量的检测装置。
传感器技术是现代科技的前沿技术,是现代信息技术的三大支柱之一,其水平高低是衡量一个国家科技发展水平的重要标志之一。传感器产业也是国内外公认的具有发展前途的高技术产业,它以其技术含量高、经济效益好、渗透能力强、市场前景广等特点为世人瞩目。[1]
压力传感器是工业实践中最为常用的一种传感器,而我们通常使用的压力传感器主要是利用压电效应制造而成的,这样的传感器也称为压电传感器。
目前广泛应用的是电阻应变片式称重传感器。电阻应变式传感器主要有两部分组成,一个是弹性敏感元件,我们称弹性体,它把被测物的重量转变成弹性体的应变值,另一个是电阻应变片,它把弹性体的应变同步的转换成电阻值的变化,弹性体在弹性范围内的变化符合如下的数学公式:
(3-1)
式中
—— 弹性体的相对变形;
,
—— 弹性体的长度及其变化值;
F —— 重量 (kg);
E —— 弹性体的弹性模量(
);
S —— 弹性体的截面积(
);
压阻式压力传感器,在硅基片上用扩散工艺制成4个电阻阻值相等的应变元件构成惠斯顿电桥。[2]当压力传感器受到压力作用时,一对桥臂的电阻值增大ΔR,另一对桥臂的电阻值减少ΔR,电阻变化量ΔR与压力成正比,
电桥如图所示:
图3-1 传感器工作原理图
此时:
(受压桥) (3-2)
(受拉桥) (3-3)
所以
(3-4)
近似地
(3-5)
式中
—— 电阻应变计的应变灵敏度;
—— 弹性体的泊松比;
—— 传感器的灵敏度。即单位电压供桥时的电桥输出电压。[3]
随着技术的进步,由称重传感器制作的电子衡器已广泛地应用到各行各业,实现了对物料的快速、准确的称量,特别是随着微处理机的出现,工业生产过程自动化程度化的不断提高,称重传感器已成为过程控制中的一种必需的装置,从以前不能称重的大型罐、料斗等重量计测以及吊车秤、汽车秤等计测控制,到混合分配多种原料的配料系统、生产工艺中的自动检测和粉粒体进料量控制等,都应用了称重传感器,目前,称重传感器几乎运用到了所有的称重领域。[4]
根据以上分析我们知道可以利用称重传感器把物体的重量通过传力机构作用于称重传感器,传感器输出电信号给单片机系统的前置电路,经滤波放大,模数转换传给计算机。[5]计算机系统利用其快速的数据处理能力,通过线性变换把它转换成重力信号并且完成显示及控制功能。
3.1.2 前级放大器
在测量控制系统中,用来放大传感器输出的微弱电压、电流或电荷信号的放大电路称为测量放大电路,亦称仪用放大电路。[6]
前级放大电路的主要作用是提供足够大的增益,把传感器输出的微弱信号放大到足够的幅度,并且有足够大的共模抑制比,排除各种外来的共模干扰。压力传感器输出的电压信号为毫伏级,所以对运算放大器要求很高。[7]对信号进行放大可以利用普通低温漂运算放大器构成多级放大器。但是普通低温漂运算放大器构成多级放大器会引入大量噪声。由于A/D转换器需要很高的精度,所以几毫伏的干扰信号就会直接影响最后的测量精度,所以不宜采用。比较成熟的电路是三运放仪表放大电路,在提供大的共模抑制比的情况下,通过调节外部的一个电阻即可以灵活的设定增益范围,采用通用的运放OP07加精密电阻做成三运放测量放大器。其优点是元器件易得,价格便宜,其难点是必须保证各个元器件的精度,才能提高系统整体的共模抑制能力。
由高精度低漂移运算放大器构成差动放大器。[8]差动放大器是把二个输入信号分别输入到运算放大器的同相和反相二个输入端,然后在输出端取出二个信号的差模成分,而尽量抑制二个信号的共模成分。差动放大器具有高输入阻抗,增益高的特点,电路图如下:
图3-2 前级放大电路图
输入级加入两个同相放大器,增大了输入阻抗,第二级为差动放大电路比较符合应用要求。
图3-2中:
(3-6)
(3-7)
(3-8)
测量放大器的增益:
(3-9)
测量放大器是一种带有精密差动电压增益的器件,具有高输人阻抗、低输出阻抗 ,强抗共模干扰能力、低温漂、低失调电压和高稳定增益等特点, 在检测微弱信号的系统中被广泛用作前置放大器。[9]
用Multisim7软件进行电路仿真:
(1)观测输入输出波形
在Multisim7的电路窗口中创建电路,单击
按钮进行仿真。双击示波器图标,打开示波器面板,观察输入、输出波形。
图3-3 测量放大电路的输入、输出
(2)测量电路的性能
运用Transfer Function Analysis方法测量放大器的放大倍数、输入电阻和输出电阻。按Simulate按钮运行仿真,结果如图3-5所示。
图 3-4 Transfer Function Analysis参数设置
图3-5 Transfer Function Analysis的仿真结果
(3)测量放大电路的通频带
运行电路,双击波特仪图标,打开波特仪面板,观察电路的幅频特性曲线。移动垂直光标,测量幅度下降3dB时的频率,即为电路通频带,见图3-6。
(4)测量共模抑制比
测量共模抑制比的电路如图3-7所示。将输入两运放接同一输入信号,即为共模输入方式,用示波器观测输出波形,将输出电压与输入电压相比,可得到共模电压放大倍数。然后用差模电压放大倍数比共模电压放大倍数即得到电路的共模抑制比。
3.1.3 报警电路
图3-8 报警电路
3.2 数字电路设计
3.2.1 单片机
AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU) 精简指令集高速8位单片机。AVR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。
(1)AVR的主要特性
高可靠性、功能强、高速度、低功耗和低价位 , 一直是衡量单片机性能的重要指标,也是单片机占领市场、赖以生存的必要条件。
AVR单片机硬件结构采取8位机与16位机的折中策略,即采用局部寄存器存堆(32个寄存器文件)和单体高速输入/输出的方案(即输入捕获寄存器、输出比较匹配寄存器及相应控制逻辑)。提高了指令执行速度(1Mips/MHz),克服了瓶颈现象,增强了功能;同时又减少了对外设管理的开销,相对简化了硬件结构,降低了成本。故AVR单片机在软/硬件开销、速度、性能和成本诸多方面取得了优化平衡,是高性价比的单片机。
AVR单片机内嵌高质量的Flash程序存储器,擦写方便,支持ISP和IAP,便于产品的调试、开发、生产、更新。内嵌长寿命的EEProm可长期保存关键数据,避免断电丢失。片内大容量的RAM不仅能满足一般场合的使用,同时也更有效的支持使用高级语言开发系统程序,并可像MCS-51单片机那样扩展外部 RAM。
AVR单片机片内具备多种独立的时钟分频器,分别供URAT、I2C、SPI使用。其中与8/16位定时器配合的具有多达10 位的预分频器,可通过软件设定分频系数提供多种档次的定时时间。AVR单片机独有的“以定时器/计数器(单)双向计数形成三角波,再与输出比较匹配寄存器配合,生成占空比可变、频率可变、相位可变方波的设计方法(即脉宽调制输出PWM)”更是令人耳目一新。[10]
增强性的高速同/异步串口,具有硬件产生校验码、硬件检测和校验侦错、两级接收缓冲、波特率自动调整定位(接收时)、屏蔽数据帧等功能,提高了通信的可靠性,方便程序编写,更便于组成分布式网络和实现多机通信系统的复杂应用,串口功能大大超过MCS-51/96单片机的串口,加之AVR单片机高速,中断服务时间短,故可实现高波特率通讯。
多个复位源(自动上下电复位、外部复位、看门狗复位、BOD复位),可设置的启动后延时运行程序,增强了嵌入式系统的可靠性。 [11]
应用AVR单片机进行高速信号采集和处理具有51不可比拟的优势。实践表明,使用4MHz时钟的AVR单片机较使用相同时钟的51系列单片机具有20倍以上的速度和性能。而且AVR提供的JTAG/ISP接口,可以使用户方便进行在线仿真调试和适时程序更新。使用AVR单片机开发产品具有开发周期短,成本低廉等特点,因为对于使用熟练的开发者,所需要的开发工具就是一根自制的ISP下载线即可(成本不过十几元)。ATMEL公司将推出的新型AVR单片机将带有CAN、USB等等,继续降低功耗。
(2)ATmega48的特点
本系统基于AVR单片机来实现,因为系统需要大量的控制显示和键盘。不宜采用大规模可编程逻辑器件:CPLD、FPGA来实现。(因为大规模可编程逻辑器件一般是使用状态机方式来实现,即所解决的问题都是规则的有限状态转换问题。本系统状态较多,难度较大。)另外系统没有其它高标准的要求,我们最终选择了ATmega48单片机来实现系统设计。ATmega48单片机图如下:
图3-9 ATmega48单片机
ATmega48是基于AVR增强型RISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间, ATmega48 的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。
AVR 内核具有丰富的指令集和32 个通用工作寄存器。所有的寄存器都直接与算术逻辑单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10 倍的数据吞吐率。ATmega48有如下特点: 4K字节的系统内可编程Flash(具有在编程过程中还可以读的能力,即RWW), 256字节 EEPROM, 512节 SRAM,23 个通用I/O 口线, 32 个通用工作寄存器,三个具有比较模式的灵活的定时器/ 计数器(T/C), 片内/ 外中断,可编程串行USART,面向字节的两线串行接口,一个SPI 串行端口,一个 6 路10 位ADC (TQFP 与MLF 封装的器件具有8 路10 位ADC), 具有片内振荡器的可编程看门狗定时器,以及五种可以通过软件选择的省电模式。空闲模式时CPU 停止工作,而SRAM、T/C、USART、两线串行接口、SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作,寄存器的内容则一直保持;省电模式时异步定时器继续运行,以允许用户维持时间基准,器件的其他部分则处于睡眠状态; ADC 噪声抑制模式时CPU 和所有的I/O 模块停止运行,而异步定时器和ADC 继续工作,以减少ADC 转换时的开关噪声; Standby 模式时振荡器工作而其他部分睡眠,使得器件只消耗极少的电流,同时具有快速启动能力。ATmega48是以Atmel 的高密度非易失性内存技术生产的。片内 ISP Flash 可以通过SPI 接口、通用编程器,或引导程序进行多次编程。引导程序可以使用任意接口将应用程序来下载到应用Flash 存储区。在更新应用Flash 存储区时引导程序区的代码继续运行,从而实现了FLASH 的RWW 操作。 通过将8 位RISC CPU 与系统内可编程的Flash集成在一个芯片内, ATmega48为许多嵌入式控制应用提供了灵活而低成本的方案。
3.2.2 A/D转换
微型计算机在实时控制、在线动态测量和对物理过程进行监控,以及图像、语言处理领域的应用中,都要与一些连续变化的模拟量(温度、压力、流量、位移、速度、光亮度、声音等模拟量)打交道,但数字计算机本身只能识别和处理数字量,因此必须经过转换器,把模拟量转换成数字量或将数字量转换成模拟量,才能实现CPU与被控对象之间的信息交换,所以微机在面向自动控制、自动测量和自动监测系统与各种被控对象发生关系时,就需设置模拟接口。显然,模拟接口电路的作用,在于把微机处理器系统的离散信号与模拟设备中连续变化的模拟电压、电流之间建立起适配关系,以便计算机执行控制与测量任务。[12]
A/D转换器是将模拟电压或电流转换成数字量的器件或装置,它是一个模拟系统和计算机之间的接口,它在数据采集和控制系统中,得到了广泛的应用。常用的A/D转换方式有逐次逼近式和双斜积分式,前者转换时间短(几十个微秒-几百微秒),但抗干扰能力强。[13]
随着称重技术的不断发展,人们对称重仪表的测量精度和自动化程度提出了越来越高的要求。近年来电阻应变称重传感器的制造技术有了突破性发展,传感器的各项技术指标已满足各种电子称重设备的要求。而精度的提高除了与测量传感器有关系外,A/D转换器件也是影响称重仪表精度的一个重要的方面。选择合适的、高精度的模数转换器件将大幅度提高称重仪表的性能和精度,减少占用硬件资源。本系统采用ATmega48自带的8 路10 位A/D转换器。
(1) A/D转换器的基本工作原理。
A/D转换器的转换方式通常有逐位比较转换方式和双积分转换方式,前者的转换速度比后者的转换速度快100倍以上,所以逐位比较转换法的A/D转换器广泛用于计算机控制系统中。[14]逐位比较转换法的原理如图3-9所示,
图3-10 A/D转换器原理图
它主要由控制时序和逻辑电路、逐位逼近寄存器(SAR)、D/A转换器和比较器四部分组成。逐位逼近寄存器(SAR)输出二进制编码数字送到D/A转换器,D/A转换后的输出电逻辑电路,修改SAR的数据,使SAR中的数据对应的反馈电压V0通过逐位比较去逼近被转换的输入电压VIN。其转换过程类似于天平称重的原理。当V0>VIN时,就将对应的比较位置为“0”,当V0
计划项目、分工合作。源程序的可读性和可维护性都很好;省去了人工分配单片机资源的工作;可移植性强;C语言提供auto、static、flash等存储类型。由于涉及到大量数据的运算,程序不宜采用汇编语言,C语言大大缩短了开发时间,且程序可读性非常好。[17]
软件所实现的功能
① 称重
② 计价
③ 累计,去皮
④ 标定
⑤ 键盘、显示
4.2主程序流程图
系统的主程序流程框图如图4-1所示:
图4-1 系统的主程序流程框图
4.3主要程序模块设计
4.3.1 A/D转换模块
采用Mega48内置10位逐次逼近式A/D转换器,完成模数转换。前级放大电路的输出与单片机的PC5口相连,将输入信号进行A/D转换。
数据采集与数据处理模块针对的是由A/D转换器转换的压力字信号。包括采样通道选择与数据采样子程序。
4.3.2 键盘扫描模块
本系统采用4×4键盘,键盘电路与单片机的PD0-PD7口相连。键盘的扫描程序
如下:
1 查询是否有键按下。
2 查询按下键所在的行、列位置。
3 对得到的行号和列号译码,得到键值。
4 键的抖动处理,延时扫描。
4.3.3 显示模块
采用4位动态LED显示。段选码端口I/O1用来输出显示字符的段选码,与单片机PB0-PB7口相连。位选码端口I/O2与单片机PC0-PC3口相连。I/O1不断送待显示字符的段选码,I/O2不断送出不同的位扫描码,并使每位显示字符停留一段时间,一般为1-5ms。利用眼睛的视觉惯性,从显示器上便可以见到相当稳定的数字显示。选择一动态扫描的频率有一定的要求,频率太低,LED将出现闪烁现象。如频率太高,由于每个LED点亮的时间太短,LED的亮度太低,肉眼无法看清,所以一般取几个ms左右为宜。
4.4使用操作说明
本系统采用16键键盘来实现,分为数字键:0-9为数字键,6个控制键。开机正确输入后,进入称重显示。
A 键 输入商品单价;
B键 显示商品重量;本次称重结束退出,进行下一次称重;
C键 确认键,可以将当前信息保存至购物清单;并且将金额累加,得到所购买商品的总金额;
D键 去皮键,用于去除皮重;
E键 清单价,用于输入的单价错误的时候,重新输入;
F键 用于设置单价;
设定商品单价:开机后按两次F键,第二次按下F键后显示F即可设置单价。输入商品代码,按确认键C确定,显示所输入的价格;再输入第二种商品的代码,按确认键确定,以此类推,最多可设定十种商品的单价。要设定的单价设定完后,按B键退出设置单价状态,返回称重状态。
未设置商品单价时亦可直接输入商品价格,称重过程如下:
开机后按B键进入称重状态,显示商品重量,按D键去除包装皮重,按确定键C显示去皮后重量,按一次A键显示零,输入商品单价,按C键确定,显示商品总价格。
运行中如果顾客购买已存入的10种商品,只需按下相应的商品键,再按确认键,即可保存此商品的信息,包括其重量,金额和当前累计金额。
另外,已存入的10种商品的单价均可重新设置,直接输入其单价即可,方便实用。如果所称重物超过了系统最大量程5Kg,则蜂明器发出报警声音。
5 总体调试
5.1测试仪表
4位半数字万用表(MASTECH MY-65),双踪示波器(YB4325),从1g到1000g的砝码(两套),计算器
5.2 操作方法
· 把传感器放平,接通电源,预热10分钟内,零点有漂移属正常;
· 如果空称时显示不为零,可按去皮键清零;如需去除器皿皮重,先按去皮键,再在器皿上放物件,则显示净重;
· 第一次使用或较长时间未用,则需用砝码标定;
· 如果物品重量超出测量范围,蜂鸣器发出警告;
· 单价设置时,先按设置键,再用数字键输入单价,可使用删除键修改。
5.3 测试方法
· 电子秤放平,预热10分钟以上;
· 把1g到10000g的砝码往秤上放,读取显示重量;
· 设置单价,当物件重量变化时,读取相应的金额;
· 使用累计功能,读取总金额;
· 用1000g的砝码标称,标定功能;
· 使用汇总功能。
5.4 测试数据及测试结果分析
5.4.1测试数据
按照操作方法,在实验室对1g到10000g的砝码进行测试,从小到大,然后从大到小,间隔一定时间,共测量10个来回,共20次;
5.4.2测试结果及分析
表一:重量测试结果与误差分析
实际重量
测示重量
绝对误差
相对误差
0.001kg
§
2kg
0. 001
|§
1.999
0
§
0.001
0%
§
0.05%
3kg
2.999
0.001
0.033%
4kg
3.999
0.001
0.025%
5kg
4.998
0.002
0.04%
表二:单价金额计算误差分析(随机重量和单价)
实际重量
单价(元)
实际金额
显示金额
0.200kg
26.00
5.2
5.2
0.199kg
15.32
3.05
3.05
0.500kg
68.16
34.08
34.08
1.000kg
3.56
3.56
3.56
从表二可知,显示金额与实际金额相比,都在要求的范围之内。总价金额为各个金额的累加值,只要不溢出,总价金额绝对是各次显示金额的总和,其误差仅由单价金额的误差决定。
结论
经过为期十二周的毕业设计,我得到了很大的锻炼。实践和理论相结合,实践验证理论,理论指导实践,本人对所学知识有了更深的领会。同时也在实际操作中遇到了很多问题。
虽然我们在毕业设计当中遇到了很多问题,但在老师的细心指导下通过查阅书籍资料,一一将问题解决,温习了以前所学知识,还将知识应用于实践当中,这种在问题中学习到的知识留给自己的印象更加深刻。这次毕业设计中,我在了解电子秤的组成、特点、分类、发展以及在商业中的应用。
通过本次毕业设计的实践,我体会最深的一点是做一件事之前,必须要清楚地知道自己想要什么样的结果,这样的结果将如何体现出来,为什么会有这样的结果。对于不满意的结果要如何改进,改进后的先进性又体现在哪里等等。总之,必须要清楚的知道自己在做什么样的事,否则,所有的工作都是盲目的,没有目的的工作就没有成效可言。此外我深深的体会到“实践出真知”这句话,实践过程中会出现很多问题,在这些问题的解决过程中的学习会使自己对知识的领会更加深刻。
参考文献
[1] 孙以材等编著.压力传感器的设计制造与应用[M],冶金工业出版社, 2000
[2] 李道华等编.传感器电路分析与设计[M],武汉大学出版社, 2000
[3] 黄继昌等编著.传感器工作原理及应用实例[M],人民邮电出版社, 1998
[4] 丁镇生编著.传感器及传感技术应用[M],电子工业出版社, 1998
[5] 黄贤武等编著.传感器实际应用电路设计[M],电子科技大学出版社, 1997
[6] 吴兴惠,王彩君编著.传感器与信号处理[M],电子工业出版社, 1998
[7] 颜杰先编著.实用电子电路设计制作例解[M],电子工业出版社, 1993.6
[8] Pual Horowitz and Winfield Hill. The Art of Electronics.2nd ed[M].Cambridge University Press,1989
[9] Robert B.Northrop. Analog Electronic Circuits[M]. Addison-Weseldy Publishing Company, New York.1990
[10] 张克彦编著.AVR单片机实用程序设计[M],北京航空航天大学出版社, 2004
[11] 宋建国主编.AVR单片机原理及应用[M],北京航空航天大学出版社, 1998
[12] 康华光主编.电子技术基础[M] 模拟部分,高等教育出版社, 1988.5
[13] 康华光主编.电子技术基础[M] 数字部分,高等教育出版社, 1988.5
[14] 顾德英,罗云林,张键著.计算机控制技术[M],北京邮电大学出版社 ,2005
[15] 梁廷贵著.积分式A/D转换器其他专用集成电路分册[M],科学技术文献出版社
[16] 吴国经主编.单片机应用技术[M],中国电力出版社,2004
[17] 佟长福编著.AVR单片机GCC程序设计[M],北京航空航天大学出版社,2006
致 谢
毕业设计是检验大学四年学习结果的一个重要阶段,在这将近半年多的时间里,我不仅学到了不少新知识,还把以前所学到的知识提高到了一个更高的水平。更重要的是使我在学习和掌握这些知识的同时,能够在思维上得到锻炼和升华,在分析问题和解决问题的能力上得到培养和提高。在这里,我首先要感谢赵学玲老师,在她的细心的关怀指导帮助下,我们取得了很大的进步。其次感谢我的母校给了我这次锻炼机会,还提供了先进的试验设备。同时,我要感谢在此次毕业设计中给予我帮助的同学,没有他们的帮助,我不可能取得今天的成绩。最后感谢大学四年中所有的老师,感谢他们那对我的教导和帮助,还有各位同学,感谢他们对我的关心和帮助,让我愉快的渡过了大学四年。
附录1:软件程序
程序:
#include
#include
unsigned long sum=0; //
unsigned int ad_con;//存放PA0的AD转换结果
unsigned int shp[10]={0,0,0,0,0,0,0,0,0,0};
unsigned int sum1,t,j,k=0;
//unsigned long t,j,k=0;
/////////////////////////////延时///////////////////////////////////////////
void delay_us(unsigned int t) //us
{
do
t--;
while(t>1);
}
void delay_ms(unsigned char t) //ms
{
while(t!=0)
{
delay_us(1042);
t--;
}
}
////////////////////////////////////////////////////////////////////////////
unsigned char led[]={
0X3F,/*0*/ //七段译码表
0X06,/*1*/
0X5B,/*2*/
0X4F,/*3*/
0X66,/*4*/
0X6D,/*5*/
0X7D,/*6*/
0X07,/*7*/
0X7F,/*8*/
0X6F,/*9*/
0X77,/*A*/
0X7C,/*b*/
0X39,/*C*/
0X5E,/*d*/
0X79,/*E*/
0X71/*F*/
}; //显示符0,1,2,3,4,5,6,7,8,9,
unsigned char led_buff[]={0x3f,0x3f,0x3f,0x3f}; //显示缓冲区
unsigned char scan_key(void) //不做按键释放检查的键盘扫描函数
{
unsigned char i,temp;
DDRD=0X0F;
PORTD=0XFF;
for(i=0;i<4;i++)
{
PORTD=~(1<