




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高精度电子秤仿真设计摘要 本文详细介绍了高精度电子秤的原理以及仿真设计的思路,本设计采用AT89S51单片机做为控制核心,来实现电子秤的基本功能和控制。在设计系统时采用了模块化设计的方法,分别分步设计了各个单元功能的模块,并在PROTEUS中进行了硬件仿真,整个系统主要由主控制模块、数据采集模块、人机交互模块、通信模块、时间模块、指示,报警模块五部分组成。主控制模块采用AT89C52单片机来实现系统设计;数据采集模块由称重传感器、信号放大器和A/D转换部分组成,信号放大和A/D转换部分主要由专用型高精度16位AD转换芯片TI ADS实现;人机交互模块由LM016L(1602)显示屏,键盘两部分组成,通过键盘可以控制Set, +, -, Right, Left, Enter,使用传感器采集进来的数据,用LCD显示出来。键盘主要用于控制和操作系统;通信模块主要是由25LC08的SPI接口实现校正功能;实时时钟模块采用PCF8583时间芯片;指示,报警模块用蜂鸣器和LED来实现;软件部分的程序在KEIL中用C语言编写。该电子秤可以实现基本的称重功能(称重范围为09.999Kg,重量误差不大于1g),可以设置日期和时间显示, 还具有超量程(超重)的报警功能,具有一定的工业衡器使用价值。关键词 电子秤 仿真设计 16位A/D AT89C51 LM016LPrecision Electronic Balance DesignAbstract: This paper describes the principles of high-precision electronic balance, and simulation of design, this design uses AT89C51 microcontroller as the control core to realize the basic functions of electronic balance and control. Used in the design of a modular system design method, namely the design of each unit step function modules, and hardware in the PROTEUS simulation was carried out, the whole system mainly consists of main control module, data acquisition modules, interactive modules, communication module, the time module, instructions, alarm module of five parts. AT89C52 microcontroller with the main control module to achieve the system design; data acquisition module from the load cell, signal amplifiers and A/D conversion components, signal amplification and A/D conversion part, by special high precision 16-bit AD converter chip ADS7825 implementation; human-computer interaction modules by the LM1602 display, the keyboard of two parts, the keyboard can control the Set, +, -, Right, Left, Enter, using the sensor to collect the incoming data, with the LCD display. Mainly used to control the keyboard and operating system; communication module mainly by the SPI interface 25LC08 correction function; real time clock module with PCF8583 chip; instructions, alarm with buzzer and LED modules to achieve; the software part of the program in the KEIL with the C language. The electronic weighing balances can realize the basic functions (weighing range is 09.999Kg, the weight of error of less than 1g), you can set the date and time display, but also has ultra-balance (overweight) and alarm function, with a certain Industrial Weighing the value in use. Key words: Electronic Balance; Simulation Design; 16-bit A / D; AT89C51; LM1602IV目 录目 录引 言1第一章绪 论21.1 设计背景与意义21.2 设计要求31.3 电子秤的工作原理3第二章系统设计方案的论证42.1 单片机的选型42.2 A/D转换模块的选择42.3 时钟模块的选择52.4 通信接口模块62.5 输出显示模块选择62.6 键盘输入模块选择7第三章系统主要芯片介绍83.1 AT89C51介绍83.2 ADS7825介绍113.3 DS1302介绍133.4 MAX232介绍143.5 LM1602介绍163.4 MC34063介绍18第四章系统主要硬件设计194.1 系统基本结构和框图194.2 51单片机电路设计204.3 ADS7825电路设计214.4 DS1302电路设计224.5 通信接口电路设计224.6 LCD显示器电路设计234.7 按键电路设计244.8 电源电路设计26第五章系统程序设计275.1 系统主程序设计285.2 初始化程序设计295.3 A/D转换子程序设计305.4 显示子程序设计315.6 按键子程序设计32第六章系统调试和仿真336.1 Proteus仿真软件介绍336.2 Keil编程软件的调试346.3 仿真调试的结果36第七章总结与展望377.1设计总结与感想377.2本设计存在的不足及工作展望37致 谢38参考文献39附录一:PROTUES整体电路图40附录二:显示模块LM1602的程序41附录三:按键延迟子程序44引 言引 言本设计所做的电子秤是一款能够显示日期和时间的高精度电子秤仿真设计,而电子秤是一门称重技术,称重技术作为一种计量手段自古以来就与人民的生活紧密相连,广泛应用于工农业、科学研究、交通运输、内外贸易各领域。而电子秤又是电子衡器中的一种,衡器是国家法定计量器具,衡器产品技术水平的高低将直接影响各行各业的现代化水平和社会经济效益。因此,称重技术的研究和衡器工业的发展各国都非常重视。电子秤是目前市场上普遍应用的电子称量衡器,我国的电子衡器经历了从最初的机电结合型发展到现在的全电子型和数字智能型,至此我国电子衡器的技术装备和检测试验手段基本达到了国际平均水平,电子衡器制造技术及应用得到了新的发展:电子称重技术从静态称重向动态称重发展;计量方法从模拟测量向数字测量发展;测量特点从单参数测量向多参数测量发展,特别是对快速称重和动态称重的研究与应用都是目前电子衡器研究发展的方向。电子秤属于电子衡器的一种,它的发展也遵循这一趋势。随着时代科技的迅猛发展,微电子学和计算机等现代电子技术的成就给传统的电子测量与仪器带来了巨大的冲击和革命性的影响。常规的测试仪器仪表和控制装置被更先进的智能仪器所取代,使得传统的电子测量仪器在远距离、功能、精度及自动化水平定方面发生了巨大变化,并相应的出现了各种各样的智能仪器控制系统,使得科学实验和应用工程的自动化程度得以显著提高。电子秤做为重量测量仪器在各行各业都能够拥有测量准确,测量速度快,易于实时测量和监控的优势,开始逐步取代传统机械杠杆测量秤成为测量领域的主流工具。46第一章 绪 论第一章 绪 论1.1 设计背景与意义随着第二次世界大战后的经济繁荣,为了把称重技术引入生产工艺过程中去,对称重技术提出了新的要求,希望称重过程自动化,为此电子技术不断渗入衡器制造业,在1960年开发出了与衡器相联的专门称重值打印机。但是当时的带电子装置的衡器其称量工作是机械式的,只有与称量有关的显示、记录、远传式控制器等功能是电子方式的,这样的电子衡器被称为机电结合型电子衡器。电子秤的发展过程与其它事物一样,也经历了由简单到复杂、由粗糙到精密、由机械到机电结合再到全电子化、由单一功能到多功能的过程。近年来,电子秤已愈来愈多地参与到数据处理和过程控制中。现代称重技术和数据系统已经成为工艺技术、储运技术、预包装技术、收货业务及商业销售领域中不可缺少的组成部分。随着称重传感器各项性能的不断突破,为电子秤的发展奠定了其础,国外如美国、西欧等一些国家在20世纪60年代就出现了0 .1 %称量准确度的电子秤,并在70年代中期约对75 %的机械秤进行了机电结合式的电子化改造。随着工业技术的进步,在工业领域对电子秤的精度要求越来越高,需要精确到1g甚至是1mg,并对智能电子秤的称重时间和日期要求有精确的显示,并最好能自动称重,长时间的运行和防止死机的功能。这样就需要从技术上克服上述诸多缺点,改善电子秤系统在具体工业应用中的不足之处,具有现实意义。电子衡器产品量大面广、种类繁多,从通用的各种规格的电子秤到大型的电子称重系统,从单纯的称重、计价到生产过程检测系统的一个测量控制单元,其应用领域在不断地扩大。根据近年来电子称重技术和电子衡器的发展情况及电子衡器市场的需求,电子衡器总的发展动向为:小型化、模块化、智能化、集成化;其技术性能趋向于速率高、准确度高、稳定性高、可靠性高;其应用性趋向于综合性、组合性。电子秤采用现代传感器技术、电子技术和计算机技术一体化的电子称量装置,才能满足并解决现实生活中提出的快速、准确、连续、自动称量要求,同时有效地消除人为误差,使之更符合法制计量管理和工业生产过程控制的应用要求。1.2 设计要求1. 电源:输入24VDC,单片机供电5VDC。24VDC采用开关电源变换方式变换到5VDC,输出电流1A。 2. 单片机:AT89C513. 高精度AD:16位,带校正功能。(ADS 7825)4. LCD显示:LM016L(1602)5. 指示:LED,蜂鸣器6. 时间功能:DS1302芯片7. 按键:6个(Set, +, -, Right, Left, Enter)8. 通信协议:自定义9. 编程语言:C10. 设计要求:采用Keil和Proteus进行系统仿真11. 可靠,防死机,适应于长时间12. 通信接口:RS232(MAX232,DB9,母,弯头)1.3 电子秤的工作原理当本设计的主要思路如框图所示,当重物放置在秤台上的时候,其重量便通过秤体传递到称重传感器,传感器随之产生一个力与电的线性变化效应,根据此效应可将重量转换成与标定重量成一定函数关系的电压信号。此信号由AD转换器转换成数字信号,送到单片机进行数据处理,同时单片机不断扫描键盘,根据键盘开关的状态进行必要的判断和分析,由软件实现各种运算。最后将运算的结果送到存贮器,到需要显示时,从存贮器中读出数据,同时从时间芯片中读取时间数据,一并送到LCD显示器上显示。第二章 系统设计方案的论证第二章 系统设计方案的论证2.1 单片机的选型AT89C51单片机是AT89C系列中的基础型产品,它片内存储器容量有片内4KB的Flash程序存储器和128B的RAM。在工程应用中AT89C51有一显著的优势,通过对目前主流型号的比较,本设计最终选择了AT89C51通用的普通单片机来实现系统设计。AT89C51是一种兼容MCS51微控制器,工作电压4.0V到5.5V,全静态时钟0 Hz 到33 MHz,三级程序加密,32个可编程I/O口,2/3个16位定时/计数器,6/8个中断源,全双工串行通讯口,低功耗支持Idle和Power-down模式,Power down模式支持中断唤醒, 看门狗定时器,双数据指针,上电复位标志。另外在外扩展了32K数据存储器,以满足系统要求。2.2 A/D转换模块的选择A/D转换器是一种能把输入模拟电压或电流-成与它成正比的数字量,也就是说能把被控对象的各种模拟信息变成计算机可以识别的数字信息。A/D转换器种类较多,从原理上可分为四种:双积分式A/D转换器,逐次逼近式A/D转换器、并行A/D转换器、计数器式A/D转换器及型A/D转换器。在电子秤的设计中用的比较多的是双积分式A/D转换器和型A/D转换器。由上面对传感器量程和精度的分析可知: A/D 转换器误差应在以下。12 位 A/D 精度: 10Kg/4096=2.44g14 位 A/D 精度: 10Kg/16384=0.61g16 位 A/D 精度: 10Kg/65536=0.15g考虑到其他部分所带来的干扰 ,12 位和14位 A/D 均无法满足系统的高精度要求。 所以我们需要选择 16位或者精度更高的 A/D 。方案一、逐次逼近型 A/D 转换器,如: ADS7825 、 ADS7824 等。逐次逼近型 A/D 转换,一般具有采样/保持功能。采样频率高,功耗比较低,是理想的高速、高精度、省电型 A/D 转换器件。高精度逐次逼近型 A/D 转换器一般都带有内部基准源和内部时钟,基于AT89C51 构成的系统设计时仅需要外接几个电阻、电容。逐次逼近型A/D转换器由D/A转换环节,比较环节和控制逻辑等几部分组成。其转换原理为:A/D转换器将一待转换的模拟输入电压Ui与一个预先设定的电压Ui(预定的电压由逐次逼近型A/D转换器中的D/A输出获得)电压相比较,根据预设的电压Ui是大于还是小于待转换成的模拟输入电压Uin来决定当前的数字量是“0”还是“1”,椐此逐位比较,以便使转换结果(相应的数字量)逐渐与模拟输入电压相对依然数字量接近。但虑到所转换的信号为高精度信号, 16 位AD才能满足精度要求,这一点ADS7825可以达到。 方案二、双积分型 A/D 转换器:如: ICL7135 、 ICL7109 等。双积分型 A/D 转换器精度高,但速度非常慢 ( 如: ICL7135 ), 具有精确的差分输入,输入阻抗高(大于),可自动调零,超量程信号,全部输出于 TTL 电平兼容。对正负对称的工频干扰信号积分为零,所以对50HZ的工频干扰抑制能力较强,对高于工频干扰(例如噪声电压)有良好的滤波作用。只要干扰电压的平均值为零,对输出就不产生影响。尤其对本系统,缓慢变化的压力信号,很容易受到工频信号的影响。如果采用双积分型 A/D 转换器可大大降低对滤波电路的要求。通过对测量精度的考虑,本文最终采用的是ADS 7825 A/D转换芯片。2.3 时钟模块的选择本文采用DS1302作为时间芯片,DS1302是全二进制编码的十进制(BCD)日历芯片,可以通过简单的串行接口访问,该时钟可以提供准确的年、月、日、时、分、秒信息DS1302。其存在的缺点是时钟精度不高,易受环境影响,出现时钟混乱等,但是DS1302可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录。这种记录对长时间的连续测控系统结果的分析及对异常数据出现的原因的查找具有重要意义。若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且,某些测控系统可能不允许。但是,如果在系统中采用时钟芯片DS1302,则能很好地解决这个问题。传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此,只能记录数据而无法准确记录其出现的时间,本设计因为要考虑到长时间运行,长时间称重和数据记录,采用DS1302芯片可以在不怎么占用单片机系统资源的情况下,很好的提供时间数据给显示器。实时时钟模块采用DS1302时间芯片,可通过LCD1602和按键设置时间,它提供一个可编程时钟输出,所有的地址和数据通过串行传递,可以用通信接口模块连接。2.4 通信接口模块本设计中通信模块使用的是MAXIM公司生产的MAX232芯片,MAX232包含了两路的驱动器和接收器,适用于各种V2.28/V.24和EIA232C的通信接口。2.5 输出显示模块选择输出显示模块应该采用可以设置显示出称重物的重量以及其称重时的时间日期等的LCD,它具有低功耗、可视面大、画面友好及抗干扰能力强等功能,并且考虑到成本和技术的问题,应使用其显示技术已得到广泛应用的LCD显示器。在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器。本文考虑到是长时间对称重物的重量经行显示,所以采用的是LM016L(1602)LCD显示器,所以选择液晶显示屏1602模块作为输出。2.6 键盘输入模块选择键盘输入是人机交互界面中重要的组成部分,它是系统接受用户指令的直接途径。键盘是由若干个按键开关组成,键的多少根据单片机应用系统的用途而定。键盘由许多键组成,每一个键相当于一个机械开关触点,当键按下时,触点闭合,当键松开时,触点断开。单片机接收到按键的触点信号后,相应端口电压发生了变化,针对其电平由高专低或者由低变高,继而作相应的功能处理。因此,相对于单片机系统来说键盘接口信号是一种输入信号,作为一种重要的人机交互输入界面。本设计的键盘按键功能主要针对日期和时间的设置,以及对电子秤的调校和校正功能所设置,因此有6个主要功能按键,依次为Set, +, -, Right, Left, Enter。第三章 系统主要芯片介绍第三章 系统主要芯片介绍3.1 AT89C51介绍AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。其引脚排列如图3.1所示。图3.1 AT89C51引脚图AT89C51单片机的主要特性如表3.1表3.1 AT89C51的主要特性兼容MCS-51指令系统4k可反复擦写(1000次)ISP Flash ROM32个双向I/O口4.5-5.5V工作电压2个16位可编程定时/计数器时钟频率0-24MHz全双工UART串行中断口线256x8bit内部RAM5个中断源低功耗空闲和省电模式中断唤醒省电模式3级加密位片内振荡器和时钟电路可编程串行通道(1)VCC:供电电压。1m*_X)s#Kk9!n&X AC33(2)GND:接地。(3)Dr4uF%z33461P0口:P0口为一个8位漏极开路双向I/O口,每个管脚可吸收8个TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。电子园51单片机学习网8DkD5o8nB(4)P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。电子园51单片机学习网1xO&l4VzM(5)P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入,P2口的管脚被外部拉低时,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。(6)P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。s KQ)h,f#w(m+|33461电子园51单片机学习网6d%4MP3口也可作为AT89C51的一些特殊功能口,如表3.2所示:表3.2 P3口的特殊功能口端口管脚名称备选功能P3.0RXD串行输入口P3.1TXD串行输出口P3.2外部中断0P3.3外部中断1P3.4T0定时器/计数器0外部输入P3.5T1定时器/计数器1外部输入P3.6外部存储器写选通P3.7外部存储器读选通电子园51单片机学习网zoc!FT(7)电子园51单片机学习网DPg?:hRM cRST:复位输入。振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。7a f%JnZ x33461ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。(8)电子园51单片机学习网$xi tv:VX&dBg:W.YB7G6k?3A 3/PSEN:外部程序存储器的选通信号。在向外部程序存储器取值期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。(9)k0%kWt&J,NCq334/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA引脚为高电平时,单片机访问内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。电子园51单片机学习网+&YC ca%l u0f(10)XTAL1:反相振荡放大器的输入及内部时钟工作电路的输入。(11)kSf q+M_2?3XTAL2:来自反相振荡器的输出。图3.2 AT89C51单片机的晶体振荡电路3.2 ADS7825介绍ADS7825 是4 通道、16 位的A/ D 转换器, 它最大功耗仅为50mW ,由单一5V 电源供电, 可接受- 10.010. 0V 的模拟输入电压。该芯片内部含有4 通道多路转换开关、16 位CDAC、时钟、参考电压和并行/ 串行微处理器接口以及控制逻辑。它的最大优点是经A/ D 转换后的数据既可并行输出, 又可串行输出。图3.2 ADS7825的引脚图ADS7825 的管脚排列如图3.2所示,AIN 0 AIN为 3 : 4 个模拟通道, 可接受-1 0. 0 10. 0V 的模拟输入电压;PAR/ SER : 该管脚为高电平时, 数据在D0D7 脚并行输出; 为低电平时, 数据在SDATA 脚串行输出;B YTE : 并行数据输出选择位,仅在数据作并行输出时使用。B YTE = 1 时, 输出低8 位D0D7 ,B YTE = 0 时,输出高8 位D0D7 ,R/ C : 读数/ 启动转换, 该管脚被一下降沿触发将保持前次的采样并启动下一次模数转换; 上升沿触发,则允许读数;BUSY: 状态标志位, 只读管脚。在AD 转换过程中,该管脚输出始终保持低电平。转换结束,数据锁存到输出寄存器后, 该管脚输出高电平。当数据作并行输出时,必须使BUSY= 1 ,才可读数。CON TC : 选择转换模式。CON TC = 0 时, 必须用CS 及R/ C 来逐次启动AD 转换; CON TC = 1 时,采样和读取数据在4 个通道之间自动循环进行。SYNC :串行数据输出帧同步信号。SYNC 为输出管脚, 仅在数据作串行输出时使用。输出正脉冲时,其后沿标志着一帧数据的最高位开始输出。TA G: 该脚仅在多个ADS7825 联合工作、数据作串行输出且用外部时钟工作时才起作用。当电路中使用单个ADS7825 时, 可在TA G 脚接低电平。当电路中ADS7825 联合工作时, 可将前一级ADS7825 的SDATA 脚接至后一级ADS7825 的TA G 脚。第一级ADS7825 的TA G 脚接地,最后一级ADS7825 的SDATA 脚输出数据, 这样, 最后一级ADS7825 的SDATA 脚将由后级至前级依次输出各个ADS7825 的转换数据。3.3 DS1302介绍DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。DS1302通过三根口线实现与单片机的通信,因DS1302功耗很小,即使电源掉电后通过3V的纽扣电池仍能维持DS1302精确走时。图3.3 DS1302引脚图DS1302的引脚图及功能如上图3.3,其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768KHZ晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK始终为输入端。DS1302的引脚功能图如图2-3-1所示。DS1302的控制节如图3.7所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中;位6如果为逻辑0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址输入或输出。最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。图3.7 DS1302的控制字节在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。DS1302与RAM相关的寄存器分为两类:一类是单个RAM单无,共31个,每个单元为一个8位的字节,其命令控制离为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)和FFH(读)。3.4 MAX232介绍单片机与计算机的通信采用简化三线的串行通信方式,即把单片机的发送端TXD直接和计算机的接收端RXD相连,接收端RXD直接和计算机的发送端TXD相连,但是单片机的 TTL信号电平与PC机的信号电平不相容,所以必须进行电平转换,本设计中采用MAXIM公司生产的MAX232芯片,MAX232包含两路接收器和驱动器,适用于各种EIA232C和V2.28/V.24的通信接口。MAX232芯片内部有一个电源电压变换器,可以把输入的+5V电源电压变换成为RS-232输出电平所需的电压,所以,采用此芯片接口的串行通信系统中需要单一的+5V电源就可以了,不像传统的RS232电平转换器发送器MC1488和接收器MC1489那样必须提供额外的+12V和-12V电源。MAX232芯片引脚如图3.4图3.4 MAX232引脚图3.5 LM1602介绍1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,通过单片机发送的ASCII码,在LCD上显示出需要的字符和数字。1602液晶功耗较小可直接与单片机接口相接,电源直接与电源电路相接,1602液晶显示屏用74LS164与单片机相连接,使用单片机的P0.30.7,下图3.5为LM1602 的实物图。图3.5 LM1602的实物图LCD1602主要管脚介绍:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生鬼影使用时可以通过一个10K的电位器调整对比度。RS为寄存器选择端,高电平时选择数据寄存器,低电平时选择指令寄存器。R/W为读写信号线端,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址;当RS为高电平R/W 为低电平时可以写入数据。E为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。LM1602的管脚说明如下表格所示:表3.3 LCD1602引脚功能引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端。4RSRS为寄存器选择。5R/WR/W为读写信号线。6EE(或EN)端为使能(enable)端,下降沿使能。7DB0底4位三态、 双向数据总线 0位(最低位)8DB1底4位三态、 双向数据总线 1位9DB2底4位三态、 双向数据总线 2位10DB3底4位三态、 双向数据总线 3位11DB4高4位三态、 双向数据总线 4位12DB5高4位三态、 双向数据总线 5位13DB6高4位三态、 双向数据总线 6位14DB7高4位三态、 双向数据总线 7位(最高位)3.4 MC34063介绍电源按照设计要求将24V电压转为5V,MC34063是一种微功耗的集成稳压器,不仅效率高,而且能方便地实现降压、升压和反转极性等多种功能。MC34063的输入电压2.5V40V,输出脉冲电流1.5A,输出电压可调范围1.25V40V,工作频率100HZ100KHZ,具有限流保护功能。MC34063的管脚配置和内部框图如图2-4-1所示。由图可见,它是由基准电压源、电压比较器、振荡器、R-S触发器和开关晶体管等组成。采用8脚双列直插式封装:1(Csw)脚为开关管集电极了2(Esw)脚为开关管发射极;3(Ct)脚为外接定时电容,用于振荡器的定时,调节Ct可使振荡器频率在100HZ100KHZ范围内变化;4(GND)脚为芯片的地线;5(IN_)脚为电压比较器的反相输入端;6(Vi)脚为电源端,即芯片的外加输入电压端;7(CS)脚为电流取样,其作用是保证内开关功率管的电流不超过其最大允许电流;8(CDR)脚为驱动管集电极。图4.8 MC34063的管脚配置和内部框图第四章 硬件系统设计第四章 硬件系统设计4.1 系统基本结构和框图本仿真设计整个系统主要由主控制模块、数据采集模块、人机交互模块、通信模块、时间模块、指示,报警模块五部分组成。主控制模块采用AT89C51单片机来实现系统设计。内部带有8KB的程序存储器,在外面扩展了32K数据存储器,以满足系统要求作传感器的数据采集、处理和控制核心电路。AT89C51单片机是教学所学相对熟悉,较易完成硬件电路设计和主要程序流程设计。数据采集模块由称重传感器、信号放大器和A/D转换部分组成,信号放大和A/D转换部分主要由专用型高精度16位AD转换芯片ADS 7825实现。 人机交互模块由LM1602显示屏,独立式键盘两部分组成。键盘可以控制Set, +, -, Right, Left, Enter用以传感器采集进来的数据,用LCD显示出来。键盘主要用于控制和操作系统。通信模块由用于对电子秤的零调校,刻度调校以及远程通信。实时时钟模块采用DS1302时间芯片,可通过按键设置时间,它提供一个可编程时钟输出,所有的地址和数据通过总线接口串行传递。指示,报警模块采用蜂鸣器和LED来实现,设计简单并且成本低。仿真设计的总体模块设计框图如图4.1所示。图4.1 系统总框图4.2 51单片机电路设计51单片机是整个单片机应用系统的核心部分,其他电路都应根据51单片机的I/O口使用情况来决定。下图是51单片机的PROTUES仿真电路图,其中P1.01.5与键盘输入模块相接;P1.6,P1.7与时钟模块DS1302相接;P0.30.7与LM1602显示模块的74LS162以及LM1602相接;P2.02.7与ADS7825相接。图4.2 51单片机的PROTUES仿真电路图此部分包括了51单片机的振荡电路和超出量程的报警蜂鸣器,P0.0口通过软件实现超出10KG(量程范围)的报警功能。4.3 ADS7825电路设计ADS7825的D0D7口接51单片机的P2.0P2.7口,使数字信号能够并行输入单片机,AIN0接可变电阻模拟电阻应变片的称重电阻电压的变化电信号输入,RV1为可变电阻应变片,用来模拟称重物的重量变化,其电路图如下。图4.3 ADS7825的电路图4.4 DS1302电路设计DS1302的数据读写是通过I/O串行进行的。当进行一次读写操作时最少得读写两个字节,将其接在51单片机的P1口上,实现时间功能。并通过可复用键盘可对时间经行设置和调整,DS1302上接5V电源,其电路图如图4.4所示图4.4 DS1302的电路图4.5 通信接口电路设计此通信接口电路,只用了MAX232芯片中的一路接收器和驱动器,接至PC机串口使用RS-232标准的DB9芯片插座。MAX232CPE也非常简单,只需要-5V电源,外接四只电容,即可产生+12V和-12V电压,输出标准和RS232接口信号。而且MAX232CPE的价格不贵,所以采用MAX232CPE接口芯片实现RS232接口电路。其接口电路如图4.5。图4.5 通信接口的电路图4.6 LCD显示器电路设计在实际中1602内部D0D7已有上拉,可以使用P0口直接驱动,不需要再上拉电阻,将L1602的RS端和P2.5,R/W端和P2.6, E 端和P2.7相连,当RS=0时,对LCD1602写入指令;当RS=1时,对LCD1602写入数据。当R/W端接高电平时芯片处于读数据状态,反之处于写数据状态,E端为使能信号端。当R/W为高电平,E端也为高电平,RS为低电平时,液晶显示屏显示需要显示的示数。图4.6为1602液晶显示屏和74LS164与单片机连接的电路图。图4.6 LM1602的电路图4.7 按键电路设计实现键盘控制可以用单片机来进行控制,也可以用FPGA来控制。在本系统中采用了单片机来进行控制,因为单片机可以很好的解决键抖动。由若干个按键组成一个键盘,其电路结构可分为独立式键盘和矩阵式键盘两种。 独立式键盘每个键单独占用一根I/O口线,每根I/O口线上的按键工作状态不会影响其他I/O口线上的状态,矩阵式键盘按键排列为行列式矩阵结构,也称行列式键盘结构。4行4列共16个键,只占用8根I/O口线,键数目较多,可节省口线。本设计采用的是独立式键盘。键盘的工作方式可分为编程控制方式和中断控制方式。CPU在一个工作周期内,利用完成其他任务的空余时间,调用键盘扫描子程序,经程序查询,若无键操作,则返回;若有键操作,则进而判断是哪个键,并执行相应的键处理程序。这种方式为编程扫描方式。由于单片机在正常应用过程中,可能会经常进行键操作,因而编程控制方式使CPU经常处于工作状态, 在进行本次设计中,涉及到了设置SET、上调+、下调-、左移Lift、右移Right、确定ENTER六个功能。因此采用独立式键盘,其中SET与单片机的P1.0相接,ENTER与P1.1相接,LEFT与P1.2相接,RIGHT与P1.3相接,+与P1.4相接,-与P1.5相接。按键与时钟芯片ADS1302相接可以用来设置时间,并通过软件来实现复用,调校置零。如下图所示:图4.7 独立式按键的电路图4.8 电源电路设计本设计采用MC34063的电源电路图如下图4.8所示,OUT为5V电源输出。图4.8 MC34063电源电路第五章 软件系统设计第五章 软件系统设计为了使控制系统各种硬件设备能够正常运行,有效地实现实时控制和管理,除了要设计合理的硬件电路,还要有高质量的软件支持。充分的考虑到软件和硬件的结合,使系统达到更好的效果,系统软件设计采用单片机应用软件。单片机软件采用C语言编写,单片机主要实现了过程控制、信号处理、数据读取、通信处理等功能。因为方便程序调试和提高可靠性,程序设计采用自上而下、模块化、结构化的程序设计方法,把总的编程过程逐步细分,分解成一个个功能模块,每个功能模块相互独立,每个模块都能完成一个明确的任务,实现某个具体的功能。本设计按任务模块划分的程序主要有初始化程序、主程序, A/D转换子程序、显示子程序、键盘处理子程序。5.1 主程序设计系统总体流程图如图5.1所示,系统在上电或者复位之后先进入初始化,初始化之后可对称重台调零,调校准确之后,启动A/D转换对称重物体进行称重,然后单片机读取重量数值,经过处理之后判断是否超过了设定的上限,如果超过了设定的上限,再判断是否超过了量程,如果超过了量程则报警;没有超过量程的话,则显示警告,并读取重量数值和当前的时间,送到LCD上显示出来。图5.1 系统总体流程图5.2 初始化程序设计单片机系统上电后,进入初始化程序,完成单片机片内各模块的设置和A/D转换器的功能设置初始化,然后进入主程序。图5.2 初始化程序设计流程图5.3 A/D转换子程序设计A/D数据处理采用平均值法。即不断使用新的数据采样数值来对旧的数值进行比较,直到趋于一个稳定的数值不再变化的时候,再取新的AD值与这一个趋于稳定的数值进行比较N次,如果确实稳定了,才将这一个稳定的数值送显示,否则将继续进行比较。图5.3数据采样与A/D转换子程序的流程图5.4 显示子程序设计如下图5.4所示,稳定的数值送寄存器之后,使数值乘以标定的系数,得到实际的重量数值,若这一个重量超重了,则显示警告,否则将实际重量数值送显示。图5.4显示程序的流程图5.6 按键子程序设计图5.5是按键子程序设计的流程图,通过一个延时设定,来判断是否有稳定的按键按下,如果是稳定的按键行为,则读取该按键的键值。图5.5键盘程序的流程图第六章 系统调试和仿真第六章 系统调试和仿真6.1 Proteus仿真软件介绍本设计采用Proteus软件经行高精度电子秤的仿真设计,Proteus是一款集单片机仿真和SPICE分析于一身的仿真软件,于1989年由英国Labcenter Electronics Ltd.研发成功,经过20年的发展,现已成为当前EDA市场上性价比最高,性能最强的一款软件。Proteus现已经在全球50多个国家得到应用,广泛应用于高校的大学生或研究生电子教学与实验以及公司实际电路设计与生产。Proteus除了具有和其他EDA工具一样的原理图设计、PCB自动生成及电路仿真的功能外,最大特点是Proteus VSM(Virtua
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 兴业银行沈阳市浑南区2025秋招小语种岗笔试题及答案
- 平安银行苏州市昆山市2025秋招英文面试题库及高分回答
- 招商银行上饶市信州区2025秋招笔试综合模拟题库及答案
- 浦发银行重庆市长寿区2025秋招信息科技岗笔试题及答案
- 民生银行潍坊市寿光市2025秋招数据分析师笔试题及答案
- 浦发银行西安市新城区2025秋招笔试英文行测高频题含答案
- 湖北大件物流活动方案策划
- 2025年9月福建广电网络集团三明分公司社会招聘7人考试历年参考题附答案详解
- 2024高考通关题库【能力提升】附答案详解
- 民政局笔试题型及答案大全
- 两篇古典英文版成语故事塞翁失马
- 名著阅读《朝花夕拾 狗猫鼠》课件-部编版语文七年级上册
- 燃气轮机介绍课件
- 如何理解欧盟MDR临床评价要求
- 监理业务手册(范本)
- 2022年国家公务员考试申论真题及答案解析(地市级)
- 名师成长的路径与修炼(教师版)课件
- 案外人执行异议之诉课件
- 西方经济学导论全套课件
- “基础教育精品课”PPT课件模板
- 第8部分消防设施标识可视化
评论
0/150
提交评论