基于51单片机的称重系统设计._第1页
基于51单片机的称重系统设计._第2页
基于51单片机的称重系统设计._第3页
基于51单片机的称重系统设计._第4页
基于51单片机的称重系统设计._第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

1、本科毕业设计(论文)题目基于51单片机的称重系统学院年级级专业班级学号学生姓名指导教师职称论文提交日期 基于 51 单片机的称重系统摘要随着经济的高速发展,货物运输量急剧增加,加之人们对经济效益的盲目追求,致使 我国公路运输车辆超载现象极为普遍。 超限运输缩短了路面的使用寿命, 危及桥梁的安全, 污染环境,导致恶性交通事故的发生。鉴于此,本课题对车辆超载检测系统进行了研究。 首先,综合论述了本文的研究目的和意义,详细介绍了国内外相关领域的研究状况,并给 出了本文的主要研究内容。 其次,对检测系统与动态称重进行了概述并详细介绍了系统 的设计方案,给出了系统的工作流程和各主要部件间的控制关系。最后

2、,介绍了该系统的 硬件和软件设计。关键词: 检测技术 动态称重 单片机- 3 -Weighing system based on 51 single chip microcomputerAbstractWith the high speed development of economy, the goods transportation, plus people has increased dramatically in the economic benefits of the blind pursue, causesour country road transportation is ver

3、y popular overloaded vehicles phenomenon. Overloading transportation shorten the pavement service life and endanger the safety of the bridge, the pollution of the environment, cause malignant accidents. In view of this, this topic overloaded vehicles detection system for were studied. First of all,

4、the paper expounds the intent and significance, detailed introduces the research situation of domestic and foreign relevant fields are given in this paper, and the main research contents. Secondly, with dynamic weighting of detection system are summarized and detailed design scheme of the system is

5、introduced,control the workflow of the system and the major components.The controller development is system development focus. Finally, is make an introduction to the hardware and software design of the system.Key Words: Examination technology;Dynamic weighing;Monolithic integrated circuit目录1. 引言 11

6、.1 选题的目的和意义 11.2 主要研究内容 11.3 需要解决的关键问题 22. 检测技术与动态称重 32.1 检测技术 32.2 动态称重 32.3 动态测试的数据处理 43. 系统总体结构方案设计 53.1 系统总体结构及其功能 53.2 动态称重系统的组成 53.3 动态称重系统的主要功能 54. 系统的硬件设计 74.1 单片机的选用 74.2 采集模块 94.2.1 惠思登电路 94.2.2 电阻应变式称重传感器 104.2.3 放大器 Op07104.2.4 A/D 转换器 134.3 键盘模块 144.4 显示模块 164.5 通讯模块 174.6 串口通信 174.7 报警

7、模块 195. 系统的软件设计 205.1 主程序设计 205.2 MCU的串口配置 205.3 ADC0832 软件设计 215.4 LCD 显示程序设计 235.5 主函数 236. 系统仿真与调试 256.1 系统仿真 256.2 系统调试 267. 结 论 28参考文献 29附 录 30附录 1:单片机系统部分硬件原理图 30附录 2:实物仿真图 30附录 3:单片机程序 31致 谢 421. 引言1.1选题的目的和意义由于我国经济的迅速发展,公路运输业就慢慢成为来了我国民经济中的支柱产业之 一,运输车辆的数量也在成几何基数增长。虽然我国早已经出台相关法律法规来遏制关于 机动车的超载现

8、象,但还是有很多个人单位在在众多因素的影响之下,出现了很多让人惊 愕的超载现象,被查处到的超载现象也越来越严重,这不但给国家带来了极大的公路维护 负担,还会有很多的交通安全隐患,不仅给超载车辆司机带来很大的危险,还会对周围车 辆造成一定的威胁性,这也是交通事故频繁发生的重要原因之一。研究还发现,当汽车的实际载重量是其标准载重量的两倍时,当它行驶在标准公路一 次,它所造成的破坏性相当于标准载重的车辆行驶于水泥路面257次,行驶于沥青路面高达65537次。最新报告显示,在中国大陆监测到的车辆最大载重已经达到了 25吨之多, 根据计算,这种载重量的车辆行驶于路面一次,相当于该车辆在标准载重情况下就行

9、驶与 相同路面122万次之多。事实告诉我们,采取一定的措施来杜绝超载现象的发生已经不容无视,从另一方面也 是给国家和人民生命财产安全作出了必要的保障。以往交通部门对超载车辆的检测水平和 条件有限,许多超限超载的车辆并不能很好的被严查到底,从而给驾驶员和公路埋下了潜 在的危险性和破坏性。慢慢的随着我国科学技术的迅猛发展,许多车辆称重装置不断的诞 生和更新,只要车辆通过两个又薄又轻的秤台,就可以测得该车辆的总质量及是否超载等 信息,一定程度上抑制了车辆超载现象的发生,从而降低了国家的经济损失。种种现象表明,在当今社会中,车辆超限超载现象的层出不穷必须要及时处理,而处 理这些现象的发生,不但需要各个

10、公司、驾驶员的自觉性,还需要国家有一些硬性手段的 实施。1.2主要研究内容本设计研究的是一基于 51单片机的机动车称重系统,它可以广泛地运用于公路收费 站的路面上。只要在路面上装上固定的称重传感器,这样当车辆经过时,该经过车辆的重 量就能快速而又准确的被称感器检测出来, 随后再经过一系列的A/D转换、单片机的处理, 数据传输,最后传送到 PC上位机中,经过电脑分析判断,对超载了的车辆发出报警,实 现人机交流与通信。1.3需要解决的关键问题本设计需要解决的关键问题:(1)找到一种适合车辆称重的传感器。 该传感器要有一定的灵敏度和测量范围, 能 保证承受超载车辆的的重量。(2)对被测数据的处理。如

11、果测量数据没能很好的进行处理, 就会使系统做出错误 的判断,给工作人员造成误判。(3)关于对单片机程序的编写和处理工作。没有完善的程序会使被测量的数据不能 直观、准确地显示出来。(4)数据经过单片机的处理后与上位机的连接通信。数据经过正确处理而上位机未 能相应显示出该有的数据显示,这就会是与上位机的通信出现问题。-15 -2. 检测技术与动态称重2.1检测技术在工业、农业的生产过程中,由于其过程必须保证一定的高效性和正常性,就要有相 应的检测手段来进行生产过程的监视和检查;同样,在科学研究过程中,一些研究成果, 也必须要通过实验证实,这也需要一定的检测手段来完成。所以检测技术应运而生,它是 以

12、检测系统中的信息的转换、信息的提取及信息的处理的技术与理论为主要研究对象的一 门现代应用科学。古往今来,由于人们在日常生活、工农业生产和科学活动中都需要用到检测技术,如 很多工农业生产领域里的一些技术参数都不能很直观的被发现和测量,而检测技术的投入 应用就能很准确的测量出相关的参数,这样就能进行一个很有针对性的反馈控制,从而生 产效率就能得到大大的提高;在很多科学领域,人们也通过运用检测技术来对实验进行科 学监测,通过运用以前的理论依据和相关实验定论,进行对比、推理、总结来发现新的科 学规律,从而上升成被世界公认的理论。随着通信技术、电子技术、计算机技术的发展,对检测技术提出的要求也越来越高,

13、 过去的几个世纪,人们为了适应科学发展的需要,检测技术得到了极大的发展,其发展趋 势主要有以下几个方面:着重开发新型实用的传感器;不断提高检测仪器的可靠性和性能; 采用先进的加工工艺和开发新型传感器的敏感元器件材料;研究功能更多,集成化更强和 智能化更高的检测系统;与微机技术、微电子技术、传感器技术和仪表总线技术有效紧密 的结合起来,构成新一代的高自动化水平、高测量精度的现代化智能检测系统。2.2动态称重所谓动态称重是指通过分析和测量车胎运动中的力,来计算该运动车辆的总重量、轴 重、轮重和部分重量数据的过程。动态称重系统按经过车辆行驶的速度划分,可分为低速 动态称重系统与高速动态称重系统。因为

14、我国高速公路的限速最高是120,所以高速动态称重系统在理论上可对5到120之间时速通过称量装置的车辆进行动态称重。而低速动态 称重系统则一定要限制通过车辆的行驶速度,要想有较高的测量精度,理论要求车辆在 5km/h以下时速匀速通过。在我国,车辆动态称重一般都使用低速动态称重来完成,在很 多收费站和车辆检测站都有应用,国家也出台了相关的测量标准。与传统意义上的静态称重相比,动态称重可以在车辆缓慢运动情况下直接进行称重,这样动态称重的高效率、测量时间短、能流畅交通等主要特点就凸显出来了。动态称重的 问世,不但使车辆的管理上有了很大的促进作用,而且还对我国的公路管理和维护起到了 至关重要的作用。2.

15、3动态测试的数据处理动态测量运动中的车辆会有很多随机误差,这些误差主要来源于车辆在行驶时,高速 运转中的发动机会使车辆存在很多种能量形式,以及车辆本身存在车轮的不平整性和车辆 内部的弹性体元件。所以,要想减小误差,提高动态测试的测量精度,需要动态测试方法 (系统)中着手应对。在实际情况中,我们可以用算数平均测试方式来测量车辆动态情况下的载重量。大家 都知道,车辆在路面上行驶时会因路面不平整、发动机做功产生震动等因素来影响车辆对 地面产生的压强,当通过称重系统进行测量时,如果只对该车辆进行一次测量,所得到的 测量值可能大于或小于该车辆的轴重,这样就很不准确,这时我们可采用算数平均的测量 系统进行

16、科学、精确的测试。也就是说,当车辆经过桥式传感器时,所得到的跳动的众多 车辆重量值可通过在高速运作中的 A/D转换器进行高效采集,在单片机中将多次采集到的 相关数据进行预处理及储存,通过编好的单片机程序可以将采集数据中最大值和最小值之 间的所有数据(采集数据的次数越多越精确)进行算术平均处理,所得到的最后的结果就 是车辆在动态测试下的车辆载重量。在动态称重系统的信号来源、数据采集与数据处理中 是非常有必要的。3. 系统总体结构方案设计3.1系统总体结构及其功能设计总体结构是以51单片机为处理器的系统,如图3.1所示。上位机键盘输入A/D转换器放大器ADC0832OP07AA7RS232转换器

17、CVAT89C51单片机桥式称重传感器WPL110蜂鸣器LED显示图3.1本设计要求能判断出车辆是否超载,如果车辆超载,本系统能够提供该车辆的超载信 息并发出警报。本设计采用 STC89C52单片机作为系统的处理核心,利用桥式称重传感器 采集到车辆重量并转换成电压信号,然后通过放大电路将电压信号进行放大处理后,传送 到A/D转换器中转换为数字信号,再经过单片机处理、传输到接口电路,最后送到上位机, 该数据可以与上位机里用键盘事先输入设定的总重量作比较并判断出该车辆是否超载,如 果超载,则可通过显示器、蜂鸣器作显示超载信息并报警,当然,键盘的作用除了输入设 定值还可以解除和开启警报。3.2动态称

18、重系统的组成动态称重系统主要由车辆重量(含超载、偏载检测)检测子系统、货车长、宽、高三 维尺寸超限检测子系统、自动触发摄像拍照子系统、车辆类型自动判别子系统、系统配置 及系统维护子系统、行驶车辆速度测量子系统、数据统计、报表处理子系统和单据输出打 印子系统这几部分组成。该系统组成完善,部件考虑周全,能很好的完成称重任务。3.3动态称重系统的主要功能(1)动态检测出通过车辆的轴数、轴重、轴距、轮数、车速等;(2)能自动检测出车辆的高、宽、长等外围尺寸是否超出最大标准,并能给出超出 部位的具体位置和具体数据;(3) 拍摄机器在车辆经过时能自行对要被检测的车辆进行拍照,该机器能对车牌号 码、车辆种类

19、进行识别,最终作为图像证据;(4)可以将不合格车辆的处理记录、 超限情况进行打印,根据车辆超限的程度来计 算罚款数额并打印收据或罚款单;(5)检测到的数据全部存入数据库中,并对被监测到的数据进行分析、统计。便于 汇总上报、日常管理和进行查询。4. 系统的硬件设计4.1单片机的选用历史上的单片机发展一般可分为四个大阶段:第一阶段(1974年-1976年),这个阶 段的单片机由于工艺水平有限,只能生产出双片形式的单片机,其功能也是最简单的;第 二阶段(1976年-1978年),这个阶段也就是单片机低性能阶段,虽然推出了8位单片机,但这个阶段的单片机仍然处于低性能阶段;第三阶段(1978年-1983

20、年),这个阶段世界 上很多公司都已经能开发出性能比较高的单片机,著名的MCS-51单片机就是在这一阶段被推出的;第四阶段(1983年-现在),也是单片机被巩固和发展最迅速的阶段,在这段时 间里,大量的16位和32位单片机被推出并得到了广大用户的青睐。现在单片机早已成为工业生产、国防工业、人们日常生活最常使用的微型计算机,因 而学习和掌握单片机原理及应用已是不容忽视的事情了。单片机作为微型计算机的一个重 要组成部分,发展速度极快,也慢慢在生活生产中得到广泛的应用,自单片机诞生至今的 30多年中,已经发展为到上百种系列。虽然世界上的单片机品种多而杂,可运用的兼容性 也各有不同,但客观发展表明:80

21、C51系列单片机是单片机家族中从功能、兼容性及应用 程度最为出色的系列机种。随后,美国Atmel公司又率先推出了 80C51系列单片机后又一新的系列,称为 89单 片机。为了简易系统开发过程中修改程序、缩短系统的开发周期,Atmel公司把能进行快速擦写的存储器应用在了 89系列单片机中。同时,89单片机具有的掉电保护功能,即使 在系统工作过程中断电,也能将数据进行有效的保存,使数据信息不丢失。除此之外,当 需要用89系列单片机取代80C51时,我们可以进行直接代换,因为89单片机的引脚和80C51 是一样的,这从某种角度上方便了我们的调试和应用。鉴于AT89系列单片机以上的种种优势,很快得到了

22、消费者的青睐,在单片机市场上的地位也得到了大大的提高。随后几个 世界著名的公司也慢慢地开始生产相类似的产品,如美国宏力公司的SST89系列、飞利浦公司的P89系列等。这些产品主要功能相似,但各有各的特点。目前,单片机正朝着高性能和多品种方向发展,今后单片机的发展趋势是进一步向 CMO化、大容量、低功耗、高性能、小体积、低价格和外围电路内装化等几方面进行重点 发展。随着半导体集成工艺的不断发展,单片机的体积将更小,集成度将更高,功能将更 强大。本设计采用的是INTEL公司研究开发生产的STC89C52单片机,其内部置有256字节的内部数据存储器、8位中央处理单元、8K片内程序存储器、3个16位定

23、时/计数器、32 个双向I/O 口和一个片内时钟振荡电路,全双工串行通信口, 5个两级中断结构。89C52 的引脚图如图4.1所示。191829旳Ti-12345678XTAL1XTAL2RSTPSEN ALE EAP1.0P1.1P1.2P1.3P1.4P1,5P1.6P1.7PO.O/ADOP0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4PD.5/AC5PC1.6/AL6P0.7/AD7P2.0/A8P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2 6/A14 P2 7/A15P3 O/RXDP3.irrxpP3.2/iNT5 P

24、3 3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD訂373635弭3332212223242526272810K77u1415图4.1 89C52引脚图本设计使用的是单片机的最小系统,其中电路包括下载口电路、复位电路和晶振电路。 复位电路中,电阻在下接地,电容在上接高电平,中间为 RST复位电路工作原理是:通 电时,由于电流很大,从而相当于电容被短路,这样 RST引脚上处于高电平,这时的单片 机为禁止工作状态。如果要使单片机正常工作,就要使RST端电压慢慢下降并到一定程度, 也就是RST端为低电平,这就需要通过电源对电容进行充电。复位电路复位的方式有手动复位、上电复位两种

25、。所谓上电复位,就是通电瞬间,由 于电流很大,从而相当于电容被短路,这样 RST引脚上处于高电平,自动复位;相反,通 过对改变电容电流,当电流很小的时候,我们就可以把电容当做开路状态,RST端就处于低电平,程序就能正常的运行。而手动复位要在上电复位的基础上, 按下复位按键,使VCC 直接与RST相连,电容处于放电状态,以高电平形成复位;松开复位按键,RST仍旧是高电平,这时充电电流作用于电阻上, VCC给电容进行充电,还是复位状态,充电结束后,RST为低电平,能够正常工作晶振电路在电气上可以相当于两个电容串联,再将一个电阻和其中一个电容并联而成 的二端网络,可以分为咼频率和低频率两个谐振点,其

26、中较咼频率是并联谐振,较低频率 是串联谐振。晶振会使两个频率在一个很窄的范围里,所以可以相当于一个电感,所以要 想组成一个并联谐振电路,只需要在晶振两端并联上相应的电容就可以了。要想构成正弦 波振荡电路只要在一个负反馈电路中加入一个并联谐振电路即可,即使其他相关元器件参 数有很大变化,但由于被等效的电感频率范围极窄,所以这个振荡电路的频率也不会发生 很大变化。晶振频率的确定是根据 PC机和单片机之间的固有波特率9600而定,所以晶振 频率为 11.0592MHZ4.2采集模块4.2.1惠思登电路在电子测量技术中,应用最广泛的就是惠思登电路。它具有高灵敏度、能测量范围大、 电路结构简单、高精度、

27、温度补偿容易实现等特点,因此惠思登电路能很好地满足实际测 量要求。惠思登电路的三种工作方式分别为单臂工作、双臂工作和全臂工作。单臂工作的电路 顾名思义,就是将电桥电路中的任意一个臂被接入要测量的电路中,其他剩下的三个桥臂 都接入固定的电阻。双臂工作电路中任意两个臂被接入要测量的电路中,另外剩下的的两 个桥臂都接入固定的电阻。最后的全臂工作电路更好理解,也就是说电桥电路中的四个桥 臂全都被接入要测量的电路。三种方式各有不同,各有优势,关键要取决于被测量的电路 情况。本设计采用的是等臂电桥。如图 4.2所示。AD图4.2电桥电路电桥是输出方式有电压型、电流型,主要是根据负载的情况而定。本设计采用的

28、是电压型进行输出,当电桥输出端口 U0接入放大器时,因为放大器的输出阻抗很高(近乎无 穷大),这时电桥就以电压的形式进行输出。电桥输出端的开路电压也就是输出电压。422电阻应变式称重传感器电阻应变式称重传感器的工作原理:弹性装置在外力作用下产生形变,使得表面粘贴 的电阻应变片也一起发生变形,电阻应变片变形的同时,它的阻值也就发生变化,再经过 测量电路把电阻变化转换为电压信号,从而完成了将力转变为电压信号的过程。因为等臂电桥的各个臂的参数一致,灵敏度又高,各种干扰的影响容易抵消消除,所 以称重传感器一般都可以采用全桥式等臂电桥。通过考虑众多因素,本设计采用称重传感器 WPL110它具有抗偏载、力

29、值大,组合压 头具有自动复位和调心功能。高精度、全密封、低功效,适用于各种恶劣的环境。传感器 WPL110勺技术参数如表1所示:表1 WPL110的技术参数型号WPL110量程10-50t综合精度0.02(线性+滞后+重复性)灵敏度2.0 mv/v零点温度影响 0.02%F?S/10C输出温度影响 0.02%F?S/10C工作温度-20 C 到 +65C输入阻抗770 Q输出阻抗700 Q安全过载150% F?S供桥电压建议12VDC材质合金钢接线方式电源(+)红;电源(-)绿;输出(+)黄;输出(-)白4.2.3放大器Op07Op07芯片是一种非斩波稳零的单运算放大器集成电路,噪音很低。Op

30、07在许多情况下都不用额外调零是因为该芯片具有极低的失调电压进行输入。Op07同时具有偏置电流的输入较低与较高的开环增益的特点,Op07特别适用于微弱的放大器信号与增益较高的检测 类设备,也是得益于这种开环增益高、失调性低的相关特点。Op07芯片引脚功能说明,如图4.3 Op07芯片引脚图和表2 Op07引脚说明OffsetNulllInverting In putNon-i nverting In putVcc-8 OffsetNull27Vcc+6Output5N.C.的差分减法电路,来满足设计要求Op07的差分减法电路如图4.4所示。RfUi1Ui2GND图4.4 Op07的差分减法电路

31、表2 Op07引脚说明Op07引脚说明Op07引脚说明1调零端5空脚2反向输入端6输出3正向输入端7电源4接地8调零端根据“虚短”、“虚断”,给Op07的接线,由于信号需要放大 5倍,可以使用Op073所示。传感器与放大器连接后测得车辆重量和相对应的输出电压值如表车辆重量与电压的非线性关系图系列1图4.5车辆重量与电压的非线性关系图电压值表3车辆重量与其对应的输出电压值车辆的重量对应电压值车辆的重量对应电压值车辆的重量对应电压值(T)(V(T)(V)(T)(V)10.000.1024.002.2538.004.2511.000.4025.002.3439.004.3912.000.5826.0

32、02.4940.004.5113.000.7527.002.5841.004.6114.000.9128.002.7242.004.6815.001.0929.002.8343.004.7616.001.2430.002.9744.004.8217.001.3931.003.0945.004.8618.001.5232.003.2346.004.8919.001.6433.003.3947.004.9220.001.7934.003.5148.004.9421.001.9235.003.6849.004.9622.002.0136.003.8750.005.0023.002.1837.004.

33、07图4.5为车辆重量与电压的关系图称重传感器的测量值可以用y=f(x) , x (a1,a2 )来表示,其中y为传感器的电压输 出,x为传感器的重量输入,(a1,a2 )为重量输入信号的区间。其输出 y可以通过其他的 定标设备测量得到,目的是通过测量 y,从而得到对应的未知变量x的值,即x=K(y)。由 于称重传感器受材料特性的影响较大,一般情况下,输入和输出为非线性的关系,这就很 明显的增大了计算传感器重量输入值 x的难度。本设计中采用的是将电压输出值分为若干 段,在重量采集的范围之内,将一个重量输入值相对应一个电压输出值,进行分段,分段 越多就越精密,误差就越小,由于输入输出为非线性关系

34、,但是为了我们的计算的方便、 通俗易懂,本设计近似认为相邻两段电压值之间的数值关系为线性关系,这样,通过定标 的方式,只要知道这两点的坐标值,就能精确的求出这两点之间的电压输出值对应的重量 输入值。424 A/D转换器A/D转换器根据输出的信号格式有并行 A/D和串行A/D两种。ADC0832是一种具有双 通道A/D转换芯片和8位分辨率。它的优点有体积小,兼容性强,性价比高,从而深受 个人的欢迎和企业的认可,目前在世界上也已经有了较高的使用率。CS1CH02CH13GND4ADC08图4.6引脚排列ADC0832具有能够进行双通道 A/D转换,分辨率高达8位;当供电电源为5V时,输 入电压能稳

35、定的保持在05V之间;TTL/CMO与输出输入电平兼容;功耗很低,只有15mW 转换工作时间只有32卩S,也就是频率仅有250KHZ等特点。其引脚功能图如图4.6所示, 芯片引脚接口说明如表4所示。8 Vcc/REF7 CLK6 DO5 DI表4 ADC0832弓I脚说明接口说明CS片选使能,输入低电平能使芯片工作CH1模拟的输入通道1,或作为IN+/-使用CH0模拟的输入通道0,或作为IN+/-使用GND接地DO转换数据输出,数据信号输出DI选择通道控制,数据信号输入CLK芯片时钟脉冲输入Vcc/REF5V参考电压输入和电源输入通常情况下的单片机和 ADC0832勺接口的数据线应为4条,分别

36、是CS、CLK DO DI 由于ADC0832勺数据信号输入输出口与单片机具有双向接口通信,输入输出口也不同时使 用,所以可以将数据信号输入输出口并联后当一条数据线进行使用。它们的硬件接口电路 与单片机连接的原理如图4.7所示。最后将以上的惠思登电桥、放大器、ADC0832专换器和STC89C5单片机连接起来,就组成了系统的采集模块。图4.7 ADC0832与单片机的接口电路4.3键盘模块对于以上的单片机小系统来说,可以使用简单的键盘按键来实现对相关功能的操作。 一般的键盘上除了数字按键以外,常常还含有相关的功能按键。键盘是一组按键的集合, 它是最常用到的单片机输入设备之一。相关人员如果要想实

37、现最简单的人机通信,就可以 通过按键来进行相关的输入。根据不同的需要,很多不同类型的按键应运而生,而在我们 日常生活中最常用到的是一种常开型按键开关。 平常时,按键的第一个触点处于闭合状态, 而第二个触点是处于断开状态,如果按键需要被接通,只要按下第二个触点就能实现将电 路连接起来的功能。通常我们所用的按键都是弹性机械开关,当机械触点断开或者闭合时,由于机械触点 具有弹性,按键开关在被按下后不会一下子稳定的接通,在放手后也不会马上的断开。因 为在按键闭合或者断开的一瞬间,都会存在一系列的抖动现象,如图4.8所示。通过上图可以很直观的发现,当按键被按下或者释放时,会有一个短时间的抖动发生,按下之

38、后的 抖动叫做前沿抖动,按键释放后的抖动叫做后沿抖动,这些抖动的时间一般维持在 5ms-11ms之间,由按键机械弹性特性来决定该按键抖动的时间长短,抖动之后就可以使按键进入稳定的状态。键按下键释放IF闭合稳定-21 -图4.8按键抖动在本设计中,用到的三个按键Keyl、Key2、Key3分别控制报警的上限调节、下限调节和报警关闭开启的切换,这样,就可以利用人工手动控制报警的范围并控制蜂鸣器。其 中三个按键分布连接单片机的P3.5、P3.6、P3.7三个引脚,本设计中的按键电路图如图4.9所示。1 1P3.5C C1 1P3 6C OAT89C511P3.7C CKey1Key2Key34.4显

39、示模块本设计采用的是1602字符型LCD通常有14条引脚线或16条引脚线的LCD多出来的2条线是背光电源正负线。15脚的VCC和地线16脚的GND16却,其控制原理和14脚的LCD 完全一样。该液晶模块内部字符发生存储器存储了常用特定符号、阿拉伯形式的数字、大 小写的英文字母和日文假名等近160个不同的点阵字符图形,每一个字符都相对应一个固 定的代码,比如想要显示大写英文字母“H的点阵字符图形,只要知道其代码是01001000B(48H,该LCD显示模块就可以显示出来,这样我们就可看到字母“ H。1602引脚功能表 如表5所示,寄存器选择控制说明如表 6所示。RSR/W操作说明RSR/W操作说

40、明表6寄存器选择控制表表5 1602引脚功能表引脚符号功能说明1VSS一般接地2VDD接+5V电源3V0对比度调整端,接地电源对比度最高,接正电源对比度最弱4RS奇存器选择,低电平为扌曰令奇存器,冋电平为数据奇存器5R/W读写信号线,低电平时写操作,高电平时读操作6E使能端,下降沿使能7DB0双向数据总线0位(最低位)、低4位二态8DB1双向数据总线1位、低4位二态9DB2双向数据总线2位、低4位二态10DB3双向数据总线3位、低4位二态11DB4双向数据总线4位、咼4位二态12DB5双向数据总线5位、咼4位二态13DB6双向数据总线6位、咼4位二态14DB7双向数据总线7位(最咼位)、咼4位

41、二态15BLA背光电源正极16BLK背光电源负极00写入指令寄存器(清除屏等)01读DB7以及读取位址计数器(DB0DB)值10与入数据寄存器(显示各子型等)11从数据寄存器读取数据4.5通讯模块本设计中通讯模块的主要功能是将STC89C52单片机采集到的数据,通过串口传输到RS-232中,最后在上位机中得以显示。而在实际工作中,通常主要控制的上位机和负责数 据采集的系统相隔比较远,数据传输环境也比较恶劣,受其他电器影响比较大,为了保证 被采集到的数据能够高速、及时、安全地传送到上位机中去,单片机和上位机之间应该采 用RS485协议的串行通信方式才比较合理。但是由于本设计中,所受的条件约束比较

42、多, 我们可以直接采用RS-232转换器进行直接转换,从而达到其相应的效果是相同的。由于标准串口的电平规定是接收时电平范围在+/-3+/-15V 之间,发送时电平范围在+/-5+/-15V之间,而一般单片机系统的工作时候的电压是 +3.3V或+5V,由于单片机的电 平输出范围并不能满足一般的标准串口电平的基本要求,所有串口端口不能直接与PC上位机的串口端相连接,若要进行连接,则必须对单片机系统的工作电压经过电平转换。所 以必须要经过MAX232芯片进行电平转换。模块图如下:图4.12通信模块图4.6串口通信PC作为本设计的输入端,由于笔记本没有串口,必须由USB串 口转换数据线,将信号传入MA

43、X232芯片。PC机这端将用到串口调试小助手应用程序, 其调试界面就是PC机的输 入助手如下图窗口。其中要注意的是,在 CO朗口未知的情况下,必须在控制面板内,设 备管理器处查找到正在使用的串口数,才能进行正常通信。本设计中串口通信小助手设置的串口号为COM3波特率为9600,数据位为8位,停止位为1位,奇偶位为None不作设置,定时发送为1000ms/次,当准备就绪后,当按下打 开串口的按钮,就可进行发送任务,这时,在接收区就会显示出相关的重量值,如果接收区接受满,可以点击清空接收区来进行清除数据。串口通信小助手界面如下图:图4.13串口调试小助手界面而本设计采用的MAX232芯片是美国公司

44、为电脑的RS-232标准串口专门设计的单电源电平转换芯片,使用的是+5V单电源供电。MAX232芯片的引脚功能图如下图所示。C1 +V+C1-C2+C2-V-T20UTR2INMAX23216Vcc15GND14T1OUT13R1IN12R1OUT11T1IN10T2IN9R2OUT图4.14 MAX232引脚功能图总的来说MAX232引脚功能分为三个部分,分别为电荷泵电路部分、数据转换通道部分和供电部分。电荷泵电路部分由 4只电容和1、2、3、4、5、6引脚构成,其功能是给RS232的串口两个+12V和-12V的电源。数据转换通道部分又分成第一数据通道和第二数据 通道,其中第一数据通道是由1

45、1、12、13、14引脚构成,而第二数据通道是由 7、8 9、 10引脚构成,TTL/CMOS勺相关数据从11引脚、10引脚输入,由芯片功能转换成为 RS232 数据,再从7引脚、14引脚送到电脑串口插头中;随后电脑串口插头的RS232数据由13引脚、8引脚输入再转换为TTL/CMOS勺数据后,从12引脚、9引脚进行输出。供电部分 由15脚和16脚组成,15引脚接地,16引脚接+5V。4.7报警模块本系统要实现一旦检测到车辆超载超限,就会立刻鸣笛报警,通过操作人员的检查处理后,解除报警。本设计选用蜂鸣器作为发声装置, 蜂鸣器可利用三极管来进行放大驱动。 该接口电路如图4.15所示:图4.15报

46、警接口电路-25 -5. 系统的软件设计5.1主程序设计当系统上电复位后,系统开始初始化,包括端口等;初始化完毕后,调用串口输出提 示语,开始准备串口输出电压;准备完毕后,调用串口输出电压值,开始从串口输出电压 值;输出完毕后,调用串口输出换行值;最后开始延时200ms根据系统方案,设计出本设计的主程序流程,可以用框图表示。开始串口初始化串口输出提示语串口输出电压值串口输出换行值延时200ms图5.1 主程序流程图5.2 MCU的串口配置由于51单片机没有波特率发生器,需要利用定时器来产生波特率,在这里定时器设置成了工作模式2( 8位自动重装)并且开启波特率倍增,串口工作于模式18位数据位。1

47、bit停止位,无校验位,允许接受。为了提高实时性,还增加了串口中断。程序如下:void In itUART(void)TMOD|=Ox21; / 定时器1工作在模式2SCON=0x50; / 串口工作在模式1TCON=0x05;TH1=256-Fclk/(BitRate*12*16);TL1=256-Fclk/(BitRate*12*16);TH0 = (65535 - 1000)/256;TL0 = (65535 - 1000)%256;ET0 = 1;TR0 = 1;PCON=0x80;/串口波特率加倍ES=1;/串行中断允许TR1=1;/启动定时器1REN=1;/允许接收EA=1;/允许

48、中断5.3 ADC0832软件设计首先要将芯片开始使能,即 CS使能端置于低电平,然后通过 DI和DO的同一数据输 入端口,可实现通道功能的选择,再调用通道初始化程序,初始化完毕后,在8个时钟边沿获得正序和反序8位数据,最后返回数据。根据此方案,设计出本设计中 A/D转换程序 流程,如图5.2所示。当两位数据都为0时,CH1作为负输入端IN-,而CH0就作为正输入端IN+来进行相 关输入。当此两位数据都为1时,CH1进行单通道转换而CHC不转换。当两位数据分别为 0和1时,CH1作为正输入端IN+,CH0作为负输入端IN-来进行相关输入。当两位数据为 分别为1和0时,CH0进行单通道转换而CH

49、1不转换。ADC0832的功能项如表7所示。图5.2 ADC0832转换流程图表7 AD0832功能项MUX AddressChanne#SGL/DIFODD/SIGN0110+11+00+01+ADC083設有工作时,DO/DI和CLK的电平可高可低,但 CS的输入端口应必须显示高 电平,此时芯片处于禁用状态。当 A/D转换进行时,CS端口必须处于低电平并且一直将低 电平保持到转换全部结束。当芯片转换工作开始,芯片的 CLK端口会接收到处理器传送来 的一时钟脉冲,DO/DI并联端口将使用数据输入信号的 DI端口。第一个时钟脉冲的下沉出现之前,DI端口一定要是高电平,表示启始信号的发出,在 第

50、二、三个脉冲的下沉出现之前,DI端口要输入两位数据来选择通道。第三个脉冲出现下沉之后,DI端口就不再起任何作用,此后 DO/DI并联端口则是被DO端口占领进行读取转 换数据。第四个下沉脉冲出现开始,DO端口输出最高位的转换数据 DATA?接下来每个脉 冲下沉之后DO端口都会输出下一位的转换数据。 直到发出最低位数据DATA0也就是由第 十一个脉冲发出的数据之后,这样一个字节的数据输出就完成了。再从第十一个脉冲下沉 开始从DATD(开始输出下一个相反数据字节。然后一直到第十九个脉冲完成数据的输出, 这样一次A/D转换才结束。最后,要想将转换后的数据进行相关处理就必须将芯片禁用, 也就是将CS端口

51、输入高电平。5.4 LCD显示程序设计首先设置显示模式,设置第(x,y )个字符的DDRA啲地址,为15X2显示,因为液 晶显示为15列,所以x位置的范围是0到15,同理,因为显示2行,所以y位置的范围是0到1。显示程序如下:void Lcd_Pos(uchar yPos,uchar xPos)uchar tmp;xPos &= 0x0f;/xyPos &= 0x01;if(yPos=0)/tmp = xPos;elsetmp = xPos + 0x40;/tmp |= 0x80;Write_com(tmp);5.5主函数软件主要分成四个部分:串口配置,位置范围是015,因为显示15列/y位置

52、范围是01,因为显示2行显示第一行显示第二行ADC0832的初始化,等待接受数据和输出数据。-39 -程序如下:void main (void)In itUART(); / 串口初始化Lcd_i ni t();Write_Stri ng(Weight: , 0, 0);Write_Stri ng(H=, 1, 0);Write_Stri ng(L=, 1,6);Beep =1;while(1)Process10ms();DispVal(Wh, 1,2);DispVal(WI, 1, 8);CheckProcess();if (flagget10s = 1)flagget10s = 0;Get_

53、temp(sum*100);ET0 = 1;TR0 = 1;Disp_Voltage(); /采集电压并发送6. 系统仿真与调试6.1系统仿真本设计方案中的核心单片机芯片选用了51系列单片机,在对该系列单片机的程序编程方面,我们可用C语言进行编程,C语言在功能上与汇编语言相比,不管在读取性、结 构完整性和维护性上都有很大的优势。对此,我们使用由美国KeilSoftware 公司生产的Keil C51软件开发系统的Keil卩Vision4仿真软件来进行仿真和程序编写,Keil能给我 们提供一个很完善的开发方案,将 C语言编译器、连接器、红汇编和调试仿真器等通过一 个内部开发环境uVision很完

54、整的组合联系在一起。不管你使用汇编语言还是C语言进行编程,Keil强大的调试工具和完善的集成环境都能让你快速、便捷的完成编程工作。在Keil主界面完成编程后,运行显示没有没有错误时,就要进行一个很重要的环节, 也就是链接。软件能不能在硬件上实现相关的功能,看的就是链接,点击下图中的 Debug 选项后就会出现如图6.1的显示窗口,在这界面,我们选中 89C52芯片。图6.1片选择设置窗口在选择完89C52芯片后,点击Target选项,就可以根据PC机和单片机之间的固 有波特率来确定晶振频率,波特率是9600,所以晶振频率就设为11.0592MH Z。波特率选择图如图6.2所示。图6.2波特率选择图再用Proteus进行仿真画图,将本设计中的硬件模块通过软件画出来,并完成端口连接,使用的模块有:89C52单片机、ADC0832转换芯片、LCD1602、放大器、单臂桥式电路、三个按键、蜂鸣器和连接串口等。完成电路连接后,本设计的Proteus仿真图就完成了,接下

温馨提示

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

评论

0/150

提交评论