ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:285.97KB ,
资源ID:9261837      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9261837.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于MCS51的电子秤设计.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于MCS51的电子秤设计.docx

1、基于MCS51的电子秤设计基于MCS-51的电子秤设计摘要:本文设计一种利用电阻应变式压力传感器和MCS-51单片机等器件制作的电子秤。该秤可以对200g量程范围内的物体进行称量,能实现称重、数码显示、去皮/清零等功能。该电子秤利用电桥测量原理,将压力应变传感器阻值转换为电压值,再经过放大器将电压放大,通过确定输出电压和标准重量的关系,形成一台原始电子秤。将此输出电压经过模数转换,送入MCS-51单片机处理,再控制数码管驱动电路,最后显示出测量结果。关键词:电子秤;应变式压力传感器;电桥;放大电路;单片机1 总体方案设计本设计由以下几部分组成:电阻应变传感器、信号放大器、模数转换、单片机、显示

2、器。其结构图如下所示。由电阻应变式传感器感受被测物体的质量,通过电桥输出电压信号,通过放大电路将输出信号放大,而后送入A/D转换单元进行模数转换,将转换后的数字信号送给单片机;单片机接收数据后,对数据进行处理,将其转换为对应的重量信息,送液晶显示模块进行显示。单片机同时也可以进行去皮调零操作,因此单片机还需查寻键盘是否有输入,执行相应的功能。2 硬件电路设计2.1电阻应变传感器电阻应变式传感器是将被测量的力,通过它产生的金属弹性变形转换成电阻变化的元件。由电阻应变片和测量线路两部分组成。电阻应变片产生的误差,主要来源于温度的影响,本设计主要在实验室内进行,温度的影响暂不处理。在电桥测量电路中,

3、将一对变化相反的应变片接入电桥一臂,另一臂接两个相同的阻值作为基准值;当桥臂电阻初始值R1R2R3R4=350时平衡,其变化值为R1R2R3R4=d时,其桥路输出电压Uout与d成正比。2.2放大电路设计由于传感器输出的信号比较微弱,必须通过一个放大器对其进行放大,才能满足A/D转换器对输入信号电平的要求。本设计中选用由三运放构成的具有高输入阻抗,高共模抑制比的仪表放大器作为前级,再接一个反相比例放大器作为后级输出。另外,仪表放大电路中电阻Rw1可用于微调放大倍数;而后级放大器原接地端现在通过Rw2接入一电压值,可以对输出电平进行平移。2.3单片机电路设计2.3.1单片机最小系统对51系列单片

4、机来说,最小系统一般应该包括单片机、晶振电路和复位电路。下面给出一个51单片机的最小系统电路图。复位电路:由电容串联电阻构成,一般教科书推荐C取10u,R取8.2K.当然也有其他取法的,原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平.晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的us级时歇,方便定时操作)2.3.2模数转换与单片机接口ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。(1)引

5、脚说明:IN0IN7:8条模拟量输入通道,要求信号单极性,电压范围是05V;地址输入和控制线:4条 数字量输出及控制线:11条 CLK为时钟输入信号线:所需时钟信号必须由外界提供;VREF(),VREF():参考电压输入。(2)工作过程:请参考ADC0809时序图。ST为转换启动信号,当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0为数字量输出线。 (3)接

6、口电路:ADC0809的时钟由51 ALE信号给出;数字量输出和51 P0口直接相接;地址控制线同样使用P0口,用一片74373锁存地址,然后连入ADDAADDC,373的使能由51 ALE控制;ADC0809各个使能端们由P2.0和读写标志口共同控制,任意写一个数时允许AD ALE并启动转换(AD START端);读入时应该使AD读端口使能(AD ENABLE端);数字量传输使用中断方式,将AD EOC接入51 INT0,转换完成后可以触发51执行中断程序。这样连接的ADC由于使用51 P2.0口和AD IN0,地址应该是0xFEF8;实际使用的实验箱中有唯一地址译码器,地址为0xcfa0;

7、另外,实验箱部分电路已经连好,包括51最小系统和AD、显示输出的必要连线,Vref也已经连为5V不能改变。2.3.3显示输出单元与单片机接口利用8279键盘显示接口电路和实验箱上提供的数码显示,可以完成该功能。利用8279可实现对键盘/显示器的自动扫描,以减轻CPU的负担,且具有显示稳定、程序简单、不会出现误动作等特点。8279操作命令字较多,根据需要来灵活使用。实验箱中数码显示地址为0xcfe8,将七段显示编码送入即可;显示控制单元地址为0xcfe9,可以控制输出到哪一位数码显示块上。2.3.4去皮清零键与单片机的接口将一手动控制的高低电平信号(手动单脉冲)送入单片机P1.0口,通知单片机进

8、行去皮操作。2.4 Protel与PCB制版使用Protel进行PCB制版时应遵循相应的步骤。(1)连接原理图,选好参数以及封装,还可以对放大部分进行仿真(2)电器检查(3)新建pcb图(4)创建NET表,导入/更新pcb图(5)排位置,自动布线(6)手动修补,完成设计3软件与算法设计3.1数据采集与放大倍数传感器输入:选择一个合适的电桥基准电压,传感器电桥输出电压为300.50mV301.45mV,对应020g重物,平均每克变动不到0.1mV;由于它的变动范围很小,因而设计300mV的偏移量,不让其在0 mV上下变动,以减少运放零漂的影响。输出到AD:ADC0809的Vref在实验箱内已经设

9、定为5V,因而其分辨率约为5V/256=20mV。这样,信号的放大倍数应该在200400左右。为了使输出更准确,使用+/-15V电源给集成运放供电,最后采用分压电阻使其符合05V的AD输入。根据选取的参数值以及Rw1所调的阻值1k,总的放大倍数为25/1*47/5.1*33/10*1/3=253。3.2数字量的处理放上秤盘,调节Rw2,使放大器输出约为0.5V。这时放上重物200g,放大器输出约2.7V左右。根据放大器输出电压对应的数字值,以及重物重量(输出显示值),可以确定它们的关系。砝码个数012345678910数字量值314355597188104112119131139重量显示020

10、406080100120140160180200Linear model Poly1: f(x) = p1*x + p2Coefficients (with 95% confidence bounds): p1 = 1.784 (1.66, 1.908) p2 = -54.37 (-65.95, -42.8)式中的常数可以通过去皮清零键补偿,比例系数可以通过单片机进行乘法运算调整。3.3单片机程序设计单片机程序主要是输出显示和去皮清零两大部分。输出显示时需要做乘法运算,同时换成相应的十进制数;去皮清零时需要根据操作者的指示预存一个数字信号。设计的程序如下。#include #include #

11、define Led_dat XBYTE0xcfe8#define Led_ctl XBYTE0xcfe9#define ad_port XBYTE0xcfa0 unsigned char table1=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /*0-9 */ unsigned char resig=0,renow=0,vbase=0;void Display_byte(unsigned char loc,unsigned char dat)/*将ad转换的数字值处理并显示为十进制*/ unsigned int m; unsigne

12、d char tab3; loc &=0xf; m=dat*1.75;/*换算倍数关系,根据3.2节中p1 = 1.784*/ tab0=m/100; /计算各位 tab1=m/10; tab1=tab1%10; tab2=m%10; Led_ctl = loc|0x80; Led_dat = table1tab0; /*显示由ad转换得到数(对应的十进制数)的高位*/ loc+; Led_ctl = loc|0x80; Led_dat = table1tab1; /*显示由ad转换得到数(对应的十进制数)的中位*/ loc+; Led_ctl = loc|0x80; Led_dat = ta

13、ble1tab2; void delay(unsigned int t) for(;t0;t-); void main(void) Led_ctl = 0xd1;/init while(Led_ctl&0x80)=0x80); Led_ctl = 0x31; while(1) ad_port = 0;/准备读ad while(INT0); while(!INT0); renow=P1; if(renow!=resig)/清零按键 vbase=ad_port; resig=renow; else /输出显示 Display_byte(0,ad_port-vbase); delay(20000);

14、 4总结本课程设计制作的电子秤,集传感器技术、微机技术于一体,实现了基本的秤重显示功能,稍加扩展,还可与其他生产质量管理系统相连接,实现数据交换记录分析等功能,具有推广应用价值。我们小组几人分工学习,相互配合,终于完成了课程设计的要求。课程设计过程中,我们将课上学习的理论知识加以运用,锻炼了自主学习能力,遇到不懂的查资料,出现问题相互讨论,实际操作中锻炼的动手能力。姜老师对我们的指导和帮助功不可没,她还教会了我们使用Protel软件的方法,我们向她表示由衷的感谢。在实际操作中,放大器部分遇到的问题最大。由于传感器输出电压较小,使得放大电路的调适任务比较困难。对此,我们先是选用合适的电路形式,即仪表放大接一级可调电平高低的比例放大;接下来给放大器各级输入一个容易实现的电压,看看各级放大倍数是否与理论相符;这之后再使传感器输出在一个基准值上下变化,如300mV,而不是在0上下变化,这样放大出的电压较为稳定;增加的基准电压由第三级调到0左右,不能准确调零的部分再由单片机去皮调零。5参考文献1北京精仪达盛科技有限公司. EL型微机教学实验系统,在线帮助文件.北京.2Atmel Corporation.AT89C52 Data BookZ.1999.3National Semiconductor Corporation.ADC080x Data BookZ.1999.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1