基于单片机的电子计价秤设计_第1页
基于单片机的电子计价秤设计_第2页
基于单片机的电子计价秤设计_第3页
基于单片机的电子计价秤设计_第4页
基于单片机的电子计价秤设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机电子计价秤学院: 班级:学号姓名指导老师一、国内外电子称发展情况随着称重传感器各项性能的不断突破,为电子称的发展奠定了基础,国外如美国、西欧等一些国家在20世纪60年代就出现了0.1%称量准确度的电子称,并在70年代中期约对75%的机械称进行了机电结合式改造。80年代以来,我国通过自行研究引进消化吸收和技术改造。已由传统的机械式衡器步入集传感器、微电子技术、计算机技术与一体化的电子衡器发展阶段。二、设计方案本电子秤系统由以下几个部分组成。传感器,放大电路,A/D转换电路,单片机主控模块。框架如图1所示图1 电子秤系统框架1传感器采用应变式压力传感器,该传感器可以将压力信号转化成为电信号。

2、2放大电路采用仪表放大器,用以将小的模拟信号放大。3A/D转换将模拟信号转化成数字信号,单片机接收后可以对其进行处理。三、硬件电路设计1电阻应变式传感器电路电阻应变式传感器是将被测量的力,通过它产生的金属弹性变形转换成电阻变化的元件。由电阻应变片和测量线路两部分组成,其主要参数如附录1所示。电阻应变片产生的误差,主要来源于温度的影响,本设计主要在实验室内进行,温度的影响可不考虑。内部丝绕式应变片结构图如下图2所示。当贴有电阻应变片的弹性平衡梁受到载荷作用时,电阻应变片1和3受到拉伸作用,阻值增加;2和4受到压缩作用,阻值减小,电桥失去平衡,产生的不平衡电压 的大小与所受作用力成正比。电桥的输出

3、电压反映了电阻应变片相应的受力状态。电桥电路如图3所示。电桥电路是最常用的非电量电测电路中的一种,当电桥平衡时,桥路对臂电阻乘积相等,电桥输出为零,在桥臂四个电阻R1、R2、R3、R4 中,电阻的相对变化率分别为R1/ R1、R2/ R2、R3/ R3、R4/ R4 ,当使用一个应变片时,;当二个应变片组成差动状态工作,则有;用四个应变片组成二个差动对工作,且R1= R2= R3= R4=R,。当电桥后面接放大器时,放大器的输入阻抗都很高,比电桥的输出电阻大很多,因此可以把电桥输出端看成是开路。应变电桥电路如下图4所示:图4 电桥应变电路原理图若电桥不平衡时,即R1R3R2R4时,电桥输出:恰

4、好选择各桥臂电阻,可消除电桥的恒定输出,使输出电压只与应变片输出有关。令R1=R2,R3=R4,在应变片工作时,其电阻R1变化R,此时电桥的灵敏度为:ku=U/4电压输出为: UO=(U/4)(R1/R1)。2放大电路滤波器是具有频率选择作用的电路或运算处理系统,具有滤除噪声和分离各种不同信号的功能。传感器过来的信号经常带有各种各样的干扰,因此要采用滤波电路来去除干扰。 传感器输出的模拟信号都很微弱,必须通过一个模拟放大器对其进行一定倍数的放大,才能满足A/D转换器对输入信号电平的要求,这里选择常用的仪用放大器,原理图如图5所示。共模抑制比:来自传感器的信号通常都伴随着很大的共模电压(包括干扰

5、电压)。一般采用差动输入集成运算放大器来抑制它,但是必须要求外接电阻完全平衡对称,运算放大器才具有理想特性。否则,放大器将有共模误差输出,其大小既与外接电阻对称精度有关,又与运算放大器本身的共模抑制能力有关。一般运算放大器共模抑制比可达80dB,而采用由几个集成运算放大器组成的测量放大电路,共模抑制比可达100120dB。因此,采用低漂移运算放大器NE5532和op07构成的双运放高共模抑制比放大电路。电路原理如下图6所示:图6 程控放大器电路原理图3A/D转换器 5G14433是国产的3位半双积分A/D转换器,具有抗干扰性能好,转换精度高(相当于11位二进制数),自动校零,自动极性输出,自动

6、量程控制信号输出,动态字位扫描BCD码输出,单基准电压,外接元件少,价格低廉等特点。典型的5G14433外部电路连接方法如图7。图7 5G14433A/D转换电路4按键/显示模块由于设计按键较少,所以采用独立式键盘结构。显示部分采用共阳极LED,由于单片机I/O口有限,所以采用动态显示方式。图8 按键/显示5总图图9 总图四、系统程序设计1主程序图102显示模块图113程序清单#includevoid LEDshow (unsigned char*p);void kbscan(unsigned int k);void kbscan2(void);void kbscandw(unsigned i

7、nt l);idata unsigned char=0,0,0,0;idata unsigned char sig=0,n1=0,n2=0;idata unsigned char l;idata unsigned char hang,lie;idata unsigned char NN24=0,0,0,0,LL4=0,0,0,0;idata unsigned int result,res=0;idata float realnum,zongjia;sbit p36=P36;sbit p37=P37;sbit p10=P10;main() unsigned int kbnum44=0,1,2,3

8、,4,5,6,7,8,9,10,11,12,13,14,15; unsigned char h; unsigned int e; while(1) LEDshow(xianshi); P1=0xff; P3=0; h=P1; h=h&0x0f; if(h0x0f) for(e=0;e500;e+); if(h0x0f) kbscan(h); l=kbnumhang-1lie-1; kbscandw(l); void LEDshow(unsigned char*p)unsigned char LEDbod20=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x8

9、0,0x90,0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10;unsigned int i=0,a,e; jixu: P1=0xff; switch(i) case 0:a=0x70;break; case 1:a=0xb0;break; case 2:a=0xd0;break; case 3:a=0xe0;break; P2=LEDbodpi; P1=a; for( e=0;e100;e+); P2=0xff; i+; if(i!=4)goto jixu; return;void kbscan(unsigned int k)unsigned

10、 int p,e; switch(k) case 0x07:kbscan2();hang=1;doP3=0;p=P1;p=p&0x0f;for( e=0;e1000;e+);while(p0x0f);return ; case 0x0b:kbscan2();hang=2;doP3=0;p=P1;p=p&0x0f;for( e=0;e1000;e+);while(p0x0f);return ; case 0x0d:kbscan2();hang=3;doP3=0;p=P1;p=p&0x0f;for( e=0;e1000;e+);while(p0x0f);return ; case0x0e:kbsc

11、an2();hang=4;doP3=0;p=P1;p=p&0x0f;for( e=0;e1000;e+);while(p0x0f);return ; void kbscan2(void)unsigned int h; P3=0x38;h=P1;h=h&0x0f;if(h0x0f)lie=4;return; P3=0x34;h=P1;h=h&0x0f;if(h0x0f)lie=3;return; P3=0x2c;h=P1;h=h&0x0f;if(h0x0f)lie=2;return; P3=0x1c;h=P1;h=h&0x0f;if(h0x0f)lie=1;return;void kbscand

12、w(unsigned int l)unsigned char i=0,j,e; unsigned int a,b,c;if(l=12) for(e=0;e=100)a=(int)(zongjia*10);for(i=4;i0;i-)xianshii-1=a%10;a=a/10;xianshi2=xianshi2+10;else if(zongjia=10)a=(int)(zongjia*100);for(i=4;i0;i-)xianshii-1=a%10; a=a/10; xianshi1=xianshi1+10;else if(zongjia=1)a=(int)(zongjia*1000);

13、for(i=4;i0;i-)xianshii-1=a%10; a=a/10;xianshi0=xianshi0+10; else a=(int)(zongjia*1000) ;for(i=4;i0;i-) xianshii-1=a%10;a=a/10; xianshi0=xianshi0+10; return; else if(l=11) for(e=0;e4;e+)xianshie=0; for(j=0;j50;j+) p36=0; p36=1; p36=0; for(i=0;i100;i+); p37=1; result=P0; p37=0; res=result+res; result=

14、res/50; c=result*10-10; b=result*8.3; if(result2)result=0; else if(result7)result=c; else if(result=19) result=b+13; else if(result=34)result=c-20 ;else if(result=40)result=b+38;else if(result=60)result=c-30;else if(result=66)result=b+72;else if(result=81)result=c-40;else if(result=87)result=b+97;el

15、se if(result=132)result=c-50;else if(result=138)result=b+174;else if(result=158)result=c-60; else if(result=164)result=b+208; else if(result=179)result=c-70; else if(result=185)result=b+234; else result=c-80; if(result100) xianshi2=result/10; else if(result1000)xianshi1=result/100;xianshi2=(result%1

16、00)/10; else xianshi0=result/1000;xianshi1=(result%1000)/100;xianshi2=(result%1000)%100)/10; res=0; return; else if (l=15)realnum=LL0*1000+LL1*100+LL2*10+LL3; switch(NN23) case 0:break; case 1:realnum=realnum/10;break; case 2:realnum=realnum/100;break; case 3:realnum=realnum/1000;break; while(i4)xianshii=LLi;i+;switch(NN23)case 0:break;case 1:xianshi2=xianshi2+10;break;case 2:xianshi1=xianshi1+10;break;

温馨提示

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

评论

0/150

提交评论