历史上的今天
返回首页

历史上的今天

今天是:2024年10月18日(星期五)

正在发生

2019年10月18日 | 用带ADC的avr单片机做的一款电压检测表

2019-10-18 来源:eefocus

 

电压表效果


电路原理图如下:
 

单片机源码:
#include  
#include  

#define  uchar  unsigned char 
#define  uint   unsigned int 

void delayms(uint mS)        //微秒                  
{
        uint i,j;
        for( i=0;i                for(j=0;j<200;j++);        
}

unsigned char disp[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
                        0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};

uint ADC_Value; 

void port_init(void) 

   DDRD = 0xff; 
   PORTD= 0x00; 
   DDRE = 0xff; 
   PORTE= 0x00; 
   DDRF = 0x00; 
   PORTF= 0x00; 


void adc_init(void) 

   ADMUX = 0x00; 
   ADCSRA= 0x00; 
   ACSR  =1<   ADMUX =(1<   ADCSRA=(1<

uint ADC_read(void) 

   uint ADC_L,ADC_H,temp; 
   ADCSRA |= (1<   ADC_L = ADCL; 
   ADC_H = ADCH; 
   temp  = (ADCH<<8)|ADC_L; 
   return temp; 


uint  convert(uint data) 

   long temp1; 
   uint temp2; 
   temp1 = ((500 * (long)data)>>10);
   temp2 = (uint)temp1; 
   return temp2; 


void main(void)  
  { 
     uint voltage; 
     uchar n;
     port_init(); 
     adc_init(); 
        
         DDRA=0XFF;
         PORTA=0XFF;
        
         DDRC=0XFF;                         
         PORTC=0X00;
         
         DDRF|=0X0E;
         PORTF|=0X0E;
         PORTF&=0xF7;                      
                            
         PORTA=0X00;                       
         
         DDRB |=0X10;                      
         PORTB|=0X10;                      

    while(1)   
    { 
       ADC_Value = ADC_read();         //读取AD寄存器中的数值 
       voltage   = convert(ADC_Value); //计算实际的输入电 
       for(n=0;n<50;n++)
           display(voltage);               //显示 
   }


推荐阅读

史海拾趣

Ferraz Shawmut(Mersen)公司的发展小趣事

2007年,Ferraz Shawmut收购了美国的General Electric公司的功率熔断器部门。这一收购不仅增强了公司在功率熔断器领域的实力,也进一步巩固了其在电气保护领域的领先地位。通过整合双方的技术和资源,Ferraz Shawmut推出了更多高性能、高品质的电气保护产品。

Delock公司的发展小趣事

Delock公司自创立之初,就致力于电子连接技术的研发。公司创始人李先生敏锐地洞察到市场对高性能、稳定可靠的电子连接设备的需求,于是带领团队投入大量资源进行技术研发。经过数年的努力,Delock公司成功开发出一种具有革命性意义的电子连接器,不仅传输速度快,而且耐用性高,迅速在市场上获得了认可。这一创新不仅为Delock公司带来了可观的利润,也为公司在电子行业树立了技术领先的形象。

FWBELL公司的发展小趣事
在保证安全的前提下,尽量设定较高的温度阈值以提高充电效率。
Cofan Usa Inc公司的发展小趣事

在电子行业的早期,Cofan Usa Inc公司以其敏锐的市场洞察力和技术创新能力,成功研发出一款具有革命性的电子产品,这款产品凭借其出色的性能和用户体验,迅速在市场上获得认可。公司不断投入研发资源,持续推出新产品,逐渐在电子行业中树立起了技术领先的形象。

Analog Microelectronics GmbH公司的发展小趣事

随着产品线的不断丰富和技术实力的提升,Cofan Usa Inc公司开始积极拓展国内外市场。通过与各大电商平台和实体零售商建立合作关系,公司成功将产品推向更广泛的消费者群体。同时,公司注重品牌建设,通过精准的市场定位和有效的营销策略,逐渐树立了独特的品牌形象。

General Electric Company公司的发展小趣事
能够输出较大的电流,以满足高压驱动或负载的需求。

问答坊 | AI 解惑

EEWorld邀你来拆解(第7期)——拆拆减肥利器----日常测试

本帖最后由 吾妻思萌 于 2022-11-22 23:05 编辑 拆箱一个礼拜了,发现减肥利器确实不错,体重成功下了0.5公斤,但是一顿好吃的直接就回来啦。 所以大家减肥靠的是毅力和恒心,绝非买个健身房的课程或者器材就可以减下来的。 正常使用次数1 ...…

查看全部问答>

STM32单片机+ADXL345(中断方式)计步器的准备程序(串口调试)

本文介绍了利用ADXL345中断唤醒停止模式下的STM32F103C8T6,为进一步开发计步器做准备。 从上位机串口通讯记录了整个过程, 代码中有关OLED显示屏可以不接。 1. ADXL345寄存器, 有好多,为了观察明显,这里设置了ACTIVITY和INACTIVITY模式,都能 ...…

查看全部问答>

嘉立创EDA你在后台“挖矿”吗?

刚才用嘉立创EDA画了一个原理图,然后关掉。后来用的过程中CPU风扇一直调整转动,刚刚打开任务管理器看了一下,CPU占用25%以上,已经很长时间了。 看了一下右下角的任务,说明已经退出了。不清楚嘉立创EDA在后台用我的CPU干什么。   ...…

查看全部问答>

示波器测量之抖动的四个维度

抖动是在进行示波器测量的时候常见的一种现象,也是工程师比较头痛的问题之一,也是尝尝讨论的问题。为什么这个话题千古不变值得讨论呢?是因为抖动是示波器测量的诸多功能中与“数学”较为相关的,从此也可以看出,学好数学的必要性。 ...…

查看全部问答>

分享个迷你T2资料

想要DIY的网友可以收个。一个DIY群里收来了群主作品的资料。     …

查看全部问答>

请教一下电池供电的设备要求单片机低功耗,请问串口的TX和RX输出如何设置,依据是什么

请教一下电池供电的设备要求单片机低功耗,请问串口的TX和RX输出如何设置,依据是什么 …

查看全部问答>

【花雕动手做】有趣好玩的音乐可视化系列项目(32)--P10矩阵LED单元板

偶然心血来潮,想要做一个音乐可视化的系列专题。这个专题的难度有点高,涉及面也比较广泛,相关的FFT和FHT等算法也相当复杂,不过还是打算从最简单的开始,实际动手做做试验,耐心尝试一下各种方案,逐步积累些有用的音乐频谱可视化的资料,也会争 ...…

查看全部问答>

ESP32没有pyb要怎么改这段代码

esp32/8266的定时器和pyb.timer不一样,要怎么改让他工作在esp32/8266下呢。 import pyb import micropython micropython.alloc_emergency_exception_buf(100) # Futaba PPM decoder # http://diydrones.com/profiles/blogs/705844:Bl ...…

查看全部问答>

分流电阻温漂计算

    在选择不同电流采样电阻时候,主要关注的当然是温度漂移拉,通常电阻的偏差可以当运算放大器的gain error 被校准掉。 但是电阻的温漂校准起来还是比较麻烦的,最好从一开始就选温漂较好的电阻。   小弟做了个表格, ...…

查看全部问答>