基于51单片机的商业用智能电子秤设计_第1页
基于51单片机的商业用智能电子秤设计_第2页
基于51单片机的商业用智能电子秤设计_第3页
基于51单片机的商业用智能电子秤设计_第4页
基于51单片机的商业用智能电子秤设计_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、 i毕业论文设计毕业论文设计基于基于 51 单片机的商业用智能电子秤设计单片机的商业用智能电子秤设计 ii摘 要随着微电子技术的应用,市场上使用的传统称重工具已经满足不了人们的要求。为了改变传统称重工具在使用上存在的问题,在本设计中将智能化、自动化、人性化用在了电子秤重的控制系统中。本系统主要由单片机来控制,测量物体重量部分由称重传感器及 a/d 转换器组成,加上显示单元,此电子秤俱备了功能多、性能价格比高、功耗低、系统设计简单、使用方便直观、速度快、测量准确、自动化程度高等特点。本系统以 at89c51 单片机为主控芯片,外围附以称重电路、显示电路、键盘电路等构成智能称重系统电路板,从而实现

2、自动称重系统的各种控制功能。可以说,此设计所完成的电子秤很大程度上满足了应用需求。关键词关键词 at89c51 称重传感器 a/d 转换器 lcd 显示器 iiiabstractwith the application of micro-electronics technology, tradition ponderation instrument used in market has been not satisfaction with hunman requirements already. in order to make up for the traditional apparatus

3、 shortcoming, we improve the apparatuss control system with intelligence and automation. this system is mainly controlled by microcontroller, the section of height measurement accomplish by supersonic sensor, the section of weight measurement accomplish by weight sensor and a/d transformer, this app

4、aratus have many characteristic such as having more function, consume less energy, small and move easily, low price, measure precisely, the speed is quick, automatic work without people and so on.the system is mainly controlled by the microcontroller at89s52, the periphery is consist of the circuit

5、of clock and calendar, the circuit of measure height and weight, the circuit of display and print, all of these comprise the circuit board of the intelligent apparatus of height and weight. it can achieve all function of the apparatus.key words:at89c51; weighing sensor; a / d converter; lcd monitor

6、iv i目 录摘 要.iabstract.ii第一章 绪论.11.1 电子秤的概述.11.2 设计目的.2第二章 系统方案的设计.12.1 设计要求.12.2 进度安排.12.3 电子秤的工作原理.12.4 系统的整体设计思路.2第三章 系统硬件电路设计.53.1 压力传感器.53.2 前级放大器.83.2.1 反相比例运算电路.83.2.2 前级放大电路.103.3 a/d 转换器.113.3.1 方案比较.113.3.2 adc0832 芯片介绍.123.3.3 采样电路图.123.4 控制器.133.4.1 at89c51 芯片介绍.143.4.2 单片机最小系统.163.5 输入键盘.

7、173.5.1 矩阵键盘仿真及接线图.183.5.2 矩阵键盘工作原理.183.6 输出显示.18 ii3.6.1 lcd12864 介绍.193.6.2 lcd 显示电路图.213.6.3 lcd 的驱动.21第四章 系统软件的设计.224.1 主程序设计.224.2 a/d 转换启动及数据读取程序设计.234.3 键盘子程序.244.4 显示子程序.25第五章 仿真调试.265.1 proteus软件介绍.265.2 仿真步骤.275.3 调试故障及原因分析.28结 论.29参考文献.30致谢.31附录一 硬件电路仿真图.32附录二 程序清单.3311第一章 绪论1.11.1 电子秤的概述

8、电子秤的概述电子秤的发展过程与其它事物一样,也经历了由简单到复杂,由粗糙到精密、由机械到机电结合再到全电子化、由单一功能到多功能的过程。特别是近 30 年以来,工艺流程中的现场称重、配料定量称重、以及产品质量的监测等工作,都离不开能输出电信号的电子衡器。这是由于电子衡器不仅能给出质量或重量信号,而且也能作为总系统中的一个单元承担着控制和检验功能,从而推进工业生产和贸易交往的自动化和合理化。近年来,电子秤已愈来愈多地参与到数据处理和过程控制中。现代称重技术和数据系统已经成为工艺技术、储运技术、预包装技术、收货业务及商业销售领域中不可缺少的组成部分。随着称重传感器各项性能的不断突破,为电子秤的发展

9、奠定了其础,国外如美国、西欧等一些国家在 2 0 世纪 6 0 年代就出现了 0 .1%称量准确度的电子秤,并在 7 0 年代中期约对 75%的机械秤进行了机电结合式的电子化改造。称重装置不仪是提供重量数据的单体仪表,而且作为工业控制系统和商业管理系统的一个组成部分,推进了工业生产的自动化和管理的现代化,它起到了缩短作业时间、改善操作条件、降低能源和材料的消耗、提高产品质量以及加强企业管理、改善经营管理等多方面的作用。称重装置的应用已遍及到围民经济各领域,取得了显著的经济效益。因此,称重技术的研究和衡器工业的发展各国都非常重视。50 年代中期电子技术的渗入推动了衡器制造业的发展。60 年代初期

10、出现机电结合式电了衡器以来,经过 40 多年的不断改进与完善,我国电子衡器从最初的机电结合型发展到现在的全电子型和数字智能型。现今电子衡器制造技术及应用得到了新发展。电子称重技术从静态称重向动态称重发展:计量方法从模拟测量向数字测量发展;测量特点从单参数测量向多参数测量发展,特别是对快速称重和动态称重的研究与应用。通过分析近年来电子衡器产品的发展情况及国内外市场的需求,电子衡器总的发展趋势是小型化、模块化、集成化、智能化;其技术性能趋向是速率高、准确度高、稳定性高、可靠性高;其功能趋向是称重计量的控制信息和非控制信息并重的“智能化”功能;其应用性能趋向于综合性和组合性。电子秤是电了衡器中的一种

11、,衡器是国家法定计量器具,是围计民生、国防建设、科学研究、内外贸易不可缺少的计量设备,衡器产品技术水平的高低,将直接影响各行各业的现代化水平和社会经济效益的提高。第一章 绪论 21.21.2 设计目的设计目的单片机以其功能强,体积小,功耗低,易开发等很多优势被广泛应用。但单片机不是万能的,也存在不适合的场合,我们要充分利用单片机的内部资源和选择合适的单片机来完成我们的设计。本数字电子秤的设计过程中需要用到 a/d 转换、键盘、液晶显示、复位电路和蜂鸣器报警驱动电路的知识,同时在软件的设计过程中需要用到键盘扫描、液晶显示驱动、模数转换程序及汉字库的的设计,可以很好的将数电、模电、单片机知识进行综

12、合应用。在综合应用中进一步熟悉单片机设计的开发各个流程,最终达到巩固基础、注重设计、培养技能、追求创新、走向实用的目的。11第二章 系统方案的设计2.12.1 设计要求设计要求1)参数要求 量程:4.999kg 感量(分辨率):1g 数字显示:重量 3 1/2位2)设计要求 (1) 采用单片机控制,要求设计出硬件系统和软件系统。 (2) 合理选择传感器、转换电路和显示输出电路等。3)其它要求能实现转换、显示和调校等多,种功能,具有准确度高、实时性好等特点。2.22.2 进度安排进度安排4.4-4.24 查找设计资料,画出原理电路框图;4.25-5.15 完成硬件电路的具体设计;5.16-5.2

13、9 完成软件程序的设计和编写;5.30-6.5 仿真调试;6.6-6.24 撰写设计报告(论文) ,答辩。2.32.3 电子秤的工作原理电子秤的工作原理当被称物体放置在秤体的秤台上时,其重量便通过秤体传递到称重传感器,传感器随之产生力一电效应,将物体的重量转换成与被称物体重量成一定函数关系(一般成正比关系)的电信号(电压或电流等) 。此信号由放大电路进行放大、经滤波后再由模数( a/d)器进行转换,数字信号再送到微处器的 cpu 处理,cpu 不断扫描键盘和各功能开关,根据键盘输入内容和各种功能开关的状态进行必要的判断、分析、由仪表的软件来控制各种运算。运算结果送到内存贮器,需要显示时,cpu

14、 发出指令,从内存贮器中读出送到显示器显示,或送打印机打印。第二章 系统方案的设计 42.42.4 系统的整体设计思路系统的整体设计思路 根据电子秤的工作原理可以将电子秤大致能划分为三大部分,数据采集模块、控制器模块和人机交互界面模块。图 2.1 为系统的整体框图。数据采集模块由压力传感器、信号的前级处理和 a/d 转换部分组成。测量过程中把被测物体的重量通过传感器将重量信号转化为电压信号输出。信号的前级处理将来自传感器的微弱信号进行滤波和放大,放大后的电压信号经过模数转换把模拟量转换成数字量。控制器模块将数据采集模块传来的数字信号进行处理,完成被测物体重量的判断、显示等功能。此部分对软件的设

15、计要求比较高,系统的大部分功能都需要软件来控制。人机交互界面模块主要由键盘和显示器组成。键盘输入是系统接受用户指令的直接途径。显示器采用 lcd 液晶显示器,可以直观的显示物品的重量,单价和总金额。lcd 显示数据采集控制模块 图 2.1 系统整体框图键盘控制键盘控制键盘控制键盘控制55第三章 系统硬件电路设计3.13.1 压力传感器压力传感器传感器的定义:能感受规定的被测量,并按照一定规律转换成可用输出信号的器件或装置。通常传感器由敏感元件和转换元件组成。其中敏感元件指传感器中能直接感受被测量的部分,转换部分指传感器中能将敏感元件输出量转换为适于传输和测量的电信号部分。现代科技的快速发展使人

16、类社会进入了信息时代,在信息时代人们的社会活动将主要依靠对信息资源的开发和获取、传输和处理,而传感器处于自动检测与控制系统之首,是感知获取与检测信息的窗口;传感器处于研究对象与测控系统的接口位置,一切科学研究和生产过程要获取的信息,都要通过它转换为易传输与处理的电信号。因此,传感器的地位与作用特别重要。称重传感器在电子秤中占有十分重要的位置,被喻为电子秤的心脏部件,它的性能好坏很大程度上决定了电子秤的精确度和稳定性。通常称重传感器产生的误差约占电子秤整机误差的 50%70%。若在环境恶劣的条件下(如高低温、湿热),传感器所占的误差比例就更大,因此,在人们设计电子秤时,正确地选用称重传感器非常重

17、要。称重传感器的种类很多,根据工作原理来分常用的有以下几种: 电阻应变式、电容式、压电式等。一 压电传感器压电传感器是一种典型的有源传感器,又称自发电式传感器。其工作原理是基于某些材料受力后在其相应的特定表面产生电荷的压电效应。压电传感器体积小、重量轻、结构简单、工作可靠,适用于动态力学量的测量,不适合测频率太低的被测量,更不能测静态量。目前多用于加速度和动态力或压力的测量。压电器件的弱点:高内阻、小功率。功率小,输出的能量微弱,电缆的分布电容及噪声干扰影响输出特性,这对外接电路要求很高。二 电容式传感器电容式传感器是将被测非电量的变化转换为电容变化的一种传感器。它有结构简单、灵敏度高、动态响

18、应好、可实现非接触测量、具有平均效应等优点。电容传感器可用来检测压力、力、位移以及振动学非电参量。电容传感器的基本工作原理可用最普通的平行极板电容器来说明。两块相互平行的金属极板,当不考虑其边缘效应(两个极板边缘处的电力线分布不均匀引起电容量的变化)时,第三章 系统硬件电路设计 6dacor其电容量为 (3.1)式(3.1)中两极板间的距离;da两平行极板相互覆盖的有效面积;介质的相对介电常数;r真空中介电常数。o若被测量的变化使式中、a、三个参量中任一个发生变化,都会引起电容量的变化,dr通过测量电路就可转换为电量输出4。 虽然电容式传感器有结构简单和良好动态特性等诸多优点,但也有不利因素:

19、(1)小功率、高阻抗。受几何尺寸限制,电容传感器的电容量都很小,一般仅几皮法至几十皮法。因 c 太小,故容抗=1/c 很大,为高阻抗元件,负载能力差;又因其视在cx功率 p=c ,c 很小,则 p 也很小。故易受外界干扰,信号需经放大,并采取抗干扰措2ou施。(2)初始电容小,电缆电容、线路的杂散电路所构成的寄生电容影响很大。三 电阻应变式传感器电阻应变式传感器是一种利用电阻应变效应,将各种力学量转换为电信号的结构型传感器。电阻应变片式电阻应变式传感器的核心元件,其工作原理是基于材料的电阻应变效应,电阻应变片即可单独作为传感器使用,又能作为敏感元件结合弹性元件构成力学量传感器。导体的电阻随着机

20、械变形而发生变化的现象叫做电阻应变效应。电阻应变片把机械应变信号转换为r/r 后,由于应变量及相应电阻变化一般都很微小,难以直接精确测量,且不便处理。因此,要采用转换电路把应变片的r/r 变化转换成电压或电流变化。其转换电路常用测量电桥。直流电桥的特点是信号不会受各元件和导线的分布电感及电容的影响,抗干扰能力强,但因机械应变的输出信号小,要求用高增益和高稳定性的放大器放大。下图为一直流供电的平衡电阻电桥,接直流电源 e:ine77)(434211rrrrrre)(43214231rrrrrrrre)()()()()()(22rrrrrrrrerrrruoerr 图 3.1 传感器结构原理图当电

21、桥输出端接无穷大负载电阻时,可视输出端为开路,此时直流电桥称为电压桥,即只有电压输出。当忽略电源的内阻时,由分压原理有: adabbdouuuu = (3.2)当满足条件 r1r3=r2r4 时,即 (3.3)3421rrrr=0,即电桥平衡。式(3.3)称平衡条件。ou应变片测量电桥在测量前使电桥平衡,从而使测量时电桥输出电压只与应变片感受的应变所引起的电阻变化有关。若差动工作,即 r1=r-r,r2=r+r,r3=r-r,r4=r+r,按式(3.2) ,则电桥输出为 第三章 系统硬件电路设计 8 (3.4)ek应变片式传感器有如下特点:(1)应用和测量范围广,应变片可制成各种机械量传感器。

22、(2)分辨力和灵敏度高,精度较高。(3)结构轻小,对试件影响小, 对复杂环境适应性强,可在高温、高压、强磁场等特殊环境中使用,频率响应好。(4)商品化,使用方便,便于实现远距离、自动化测量。 通过以上对传感器的比较分析,最终选择了第三种方案。题目要求称重范围04.999kg,分辨率为 1g,考虑到秤台自重、振动和冲击分量,还要避免超重损坏传感器,所以传感器量程必须大于额定称重 4.999kg。我们选择的是电阻应变片压力传感器,量程为5kg,精度为 0.01% ,满足本系统的精度要求。3.23.2 前级放大器前级放大器经由传感器或敏感元件转换后输出的信号一般电平较低;经由电桥等电路变换后的信号亦

23、难以直接用来显示、记录、控制或进行信号转换。为此,测量电路中常设有模拟放大环节。这一环节目前主要依靠由集成运算放大器的基本元件构成具有各种特性的放大器来完成。放大器的输入信号一般是由传感器输出的。传感器的输出信号不仅电平低,内阻高,还常伴有较高的共模电压。因此,一般对放大器有如下一些要求:1、输入阻抗应远大于信号源内阻。否则,放大器的负载效应会使所测电压造成偏差。2、抗共模电压干扰能力强。3、在预定的频带宽度内有稳定准确的增益、良好的线性,输入漂移和噪声应足够小以保证要求的信噪比。从而保证放大器输出性能稳定。4、能附加一些适应特定要求的电路。如放大器增益的外接电阻调整、方便准确的量程切换、极性

24、自动变换等。综合以上要求,我们采用了最为简单的反相比例运算电路来实现放大的功能。3.2.1 反相比例运算电路(1)电路的组成99图 3.2 反相比例电路反向比例运算电路的组成如图 3.2 所示。由图可见,输入电压 ui通过电阻 r1加在运放的反向输入端。rf是沟通输出和输入的通道,是电路的反馈网络。同向输入端所接的电阻 rp为电路的平衡电阻,该电阻等于从运放的同向输入端往外看除源以后的等效电阻,为了保证运放电路工作在平衡的状态下,同相输入端的电阻应该取 rp =r1/rf(2)电压放大倍数图 3.3 反相比例运算电路理想运算放大器组成的反相比例运算电路见图 3.3,显然是一个电压并联负反馈电路

25、。在输入信号作用下,输入端有电流ii、ii 、if 。根据虚断的特性有 ii 0 (3.5)于是 ii if (3.6)根据虚短的特性,有u+ u- (3.7)第三章 系统硬件电路设计 10所以(3.8)放大倍数 au 为(3.9)(3)反向比例运算电路的输入电阻(3.10)为了保证运放电路工作在平衡的状态下,同相输入端的电阻应该取 rp =r1/rf(4)由于反向比例运算电路具有虚地的特点。所以共模输入电压为(3.11)反相比例运算电路由于具有“虚地”的特点,运放的同相输入端和反相输入端均为 0 电位,所以反相比例运算电路的 共模输入电压等于 0。3.2.2 前级放大电路图 3.4 放大电路

26、图1fiourruuafo1iruru1iiiii0riuiur11113.33.3 a/da/d 转换器转换器3.3.1 方案比较a/d 转换部分是整个设计的关键,这一部分处理不好,会使得整个设计毫无意义。目前,世界上有多种类型的 adc,有传统的并行、逐次逼近型、积分型 adc,也有近年来新发展起来的- 型和流水线型 adc,多种类型的 adc 各有其优缺点并能满足不同的具体应用要求。目前, adc 集成电路主要有以下几种类型:(1)并行比较 a/d 转换器:如 adc0808、 adc0809 等 。并行比较 adc 是现今速度最快的模/数转换器,采样速率在 1gsps 以上,通常称为“

27、闪烁式”adc。它由电阻分压器、比较器、缓冲器及编码器四种分组成。这种结构的 adc 所有位的转换同时完成,其转换时间主取决于比较器的开关速度、编码器的传输时间延迟等。(2) 逐次逼近型 a/d 转换器:如:ads7805、ads7804 等。逐次逼近型 adc 是应用非常广泛的模/数转换方法,这一类型 adc 的优点:高速,采样速率可达 1msps;与其它 adc 相比,功耗相当低;在分辨率低于 12 位时,价格较低。缺点:在高于 14 位分辨率情况下,价格较高;传感器产生的信号在进行模/数转换之前需要进行调理,包括增益级和滤波,这样会明显增加成本。(3)积分型 a/d 转换器:如:icl7

28、135、icl7109、icl1549、mc14433 等。积分型 adc又称为双斜率或多斜率 adc,是应用比较广泛的一类转换器。它的基本原理是通过两次积分将输入的模拟电压转换成与其平均值成正比的时间间隔。与此同时,在此时间间隔内利用计数器对时钟脉冲进行计数,从而实现 a/d 转换。积分型 adc 两次积分的时间都是利用同一个时钟发生器和计数器来确定,因此所得到的表达式与时钟频率无关,其转换精度只取决于参考电压 vr。此外,由于输入端采用了积分器,所以对交流噪声的干扰有很强的抑制能力。若把积分器定时积分的时间取为工频信号的整数倍,可把由工频噪声引起的误差减小到最小,从而有效地抑制电网的工频干

29、扰。这类 adc 主要应用于低速、精密测量等领域,如数字电压表。其优点是:分辨率高,可达 22 位;功耗低、成本低。缺点是:转换速率低,转换速率在 12 位时为 100300sps。 (4)压频变换型 adc:其优点是:精度高、价格较低、功耗较低。缺点是:类似于积分型 adc,其转换速率受到限制,12 位时为 100300sps。 考虑到本系统中对物体重量的测量和使用的场合,精度要求不是很苛刻,转换速率要求也不高。因此首先考虑常用的数模转换芯片 adc0809,由于本设计只需采集仪一路数据,第三章 系统硬件电路设计 12adc0809 为并行的 8 路数据采集芯片,且接线较复杂,因此考虑采用串

30、行的 a/d 转换芯片0832 完成设计。3.3.2 adc0832 芯片介绍adc0832 与 msc-51 单片机接口构成了串行的 8 位通道,微处理器通过软件写入三位串行控制命令决定 adc0832 的工作方式,ch0 单端输入,输入范围 0-5v,非调整误差为正负1lsb,电路仅使用微处理器的两根控制线,两根数据线可方便进行光电隔离增强抗干扰能力。适用于智能化检测仪器仪表。正常情况下 adc0832 与单片机的接口应为 4 条数据线,分别是 cs、clk、do、di。但由于 do 端与 di 端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将 do 和 di 并联在一

31、根数据线上使用。当 adc0832 未工作时其 cs 输入端应为高电平,此时芯片禁用,clk 和 do/di 的电平可任意。当要进行 a/d 转换时,须先将 cs 使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端 clk 输入时钟脉冲,do/di 端则使用 di 端输入通道功能选择的数据信号。在第 1 个时钟脉冲的下沉之前 di 端必须是高电平,表示启始信号。在第 2、3 个脉冲下沉之前 di 端应输入 2 位数据用于选择通道功能, 当此 2 位数据为“1”、“0”时,只对 ch0 进行单通道转换。当 2 位数据为“1”、“1”时,只对 ch1

32、 进行单通道转换。当 2 位数据为“0”、“0”时,将 ch0 作为正输入端 in+,ch1 作为负输入端 in-进行输入。当 2 位数据为“0”、“1”时,将 ch0 作为负输入端 in-,ch1 作为正输入端 in+进行输入。到第 3 个脉冲的下沉之后 di 端的输入电平就失去输入作用,此后do/di 端则开始利用数据输出 do 进行转换数据的读取。从第 4 个脉冲下沉开始由 do 端输出转换数据最高位 data7,随后每一个脉冲下沉 do 端输出下一位数据。直到第 11 个脉冲时发出最低位数据 data0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第 11 个

33、字节的下沉输出 data0。随后输出 8 位数据,到第 19 个脉冲时数据输出完成,也标志着一次 a/d 转换的结束。最后将 cs 置高电平禁用芯片,直接将转换后的数据进行处理就可以了。3.3.3 采样电路图1313图 3.5 采样电路图3.43.4 控制器控制器根据题目要求,有以下两种控制方案:方案一:采用现场可编程门阵列(fpga)为控制核心,利用 eda 软件编程,下载烧制实现。系统集成于一片 xilinx 公司的 spartan系列 xc2s100e 芯片上,体积大大减小、逻辑单元灵活、集成度高以及适用范围广等特点,可实现大规模和超大规模的集成电路。但是大规模可编程逻辑器件一般是使用状

34、态机方式来实现,即所解决的问题都是规则的有限状态转换问题。本系统状态较多,难度较大。方案二:目前单片机技术比较成熟,功能也比较强大,被测信号经放大整形后送入单片机,由单片机对测量信号进行处理并根据相应的数据关系译码显示出被测物体的重量, 。本设计由于要求必须使用单片机作为系统的主控制器,而且以单片机为主控制器的设计,可以容易地将计算机技术和测量控制技术结合在一起,组成新型的只需要改变软件程序就可以更新换代的“智能化测量控制系统” 。这种新型的智能仪表在测量过程自动化、测量结果的数据处理以及功能的多样化方面,都取得了巨大的进展。再则由于系统没有其它高标准的要求,又考虑到本设计中程序部分比较大,根

35、据总体方案设计的分析,设计这样一个简单的的系统,可以选用带 eprom 的单片机,由于应用程序不大,应用程序直接存储在片内,不用在外部扩展存储器,这样电路也可简化。intel 公司的8051 和 8751 都可使用,在这里选用 atmenl 生产的 at89sxx 系列单片机。at89sxx 系列与mcs-51 相比有两大优势:第一,片内存储器采用闪速存储器,使程序写入更加方便;第二,提供了更小尺寸的芯片,使整个硬件电路体积更小。此外价格低廉、性能比较稳定的mcpu,具有 8k8rom、2568ram、2 个 16 位定时计数器、4 个 8 位 i/o 接口。这些配置能够很好地实现本仪器的测量

36、和控制要求最后我们最终选择了 at89c51 这个比较常用的单片机来实现系统的功能要求。at89c51内部带有 8kb 的程序存储器,基本上已经能够满足我们的需要。第三章 系统硬件电路设计 143.4.1 at89c51 芯片介绍at89c51(如图所示)是一种带 4k 字节闪烁可编程可擦除只读存储(fperomfalsh programmable and erasable read only memory)的低电压,高性能 cmos8 位微处理器,俗称单片机。该器件采用 atmel 高密度非易失存储器制造技术制造,与工业标准的 mcs-51 指令集和输出管脚相兼容。由于将多功能 8 位 cp

37、u 和闪烁存储器组合在单个芯片中,atmel 的at89s51 是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。各管脚功能如下:vcc:供电电压。gnd:接地。 p0 口:p0 口为一个 8 位漏级开路双向 i/o 口,每脚可吸收 8ttl 门电流。当 p1 口的管脚第一次写 1 时,被定义为高阻输入。p0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在 fiash 编程时,p0 口作为原码输入口,当 fiash 进行校验时,p0输出原码,此时 p0 外部必须被拉高。p1 口:p1 口是一个内部提供上拉电阻的 8 位双向 i/o 口,p1 口缓冲器能接

38、收输出 4ttl门电流。p1 口管脚写入 1 后,被内部上拉为高,可用作输入,p1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 flash 编程和校验时,p1 口作为第八位地址接收。p2 口:p2 口为一个内部上拉电阻的 8 位双向 i/o 口,p2 口缓冲器可接收,输出 4 个ttl 门电流,当 p2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,p2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对

39、外部八位地址数据存储器进行读写时,p2 口输出其特殊功能寄存器的内容。p2 口在 flash 编程和校验时接收高八位地址信号和控制信号。 p3 口:p3 口管脚是 8 个带内部上拉电阻的双向 i/o 口,可接收输出 4 个 ttl 门电流。当 p3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3 口将输出电流(ill)这是由于上拉的缘故。rst:复位输入。当振荡器复位器件时,要保持 rst 脚两个机器周期的高电平时当 8051通电,时钟电路开始工作,在 reset 引脚上出现 24 个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器 pc 指

40、向 0000h,p0-p3 输出口全部为高电平,堆栈指钟写入151507h,其它专用寄存器被清“0” 。reset 由高电平下降为低电平后,系统即从 0000h 地址开始执行程序。然而,初始复位不改变 ram(包括工作寄存器 r0-r7)的状态,表 3.1 at89c51 的初始态 特殊功能寄存器 初始态 特殊功能寄存器 初始态 acc 00h b 00h psw 00h sp 07h dph 00h th0 00h dpl 00h tl0 00h ip xxx00000b th1 00h ie 0 xx00000b tl1 00h tmod 00h tcon 00h scon xxxxxxx

41、xb sbuf 00h p0-p3 1111111b pcon 0 xxxxxxxb ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 flash 编程期间,此引脚用于输入编程脉冲。在平时,ale 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ale 脉冲。如想禁止 ale 的输出可在 sfr8eh 地址上置 0。此时, ale 只有在执行 movx,movc 指令是 ale 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 al

42、e 禁止,置位无效。psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen 有效。但在访问外部数据存储器时,这两次有效的/psen 信号将不出现。 ea/vpp:当/ea 保持低电平时,则在此期间外部程序存储器(0000h-ffffh) ,不管是否有内部程序存储器。注意加密方式 1 时,/ea 将内部锁定为 reset;当/ea 端保持高电平时,此间内部程序存储器。在 flash 编程期间,此引脚也用于施加 12v 编程电源(vpp) 。 xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。 第三章 系统硬件电路设计 16xtal2:来自反向振荡器的输

43、出。振荡器特性:xtal1 和 xtal2 分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,xtal2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。芯片擦除:整个 perom 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ale 管脚处于低电平 10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,at89s51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可

44、选的掉电模式。在闲置模式下,cpu 停止工作。但 ram,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存 ram 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。图 3.6 at89c51 芯片图3.4.2 单片机最小系统at89c51 单片机的最小系统由时钟电路、复位电路、电源电路及单片机构成。单片机的时钟信号用来提供单片机片内各种操作的时间基准,复位操作则使单片机的片内电路初始化,使单片机从一种确定的初态开始运行。单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在引脚xtal1 和 xtal2 外接晶体振荡器(简称晶振)或陶瓷谐振器,就构

45、成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉1717冲。当 mcs-5l 系列单片机的复位引脚 rst(全称 reset)出现 2 个机器周期以上的高电平时,单片机就执行复位操作。如果 rst 持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器pc0000h,这表明程序从 0000

46、h 地址单元开始执行。系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。51单片机的复位是由 reset 引脚来控制的,此引脚与高电平相接超过 24 个振荡周期后,51 单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到 reset 引脚转为低电平后,才检查 ea 引脚是高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部程序。图 3.7 at89c51 主控电路图3.53.5 输入键盘输入键盘由于电子秤需要设置单价(十个数字键) ,还具有确认、复位等功能,总共需设置 16 个第三章 系统硬件电路设计 18键。键盘的扩展有使用以下方案:采用矩

47、阵式键盘:矩阵式键盘的特点是把检测线分成两组,一组为行线,一组列线,按键放在行线和列线的交叉点上。图 2.6 给出了一个 44 的矩阵键盘结构的键盘接口电路,图中的每一个按键都通过不同的行线和列线与主机相连这。44 矩阵式键盘共可以安装 16个键,但只需要 8 条测试线。当键盘的数量大于 8 时,一般都采用矩阵式键盘。结合本设计的实际要求,16 个按键使用 44 矩阵式键盘。3.5.1 矩阵键盘仿真及接线图图 3.8 矩阵键盘图3.5.2 矩阵键盘工作原理把单片机的 p1.0p1.7 端口通过 8 联拨动拨码开关连接到“44 行列式键盘” ,其中p1.0-p1.3 作为列线,p1.4-p1.7

48、 作为行线,把单片机的 p0.0p0.6 端口连接到 lcd 显示器区域中对应的 db0-db7 端口上;系统首先通过 cpu 对全部键盘进行扫描,即把第一根行线置为“0”状态,其余行线置于“1”状态,读入输入缓冲器的状态,若其状态全为“1”表明该行无键按下,再将第二根行线置为“0”状态,同样读入输入缓冲器的状态,如其状态也全为“1” ,则置第一根行线置为“0”状态,以此类推。如读入输入缓冲器的状态不全为“1” ,确定哪一根列线为“0”状态,当某个键的行线和列线都为“0”状态时,表明该键按下。最后通过显示程序将该键的序号显示出来。3.63.6 输出显示输出显示数据显示部分可以有以下两种方案供选

49、择:一是 led 数码管显示,二是 lcd 液晶显示两种选择.1919采用可以设置显示单价,金额,中文等的 lcd,它具有低功耗、可视面大、画面友好及抗干扰能力强等功能,其显示技术已得到广泛应用。lcd 显示器的工作原理:液晶显示器的主要材料是液态晶体。它在特定的温度范围内,既具有液体的流动性,又具有晶体的某些光学特性,其透明度和颜色随电场、磁场、光照度等外界条件变化而变化。因此,用液晶做成显示器件,就可以把上诉外界条件的变化反映出来从而形成现实的效果。考虑到本题目要求中文显示,数码管无法满足,只能考虑用带有中文字库的液晶显示器。由于可以分页显示,无需太大屏幕,最终选择点阵式 12864 型

50、ampire128x643.6.1 lcd12864 介绍管脚一共 18 个。cs1 左半屏片选端,cs2 右半屏片选端;v0 液晶显示驱动电压:rs 数据指令选择信号,h 为数据,l 为指令:r/w 读写选择信号,h 为读,l 为写;e 为 lcd 使能端,r/w 为 l 时,e 信号下降沿锁存 db7-db0;r/w 为 h 时,e 为 h,ddram 数据读到 db7-db0,如果只写不读的话可以接地处理。db0-db7 数据传输端口。rst 复位信号表 3.2 指令表指 令 码指令r/wd/id7d6d5d4d3d2d1d0功能显示on/off0000111111/0控制显示器的开关,

51、不影响 ddram 中数据和内部状态显示起始行0011显示起始行(0.63)指定显示屏从 ddram的哪一行开始显示数据设置 x地址0010111x:0.7设置 ddram 中的页地址设置 y地址0001y 地址(0.63)设置 y 地址读状态10busy0on/offrst0000读取状态写显示数据01显示数据将数据线上的数据db7-db0 写入 ddram中读显示数据11显示数据将 ddram 中的数据读入 db7-db0一共有 7 个指令,下面分别加以说明第三章 系统硬件电路设计 20显示开关 0 x3e:关;0 x3f:开 (r/w=0,rs=0)显示起始行 0 xc0+i :i 取值

52、 0 至 63 (r/w=0,rs=0)设置 ddram 页地址(x 地址) 0 xb8+i: i 取值 0 至 7(r/w=0,rs=0)设置 y 地址 0 x40+i:i 取值 0 至 63 (r/w=0,rs=0)读状态 r/w 为 h 时,暂未弄明白写数据 将数据线上的数据 db7-db0 写到 ddram ,y 地址指针自动加 1 (r/w=0,rs=1)读数据 将 ddram 中的数据读入 1 数据线 db7-db0,y 地址指针自动加1(r/w=1,rs=1)用到的很少)ddram 地址表(注意 db0-db7 在 ddram 里的存储空间,竖起排列)表 3.3 ddram 地址

53、表cs2=1cs1=1y=01.626301.6263行号db0-db7db0-db7db0-db7db0-db7db0-db7db0-db7db0-db7db0-db7db0-db7db0-db70-7db0-db7db0-db7db0-db7db0-db7db0-db7db0-db7db0-db7db0-db7db0-db7db0-db78-55x=0.x=7db0-db7db0-db7db0-db7db0-db7db0-db7db0-db7db0-db7db0-db7db0-db7db0-db756-63写操作时序图 3.9 写操作时序图读操作时序2121图 3.10 读操作时序图3.6

54、.2 lcd 显示电路图图 3.11 lcd 显示屏电路图3.6.3 lcd 的驱动考虑到 lcd 的驱动问题故还需加上一个排阻 respack8,接在 51 单片机的 p0 口,因为 p0 口内部没有上拉电阻,不能输出高电平,所以要接上拉电阻。本设计中的排阻是 8 电阻连载一起,他们有一个公共端 1 接 vcc。图 3.12 排阻的接线图第四章 系统软件的设计 22第四章 系统软件的设计本设计采用 c 语言编程,编译环境为 keil uv3。keil c51 是美国keil software 公司出品的51 系列兼容单片机c 语言软件开发系统,和汇编相比,c 在功能上、结构性、可读性、可维护

55、性上有明显的优势,因而易学易用。keil c51 软件提供丰富的库函数和功能强大的集成开发调试工具,全windows 界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到keil c51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。keil c51 可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用ide 本身或其它编辑器编辑c 或汇编源文件,然后分别有c51 及a51 编辑器编译连接生成单片机可执行的二进制文件(.hex),然后通过单片机的烧写软件将hex 文件烧入单片机内。软件主要三个方面:一是初始化

56、系统;二是按键检测;三是数据采集、数据处理并进行显示。这三个方面的操作分别在主程序中来进行。程序采用模块化的结构,这样程序结构清楚,易编程和易读性好,也便于调试和修改。4.14.1 主程序设计主程序设计系统上电后,初始化程序将 ram 的 30h5fh 内存单元清零。主程序模块主要完成编程芯片的初始化及按需要调用各模块(子程序),在系统初始化过程中,将系统设置成 5kg 量程,并写 5kg 量程标志。设计流程图如图 4.1 所示。2323ny n n yy图 4.1 主程序流程图4.24.2 a/da/d 转换启动及数据读取程序设计转换启动及数据读取程序设计a/d 转换子程序主要是指在系统开始

57、运行时,把称重传感器传递过来的模拟信号转换成开始设置对栈指针设置各中断服务程序入口相关寄存器消零设置显示缓冲区设置显示初值设置中断优先级及触发形式调用执行代码转换程序调用显示子程序int0 是否有效?调用键盘子程序调用显示子程序启动 a/d 转换int1 是由有效?调用程序处理子程序调用计算子程序执行数模转换调用显示子程序设置显示子程序重物是否移去?返回第四章 系统软件的设计 24数字信号并传递到单片机所涉及到的程序设计。设计流程图如图 4-4 所示。 n n y y 图 4.2 a/d 转换子程序4.34.3 键盘子程序键盘子程序在程序中可以先判断按键编码,然后根据编码将键盘代表的数值送到相

58、应的存储单元,再进行功能选择或数据处理nyny图 4.3 键盘子程序开始启动 a/d 转换a/d 转换完?成?、 、数据储存数据显示有键按下?延时,有键按下?键盘分析程序返 回开 始25254.44.4 显示子程序显示子程序通过 lcd 显示物品的重量、单价以及金额等。显 示 重 量开始显 示 单 价显 示 金 额返回图 4.4 显示子程序流程图第五章 仿真调试 26第五章 仿真调试调试包括硬件调试、软件调试和样机调试。软件的调试和硬件的调试都是独立进行的,软件部分包括数据采集子程序、数据处理子程序、显示子程序、键盘扫描子程序。软件调试中需要用到的测量信号可以用仿真实验台上的电压信号进行模拟,

59、而不需要进行硬件的连接。同样硬件部分的调试也是不需要软件连接而独立进行的。当软件调试和硬件调试都正确无误的时候,就可以进行连接调试,在调试中继续找出单独调试中无法指出的故障,反复进行修改软件、修改硬件设计的工作,直到所设计的电子秤显示数据与理想数据误差不大。我们所做的是仿真图经过我们组员的一致讨论我们选用了 protues 与 keil 两款软件相结合进行调试。通过 keil 将程序写入芯片,再用 protues 仿真。第四章已经对 keil 软件进行了介绍,本章不再重复。5.15.1 proteusproteus 软件介绍软件介绍proteus 软件是英国 labcenter electro

60、nics 公司出版的 eda 工具软件。它不仅具有其它 eda 工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 其功能特点如下: proteus 软件具有其它 eda工具软件的功能。这些功能是:(1)原理布图(2)pcb 自动或人工布线(3)spice 电路仿真革命性的特点(1)互动的电路仿真用户甚至可以实时采用诸如 led/lcd、键盘、rs232终端等动态外设模型来对设计进行交互仿真。(2)仿真处理器及其外围电路可以仿真51系列、avr、pi

温馨提示

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

评论

0/150

提交评论