您的位置 首页 硬件

根据ATMEGA128单片机压力的丈量

本文以MPX4250做为压力传感器,通过测量输出端电压来计算实际的压力,使用ATMEGA128单片机作为系统的CPU,来读取电压,并进行转换。由于做

本文以MPX4250做为压力传感器,经过丈量输出端电压来核算实践的压力,运用ATMEGA128单片机作为体系的CPU,来读取电压,并进行转化。我们做什物不只需消耗金钱,还要消耗很多的时刻用来做板子,焊接元器件。本体系采用了Proteus仿真,只需要画画电路图就能够做出相似什物的作用。经过测验,只需选取适宜的参数,基本上能正确的读出压力值,至于参数选取不适宜,夺冠不会太大,关于广阔初学单片机,或是对压力传感器比较含糊的初学者来说具有很大的学习价值。

仿真图:

程序源代码:

#include

#include

#define F_CUP 7372800UL

#define uchar unsigned char

#define uint unsigned int

const uint segcode[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00};

uint dis_seg[]={0xF3,0,0,0};

//数码管显现函数

void display(void)

{

uint i=0;

for(i=0;i<4;i++)

{

PORTE=~_BV(i);

PORTB=dis_seg[i];

_delay_us(50);

}

}

int main(void)

{

int AD_Result,Pressure_Value;

DDRB=0xff;PORTB=0xff;

DDRE=0xff;PORTE=0xff;

DDRF=0x00;PORTF=0xff;

//AD相关设置

ADCSRA=0xE6;

_delay_ms(2);

ADMUX=0x07;//通道挑选

while(1)

{

AD_Result=ADCL+(ADCH<<8);

Pressure_Value=((AD_Result*5.0/1023.0-0.11)/5.0+0.04)/0.004;

dis_seg[1]=segcode[Pressure_Value/100];

dis_seg[2]=segcode[Pressure_Value0/10];

dis_seg[3]=segcode[Pressure_Value];

if(dis_seg[1]==0x3F)

{

dis_seg[1]=0x00;

if(dis_seg[2]==0x3F)

dis_seg[2]=0x00;

}

display();

}

return 0; }

阐明:软件用的是GCC,压力芯片材料能够在网上找到。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/yingjian/263600.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部