高速收费站电子称重系统的设计_第1页
高速收费站电子称重系统的设计_第2页
高速收费站电子称重系统的设计_第3页
高速收费站电子称重系统的设计_第4页
高速收费站电子称重系统的设计_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

合肥师范学院2015届本科毕业论文(设计)学号:1108441077本科毕业论文(设计)(2015届) 高速收费站电子称重系统的设计院 系 电子信息工程学院 专 业 电气工程及其自动化 姓 名 陈朝祥 指导教师 申远 副教授 2015年5月IV摘 要高速公路收费站电子秤是通过查超载地磅,检查超载情况。此称重系统广泛应用于公路上检查汽车超载超限运输,对于安全行车,保护道路及桥梁至关重要。本设计系统是基于单片机的电子秤设计,本系统分为几大模块,数据采集模块、最小系统模块,超重报警模块、键盘和显示模块。其中数据采集模块包括称重传感器和A/D转换电路,最小系统由51单片机及其外围电路组成;键盘由矩阵键盘组成,可以控制显示物体的重量信息;显示部分采用LCD1602液晶显示。软件部分由C语言编程,实现对各部分的控制。本设计增加了一个超重报警提示。电子秤是一种新型的称量工具。它易于实现重量显示数字化,易于与计算机联网,实现生产过程自动化,提高劳动生产率。其中数据采集模块由压力传感器、A/D转换部分组成。转换后的数字信号送给控制器处理,由控制器完成对该数字量的处理,驱动显示模块完成人机间的信息交换。此部分对软件的设计要求比较高,系统的大部分功能都需要软件来控制。关键词:STC89C52;LCD1602;A/D转换电路;YZC传感器;键盘;AbstractHighway toll station electronic scale is by checking the overload loadometer,check the situation of overload.The weighing system is widely used in the highway inspection of automobile overload transportation,for safe driving,vital protection of road and bridge.This design system is a single-chip electronic said based design,the system is divided into several modules,data acquisition module,the minimum system module,the minimum system module,overweight alarm module,keyboard and display module. The data acquisition module comprises a weighing sensor and A/Dconverter circuit ,the minimum system is composed of 51 singlechip and its peripheral circuit,the keyboard is composed of the keyboard keyboard matrix composition,can control the display of the weight of the object information,some use LCD1602 display.The part of software is programmed by C language,to achieve control of the various parts of the.this design adds an overweight alarm. Said electronic weighing instrument is a new technology,easy to achieve weight digital display,easy and computer network,the realization of the production process automation,improve labor productivity.The data collection module is composed of a pressure sensor,and A/D conversion parts. The converted digital signal processing to the controller of the digital processing, drive the display module to complete information between the. This part of the software design is relatively high, the majority of functions of the system need software to control.Keywords: STC89C52; LCD1602; The A/D conversion;The YZC sensor;Keyboard;目 录摘 要IAbstractII目 录IV1 绪论11.1 研究背景11.2 国内外研究现状11.3 研究目的与意义11.4 本章小结22 系统总体设计22.1 设计要求22.2 系统设计方案22.2.1控制模块32.2.2称重模块42.2.3 显示模块62.2.4按键模块82.2.5报警电路92.3本章总结93 系统的硬件设计93.1 硬件电路总体设计思路93.2外围电路设计103.2.1 称重转换芯片103.2.2 复位电路103.2.3 报警电路103.2.4 显示电路113.3本章小结114 软件部分的设计124.1 主程序124.2 称重部分子程序134.3 显示部分子程序134.4 报警部分子程序144.5本章小结145 联机与调试145.1硬件调试145.2软件调试155.3系统调试155.4本章小结18结论与展望18致 谢1参考文献1附录A:系统原理图1附录B:系统PCB图1附录C:系统源程序11 绪论1.1 研究背景随着微电子技术的应用,人们对称重系统的要求越来越高。高速收费站电子秤是通过称重检查超载情况。对保护道路及桥梁至关重要。该设计系统其实是基于51单片机的电子秤的设计,该系统分可以分成几大模块,数据采集模块、最小系统模块,超重报警模块、键盘以及显示模块。其中数据采集模块包括称重传感器和A/D转换电路,最小系统由51单片机及其外围电路组成;键盘由矩阵键盘组成,可以控制显示物体的信息;显示部分采用液晶显示。软件部分则是由C语言完成,实现对各部分的控制。该设计的方案增加了一个超重报警提示。系统设计简单,使用方便等特点。由此研究新的称重方法有着重要的意义。1.2 国内外研究现状 1)、国际发展研究方向在电子秤的称重传感器方面,国外的称技术起步较早,且投入资金雄厚,发展非常迅速,迄今为止,外国的许多的公司已经研发出了很多的功能很齐全的,自动化的功能十分完善的智能电子秤。然而一国的先进的自动化技术的发展水平直接是衡量一个国家的标准。目前,世界上许多国家已经将目光转向信息技术的前端。称重传感器也越来越被人们所重视。在单片机20世纪70年代问世以来,对人类社会已经产生了巨大的影响。尤其是美国它产生的MCS-51一系列的单片机,由于它具有集成度很高、处理功能特强、可靠性很高、系统结构简单易于使用等等的优点。在工业控制、智能仪器仪表、办公室自动化、家用电器等诸多领域都得到了广泛地应用。2)、国内发展研究方向在我国,称重传感器的研制开发技术比较落后,各个基础行业的资金投人不协调,导致了相关配套领域发展迟缓,这使得我国的称重方法远远落后于其它发达国家。称重系统的自动化程度不是很高,精度的可靠性和功能等很多方面都不如国外的同类型的产品。我国政府也高度重视我国仪器仪表产业的发展,当前,我国仪器科学技术的研究取得了重大进展,在先进仪器的微型化,自能化等方面的方向上能紧跟着先进国家的水平,并且加大了先进的仪器的研究力度。在整个称重传感器研究还有很大的提高9。1.3研究目的与意义本文目的是基于单片机研究称重传感器,即用51单片机来控制物体的重量,把传感器测的模拟信号由A/D转化电路转化成数字信号并由单片机转化由LED显示出来,如果超过的重量的量程可以由报警系统来完成。研究的意义在于把传感器的技术与单片机技术联系起来,完成一个更加完整的称重系统。电子称重技术从静态称重向动态称重发展;计量方法从模拟测量向数字测量发展;测量特点从单参数测量向多参数测量发展。传统的称重测量工具不能满足现代化发展的需要,智能化的称重测量工具将取代其过程10。1.4 本章小结本章是通过对称重系统研究的背景以及国内外研究的情况大致了解,对系统的设计有了大致要求和总体的方向。所以在做系统之前的准备的工作还是十分有必要的。2 系统总体设计2.1 设计要求 该设计系统是基于51单片机的电子称设计,该系统分为几大模块,即数据采集模块、最小系统模块,超重报警模块、键盘和显示模块。其中数据采集模块包括称重传感器和A/D转换电路,最小系统由51单片机5及其外围电路组成;键盘由矩阵键盘组成,可以显示物体的重量信息;显示部分则采用液晶显示。软件部分由C语言编程来完成,以便实现对各部分的控制。利用AT89C52单片机设计一个称重系统。具体如下:1)、具有检测功能:能实时检测物体重量,并显示;2)、具有报警功能:能对超过量程物体实现报警;3)、具有转化功能:能根据传感器的到的模拟量转换成数字量。设计硬件电路,完成相应程序的编写,最后完成整体调试。2.2 系统设计方案 方案:系统分为数据采集模块,最小系统模块,超重报警模块、键盘和显示模块。软件部分由C语言编程。实现对各个部分的控制。 其中硬件部分可以分为数据采集与数据处理两个部分整体硬件框图如下图2-1所示 称重传感器电路A/D转化电路报警器键盘液晶显示单 片 机单 片 机图2-12.2.1控制模块STC89C524是STC公司生产的一种低功耗、高性能CMOS8位微控制器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统。STC89C52 具有以下功能: 8k字节Flash,512字节RAM, 32 位I/O 口线。芯片管脚图如下图2-3 图2-1图2-31. 增强型8051 单片机2. 工作时候的电压:5.5V3.3V(5V 单片机)/3.8V2.0V(3V 单片机)3. 工作频率:040MHz,实际工作时候的频率可达48MHz4. 用户空间为8K 字节5. 片上集成512 字节RAM6. 通用I/O 口(32 个)7. 具有EEPROM 功能8. 共3 个16 位定时器/计数器。9. 外部中断4 路10. 工作时候的温度6范围:-40+85(工业级)/075(商业级)2.2.2称重模块传感器:广测称重的传感器YZC-133电子称微型传感器重量传感器3实际上是一种将质量信号转变为可测量的电信号输出的装置。用传感器首先要考虑传感器所处的实际工作环境,这点对正确选用重量传感器至关重要,它关系到传感器能否正常工作以及它的安全和使用寿命,乃至整个衡器的可靠性和安全性。称重传感器的选择取决于称重的类型和安装空间,不仅称重安装合适,安全可靠;而且要考虑厂家的建议。称重传感器主要应用在各种电子衡器、工业控制领域、在线控制、安全过载报警、材料试验机等领域。如电子汽车衡、电子台秤、电子叉车、动态轴重秤、电子吊钩秤、电子计价秤、电子钢材秤、电子轨道衡、料斗秤、配料秤、罐装秤等。称重传感器7使用环境实际上是一种将质量信号转换成可测量的电信号输出装置。用传感器首先要考虑传感器所处的实际工作环境。YZC传感器是美国YZC有限公司在美国成立的一个应变式称重传感器。数字指标,吊秤称重系统。自成立以来,美国YZC的产品远销38个国家。称重传感器8YZC-133是厨房秤称重传感器,四引线、使用简单。加5-10V驱动电压。受力变化直接直接输出为电压信号。尺寸 12.7MM*12.7MM*80MM.传感器一端通过螺丝孔固定。另外一端保持悬空状态。按标签指示方向施加重力。特别要注意,一定不要直接按压白色覆胶部分。以免破坏本传感器。如图2-4 图2-4 HX711是一款专门为高精度称重传感器而设计的24位A/D转换器的芯片。与其它的同类型芯片相比,该芯片则集成了稳压电源、片内时钟振荡器等同类型芯片所需要的外围电路,有集成度高、响应很快、抗干扰性强的特点。降低电子秤的成本,提高了它的性能和可靠性。该芯片与后端MCU芯片接口和编程非常简单,控制信号由管脚驱动,无需对芯片内部寄存器编程。输入选择开关可随便选取通道A或通道B,与其内部低噪声可编程放大器相连。通道A可编程增益为128或64,对应满额度差分输入信号幅值分别为20mV或40mV。通道B则为固定32增益,用于系统参数的检测。芯片内提供稳压电源可以直接向外部传感器和芯片内的A/D转换器提供电源,系统板上无需另外模拟电源。芯片内时钟振荡器不需要任何外接器件。上电自动复位功能则简化了开机的初始化过程。可选择的两路差分输入低噪声的放大器,可选增益是64 和128稳压电路可直接向外部传感器与芯片A/D 转换器供相应电源时钟振荡器则无需外接器件,必要时使用外接晶振或时钟上电能够自动复位简单数字控制与串口通讯:所有的控制由管脚输入,芯片内部寄存器不需编程可以选择10Hz 或80Hz 输出数据速率同步抑制50Hz 和60Hz 电源干扰耗电量:工作电流:1.7mA, 断电时的电流:1A工作时电压范围:2.5 5.5V工作时温度范围:-20 +85 2.2.3 显示模块3)Lcd1602液晶显示部分:LCD产品制造涉很多的领域包括光学、半导体、电机、化工、材料学等等。1602LCD是指显示内容为1602,也就是可以显示两行,每一行16个字符的液晶模块(显示出字符和数字)。如下图2-5 图2-5 工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)1表示高电平,0表示低电平1602液晶也可以叫做1602字符型的液晶,这是一种专门用来显示字母、数字、符号等等点阵型模块。由若干个点阵字符位相互组成,而且一个点阵字符位可以显示一个字符,每位之间有一个点距间隔,每行间也有间隔,起到了字符间距和行间距作用。管脚功能1602用16脚接口功能,如下:第1脚:VSS是电源地第2脚:VCC接5V电源正极第3脚:对比度调整端第4脚:RS是寄存器选择第5脚:RW是读写信号线第6脚:E端是使能端,高电平时读取信息,负跳变时执行指令。第7和14脚:D0到D7是8位的双向数据端第15和16脚:空脚和背灯的电源。15脚是背光的正极,16脚是背光的负极 2.2.4按键模块4*4矩阵键盘的工作原理如下:键盘为行线4条I/O线列组成的键盘。因为行线和列线的每一个交叉点上,都会设置一个按键。所以这样的话键盘中按键的个数将是是4*4个。并且这样的行列式键盘结构能够很有效的提高系统中I/O口的利用率。其原理图如下图2-6 图2-6在单片机的整个系统中非编码键盘由CPU通过键盘处理程序完成整个工作过程,非编码键盘的工作方式又分为程序扫描方式和中断扫描方式。2.2.5报警电路该设计采用较简单的蜂鸣器报警电路。如果称的重量超过了设定的值,那么蜂鸣器会报警。蜂鸣器如下图2-7 图2-72.3本章总结本章讲述了各个硬件,以及它们的用途,为了接下去更好的设计程序和电路图提供的很大的必要的条件。这个过程主要的是对资料的收集,以及对资料的信息的选取。同时也很感谢周围同学的很大的帮助。3 系统的硬件设计3.1 硬件电路总体设计思路最小系统由单片机组成,由单片机和外围电路构成。主要通过单片机把采集的数据经过A/D转换数字量然后用液晶显示器显示出来。系统可分为三大模块,数据采集模块、控制器模块、液晶显示界面模块。其中数据采集模块由压力传感器、信号的前级处理和数模转换部分组成。转换后的数字信号送给控制器处理,由控制器完成对该数字量的处理,驱动显示模块完成信息交换。此部分对软件的设计要求比较高,系统的大部分功能都需要软件来控制。系统主控电路由AT89C52单片机及晶振电路和复位电路组成,该电路作为整个系统功能实现的核心单元。3.2外围电路设计 外围电路由数据采集的A/D转换电路,把测的重力模拟量转化成数字量。然后把数字量传到单片机然后由软件把数字量在液晶显示器上显示出来。3.2.1 称重转换芯片称重传感器专用的模拟/数字(A/D)转换器芯片。HX711AD模块接口电路图如下图3-1图3-13.2.2 复位电路系统主控电路由AT89C52单片机及晶振电路和复位电路组成,该电路作为整个系统功能实现的核心单元。电路图如下3-2图3-23.2.3 报警电路报警电路采用的是蜂鸣器报警。如果测量的重量超过了软件部分设置的重量,蜂鸣器就会自动的报警。报警电路如下图3-3 图3-33.2.4 显示电路经过单片机最小系统将模拟量转换成数字量在液晶显示器LED上显示出来。显示电路如下图3-4图3-43.3本章小结本章主要是简述系统硬件设计的方案,说明了该系统分为几个部分。很好的把设计的硬件的原理和设计的方案给总结了出来。该过程虽然过程有些辛苦,但是凭着自己的查找的资料和同学和老师的帮助,把设计的电路图和设计的总体的方向给准备的十分的充分。自己也把理论和实际很好的结合起来了。对于如何使用单片机有了很好的了解,实现了老师们说的学以致用。在这个过程的当中自己也增加了自己的知识面和应用的经验。提高了自己解决问题的能力。该过程对于单片机的使用也有很好的学习和探索。4软件部分的设计4.1 主程序在该设计的过程中,编写的程序要合理的对各种部分完成一个完整的系统控制。该称重电子称设计是采用C语言编程,编译的环境是keil UV3。keil c51 和汇编相比,C 在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。在主程序中主要是分三个方面:一是初始化系统;二是数据采集;三是数据处理并显示。统软件部分主程序流程图如下图4-1开始初始化称重数据处理显示显示重量并报警显示重量不报警看重量是否超过设定值启动A/D转换否是图4-1 系统总流程图4.2 称重部分子程序本程序设计过程就是用于传感器的称重的过程。数据的采集的过程。然后进行数模转换。主要用到了压力传感器。流程图如下4-2开始HX711AD转换数据处理获取被测物体重量显示被测物体重量图4-2 称重流程图4.3 显示部分子程序本节是把模拟信号转换成数字信号然后在LED上显示出来。主要是显示出结果。流程图如下图4-3被测的模拟量经过单片机数模转换转化成数字量液晶显示输出结果图4-3 显示部分流程图4.4 报警部分子程序本节主要根据超过量程部分进行报警,完成超重部分的测量。通过蜂鸣器进行报警。流程图如下图4-4被测物体重量是否超过设定值完成报警直接显示不报警是否图4-44.5本章小结本章通过软件的设计把几个软件连接起来。把整个模块合成一个完整的系统。在该设计的过程当中,自己把以前学习的C语言知识和单片机的知识很好的联系起来,发现软件这一块还是很有实用的价值。自己知道自己还有很多的知识和技能需要去学习。所以在今后的生活当中我会不断的提高自己的自学的能力,争取把软件学好。在这过程当中谢谢周围同学和老师的帮助。5 联机与调试5.1硬件调试1、在该设计的过程当中有些因素考虑的不是十分的完善,多亏了周围的同学的帮助。2、系统设计不够优化,有待改善。比如系统的超量程信号直接由单片机送入报警电路,没有设计保护电路再入单片机处理后送入报警电路。3、对于各个原件的价格不是十分的了解,选择上没有最优化,像传感器的价格就是比较昂贵。这些经验都会对自己以后的学习和工作有着很好的借鉴作用。5.2软件调试电路板实物做完以后,接下来的工作就是调试。这是理论指导实践最重要的一步。在这个过程当中最主要的就是静下心来慢慢的调试。不能太着急,这样的话才能最终完成实物的完成。这部分的工作对软件的要求还是挺高的。自己把大一学的C语言重新复习了,然后加上周围同学的帮助和老师的指导自己也完成了调试的过程。5.3系统调试运用Protel99SE绘制原理图1和PCB以及调试的整体过程的步骤如下:建立系统所需原件库2;1. 加载所建原件库到工程项目中;2. 画出原理图;3. 建立原件封装库并加载到工程文件中;4. 绘制好电路后进行ERC电气检测,并生成网络表;5. 在工程中建立PCB文件,导入生成的网络表;6. 按照网络飞线提示绘制PCB,完成DRC检测。7. 焊接好实物,并测试。测试结果如下初始状态如下:测试结果如下:5.4本章小结本章是通过硬件和软件的调试使这个设计的过程更加的完善。在整个的过程当中,虽然也遇到过很多的小问题,但是在同学的帮助下,自己也将调试的工作做得十分的好。这个过程还是很有成就感的。只有自己去认真的研究了硬件和软件的调试才能够知道自己的不足,以便以后自己在工作中更好的将理论的知识和实际的内容联系起来。更好的解决实际中的问题。结论与展望本文就是通过51单片机对称重系统的设计,完成报警。从而使得称重系统更加的完善。在此过程当中,的确遇到过很多的困难。好在周围同学的大力的鼓励和帮助。使我有足够的信心把这次设计给完成。通过这次的高速收费站电子称的设计,使我把传感器的知识和单片机的知识联系起来。虽然说这过程中很多的地方都不是十分的顺畅,但是凭着周围朋友和老师的帮助下把这次设计给完成了。自己的自信心还是提高了不少。总体来说我知道了大学学的知识点可以串连起来的。设计过程中不仅有数模转换部分,还有电路的知识,以及大学三年级学的传感器知识和大学二年级的单片机知识。软件过程中计算机的语言也是自己大一学的知识。现在的自己对电子称重系统有了更多的认识,以前只是觉得称重就是显示物体的重量,后来发现不仅如此,还有对超重部分的报警。总之,很感谢这一次的毕业设计,使我在明天的求职道路上更加的有信心。高速收费站的电子秤的系统肯定也会越来越加的完善。作为这次的设计主要是对电子秤的静态设计。对于整个过程来说,还是满有成就感的。让自己把所学的知识用在了实际上。也希望自己能够在以后的学习工作中不断的进步不断的超越自己。能够在没有学校的地方继续自己的学业和自己的事业。大学的目的就是能够让学生自己来教育自己。而不是说大学结束了,学习就结束了。本次的设计只是对于自己大学所学的知识一个小小的检验。还有很多知识和很多的个性需要我自己去磨练。设计的过程中,我就发现自己的知识一直不够用,发现自己学的知识点还是那么的少,突然有种书到用时方恨少的感觉。自己发现自己四年看的书还是很少的。还有很多的书需要自己去看。在学校读的书有专业课的,也有非专业课的。虽然说专业课的知识很重要,但是我想多看些杂书也是很有必要的。自己发现知识越学越少,有的时候觉得学习还是蛮好的。也不知道以后自己还有没有机会像大学一样的去看自己想看的书和做自己喜欢的事。年少的自己还是希望自己能够跟自己的希望前进,跟着激情前进。自己也知道现在中国的就业率不是很好。自己的学历也没有什么过人之处,但是我想勤能补拙,比别人慢些就多花一些时间。也希望自己年少的时候能够博览群书,不断地丰富和沉淀自己;大学赋予自己的东西还是很多的,在大学里自己交了几个很好的朋友;在大学里也学了一些与人交往的能力;大学里我也敢于去梦想和行动。我也不太清楚明天的自己会在哪里落脚,但是我想自己一定会虚心学习自己不懂的,自己不会的努力把自己本分的事情做好,也会把自己的那份责任扛在自己的肩上。最后,这次的设计让我感到自己的进步和自己的成长,高速公路收费站电子称重系统会越来越完善。在本设计的过程中有stc89c52单片机的资料的查询工作和软件设计部分也花了很大一部分的时间。虽然很困难,但是在自己的坚持和他人的帮助下也把这件事做的很好。也通过自己所学的知识理论联系了实际,把自己所学的知识用在了实际的应用上。学习的过程当中不能仅仅立足于自己所学的书本。而是要把自己已经有的知识用到需要的地方。希望自己以后的学习也要带着这样的心态去学,把实际的问题给解决了,这样才能够学有所用。以后生活中自己要学习的东西还有很多,希望自己能把所学的东西用在现实的生活中,更够解决更多的问题。本次论文的设计自己的收获还是挺大的,谢谢这次的毕业设计,让我感到了大学学的知识还是能够与实际的应用联系起来的。9致 谢在毕业论文设计的时候十分的感谢王老师和申老师的指导,以及周围同学的帮助。其中尤其感谢马定健和沈显顺。他们在我做该系统硬件和系统软件的时候给了我大力的帮助和支持。如果没有他们给我很大的精神的鼓励,我一个人的力量是很难将这件事情做好的。明白了团结的力量是十分强大的。在此很感谢他们。感谢大学四年让我学会了独立自主,学会了行动精神,梦想精神,和自学精神。感谢我的室友他们和我一起见证了成长,见证了自己的青春。感谢大学里所有的老师对我的敦敦教诲。以后不管在哪里我都会虚心、勤苦。 作者:陈朝祥 2015年 5 月 11 日 参考文献1 汪少华.Protel99 SE电子电路CAD实用技术M.合肥:中国科学技术大学出版社,2008.2 王雅芳.Protel99 SE电路设计与制版从入门到提高M.北京:机械工业出版社,2011.3 祝诗平.传感器与检测技术M.北京:中国林业出版社,北京大学出版社,2006.4 张毅刚.MSC-51单片机应用设计M.哈尔滨:哈尔滨工业大学出版社,1997.5 王毅.单片机器件应用手册M.北京:人民邮电出版社,1995.6 胡汉才.单片机原理及其接口技术M.北京:清华大学出版社,1996.7 强锡富.传感器M.北京:机械工业出版社,2004. 8 方彦军,程继红.检测技术与系统M.北京:中国电力出版社,2006:218-220.9 张洪润 电子线路与电子技术M.清华大学出版社,200510 张迎新等.单片微型计算机原理应用及接口技术,北京,国防工业出版社,2004.1.附录A:系统原理图附录B:系统PCB图附录C:系统源程序#include /调用单片机头文件#define uchar unsigned char /无符号字符型 宏定义变量范围0255#define uint unsigned int /无符号整型 宏定义变量范围065535#define ulong unsigned long#includeuchar code table_num=0123456789abcdefg;sbit rs=P10; /寄存器选择信号 H:数据寄存器 L:指令寄存器sbit rw=P11; /寄存器选择信号 H:数据寄存器 L:指令寄存器sbit e =P12; /片选信号 下降沿触发sbit hx711_dout=P21; sbit hx711_sck=P20; sbit beep = P13; /蜂鸣器long weight;uint temp,qi_weight;bit chaozhong_flag;bit leiji_flag;bit flag_300ms ;ulong price,z_price; /单价 总价uchar flag_p;/*删除键去皮价格清零*/*1ms延时函数*12M晶振*/void delay_1ms(uint q)uint i,j;for(i=0;iq;i+)for(j=0;j120;j+);/* 名称 : delay_uint()* 功能 : 小延时。* 输入 : 无* 输出 : 无*/void delay_uint(uint q)while(q-);/* 名称 : write_com(uchar com)* 功能 : 1602命令函数* 输入 : 输入的命令值* 输出 : 无*/void write_com(uchar com)e=0;rs=0;rw=0;P0=com;delay_uint(3);e=1;delay_uint(25);e=0;/* 名称 : write_data(uchar dat)* 功能 : 1602写数据函数* 输入 : 需要写入1602的数据* 输出 : 无*/void write_data(uchar dat)e=0;rs=1;rw=0;P0=dat;delay_uint(3);e=1;delay_uint(25);e=0;/*lcd1602上显示这字符函数*/void write_string(uchar hang,uchar add,uchar *p)if(hang=1) write_com(0x80+add);elsewrite_com(0x80+0x40+add);while(1) if(*p = 0) break;write_data(*p);p+;/*lcd1602初始化设置*/void init_1602() /lcd1602初始化设置write_com(0x38);/write_com(0x0c);write_com(0x06);delay_uint(1000);/在指定位置显示指定字符/void write_zifu(uchar hang,uchar add,uchar dat)if(hang=1) write_com(0x80+add);elsewrite_com(0x80+0x40+add);write_data(dat);/* 名称 : write_sfm4_price(uchar hang,uchar add,uchar date)* 功能 : 显示价格* 输入 : 行,列,需要输入1602的数据* 输出 : 无*/void write_sfm4_price(uchar hang,uchar add,uint date)if(hang=1) write_com(0x80+add);elsewrite_com(0x80+0x40+add);write_data(0x30+date/1000%10);write_data(0x30+date/100%10);write_data(.);write_data(0x30+date/10%10);write_data(0x30+date%10);/*开机液晶显示函数 初始化液晶的内容*/void init_1602_dis_csf() /初始化液晶 write_string(1,0, W:0.000kg );write_string(2,0,P:00.00 Z:00.00);write_zifu(2,7,0x5c);/¥/write_zifu(2,15,0x5c);/¥/*压力显示程序*/void write_1602_yl(uchar hang,uchar add,uint date)if(hang=1) write_com(0x80+add);elsewrite_com(0x80+0x40+add);write_data(0x30+date/1000%10);write_data(.);write_data(0x30+date/100%10);write_data(0x30+date/10%10);write_data(0x30+date%10);void Delay_hx711_us(void)_nop_();_nop_();ulong ReadCount(void)/增益128ulong count,value = 0; uchar i; hx711_dout=1; Delay_hx711_us(); hx711_sck=0; count=0; while(hx711_dout) ; for(i=0;i24;i+) hx711_sck=1; count=counttemp)a=ReadCount();aa=(uint)(a/100)-temp;weight=(uint)(float)aa/4.9+0.05);/重量转换函数,传感器型号不同此函数要适当修改/*/* 由于称重传感器线性度参数的不同,而对获得的重量数据处理,此处可能会根据不同称重传感器,程序的代码会有所不同 */*/*定时器0初始化程序*/void time_init() EA = 1; /开总中断TMOD = 0X01; /定时器0、定时器1工作方式1ET0 = 1; /开定时器0中断 TR0 = 1; /允许定时器0定时/*独立按键程序*/uchar key_can; /按键值void key() /独立按键程序static uchar key_new = 0, key_l;key_can = 20; /按键值还原P3 = 0x0f;if(P3 & 0x0f) != 0x0f)/按键按下delay_1ms(1); /按键消抖动if(P3 & 0x0f) != 0x0f) & (key_new = 1)/确认是按键按下key_new = 0;key_l = P3 | 0xf0; /矩阵键盘扫描P3 = key_l;switch(P3)case 0xee: key_can = 1; b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论