电子秤的设计毕业设计.pdf
张家界航空工业职业技术学院毕业设计说明书2摘摘要要智能电子秤是日常生活中经常使用的一种测重装它采用了电子技术、传感器技术等,测量的误差小,可以将“精确、快速、自动”的要求很好的满足。现实生活中,在学校、市场、工厂、医院等地方都得到了广泛的推广和应用。本设计主要以单片机为中心模块,针对电子秤的自动称重、自动处理数据、自动显示来进行设计。本系统中的数据采集模块主要负责将压力这个非电量转化为电量;信号处理模块主要负责对信号的放大和模数转换;单片机控制模块主要负责数据的进一步处理、控制端口的输出等;显示模块主要负责显示重量、单价、总价;程序设计方面采用的模块化的设计思想。通过对这些模块的方案选择以及硬件设计,详细的介绍了本系统是如何进行数据采集、数据处理以及显示的。电子秤自带电源,并具有称重、设置单价、金额累计、合计、超量程报警与语音播报等功能。当电子秤称重范围为 0kg10kg。当重量小于 0kg 时,称重误差小于 0.5g;重量在 5kg 及以上,称重误差小于 0.05kg。整个系统稳定,界面友好,转换精度高,人性化。关键词:应变式压力传感器;HX711 模数转换;STC89C52 单片机张家界航空工业职业技术学院毕业设计说明书3目录目录第第 1 1 章章 引言引言.5 51.1 设计概述.51.2 设计目标与意义.51.3 章节安排.6第第 2 2 章章 方案论证与选型方案论证与选型.7 72.1 设计任务分析.72.2 方案论证与选择.72.3 方案确定.9第第 3 3 章章 硬件电路设计硬件电路设计.11113.1 原理分析.113.2 子电路.113.3 STC89C52 单片机系统设计.113.4 STC89C52 单片机的最小系统.123.5 LCD12864 液晶显示电路.133.6 LCD12864 的工作原理.143.7 AD 转换芯片介绍.153.8 矩阵键盘.173.9 原理图.183.10 布局布线.19第第 4 4 章章 软件设计软件设计.20204.1 软件总设计.204.2 软件模块说明.224.3 小结.29第第 5 5 章章 产品调试产品调试.30305.1 调试的设备.305.2 元件的安装焊接要求与系统调试.315.3 焊接注意事项.325.4 调试步骤.325.5 故障分析.32第第 6 6 章章 产品使用说明产品使用说明.33336.1 功能描述.336.2 使用说明.33第第 7 7 章章 心得体会心得体会.3434致谢致谢.3 35 5参考文献参考文献.3636附件一:总原理图附件一:总原理图.3737附件二:附件二:元件清单元件清单.3838附件三:安装接线图附件三:安装接线图.3939附件附件四四:设计流程图设计流程图.4 40 0附件附件五五:主主程序清单程序清单.4 41 1附件附件六六:装配装配图、零件图图、零件图.5353张家界航空工业职业技术学院毕业设计说明书4第第 1 1 章章 引言引言1.11.1设计概述设计概述称重技术自古以来就被人们所重视,作为一种计量手段,广泛应用于工农业、科研、交通、内外贸易等各个领域,与人民的生活紧密相连。电子秤是电子衡器中的一种,衡器是国家法定计量器具,是国计民生、国防建设、科学研究、内外贸易不可缺少的计量设备,衡器产品技术水平的高低,将直接影响各行各业的现代化水平和社会经济效益的提高。电子秤的发展过程与其它事物一样,也经历了由简单到复杂,由粗糙到精密、由机械到机电结合再到全电子化、由单一功能到多功能的过程。特别是近 30 年以来,工艺流程中的现场称重、配料定量称重、以及产品质量的监测等工作,都离不开能输出电信号的电子衡器。这是由于电子衡器不仅能给出质量或重量信号,而且也能作为总系统中的一个单元承担着控制和检验功能,从而推进工业生产和贸易交往的自动化和合理化。近年来,电子秤已愈来愈多地参与到数据处理和过程控制中。现代称重技术和数据系统已经成为工艺技术、储运技术、预包装技术、收货业务及商业销售领域中不可缺少的组成部分。随着称重传感器各项性能的不断突破,为电子秤的发展奠定了其础,国外如美国、西欧等一些国家在 20 世纪 60 年代就出现了 0.1%称量准确度的电子秤,并在 70 年代中期约对 75%的机械秤进行了机电结合式的电子化改造。称重装置不仪是提供重量数据的单体仪表,而且作为工业控制系统和商业管理系统的一个组成部分,推进了工业生产的自动化和管理的现代化,它起到了缩短作业时间、改善操作条件、降低能源和材料的消耗、提高产品质量以及加强企业管理、改善经营管理等多方面的作用。称重装置的应用已遍及到围民经济各领域,取得了显著的经济效益。1.21.2设计目标与意义设计目标与意义电子秤的设计包括很多方面,不仅需要了解电子秤的各个组成部件,而且需要了解电子秤实际生活中的应用情况。要顺利的完成电子秤的设计,需要去了解传感器的原理、A/D转换器的原理及应用、单片机的应用以及完成程序算法的设计,这些方面需要我们运用所学的各种软件以及硬件方面的知识,可以巩固我们对于专业知识,以及其他相关知识的了解。张家界航空工业职业技术学院毕业设计说明书5电子秤与机械秤比较有体积小、重量轻、结构简单、价格低、实用价值强、维护方便等特点,可在各种环境工作,重量信号可远传,易于实现重量显示数字化,易于与计算机联网,实现生产过程自动化,提高劳动生产率。例如标签秤在超市中的应用已经是耳闻目睹的了。一张小小的标签包含着:品名、价格、重量等,一一列表在这小小的电子标签上。标签机的使用大大加快了销售速度,也方便了顾客。顶尖条码标签称有着许多卓越的特点,以太网功能使管理更加方便。因此,称重技术的研究和衡器工业的发展各国都非常重视。50 年代中期电子技术的渗入推动了衡器制造业的发展。60 年代初期出现机电结合式电子衡器以来,随着时代科技的迅猛发展,微电子学和计算机等现代电子技术的成就给传统的电子测量与仪器带来了巨大的冲击和革命性的影响。经过 40 多年的不断改进与完善,衡器技术也在不断进步和提高。从世界水平看,衡器技术已经经历了四个阶段,从传统的全部由机械元器件组成的机械称到用电子线路代替部分机械元器件的机电结合秤,再从集成电路式到目前的单片机系统设计的电子计价秤。我国电子衡器从最初的机电结合型发展到现在的全电子型和数字智能型。现今电子衡器制造技术及应用得到了新发展:电子称重技术从静态称重向动态称重发展;计量方法从模拟测量向数字测量发展;测量特点从单参数测量向多参数测量发展。常规的测试仪器仪表和控制装置被更先进的智能仪器所取代,使得传统的电子测量仪器在远离、功能、精度及自动化水平定方面发生了巨大变化,并相应的出现了各种各样的智能仪器控制系统,使得科学实验和应用工程的自动化程度得以显著提高。1.31.3章节安排章节安排第 1 章:简单介绍了本课题电子称的研究背景、研究目的、意义及国内的研究状况。第 2 章:系统方案设计,本章主要内容是电子称的方案设计,首先是对整体的方案进行选择与设计,再针对各个模块(传感器、放大模块、信号转换模块、电源模块、人机交界模块)进行具体的方案论证及设计。第 3 章:系统硬件设计,在选定各个模块的方案中,对各方案的用到的主要芯片进行简单功能介绍及应用,并且给出了本次电路设计的具体电路图。第 4 章:系统软件设计,本章主要是介绍电子称的软件设计,给出了本次设计的主程序流程图及一些模块的子程序。最后,对本次的研究课题的主要工作及结果做出了总结与讨论。张家界航空工业职业技术学院毕业设计说明书6第第 2 2 章章方案的论证与选择方案的论证与选择2.12.1 设计任务分析设计任务分析本文研究的主要内容首先是通过压力传感器采集到被测物体的重量并将其转换成电压信号。输出电压信号通常很小,需要通过前端信号处理电路进行准确的线性放大。放大后的模拟电压信号经 A/D 转换电路转换成数字量被送入到主控电路的单片机中,再经过单片机控制译码显示器,从而显示出被测物体的重量。按照设计的基本要求,系统可分为三大模块,数据采集模块、控制器模块、人机交互界面模块。其中数据采集模块由压力传感器、信号的前级处理和 A/D 转换部分组成。转换后的数字信号送给控制器处理,由控制器完成对该数字量的处理,驱动显示模块完成人机间的信息交换。用户可以通过键盘进行输入单价系统会根据单价和重量自动计算出总价,还可以进行去皮的功能。如果称重的重量超过量程 10Kg 显示器会显示“超重”字样,并且板子上指示灯会亮起进行提示。2.22.2 方案论证与选择方案论证与选择本章节主要介绍系统所用到的器件的选择与对比,进行综合的对比考虑选择出最适合本设计的一组方案。在硬件电路的搭建之前必须明确设计的方案,通过各个模块之间进行比较选择出最适合本设计的硬件,以发挥器件的最大功效。2.2.12.2.1 主控芯片的选择主控芯片的选择方案一:采用 STC89C52 单片机作为主控芯片。STC89C52 是宏晶科技公司生产的一款低功耗、高性能的八位 CMOS 微处理器,片内具有 8k 在线编程 Flash 存储器。STC89C52 单片机的内核采用的是 MCS-51 内核,指令完全兼容 MCS-51,但是该单片机越做了升级使得芯片具有很多传统的 51 单片机不具备的功能,例如该芯片还有 4K 的 EEPROM 存储,在需要使用到掉电存储数据的时候就可以直接使用单片机内部的存储,不在需要在外接存储芯片进行存储。STC89C52 单片机具有的开发简单、可在线编程下载、成本低是非常不错的选择。方案二:S3F9454,在 S3F9454 可用于专用控制功能于一身的多种应用,而且对于应用设计的 FRS 或等该 S3F9454 单芯片 8 位微控制器是制作中,采用先进的 CMOS工艺。它是建立在强大的 SAM88RCRI CPU 核心。停止和空闲掉电模式进行实施,以减少电力消耗。为了提高芯片寄存器空间,内部寄存器文件大小在逻辑上扩大。张家界航空工业职业技术学院毕业设计说明书7该 S3F9454 有 4K 的程序 ROM 字节和 208 字节的 RAM(包括 16 和 16 的工作寄存器字节液晶显示 RAM 字节)。方案三:ATmega16 是基于增强的 AVR RISC 结构的低功耗 8 位 CMOS 微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达 1MIPS/MHz,从而可以减缓系统在功耗和处理速度之间的矛盾。2.2.22.2.2 显示器件的选择显示器件的选择方案一:采用 LED 数码管动态扫描显示。LED 数码管的价格适中,对于显示数字或者简单的字母会比较合适。但是采用动态扫描法与单片机连接时占用 CPU 的 I/O口较多,并且由于单片机的 IO 口输出电流不够,所以需要一个驱动电路,通过驱动电路放大电流后控制数码管,还有就是采用数码管进行显示的话显示的内容多了对于电路的焊接机会增大难得容易焊接错误。方案二:采用 LCD1602 液晶显示屏。LCD1602 液晶又叫 LCD1602 字符型液晶。液晶显示功能强大,可以同时显示出 16*2 即 32 个字符,可包括数字、字母、符号、或者自定义字符。LCD1602 液晶显示器中的每一个字符都是由 5*7 的点阵组成。LCD1602 采用并行数据传输也可以采用串行数据传输,控制简单,和市面上的大多基于 HD44780 液晶的控制原理完全相同。方案三:采用 LCD12864 液晶显示屏。带中文字库的 128X64 是一种具有 4 位/8 位并行、2 线或 3 线串行多种接口方式,其显示分辨率为 12864,内置 8192 个 16*16点汉字,和 128 个 16*8 点 ASCII 字符集。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示 84 行 1616点阵的汉字,也可完成图形显示,低电压低功耗是其又一显著特点。虽然LCD12864 液晶显示的功能强大,但是显示的内容偏大造成了,显示空间的浪费,再来该液晶的成本高。张家界航空工业职业技术学院毕业设计说明书82.2.32.2.3 称重传感器的选择称重传感器的选择方案一:压阻式传感器是根据半导体材料的压阻效应在半导体材料的基片上经扩散电阻而制成的器件。其基片可直接作为测量传感元件,扩散电阻在基片内接成电桥形式。当基片受到外力作用而产生形变时,各电阻值将发生变化,电桥就会产生相应的不平衡输出。用作压阻式传感器的基片(或称膜片)材料主要为硅片和锗片,硅片为敏感材料而制成的硅压阻传感器越来越受到人们的重视,尤其是以测量压力和速度的固态压阻式传感器应用最为普遍。方案二:电阻应变式传感器是一种利用电阻应变效应,将各种力学量转换为电信号的结构型传感器。电阻应变片式电阻应变式传感器的核心元件,其工作原理是基于材料的电阻应变效应,电阻应变片即可单独作为传感器使用,又能作为敏感元件结合弹性元件构成力学量传感器。导体的电阻随着机械变形而发生变化的现象叫做电阻应变效应。电阻应变片把机械应变信号转换为R/R 后,由于应变量及相应电阻变化一般都很微小,难以直接精确测量,且不便处理。因此,要采用转换电路把应变片的R/R 变化转换成电压或电流变化。其转换电路常用测量电桥。直流电桥的特点是信号不会受各元件和导线的分布电感及电容的影响,抗干扰能力强,但因机械应变的输出信号小,要求用高增益和高稳定性的放大器放大。应变片式传感器有如下特点:(1)应用和测量范围广,应变片可制成各种机械量传感器。(2)分辨力和灵敏度高,精度较高。(3)结构轻小,对试件影响小,对复杂环境适应性强,可在高温、高压、强磁场等特殊环境中使用,频率响应好。(4)商品化,使用方便,便于实现远距离、自动化测量。通过对压力传感器与电阻应变式传感器比较分析,最终选择了第二种方案。题目要求称重范围 010Kg,满量程量误差不大于0.005Kg,考虑到秤台自重、振动和冲击分量,还要避免超重损坏传感器,所以传感器量程必须大于额定称重10Kg。我们选择的是电阻应变片压力传感器,量程为 10Kg。张家界航空工业职业技术学院毕业设计说明书92.2.2.42.4ADAD 转换芯片选择转换芯片选择方案一:压频变换型(Voltage-Frequency Converter)是通过间接转换方式实现模数转换的。其原理是首先将输入的模拟信号转换成频率,然后用计数器将频率转换成数字量。从理论上讲这种 AD 的分辨率几乎可以无限增加,只要采样的时间能够满足输出频率分辨率要求的累积脉冲个数的宽度。其优点是分辩率高、功耗低、价格低,但是需要外部计数电路共同完成 AD 转换。方案二:HX711 是一款专为高精度电子秤而设计的 24 位 A/D 转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。降低了电子秤的整机成本,提高了整机的性能和可靠性。该芯片与后端 MCU 芯片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的寄存器编程。输入选择开关可任意选取通道 A 或通道 B,与其内部的低噪声可编程放大器相连。2.2.2.52.5 人机交互输入器件的选择人机交互输入器件的选择方案一:采用独立的按键作为输入设备。独立按键每一个按键对应于一个功能,并且每一个按键都需要占用一个 I/O 口,这样有多少个按键单片机每次都需要检测多少次。这样如果需要的按键数目比较大的时候就会占用很多的单片机 I/O,导致别的器件都没办法连接,并且按键的反应速度也会降低。方案二:采用矩阵键盘作为输入设备。矩阵键盘通过将按键的两端分别接到行线和列线上,然后将每一条行线和列线连接到单片机上,通过程序算法进行读取按下的是哪一个按键按下。这样做虽然增加了程序算法的难度,但是节约了单片机 I/O口的使用。2.32.3 方案确定方案确定通过上述对各个模块介绍,我们最终选择了 STC89C52 作为本设计的主控芯片因为考虑到资源的合理利用和成本以及开发的难易程度最终决定,采用应变式张家界航空工业职业技术学院毕业设计说明书10压力传感器因通过对压力传感器与电阻应变式传感器比较分析,题目要求称重范围 010Kg,满量程量误差不大于0.005Kg,考虑到秤台自重、振动和冲击分量,还要避免超重损坏传感器,所以传感器量程必须大于额定称重 10Kg。我们选择的是电阻应变片压力传感器,量程为 10Kg。选择 HX711 模块进行采集重量信息该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。降低了电子秤的整机成本,提高了整机的性能和可靠性。该芯片与后端 MCU 芯片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的寄存器编程。通过转换成实际重量后由 LCD12864 实时显示综合上述的描述,最终根据本设计显示内容比较大,所以选用 LCD12864 显示。,还添加了 4*4 矩阵键盘方便使用操作。张家界航空工业职业技术学院毕业设计说明书11第第 3 3 章章 硬件电路设计硬件电路设计3.13.1 原理分析原理分析本设计的具体的系统方案如图 3.1 所示。图 3.1 系统方案3.23.2 子电路子电路本章节主要介绍本设计中各个部分电路的设计原理。通过各个模块的功能描述了解其工作原理以及在设计的中作用。3.33.3 STC89C52STC89C52 单片机系统设计单片机系统设计STC89C52RC 是 STC 公司生产的一种低功耗、高性能 CMOS8 位微控制器,具有 8K 字节系统可编程 Flash 存储器。STC89C52 使用经典的 MCS-51 内核,但是做了很多的改进使得芯片具有传统 51 单片机不具备的功能。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 STC89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k 字节 Flash,512 字节 RAM,32 位 I/O 口线,看复位电路晶振电路电源电路4*4 矩 阵 键盘HX711 转换芯片超重 LED 提示灯LED12864显示电路10Kg电子应变式压力传感器STC89C52 主控芯片蜂鸣器超重报警电路张家界航空工业职业技术学院毕业设计说明书12门狗定时器,内置 4KB EEPROM,MAX810 复位电路,3 个 16 位定时器/计数器,4个外部中断,一个 7 向量 4 级中断结构(兼容传统 51 的 5 向量 2 级中断结构),全双工串行口。另外 STC89C52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率 35MHz,6T/12T 可选。3.3.4 4 STC89C52STC89C52 单片机的最小系统单片机的最小系统所谓单片机的最小系统是指使单片机能运行程序、正常工作的最简单电路系统,是保证单片正常启动、开始工作的必须电路,缺一不可。单片机最小系统一般由单片机、程序存储器、时钟电路和复位电路组成。对于8051 单片机,由于片内有4K 的程序存储器,所以其最小系统除了单片机本身外,只需外接时钟电路与复位电路即可。首先电源这对于一个电子产品的话是必不可少,它提供能源给系统运作,在本设计中由于51单片机的工作电压在4.55.5V之间都可以正常工作所以我们采用了 USB 电源线连接手机充电器插头或者 5V 的移动电源给系统进行供电。其次晶振电路,XTAL1 和 XTAL2 是独立的输入和输出反相放大器,它们可以被配置为使用石英晶振的片内振荡器,或者是器件直接由外部时钟驱动。图3.4.1 中采用的是内时钟模式,即采用利用芯片内部的振荡电路,在 XTAL1、XTAL2的引脚上外接定时元件(一个石英晶体和两个电容),内部振荡器便能产生自激振荡。一般来说晶振可以在 1.212MHz 之间任选,甚至可以达到 24MHz 或者更高,但是频率越高功耗也就越大。在本实验套件中采用的 12M 的石英晶振。和晶振并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作用。当采用石英晶振时,电容可以在 20 40pF 之间选择(本设计使用 30pF);当采用陶瓷谐振器件时,电容要适当地增大一些,在 3050pF 之间。通常选取 30pF 的陶瓷电容就可以了。图 3.4.1 晶振电路原理再来就是复位电路,复位电路分为:上电自动复位和开关复位。图 3.4.2中所示的复位电路就包括了这两种复位方式。上电瞬间,电容两端电压不能突变,张家界航空工业职业技术学院毕业设计说明书13此时电容的负极和 RESET相连,电压全部加在了电阻上,RESET的输入为高,芯片被复位。随之+5V 电源给电容充电,电阻上的电压逐渐减小,最后约等于 0,芯片正常工作。并联在电容的两端为复位按键,当复位按键没有被按下的时候电路实现上电复位,在芯片正常工作后,通过按下按键使 RST 管脚出现高电平达到手动复位的效果。一般来说,只要 RST管脚上保持 10ms以上的高电平,就能使单片机有效的复位。图 3.4.3 中所示的复位电阻和电容为经典值,实际制作是可以用同一数量级的电阻和电容代替,读者也可自行计算 RC充电时间或在工作环境实际测量,以确保单片机的复位电路可靠。图 3.4.2 复位电路图 3.4.3 STC89C52 单片机最小系统张家界航空工业职业技术学院毕业设计说明书143.53.5 LCD12864LCD12864 液晶显示电路液晶显示电路LCD12864 的概述液晶是一种在一定温度范围内呈现既不同于固态液态又不同于气态的特殊物质态,它既具有各向异性的晶体所特有的双折射性又具有液体的流动性液晶显示器件(英文的简写为 LCD)就是利用液晶态物质的液晶分子排列状态在电场中改变而调制外界光的被动型显示器件。点阵式图形液晶显示屏是LCD的一种能够动态显示图形汉字以及各种符号信息为各种电子产品提供了友好的人机界面点阵式图形液晶显示屏的主要特点如下(这些特点也就是 LCD的特点):工作电压低、微功耗、体积小、可视面积大、无电磁辐射、数字接口、寿命长等特点。12864LCD 是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及 12864全点阵液晶显示器组成。可完成图形显示,也可以显示 84个(1616点阵)汉字或者显示 164 个(816点阵)ASCII 码。分为两种,带字库的和不带字库的。不带字库的 LCD 需要自己提供字库字模,此时可以根据个人喜好设置各种字体显示风格,设计上较为灵活。带字库的 LCD 提供字库字模,但是只能显示 GB2312 的宋体。各有优缺点,根据不同应用场景灵活选择。LCD12864 原理图如图 3.5 所示。图 3.5LCD12864 原理图张家界航空工业职业技术学院毕业设计说明书153.63.6 LCD12864LCD12864 的工作原理的工作原理通常所说的 LCD12864 显示块是所说的点阵液晶显示模块,就是由 128*64个液晶显示点组成的一个 128 列*64 行的阵列,所以也就叫成了 12864。每个显示点都对应着有一位二进制数,0 表示灭,1 表示亮。存储这些点阵信息的 RAM被称为显示数据存储器。如果要显示某个图形或汉字就是将相应的点阵信息写入到对应的存储单元中。图形或汉字的点阵信息是由自己设计,这时候问题的关键是显示点在液晶屏上的位置与其在存储器中的地址之间的关系。显示点在 64*64 液晶屏上的位置由列号(line,063)与行号(line,063)确定。512*8 bits RAM 中某个存储单元的地址由页地址(Xpage,07)和列地址(Yaddress,063)确定。每个存储单元存储 8 个液晶点的显示信息。由于多数液晶显示模块的驱动电路是由一片行驱动器和两片列驱动器构成,所以12864 液晶屏实际上是由左右两块独立的 64*64 液晶屏拼接而成,每半屏有一个512*8 bits 显示数据 RAM。左右半屏驱动电路及存储器分别由片选信号 CS1 和CS2 选择。(少数厂商为了简化用户设计,在模块中增加译码电路,使得 128*64液晶屏就是一个整屏,只需一个片选信号。)如如果点亮 12864 的屏中(20,30)位置上的液晶点,因列地址 30 小于 64,该点在左半屏第 29 列,所以 CS1 有效;行地址 20 除以 8 取整得 2,取余得 4,该点在 RAM 中页地址为 2,在字节中的序号为 4;所以将二进制数据 00010000(也可能是 00001000,高低顺序取决于制造商)写入 Xpage=2,Yaddress=29 的存储单元中即点亮(20,30)上的液晶点。这是为了为了使液晶点位置信息与存储地址的对应关系更直观关,将 64*64液晶屏从上至下 8 等分为 8 个显示块,每块包括 8 行*64 列个点阵。每列中的 8行点阵信息构成一个 8bits 二进制数,存储在一个存储单元中。(需要注意:二进制的高低有效位顺序与行号对应关系因不同商家而不同)存放一个显示块的RAM 区称为存储页。即 64*64 液晶屏的点阵信息存储在 8 个存储页中,每页 64个字节,每个字节存储一列(8 行)点阵信息。因此存储单元地址包括列地址(Yaddress,063)和页地址(Xpage,07)。LCD12864 操作时序图如图 3.6所示。张家界航空工业职业技术学院毕业设计说明书16图 3.6.1 lcd12864 时序图3.73.7 ADAD 转换芯片介绍转换芯片介绍HX711 是一款专为高精度电子秤而设计的 24 位 A/D 转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。降低了电子秤的整机成本,提高了整机的性能和可靠性。该芯片与后端 MCU 芯片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的寄存器编程。输入选择开关可任意选取通道 A 或通道 B,与其内部的低噪声可编程放大器相连。通道 A 的可编程增益为 128 或 64,对应的满额度差分输入信号幅值分别为20mV 或40mV。通道 B 则为固定的 64 增益,用于系统参数检测。芯片内提供的稳压电源可以直接向外部传感器和芯片内的 A/D 转换器提供电源,系统板上无需另外的模拟电源。芯片内的时钟振荡器不需要任何外接器件。上电自动复位功能简化了开机的初始化过程。芯片管脚图如图 3.7.1 所示。张家界航空工业职业技术学院毕业设计说明书17图 3.7.1 HX711 管脚定义电阻应变式压力传感器静态全桥如图 3.7.2 所示。图 3.7.2 电阻应变式压力传感器静态全桥3.83.8 矩阵键盘矩阵键盘在操作中需要使用到比较多的按键的时候,为了减少单片机的 I/O 口占用,张家界航空工业职业技术学院毕业设计说明书18通常将按键排列成矩阵形式,这就是矩阵键盘。在矩阵键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如 P3口)就可以构成 4*4=16 个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成 20 键的键盘,而直接用端口线则只能多出一键(9 键)。由此可见,在需要的按键数目比较多时,采用矩阵法来作键盘是合理的。矩阵键盘电路图如图 3.8.1 所示。图 3.8.1 矩阵键盘电路图4*4 矩阵键盘的 16 个按键对应的功能表如 3.8.2 所示。78输入单价45去皮12合计.0确定图 3.8.2矩阵键盘对应功能表3.93.9 原理图原理图总原理图见附件一张家界航空工业职业技术学院毕业设计说明书193.103.10 布局布线布局布线PCB 板为单面板安全间距为 5mil;要求布线宽度 VCC 为 15-25mil,典型值 20mil;GND 为 25-35mil,典型值 30mil;其他为 5-15mil,典型值 10mil张家界航空工业职业技术学院毕业设计说明书20第第 4 4 章章 软件设计软件设计4.14.1 软件总体设计软件总体设计主函数 void main()是程序的入口函数,一个完整的程序必须要包含该函数。在该函数的开头一般都是先对单片机和一些外围器件需要进行初始化才能正常使用的器件进行初始化和重新赋值一些变量,初始化完后进去死循环,如果不进入死循环程序运行一次就会退出,如果加入死循环程序就会不断地进行循环达到实时检测执行的目的。在主程序的设计中需要注意的是主函数中不宜放过多的代码,具体的代码一般都是采用函数进行封装然后在主函数进行调用,这样也可以方便阅读修改。具体流程图见附录 4 所示。4.24.2 软件模块说明软件模块说明LCD12864 显示函数的设计LCD12864 的显示需要严格的按照厂家的时序要求进行编程就可以完成显示。LCD12864 的液晶显示首先需要将需要显示地方的地址通过命令写入,然后将数据按顺序的进行写入即可。在写入地址后显示第一个内容后地址会自动加一。函数名 LCD12864_display_string(uchar x,uchar y,uchar*s),参数为x,y,*s,其中的 x,y 表示在液晶显示屏上的位置坐标,*s 是需要显示的字符数组。软件根据输入需要显示的位置坐标计算出地址。显示函数流程图 4.2.1所示。张家界航空工业职业技术学院毕业设计说明书21图 4.2.1 显示函数流程图开始判断是否第一行显示y=1?判断是否第三行显示y=3?判断是否第二行显示y=2?Add=0 x80+x;Add=0 x90+x;Add=0 x88+x;Add=0 x98+x;写出地址 add判断数据是否显示完成*S!=/0?写入*S 数据地址 S+返回YesYesYesNONONO是NO张家界航空工业职业技术学院毕业设计说明书22LCD12864 子程序:void LCD12864_display_string(uchar x,uchar y,uchar*s)uchar add;if(y=1)add=0 x80+x;elseif(y=2)add=0 x90+x;elseif(y=3)add=0 x88+x;elseif(y=4)add=0 x98+x;write_com(add);while(*s!=0)write_data(*s);s+;LCD12864_delay(1);/void LCD12864_image3216(uchar x,uchar y,uchar code*pPicture)uchar add,i,j;if(y%2=1)add=0 x80;elseif(y%2=0)add=0 x90;张家界航空工业职业技术学院毕业设计说明书23write_com(0 x34);write_com(0 x36);for(i=0;i2)write_com(0 x88+x);elsewrite_com(0 x80+x);for(j=0;j2;j+)write_data(pPicturei*4+j*2);write_data(pPicturei*4+j*2+1);write_com(0 x30);4.2.14.2.1 HX711HX711 数据采集函数的设计数据采集函数的设计HX711 的数据采集的准确性直接关系到本作品的精度,所以我们才用了进行多次的采集然后进行排序选择出中间的数值。采集开始先让 AD 使能将 SCK 拉低,然后等到数据口变为低电平表示转换成功,然后进行将数据读出,一个 24 位需要进行读取 24 次。读完后发送第 25 个脉冲,让下一次读取工作在 A 通道 128增益。具体流程图 4.2.2 所示。张家界航空工业职业技术学院毕业设计说明书24图 4.2.2HX711 采集数据程序开始拉低 SCK将数据口置高发送第 25 个脉 冲 使下 次为128的增益读取数据i+;发送账号判断是否转换完成 ADDO?判断数据是否未读完 i24返回数据YESYESNO张家界航空工业职业技术学院毕业设计说明书25HX711 子程序ulong ReadCount(void)unsigned long Count;unsigned char i;ii=0;ADSK=0;ADDO=1;Count=0;while(ADDO&ii10000)ii+;for(i=0;i24;i+)ADSK=1;Count=Count1;ADSK=0;if(ADDO)Count+;ADSK=1;Count=Count0 x800000;ADSK=0;return(Count);4.2.24.2.2 阵键盘检测函数的阵键盘检测函数的说明说明具体的矩阵键盘在程序上的检测方法如图 4.2.3 所示(流程图中 Key 代表P3 口)。(1)先将键盘中的全部行线 P3.0P3.3 置低,然后通过检测列线 P3.5P3.7中是否有出现低电平的现象,如果有一列出现低电平,那么就证明那一列中的四个按键中有一个是被按下的。若没有列线中都没有出现低电平的现象,则没有按键按下。(2)在确定有按键被按键的时候,将进一步的确定具体为那一个按键按下。方法是:依次将四个行线 P3.0P3.3 置低电平,即在某一根行线为低电平时,其它行张家界航空工业职业技术学院毕业设计说明书26线仍然保持高电平状态。然后通过确认在某一根行线为低电平的时候如果在第一步中得出的列为低电平就能够判断该行线与第一步得出的列线相交的按键就是所按下的那个按键图 4.2.3 矩阵键盘检测流程图开始输出行线全为低电平 key=0 xf0:检测是否有按键按下 key&0 xf0!=0 xF0?延时消抖检测是否有按键按下key&0 xf0!=0 xF0?赋 行 扫 描 初 始 值rcode=0 xFE;判断是否还没检测完(rcode&0 x10)!=0?返回 0输 出 行 扫 描 码key-rcode;判断该行是否有按键按下(key&0 xF0)!=0 xF0行 扫 描 码 左 移 一 位rcode-(rcode1)|0 x01;等待按键释放返回按键值YESNONONOYESNOYES张家界航空工业职业技术学院毕业设计说明书27矩阵键盘检测子程序uchar keyscan(void)unsigned char rcode,ccode;Key=0 xF0;if(Key&0 xF0)!=0 xF0)delay();if(Key&0 xF0)!=0 xF0)rcode=0 xFE;while(rcode&0 x10)!=0)Key=rcode;if(Key&0 xF0)!=0 xF0)ccode=(Key&0 xF0)|0 x0F;do;while(Key&0 xF0)!=0 xF0);return jiema(rcode)+(ccode);elsercode=(rcode1)|0 x01;return 0 xff;#endif张家界航空工业职业技术学院毕业设计说明书284.34.3 小结小结随着集成电路和计算机技术的迅速发展,使电子仪器的整体水平发生巨大变化,传统的仪器逐步的被智能仪器所取代。智能仪器的核心部件是单片机,因其极高的性价比得到广泛的应用与发展,从而加快了智能仪器的发展。而传感器作为测控系统中对象信息的入口,越来越受到人们的关注。传感器好比人体“五官”的工程模拟物,它是一种能将特定的被测量信息(物理量、化学量、生物量等)按 一 定 规 律 转 换 成 某 种 可 用 信 号 输 出 的 器 件 或 装 置 本 设计 中 的 半 桥 电 子 秤 就 是在以上仪器的基础上设计而成的。因此,只有分了解有关智能仪器、单片机、传感器以及各部分之间的关系才能达到要求。首先是传感器的精密度,它将直接影响电子秤的称重准确度。课设时由于器发出的信号不是很稳定,所以称重时误差很大。如果使用精密度较高的传感器,效果会好的多。其次是数据采集处理阶段,此阶段是对传感器发出的信号进行量化