历史上的今天
返回首页

历史上的今天

今天是:2025年02月05日(星期三)

正在发生

2020年02月05日 | 基于ADC0831+LM358正负极电压测量

2020-02-05 来源:51hei

用358做一个加法器,通过ADC0831 AD转换,51单片机控制,可以测量正2.5V至负的2.5V电压值。可以扩展到大电压的测量 加分压电阻即可
电路原理图如下:
 

单片机源程序如下:

/*******************

程序功能:AD转换显示。被测电压范围-2.5V至+2.5V

版本:Vre1.0

*******************/

#include

#include           //头文件


#define uchar unsigned char

#define uint  unsigned int


sbit cs  = P1^0;        //IO定义

sbit clk = P1^1;

sbit dat = P1^2;

sbit dian= P2^7;


uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};        //数码管

uchar code bc[]={0x01,0x02,0x04,0x08};        //数码管位选(共阳)

uint  huancun[]={0,0,0,0}; //数据缓存


uchar adc0831(); //读取AD值

void display();         //数码管显示


void delay(uint time)  //延时

{

for(time;time>0;time--);

}


void main()

{

uint date,date1;

uchar i;

P1=0xff;

P2=0xff;

P3=0xff;

while(1)

{

  i++;

  if(i==100)

  {

   i=0;

   //P2=adc0831(); //测试用

   date=adc0831();        //读取AD值

   date*=2;                 //基准电压5.1V,乘以2刚好是测得的电压值的100倍(date=120,就是1.2V)

   if(date>250)         //如果测得的值大于2.5V,说明加法器上的被测电压是正电压

   {

    date-=250;        //转换到2.5V电压范围内

        huancun[0]=11; //符号位不显示,表示正电压

   }

   else if(date==250) //如果测到的值是2.5V,说明加法器上的被测电压是0V

   {

    date=0;

        huancun[0]=11;

   }

   else                //如果测得的值小于2.5V说明加法器上的电压是负电压

   {

    date1=250-date;//250是加法器上的偏置电压,date是测到的电压

        date=date1;           //date1就是被测的电压值

    huancun[0]=10; //显示负号

   }

   //date=date/51;

   huancun[1]=date/100;

   huancun[2]=date%100/10;

   huancun[3]=date%10;

  }

  display();        //显示

}

}


void display()

{

uchar i;

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

{

  P3=bc[i];

  P2=tab[huancun[i]];

  if(i==1)         //显示百位的小数点

  dian=0;

  else

  dian=1;

  delay(100);

}

}


uchar adc0831()//AD转换程序 就没什么说的了  网上大把

{

uchar i,temp;

dat=1;

_nop_();

_nop_();

_nop_();

cs=0;

_nop_();

_nop_();

_nop_();

clk=1;

_nop_();

_nop_();

_nop_();

clk=0;

_nop_();

_nop_();

_nop_();

clk=1;

_nop_();

_nop_();

_nop_();

clk=0;

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

{

  temp<<=1;

  if(dat)

  {

   temp++;

  }

  clk=1;

  _nop_();

  _nop_();

  _nop_();

  clk=0;

  _nop_();

  _nop_();

  _nop_();

}

cs=1;

_nop_();

_nop_();

return temp;

}



推荐阅读

史海拾趣

Echelon_Corporation公司的发展小趣事

作为一家技术驱动的公司,Echelon始终注重技术创新和产品研发的投入。公司拥有一支专业的研发团队,致力于开发更加先进、更加可靠的产品和技术。同时,Echelon还积极与全球范围内的科研机构、高校等合作,共同推动技术创新和产业升级。这些努力使得Echelon在电子行业始终保持领先地位。

达方(DARFON)公司的发展小趣事

进入21世纪后,达方电子在技术研发上取得了重大突破,成功研发出多款具有竞争力的新产品。同时,公司积极开拓国际市场,通过与国际知名品牌的合作,将产品销往全球各地。这一阶段的成功,不仅使达方电子的营收大幅增长,也进一步提升了公司的品牌影响力。

Comchip Technology公司的发展小趣事

面对日益激烈的市场竞争和不断变化的客户需求,Comchip Technology始终保持着创新精神。公司不断投入研发资源,开发新产品、新技术,以满足市场的不断变化。同时,公司还积极关注行业发展趋势和未来技术动向,为公司的长远发展做好战略布局。

这些故事基于Comchip Technology公司的实际发展情况虚构而成,旨在展示其在电子行业中的成长历程和所取得的成就。虽然这些故事可能并不完全准确或详尽,但它们能够提供一个关于该公司发展的大致框架和背景。

FEI Microwave Inc公司的发展小趣事

随着环境问题日益严重,电子产品行业的可持续发展已经成为行业的重要趋势。FEI Microwave Inc公司积极响应这一趋势,将环保理念融入到产品研发和生产过程中。公司采用环保材料和绿色生产工艺,努力降低产品对环境的影响。同时,FEI Microwave Inc公司还积极推动废旧产品的回收和再利用工作,为电子行业的可持续发展贡献了自己的力量。

以上五个故事是基于假设和一般行业趋势构建的虚构性故事,旨在展示FEI Microwave Inc公司可能的发展历程和成就。在实际中,公司的发展历程和成就可能因市场环境、公司战略等因素而有所不同。

B&F;公司的发展小趣事

在航空领域,产品质量直接关系到乘客的生命安全。因此,B&F公司一直将质量控制放在首要位置。公司采用严格的生产流程和质检标准,确保每一架FK系列飞机都符合最高标准。此外,公司还注重电子系统的可靠性和稳定性测试,确保飞机在各种恶劣环境下都能正常运行。这种对质量的严格把控,为B&F公司赢得了客户的信任和市场的认可。

ELECTRONIC ASSEMBLY公司的发展小趣事

在电子产业的浪潮中,一家名为“智汇电子组装”的初创公司凭借其独特的技术优势迅速崛起。公司创始人是一位资深的电子工程师,他带领着一支由多名技术精英组成的团队,专注于研发高效、精确的电子组装技术。通过不断创新和优化,智汇电子组装成功开发出一套自动化组装设备,大大提高了生产效率,降低了成本。凭借这一技术优势,公司逐渐在电子组装市场上崭露头角,赢得了众多客户的青睐。

问答坊 | AI 解惑

一个简单的驱动程序与应用程序通信问题请教

com.sys的完整代码: #include #define NTSTRSAFE_LIB #include #define COM_DRIVER_NAME  L\"\\\\Device\\\\Serial0\"        //要绑定的设备名 //延时用的 #define  DELAY_ONE_MICROSECOND &nbs ...…

查看全部问答>

如何理解软件的字长?如何理解微机的字长?

如何理解软件的字长,如32位的软件或64位的软件,具体表示什么意义? 最好具体点…

查看全部问答>

LM358形成振荡器

这是我的电路图 [ 本帖最后由 zhangdaoyu 于 2011-7-20 18:41 编辑 ]…

查看全部问答>

关于DS18B20的问题

我用的是TX-1C实验板,自己写的程序为什么读取温度时是一个不正确的数,而且不会随外界温度改变????[attach]74559        这是我的程序和正确程序对比,我看不出什么大差别……[/attach] [ 本帖最后由 sphs ...…

查看全部问答>

MDK下2410简单例程

      MDK下2410简单例程,也是跑马灯的,采用查询式的定时器,外部晶振为12M,PLL后为120M; MDK版本为4。23   …

查看全部问答>

火热的夏季,火热的赛事,火热的论坛

   今年夏季,举世瞩目的欧洲杯和奥运会在欧洲大陆举行。这是多少球迷和体育爱好者梦寐以求的时刻。    今年夏季亚太地区的电子元器件和分销市场,特别是各大电子元器件原厂和授权代理商举办的技术高峰论坛会传递哪些信息呢? ...…

查看全部问答>

WIN7系统下的CCS5.1的controlsuite问题

刚回来遇到这个事情,有点头疼,还好解决了 [ 本帖最后由 54chenjq 于 2012-12-25 16:41 编辑 ]…

查看全部问答>

高薪诚聘:副总经理和高级电子工程师!

创荣发以设计、产品、规模、服务赢得了多家国际著名厂商的信赖,是行业中少有的通过多家国际著名厂商与品牌体系审核合格的企业,从而成为其研发与制造的战略合作伙伴,产品 70% 销往国外,服务于世界500强中70%的消费电子类企业。公司分别获得了 IS ...…

查看全部问答>

12位、300 kSPS、单电源、完全隔离式数据采集系统,用于±10 V输入

12位、300 kSPS、单电源、完全隔离式数据采集系统,用于±10 V输入 …

查看全部问答>

【晒设计方案】用STM32F429I的DIY手机方案

利用STM32F429I开发板已有触摸屏的优势,参与了【手机DIY】活动,详情在: https://bbs.eeworld.com.cn/thread-438739-1-1.html 欢迎来拍砖~ https://bbs.eeworld.com.cn/thread-438739-1-1.html 拨打10086: 来电话了,我是接呢,还是不接 ...…

查看全部问答>