您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于单片机的数字测力计的设计
1基于单片机的数字测力计的设计摘要:随着信息时代的到来,数字处理技术、传感器技术得到了显著的提高,其应用领域越来越广泛,越来越高,需求越来越迫切。因此了解它们的基本构造、工作原理及其特性是非常重要的。本文利用单片机结合传感器技术开发设计,本中把传感器理论与单片机实际应用有机结合,详细地讲述了利用FS2050压力传感器测量拉力信号并输出电信号,经模数转换器ADC0809转换成数字信号输入单片机进行处理,然后通过三个八段数码管显示输出。本文通过这样的系统设计成数字测力计。市场上的数字测力计有很多种类,本文设计的测力计与其相似如图右所示。关键字:信息时代,传感器,转换器,51单片机,数码显示。一、绪论(一)背景在教学实验中和一些工业中常常需要测一些力的大小,传统的一些弹簧测力计由于精度不准,弹簧容易形变,调零不准等等缺点。为了提高传感器和单片机的认识和了解,尤其是对数字测力计的深入研究以及其用法和用途,基于实用、精确、广泛、操作简单和调零容易的原则设计了本系统。(二)设计目的掌握数字测力计,调零系统、报错系统组装与调试方法。熟悉仿真软件(PROTEUS)编译软件(KEIL)的使用掌握AD转换器,单片机,数码管得使用及其各个引脚的功能掌握各个器件数据的计算和量程的选取,和数据的通用性2二、设计与实现(一)传感器选取:选择的传感器要求实现测量在0—100N的力信号,实现实验室用的小量程的测力计的传感器对0—100N的力信号的识别。选用FS20测力传感器是一种高性价比的微力传感器,采用MICROFUSE技术,长期稳定性好,超高分分辨率,过量程保护,带温度补偿的压力传感器。特点:低成本;超小外形;低噪声;0-5V输出;高稳定性;低飘移;反极性及过载保护;工业标准封装;量程:500—1500g描述:FS20测力传感器(如下图)是一种高性价比的微力传感器;采用MICROFUSE技术,长期稳定性好,超高分辨力,过量程保护,带温度补偿,非常适合OEM产品。运用:婴儿称、油漆喷雾器、汽车安全刹车、机器人、泵、微压力测量、接触力测量、医疗设备、家用电器;3设计:图1如上图1所示:用杠杆的原理将0—100N的力缩小X倍数使其在500-1500g的可被FS20传感器识别的信号。设要测量的拉力为F设传力杠杆对压件的向上压力为f设调零杠杆对压件的压力为N设压件的重力为G设以上对传感器的向上压力为T所以:此力系统对传感器的向上作用力T为500g且向下的拉力F为0N时,此时测力计为零正常状态。各个力的作用变化如下表所示。状态N+GfFU零状态500g00N0V工作中500g0-1000g0-100N0-5V过载中500g1000g100过载传感器调零杠杆拉力F压件传力杠杆引出线杆压力f调零压力N4调零:调零的条件是当F=0N时T=N+G+f=500g操作:调节N的大小使N+G+f=500g计算传力杠杆的缩小倍数X=F/f=100/1000g*9.8=10.2精度:取X=10.2时当f=1000g时F=1.0*9.8*10.2=99.96N所以精度可以。(二)A/D转换器选取:ADC转换器的作用是将模拟量转换成数字量,以便于芯片进行处理。选用有八位分辨率的模拟量输入通道,有有转换启停控制,模拟输入电压范围0—5V,转换时间为100us.ADC0809芯片介绍(如下图2)ADC0809芯片有28个引脚,采用双列直插式封装。各个引脚的含义如下。IN0-IN7:8路模拟量输入端D0—D7:8位数字量输出端ADDA、ADDB、ADDC是3位地址译码线,译码结果决定转换8路模拟量中的一路。译码情况如下表:ADDAADDBADDC选择通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN75ALE:地址锁存信号,输入,高电平。START:A/D转换启动信号,输出,高电平。EOC:A/D转换结束信号,输出,高电平。OE:数据输出允许信号,输入,高电平。CLK:时钟脉冲输入端,决定A/D转换频率。Vref-、Vref+:基准电压。Vcc:+5V图2GND:地线量程的确定及数据计算:在调零的情况下(N+G=500g时)测量拉力F的变化范围0-100N传力杠杆对传感器的压力f变化范围0-1000g传感器输出电压U变化范围0-5V转换器的通道1转换成数字的范围是0-255所以:当取最小量程为1N时,各个数据的最小变化为:数据量拉力F压力f电压U数字量最小变化1N10g0.05V2.56各个数据随拉力的变化表为:数据量拉力F压力f电压U数字量零状态0000工作中0-100N0-1000g0-5V0-255超载中100N1000g无0传感器到转换器连接的简单叙述:从传感器的三根引线中,有一根接地,一根接五伏电源,一根是信号线经过处理后接到0-5V的转换器的通道0口处,然后转换器进行模数转化成0-255的数字信号之后送到单片机进行处理。把0-255的数字经过处理得到0-100的数字后,通过数码管显示出来。设计的测力计的最小量程为1N,所以得到的数字信号得按2.56的倍数进行处理得到0-100的数字信号。6(三)数码管描述:7SEG数码显示器是由发光二级管按一定的结构组合起来的显示器件,在单片机应用系统中通常使用的是8段式LED数码显示管(如右图3)其中7段发光二极管构成7笔的字形,从a-g引脚输入不同的8位二级制编码,可显示不同的数字和字符,通常图3把控制发光二极管8位二进制编码称为字段码。引脚功能a-g:信号显示的输入端DP:公用端1,2:选通端硬件译码:由于数码管的断码值与显示的数字要一一对应,而要显示的数字的规律但断码值却没规律,在处理显示时要用查表的方法,需要占用很大的空间,选取一个硬件译码器势在必行。74ls248译码器:如右图是一种共阴极一位十六进制数到字段码转换芯片,能够输出四位二进制表示的一位十六进制数的七位字段码。引脚功能:A-D:二进制数输入端QA-QG:字段码输出端BI/RBO:可以作为输入端使用,也可以作为输出端使用LT:灯测试输入端,低电平有效图4RBI:输出有效,高电平有效7(四)单片机8051单片机的结构MCS-51(下图)单片机在结构上基本相同,只是在个别模块上有些区别。如图为8051单片机它包含了作为微型计算机所必须的基本功能部件,各个功能部件通过片内单一总线连成一个整体,集成在一个芯片上。MCS-51单片机是一块芯片集成了CPU、储存器、(包括RAM和ROM)、定时器、计时器、和多功能的I/O线等一台计算机所必须的基本功能部件。主要包括一个8位CPU、1个片内振荡器、及其时钟带电路、128BRAM、4KBROM2个十六位定时器/计数器、32条可编程的I/O线和一个可编程的全双串行接口、5个中断源、2个中断优先级嵌套中断结构。引脚及功能:Vcc:+5V电源线Vss:接地线XTAL1:片内振荡器反向放大器的输入端和内部时钟工作的输入端。采用内部振荡器时,它接外部石英晶体和微调电容的一个引脚。XTAL2:片内振荡器反向放大器图5的输出端,接外部石英晶体和微调电容的另一个引脚。采用外部振荡器时,该引脚悬空。RST:复位输入端,高电平有效。ALE:地址所存允许编程线。PSEN:外部程序存储器的读选段EA:片外ROM允许访问端。8P0:P0接口有8条接口线,它有一个输出锁存器、两个三态缓冲器输出驱动电路和输出控制电路组成。P0接口是一个三态双向I/O接口,它有两种不同的功能。P1:P1接口有8条接口线,是一个准双向接口,只作普通的I/O接口使用。做输出接口使用时不需要接外接上拉电阻。做输入接口使用时,必须先向锁存器写入“1”。P2:P2接口有8条接口线,也是一个准双向接口,它有两种使用功能,一种是作普通I/O口使用,另一种是系统外扩展存储器时候,做地址线的高8位使用。其中P0口做低8位使用。P3:P3接口有8条接口线,是一个多用的准双向I/O接口,第一功能是作普通的I/O接口使用,第二功能是作为控制呵特殊功能的接口使用,这时候8条接线的定义功能各不相同。I/O接口的读写:P0-P3接口都可以作为普通的I/O口使用,当作为输入口使用时,必须先向该接口的锁存器中写入“1“,然后再从读引脚缓冲器中读入引脚状态,这样的读入结果才正确P3接口的特殊功能:P3口符号备注P3.0RXD串行口发射端P3.1TXD串行口接收端P3.2INT0外部中断接口0P3.3INT1外部中断接口1P3.4T0定时计数中断0P3.5T1定时计数中断1P3.6WR读取允许端P3.7RD写入允许端9(五)总系统设计图图6(六)执行程序#includereg51.h;#includeabsacc.h;#defineclk=P3^0;#defineIN0XBYTE【0X0000】;ucharm,n;10voidmain(void){TMOD=0x02;//工作于方式二TH0=256-400;//T0赋初值HL0=256-400;IT0=1;//外部中断0脉冲触发EX0=1;//外部中断0允许触发ET0=1;//T0中断允许触发EA=1;//总中断允许TR0=0;//T0启动IN0=0;//启动转换(P2.7=0)P=0;//赋初值while(1)//等待中断并显示输出{P1=n;P1=m;}}voidint_abc(void)interrupt0//中断函数{uchart,p;floatq;q=(flaot)IN0;//转换值给qt=(char)(q/2.56)//计算是2.56的多少倍p=t;//输出if(q(t+0.5))//四舍五入p=p+1;n=p/10+64;//显示处理m=p%10+128}voidint_T0(void)interrupt1//T0中断函数{clk=!clk;}11三、调试与完成(一)PROTEUS的使用Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:原理布图PCB自动或人工布线SPICE电路仿真互动的电路仿真用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。仿真处理器及其外围电路可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境.要求能画出各个器件的接线图。(二)KEIL系统概述KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍KeilC51开发系统各部分功能和使用。KeilC51单片机软件开发系统的整体结构C51工具包的整体结构,uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝12对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。所以写出C程序并能调试成功(三)系统调试程序调试:打开KEIL软件,把13页的程序输入里面,确定没错误时候。编译成HEX格式的文件,然后加载到模拟单片机里面。运行调试,手动输入模拟量看看能不能实现本设计的模拟功能。若实现时有错误,则需要改变程序代码。多次修改、调试按思路调试一定能实现。模拟器件调试:打开PROTEUS软件,按要求
本文标题:基于单片机的数字测力计的设计
链接地址:https://www.777doc.com/doc-2573999 .html