基于单片机的智能电子秤设计 - 图文

更新时间:2024-06-16 15:28:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

本 科 毕 业 设 计

基于单片机的智能电子秤设计

Design of intelligent electronic scale based on MCU

学 院: 电子工程学院 专业班级: 电子信息工程 DZ电子091班 学生姓名: 孙 昕

学 号: 2011140603

指导教师: 韩晓春(高级实验师)

2013年 6 月

毕业设计中文摘要

基于单片机的是能电子秤设计 摘要:伴随着广泛应用的微电子技术,人们对电子秤的要求越来越高。本电路的控制核心为AT89S52单片机,和称重电路,显示电路,键盘电路一起构成的智能称重系统,自动称重系统,以实现各种不同的控制功能。 这个系统是为了电子称的称重、计算价格还有数据处理进行钻研的。为了详细说明如何用单片机对采样的数据进行处理,本实验研究了对数据采集、转换、计算等问题。并且讨论了单片机系统中最重要的计算问题,讨论的结果表明用本系统用软件设计的话将会是系统更加完美。本文给出了智能电子硬件设计,详细的分析了基础上已知软件的电子控制方法。可以说,本设计完成的电子秤在最大程度上满足了应用的需求。本设计中的电子秤有很多特点,如功耗低、性价格比高、简单方便的系统设计、速度快、测量的数据准确等特点。因为单片机控制的电子称不仅构造一目了然,而且制造的资金也很少,因此大部分的人们都很喜爱,本文将对于这些进行详细讨论。 关键词:AT89S52,压力传感器,单片机,A/D转换

毕业设计外文摘要

Design of intelligent electronic scale based on MCU Abstract: With the extensive application of microelectronics technology, people have become increasingly demanding electronic scales. The core of the control circuit for the AT89S52 microcontroller, and weighing circuit, display circuit, keyboard circuit together constitute the intelligent weighing system, automatic weighing system, in order to achieve a variety of control functions. This system is known for electronic weighing, calculating prices have to delve into the data processing. For detailed instructions on how to use microcontroller sampled data processing, this experimental study on data acquisition, conversion, calculation and other issues. SCM system and discusses the most important calculation discussed results show the system used with the software design, then the system will be more perfect. In this paper, intelligent electronic hardware design, based on a detailed analysis of the electronic control method known software. It can be said, the design is completed electronic scales to the maximum extent to meet the application requirements. The design of the electronic scale has many characteristics, such as low power consumption, sexual price is high, the system design is simple and convenient, fast, and accurate measurement data characteristics. Because microprocessor controlled electronics, said not only construct a glance, and made very little money, so most of the people were like, this article will discuss these in detail. Keywords: AT89S52;pressure sensor;microcontroller;A/D conversion

目 录

1.绪论.............................................................. 4

1.1电子秤的发展现状和发展趋势..................................................................... 4 1.2 项目研究的意义............................................................................................ 5 1.3 可行性分析.................................................................................................... 5 2.系统方案论证与选型................................................ 5

2.1设计要求......................................................................................................... 5 2.2 整体功能........................................................................................................ 6 2.3 电子秤的工作原理........................................................................................ 6 2.4总体设计方案................................................................................................. 7 3. 系统硬件设计..................................................... 7

3.1单片机概述..................................................................................................... 7 3.2 AT89S52单片机简介..................................................................................... 7 3.3 最小系统电路................................................................................................ 9 3.4 键盘电路...................................................................................................... 10 3.5 时钟电路...................................................................................................... 13 3.6 液晶显示电路.............................................................................................. 13 3.7压力感应电路............................................................................................... 15 3.8 电源电路...................................................................................................... 18 3.9本章小结....................................................................................................... 19 4 系统软件设计..................................................... 19

4.1 编程语言及开发工具的选择...................................................................... 19 4.2 主程序设计.................................................................................................. 19 4.3显示模块流程图及子程序的设计............................................................... 21 4.4 按键处理程序.............................................................................................. 22 4.5本章小结....................................................................................................... 23 5 系统仿真及调试................................................... 23

5.1 Proteus ISIS简介[8].................................................................................. 23 5.2 keil简介..................................................................................................... 24 5.3出现的问题和解决方法............................................................................... 24 5.4 keil与proteus联合仿真及调试............................................................. 25 5.5 本章小结...................................................................................................... 28 致谢........................................................... 30 参考文献 .......................................................... 31

1.绪论

1.1电子秤的发展现状和发展趋势

1.1.1 电子秤的发展现状[1]

这几年来,我们的电子称重系统发展的很快。已经从最初的机电结合,发展至如今的数字和智能。电子称重技术从静态到动态称重发展,从模拟到数字测量发展,从单一到多参数测量发展。现在在很多的发达国家在电子称重力这方面有了很大的提高。他们不断有创新的品种和结构,不断扩大应用范围和技术功能。在信息时代正在逼近的时候,数字化电子秤和数字称重系统在各个高端系统中的应用范围是越来越广泛了。它作为一种称重计量方式,丰富的应用于各大中型市场、物流配置中心、工厂等,而且作为工组成了工业控制和商业管理系统的一个重要部分,它的作用有:缩短工作时间,改良操作的条件,减少能源和材料的消耗,加强和改善企业管理与经营管理等多个方面,称重设备已经应用到国民经济领域,并取得了明显的经济效益。 1.1.2 电子秤的发展趋势[2]

台式的电子秤在买卖中的相当高的使用率,但是它只能应用在特定的地点。电子秤的应用程序性能的产品往往有更多的集成和组合性。 (1)小型化

新研制的电子秤的发展方向逐渐趋向于体积小、高度低、重量轻。那些量程比较小的电子秤,为了能提高了稳定性和可靠性并且减少投入资金。应该采用薄型或超薄型的圆形称重传感器 [3]。然而,对于那些对所称重量要求中等或者较大的电子秤,开始采用方形或长方形闭合截面的薄型钢焊接而成的秤体,这种秤体结构的发展前途是很可观的。 (2)模块化

对于那些大型或超大型的载体结构,所采用的模块的标准结构有很多长度可供选择的。先是分开然后再通过组合去产生一些新的产品规格。这样的构成,不但是提高了产品的通用性、互换性和可靠性,而且也提升了产品的生产效率和产品质量[4]。与此同时也减少了材料本身所需的成本,并且加强了企业的竞争力。 (3)综合性

电子称重技术的发展规律是不断的加强基础研究并扩大应用,扩展新技术领域,向相邻学科和行业渗透,综合各种技术去解决称重计量、自动控制、信息处理等问题[5]。例如在统计流量这个专业,假如使用称重法,只要测量精准的重量和时间,测量大流量的问题自然而然就解开了。现代商业系统还要求商用电子计价秤能提供各种销售信息,把称重与管理自动化紧密结合,实现管理自动化。这就要求电子计价秤能与电子计一算机联网,把称重系统与计算机系统组成一个完

整的综合控制系统[2]。

1.2 项目研究的意义

随着社会的不断发展和科技的不断进步,各式各样的电子新科技走进了我们的日常生活,让我们的生活变得越来越方便。

以前出现的量具多是杆秤或盘秤,1970年代开始出现了电子秤。之前的电子秤大部分都是用模拟电路去实现,现在电子技术日新月异,古老的称重系统在功能、精度、智能化、性价比等方面是很难达到人们的要求的。数字芯片的成本也一年比一年少,模拟控制已渐渐地被数字控制替代,电子秤的模式也大多数都围绕着微处理器来设计,使精度和可靠性都有了明显的提高。同时,也提高了仪器设备的可操作性和可维护性,使用价值也很高。综上所述,有计划有目标地制定出一套电子秤系统并且让他能有实用的价值,尽量地克服系统的不对的地方,对于减少电子秤在系统应用中的缺点,具有现实意义。

1.3 可行性分析

理论可行性:

理论上来讲,电子秤是有由以下部分组成:称重传感器,放大器,显示器,键盘。并且,每一部分都相对应有相关的元器件,而且,会有相关的技术去履行它,而且现在相关单片机的系统运用技术也已很成熟,在很多地方能用得到。 经济可行性:

因为我们做的电子秤是个简易器件,所以不需要很多的金钱投放,而且有易实行,性价比高,能够方便日常生活。 技术可行性:

应用C语言开发计算器,可以得心应手,为用户提供非常友好、易实行的用户界面、具有完整和强大的数据操作能力。 社会可行性:

电子秤是在社会生活中的运用非常多,大家都不能缺少它。

2.系统方案论证与选型

2.1设计要求

本设计,需要用单片机作为内核,加上一定的外围电路和软件设计,实现智能电子秤系统的设计,本设计任务可以分为硬件设计和软件设计。硬件部分包括:键盘模块、系统控制模块、显示模块等。

设计技术要求:

(1)熟练的使用protues和keil软件;

(2)选择恰当的单片机并且配以外围电路设计。最终能仿真实现。

其他要求:

能实现计算、显示和调整数值等多种功能,具有准确度高、实时性好等特点。

2.2 整体功能

(1) 采用高精度电阻应变式压力传感器,测量量程0-100kg,测量准确度可达5g。

(2) 采用电子秤专用A/D转换器芯片对传感器信号进行调整和转换。 (3) 采用ATC89S52单片机作为控制核心,实现称重、计算价格等主控功能。

(4) 采用LCD液晶屏去显示称重重量、单价、总价等信息。

(5) 采用计算器键盘进行人机交互,计算器的键盘容量大,而且运用很方便。

2.3 电子秤的工作原理

如果要进行对电子秤的探讨,就必须要从它的工作原理说起。电子秤中的压力传感器的作用是非常重要的,通常情况下压力传感器常采用电阻应变式,这时候,传感器有点像是中间人的感觉,即当把要称的东西摆放在秤台的那一刻,它的重量就会传达到压力传感器中,传感器随后便会使这个物件有多重就都会转成电信号。放大电路将该信号进行放大,滤波后由A/D转换器开始转变,然后将数字信号传送到微处器的CPU处理,CPU它就会不停地检测键盘,然后辨别和分析被打入键盘里的内容,由其软件部分来控制各种运算 [6]。

根据本设计对功能的要求,系统由5个部分组成:时钟电路,复位电路,键盘电路,液晶显示电路,称重电路。本系统的设计框图如图2-1所示。

图2-1 电子秤结构框图

称重传感器液晶显示A/D转换控制核心AT89S52键盘时钟电路复位电路

2.4总体设计方案

本设计中,处理前端信号的时候,选用的措施有放大、A/D转换等,尤其在液晶显示这块采用LCD显示器。这几点紧紧抓住了这个设计的重中之重,也能够显示那个被称东西的重量及价格。LCD显示器的使用大大节省了I/O口的使用。目前单片机技术已经比较成熟,功能也更强大,测得的信号被放大转入单片机,由单片机根据相应的数据关系,处理测量信号显示被测物体的重量。单片机适用的控制系统它实现的功能一定不能很复杂。它优点有有很多。但它也有缺点,就是外面的电路不简单,而且,编写的程序比较繁琐。结果就是,如果使用这一个方案就会给自己的设计添加难度。

3. 系统硬件设计

3.1单片机概述

单片机又称单片为控制机器。它是计算机技术的在不断发展过程中的一个重要的标志,它标志着计算机正式发展为通用计算机系统和嵌入式计算机系统两大分支。

3.1.1 单片机的发展状况[7]

单片机有着简短精湛的历史,它的产生与发展基本上和微处理器同步。它具有轻质量、小体积、成本低等优点,这也为它的发展做了铺垫。并且,通过研究单片机有利于学习计算机原理与结构,它最早是被用在工业控制领域。 3.1.2 单片机的发展趋势

(1)低功耗CMOS化。CMOS电路有着非常多的优点,如极宽的工作范围、极佳的本质低功耗及功耗管理特性等,形成了嵌入式系统独特的低功耗及管理应用技术。随着对单片机功耗要求越来越低,单片机逐渐都要采用CMOS。

(2)主流与多品种共同存在。在特定的一段时期内,某一种单片机的垄断局面将会不在存在,而是走向相互补充相互依靠、相互促进、共同发展之路。

(3)基于串行方式的外围设备扩展。

(4)微型单片机。现在的产品要求占地方少、拿起来不费力的现象有很多,这就要求MCU除了强大的功能和消耗少以外,也要求其占地方少。单片机构造的系统正逐步向小型化、微型化的方向发展[7]。

3.2 AT89S52单片机简介

AT89S52单片机是ATMEL公司推出的高档、增强型产品。它是一个消耗低性能却很高的CMOS位微控制器,其片内含有通用8位CPU和 ISP Flash存储单元,8k Bytes ISP(In-system programmable)是可反复擦写1000次的Flash只读程

序存储器,片上Flash允许程序存储器在系统可参与编程,它也适用于常规编程器。ATMEL公司的高密度、非易失性内存技术被用在制造器件上,兼容标准MCS-51指令系统及80C51引脚结构,在单个芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为许多嵌入式控制应用系统提供高灵活、具有高成本效益的解决方案[8]。 3.2.1 主要特性

兼容MCS-51指令系统 它工作的电压基本上是4.5-5.5V 3个16位可编程定时/计数器式 时钟频

2个全双工UART串行中断通道 256x8BIT内部RAM 2个外部中断源 低功耗空闲和掉电模式 中断唤醒掉电模式 三级加密程序存储器 灵活的ISP字节和分页编程 电源关闭标识 3.2.3 AT89S52管脚结构

AT89S52有PDIP、PLCC和TQFP等三种封装形式(其管脚的结构如图3-1所示)。

图3-1 AT89S52引脚图

率O-24MHz

3.2.4 AT89S52组成框图

AT89S52结构框图如图3-2所示。

图中VCC表示+5V的电源, GND 是接地。

图3-2 AT89S52型单片机结构框图 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p3 输出缓冲器能驱动4 个 TTL 逻辑电平。在flash编程和校验时,P3口也接收一些控制信号。P3口亦作为AT89S52特殊功能(第二功能)使用,如表3-2所示。 表3-2 P3口特殊功能 引脚号 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 第二功能 RXD(串行输入口) TXD(串行输出口) INT0(外中断0) INT0(外中断0) T0(定时器0外部输入) T1(定时器1外部输入) WR(外部数据存储器写选通) RD(外部数据存储器读选通)。 3.3 最小系统电路

最小系统电路包括复位电路和晶振电路。其系统如图3-3所示。在单片机片内部每种操作所需的时间信号由单片机的时钟信号来供给,复位操作能够让单片机的内部的电路回到最初状态,让单片机能够从开始运行的时候以一种准确的初始状态 [9]。

指令3:当I/D=1的时候,进行数据读和写的操作后,光标右移,反之左移。当S=1的时候,进行数据读和写的操作后,显示屏整体右移1字符,反之,显示屏不移动。

指令4:当D=1的时候显示功能开,反之,关显示屏。当C=1的时候有光标,反之,无光标。当B=1的时候光标不闪烁,反之,光标闪烁。

指令5:设定光标、字符移动方向。当S/C和R/L的值为00H的时候光标右移一格。值是01H时光标左移一格。

指令6:当N=1有2显示,当N=0有1显示。DL=1的时候数据总线为8位,DL=0的时候数据总线为4位。

指令9:读取忙标志BF的值、AC的值。BF=1时显示屏忙,反之,表示显示屏准备好。

指令10:将数据写到RAM。 指令11:从RAM中读取数据。

将LCD1602的各端口与单片机相连好,如果E端为HL,此时的RS端为LL,同时R/W端为LL的时候,液晶显示屏就会显示出用户想要显示的数据。单片机与1602液晶显示屏的硬件连接图如图3-9所示。

图3-9 单片机与1602液晶显示屏硬件连线图

3.7压力感应电路

现代的传感技术发展的越来越快,大家都已经从用传统的杠杆原理去测量物体的重量,发展到至今的用电子秤电子称重,即利用压力传感器把压力的信号转变成为电信号,运用单片机本身的技术,根据电信号和重力信号的数学模型,就能够间接的计算出物体的重量,目前普遍使用的是电阻应变片式称重传感器。电

阻应变式压力传感器是把电阻应变计粘贴在弹性敏感元件上,然后以适当方式组成电桥的一种将力转换成电信号的转换元件[12]。

压力感应电路是由气压传感器MPX4115、A/D转换器等组成。如图3-9

图3-9 压力感应电路

3.7.1气压传感器MPX4115的原理

气压传感器MPX4115的管脚如图3-9 ,管脚说明如表3-4所示

图3-9 MPX4115实物图

表3-4 气压传感器MPX4115的管脚说明

1 VOUT 2 GND 3 VS 4 N/S 5 N/S 6 N/S

气压传感器MPX4114的特性参数如表3-5所示:

参数 符号 最小 典型 最大 单位

压力范围 供电电压 供电电流 最大压力偏置 (0℃~85℃) @Vs=5.0V 满量程输出 (0℃~85℃) @Vs=5.0V 满量程比例 (0℃~85℃) @Vs=5.0V 精度 (0℃~85℃) 灵敏度 响应时间((10%~90%) 上升报警时间 偏置稳定性 Pop Vs Lo Vpss 15 4.85 - 0.135 - 5.1 7.0 0.204 115 5.35 10 0.273 KPa Vdc mAdc Vdc Voff 4.725 4.794 4.863 Vdc VFSS 4.521 4.590 4.695 Vdc - - - ±1.5 %CPSS V/P tR - - - - - 45.9 1.0 20 ±0.5 - - - - mV/KPa ms ms %VFSS 3.7.2转换器ADC0808

转换器ADC0808构成引脚图如图3-9所示。

图3-9 ADC0808引脚图

(2) 转换器ADC0808工作原理

A、B和C为地址输入线,用于选通IN0~IN7上的一路模拟量输入。通道选择见表3-4。

表3-4 ADC0807通道选择表

C 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 A 0 1 0 1 0 1 0 1 选择的通道 INT0 INT1 INT2 INT3 INT4 INT5 INT6 INT7 3.8 电源电路

本实验所需要的工作电压为+5V,由于该系统不仅要接220V电压还有可能要与USB相连,USB的接口所需的电压为±12V。所以,先利用适配器把220V的交流电压通过降压、整流、滤波转变为少一点的直流电压。最后达到5V的电压供给整个电路 [13]。

变压器输出端的电压经桥式整流,电容滤波,在电容C6两端大约会有高一点的电压,如果在电容两端接上负载,如果出现负载变化或者交流电源有波动情况,那么会对C6电压产生较大的影响,所以,当你想要一个稳定的电压源就必须要接上一个稳压器。它是由若干电阻和三极管构成的一种集成电路元器件,在你研究电路的时候,可以把它当作是一个能够调节电阻大小的元件,如果经过负载的电流变大大,那么,其内部的电阻会变小,同样道理,如果电流变小,那么电阻就会变大。只有这样才能够使电压更加稳定。7805三端稳压集成电路有三个引脚,1号引脚是输入端,2号引脚是接地端,3号引脚是输出端。通过7805的个位数字我们可以知道输出电压是5V。

TR1是电源变压器,通过TR1把220v交流电变为12v交流电。然后再通过桥式整流电路,把12V交流电变为12V直流电。电路如图3-10所示。

图3-10 电源电路

3.9本章小结

本章简单的介绍了单片机的硬件部分的组成。并且介绍单片机选用了8051系列单片机里的AT89S52,按键的部分明智选择了矩阵键盘,液晶显示电路的部分则选择了LCD1602。

4 系统软件设计

该软件设计的大致思路是:根据自己所编写的程序对系统中的测量进行控制,使其自动完成逻辑判断以及重量的测量:本设计软件的主要的目标如下:(1)设置单价;(2)显示质量、单价及总价;(2)超量程指示。

4.1 编程语言及开发工具的选择

4.1.1编程语言的选择

对8051单片机而言,现在最常用的就是汇编语言和C语言。每种语言都有各自的优缺点。

在51系列单片机下,C语言和汇编语言相比,有很多的优点,具体叙述如下[14]:

(1) 不要求对单片机的指令系统有所了解,如需使用它只要对51系列单片机的存储器结构有简单了解就可以;

(2)寄存器分配、不同存储器的寻址及数据类型等细节可由编译器管理; (3)其本身所提供的库中有许多的程序,数据的处理有很强大的能力; (4)由于他本身的编程技术运用很便利,已经编写好的程序就可以很方便的复制粘贴去其他地方。

结合上面的几点叙述,本设计应该选择的编程语言为C语言,并且采用模块化编程方式进行编程。 4.1.2 开发环境的选择

单片机的开发环境是多种多样的,有很多家公司都研发了单片机的开发软件,如American Automation、瑞典的IAR、Avocet和Keil等。开发环境的优劣直接影响单片机应用产品的开发效率[7]。本设计基于51系列单片机AT89S52,而且选用C语言进行编程,因此选用来自德国的主流开发软件Keil进行编程。Keil在代码生成方面相比较于其它几款软件很显然是处于先前地位的,它能够产生最少的代码。

4.2 主程序设计

4.2.1 主程序设计思想

称重是电子秤最基础的功能,所以该程序设计的主要出发点就是一定要保证

准确的称重。因为这个是虚拟电路,没有实在的重量。所以为了这个,在本系统中还是设置了一个初始的值。然后通过MPX4115去调它的值,而且它被设了一个上限的值,当重量到达那个点时,显示器就会显示出“over”字样。通过MPX4115上的“+,—”按键就可以实现调整重量大小的功能,但是重量就通过矩阵键盘来调整。只要按下键盘上的“=”键,就能够算出总价格,并显示出来,计算的使用增加按键的使用,使键盘的使用丰富起来。液晶显示模块采用的液晶显示器,它能够显示那些字符。这样使程序的编写简单了很多,再通过矩阵键盘上的按键实现价格计算和调整等功能。

单片机系统按照程序控制所设定操作方式开始运行,系统上电后,会使系统自动回到最初状态。初始化程序主要完成对单片机内专用寄存器的设定,并规定单片机的工作方式,顺便也规定每个端口的工作形态。主程序流程图如图 4-1 所示。

图4-1 系统流程图

4.3显示模块流程图及子程序的设计

显示模块子程序最重要的功能是来断定是不是需要,以及怎么样去将数值显示出来,因此,显示模块子程序是一段很重要的设计,在设计时要注重这个模块。首先开始显示初始化界面,完后判断有无按键,如果没有返回到上一步,如果有按键则显示出来按键的功能,例如预置的单价等,检测是否有重物,如果没有返回上一步,如果有按键则显示出物重、总价等信息,显示结束返回。显示子程序的流程图如下图4-2所示。

图4-2显示子程序流程图

开始显示初始化界面有无按键YN显示按键功能检测重物YN显示总价信息返回显示电路程序分析(取段) void Int() {

LcdInt(); //调用LCD初始化函数

//定时器0自动从转载模式

EA=1;

//开总中断

TMOD=0x22;

ET0=1;

//允许定时器0中断 //赋值 //开定时器0

TH0=0X14; TR0=1; }

TL0=0X00;

BKeyCount=0; //计数器初始化

4.4 按键处理程序

键盘电路使用4*4矩阵式键盘,一共有16个按键,主要用到的包括: 0 ~ 9、确认键、清零键、计算键。

在按键程序中应该先开始判断按键的编码,然后将其所表示的数值传送到相对应的存储单元,再开展功能的判断或数据的整理。主要是判断有无按键,如果没有原地跳转,如果有按键则通过LCD显示出其按键功能,然后判断是否有清零键按下,如果没有则原地跳转,如果有清零键按下,说明键盘输入重新开始,返回到字符界面显示继续后面的操作。键盘子程序的流程图如图4-3所示。

图4-3键盘子程序流程

YYYN按键输入LCD输入界面字符显示有功能键按下输入完毕调用LCD显示N有清零键按下N键盘显示模块的一段程序分析:

void main() {

Int();

Write_NO1(0x00,PC_Data); 取

{ Write_NO2(0x00,Price); WriteAddress(0x46);

//显示单价

Total_price[BKeyCount++]=BKeyNum; //存放价钱

// WriteData(' ');起到站空位的作用,清除原来无

Write_NO2(0x00,Price); while(1)

{ if(MMC74C992==0) {

while(MMC74C992==0); //MMC74C992=0时,说明有按键按下,很重

要,必须有。

BKey=(P2&0Xf0)>>4; //将高4位的BCD码一到低4位,便于计算 //将BKey的BCD码转换成相应的按键值,便于计算。

//改转换只转换了0-9数字键和“=”按键,其他暂时涉及不到,所以未进 switch(BKey) {

case 11:BKeyNum=10;break; //实则为\按键识别

default :BKeyNum=11;break; //其他按键键值为11,无效按键

//BKeyNum>=10,说明不是数字键,无需存

case 0:BKeyNum=7;break;

//按键7的识别

case 1:BKeyNum=4;break;

//按键4的识别

行转换

} if(BKeyNum<10)

用显示的数据。

4.5本章小结

本章对主程序进行了整体说明,这包括主程序里设计思想和主程序内容解析。接着对于按键调节和按键切换、显示部分的程序作了具体说明及分析。

5 系统仿真及调试

5.1 Proteus ISIS简介[15]

Proteus ISIS是英国Labcenter公司所开发的一个软件。它能够对电路进行分析和实物仿真。它已经出现快20年了,在全世界拥有非常多的企业用户群,也是目前唯一一个对每一种处理器都能进行迅速的仿真、调试和测试的EDA工具,

准确的履行了没有实物就能够对系统进行设计、测试和验证的作用。Proteus的作用真的有很多,是近年来备受电子设计爱好者青睐的一款新型电子线路设计与仿真软件。

5.1.1 Protues运行流程

(1)首先,在电脑里下载正确的软件版本,此软件主要是对硬件部分进行模拟。

(2)其次,进入软件后蓝色框内就是工作区域,可以在里面随意选择元器件,拖动元器件。根据原理图进行正确的连线。

(3)再次,完成所有连接后,双击单片机把生成的HEX文件进行导入。 (4)最后,如果程序和连好的图都没有问题就可以进行仿真了。

5.2 keil简介

Keil支持51系列的单片机的仿真,可通过系统设置生成51可执行的hex文件。Keil提供了一个完善开发案本,通过一个集成的开发环境将所有组合在一起。还有最关键的是,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势[16]。

在Keil集成开发环境不是在单一文件的模式下使用的,而是用工程的方法来管理文件。其中的文件包括源程序(如C语言、汇编语言)、头文件等都能够放在工程项目文件里进行统一的管理。创建新的应用程序就按照下面所介绍的方法来。

(1)一个工程项目文件; (2)挑选自己所用到的单片机;

(3)创立源程序文件后写入程序的代码; (4)将创建的不曾编译的项目文件save; (5)将未经编译的程序文件增加到此项目中。

5.3 出现的问题和解决方法

在系统设计完成后进入调试阶段,往往并不能直接得到所要的结果,即很难做到一次性成功。原因主要来自于硬件部分设计存在的问题和软件编程部分程序上的错误等。

首先,由于对单片机掌握并不十分熟练导致,对一些接口的功能理解没有十分透彻,因此在硬件连接时存在错误,经过查阅资料和与指导老师交流,反复修改,最终解决了硬件问题。

其次,在编程过程中,由于对C语言编写的不熟练,在编写过程中出现不少疑难,但经过反复查阅资料,认真理解,最终按照绘制好的程序流程图编写好了

程序。

最后,在Proteus中绘制好电路图,检验无误后,给AT89S52加载.HEX程序文件,但并没有得到预期的结果。

(1) 反复排查中,发现首先程序中有语句错误,经过KEIL的反复调试,排除程序中的语法错误.

(2) 运行仿真,显示屏仍然无显示结果,经过反复检查调试,发现扫描顺序与显示屏引脚的连接顺序有不一致的情况。于是,通过仔细分析,对设计做认真修改。

5.4 keil与proteus联合仿真及调试

5.4.1 keil运行流程

Keil支持51系列的单片机的仿真,可通过系统设置生成51可执行的hex文件。Keil编译界面进行编译之前先进行工程仿真配置,工程配置界面如图5-1所示,在 “Device”中进行CPU型号选择,本系统中选用AT89S52芯片,“Output”中选择“Create HEX File”,以便生成AT89S52可执行的hex文件。也方便加载到proteus里的单片机中进行仿真,并且“Debug”中选择调试方式为proteus。在keil中编写程序并进行编译,生成hex文件。

图5-1 Keil工程配置图

5.4.2 protues 运行流程

Proteus ISIS的运行界面是一种规则的界面窗口。

Proteus程序被运行后,首先就是软件的主界面。通过左侧工具栏中的P(从库中选择元件命令)命令,在Pick Devices 左侧窗口中输入自己所需元器件的前几个字符,点击确认后将元件放置在图中并企鹅调整方向,然后位置,设置其参数值,最后进行连线。

5.4.3 仿真结果

5-1仿真总电路图

5-2 初始界面显示

5-3 输入单价显示

5-4计算总价格显示

5-4调整重量显示

5-5 计算总价结果显示

5-6 价格清零显示

5.5 本章小结

本章结合软硬件对整个系统进行了整体调试。首先将自己编写的程序在Keil μVision3中进行编译,尽量发现并改正其错误的程序,然后将编译最后生成的HEX文件写入单片机,得出了完整的调试结果,最后结果表明我的设计方案正确,测量准确,实现了预期功能。

结论

本设计的研究课题为智能电子秤的设计,要求能够自主分析电子秤的工作原理、基本功能,最后编写软件程序连接硬件电路来实现功能。电子秤基本功能包括显示和调节,需要单价、质量、总价的正确显示和单价大小调整功能。另外需要说明的是,各个模块是可以替换的,本次设计可以用其他显示器代替液晶显示器,如LED数码管显示等。键盘方面可以用非编码键盘代替4*4矩阵键盘。不管怎么换,都必须熟悉单片机原理和结构,只有这样才能灵活运用。这次毕业设计不但使我理论知识得到巩固,而且也使我的检索能力得到提高,本设计经过反复的及调试,基本上能实现设定的要求,

本系统用单片机AT89S52为主控内核,显示那一块使用LCD1602来去完成显示的功能,价格控制和显示切换模块使用4*4矩阵按键电路的方式。本设计选用编程语言C语言它具有结构性、可读性、功能性强的优点,并且在Keil uVision3的开发环境下编辑系统作用程序。采用模块化编程思想,并且综合硬件电路作集体调试,只为最后能更好的履行电子秤的功能。

作为单片机初学者,通过这次实践,了解了电子秤的用途及工作原理,熟悉了用KEIL编程、PROTUES的使用等,提高了个人在很多方面的认识。也顺便巩固了所学知识,掌握单片机工作原理,熟悉软、硬件系统设计的过程,锻炼实际操作能力、查阅资料能力,以及培养团队合作的精神,为今后工作打下了一定的基础。 但是这次的毕业设计也使自己专业基础掌握的不牢固的缺点暴露出来,例如缺少将专业知识综合应用的能力,对材料本身的不清楚,对于相关的专业知识理解不透彻,遭遇难关很容易就生气,而且也缺乏耐心,实际动手能力差等。

事实上,作为一个单片机初学者应该把数据传输、外部数据中断、存储器扩展等基本操作熟练掌握等等。此次设计中主要精力集中在软件设计上,在硬件电路原理图与印刷电路图的研究还不够熟练、透彻。因此今后应该多找几个例题稍作练习。

致谢

首先,我要谢谢我的指导老师韩晓春老师。感谢她在这段时间对我的指导和帮助。韩老师待人热情、有耐心有责任心,对待学术问题严谨的态度和不断创新的积极性,这些都是我今后工作和学习的楷模。

其次,我要感谢室友们的在学习和生活上的鼓励和帮助,没有我的室友,我的调试也不可能成功,感谢他们一直支持着我,虽然我们有着不同的习惯和兴趣爱好,但我们一直都相处的很和睦,风风雨雨我们都一起走过,不曾红过脸,吵过嘴,也没有发生过不愉快的事。感谢有你们,让我明白了很多道理,体会到了团队合作的强大力量。再次,我还要感谢家人,在学校的学习阶段是他们的支持和理解才让我顺利的完成了学业。每一次的困难都是他们给了我很大的帮助和理解。在学校的学习生涯中,每一分收获都离不开他们。

在毕业设计成稿之际,我要再次向各位帮助我的人给予真心的谢意!正是因为有你们的关心、帮助和包容,我才能够有这么丰富多彩关于校园生活的回忆。

参考文献

[1] 李光汉,电子秤的设计研究 沈阳师范大学物理科学与技术学院,辽宁沈阳 2012.

[2] 白云飞 等,电子秤的发展现状和趋势 [期刊论文]《管理观察》,2010.. [3] 唐立军,《防作弊高精度电子秤研究》[学位论文] .2011.

[4] 许海,电子秤常用的作弊手段及查处方法 [学术期刊]《计量与测试技术》 2010.

[5] 郑丽梅,史超.《谈我国衡器技术的现状与发展趋势》 [学位论文] .2010. [6] 潘佑华,林盛鑫. 基于51单片机的多功能电子秤设计研究 [A] .2012. [7] 韩志军,沈晋源,王振波. 单片机应用技应用系统设计—入门向导与设计实例[M]. 北京:电子工业出版社,2010.

[8]许海 等,电子秤常用的作弊手段及查处方法. [期刊论文] 《计量与测试技术》, 2010年.

[9] 徐艳霞,一种新型输送带监测系统的研究与实现 [学位论文]中国海洋大学 .2011年.

[10] 施雯.基于单片机的数字式电子热量秤设计[学位论文].南昌大学,2009. [11] 杨帅,基于神经元芯片和单片机双处理器结构LON节点的研究.[学位论文] 哈尔滨理工大学.2008.

[12] 刘辉.《带遥控、语音及通讯等多功能计价电子秤的研制》[学位论文].2000. [13] 伍会娟.LED非接触自动检测系统控制及信号处理[学位论文].重庆大学,2009.

[14] 王东峰等.单片机C语言应用100例[M].北京:电子工业出版社.2009. [15] 朱清慧,张凤蕊.Proteus教程--电子线路设计制版与仿真.清华大学出版社,2008 .

[16] 李平等,单片机入门与开发[M],北京。机械工业出版社。2008

[17] 张秀红,多媒体技术下的单片机原理教学 [期刊论文] 《中国科技信息》.2012.

本文来源:https://www.bwwdw.com/article/th03.html

Top