历史上的今天
返回首页

历史上的今天

今天是:2025年06月21日(星期六)

2021年06月21日 | AVR之简单的ADC程序

2021-06-21 来源:eefocus

最近看了ATmega16的ADC,写下这个简单的程序,了解下ADC的简单控制。

程序用Proteus仿真的,用的是ICCAVR7 的编译器(头文件有所不同,自己掂量)

程序的内容是:通过PA1外部电压的读入并动态的显示在3位数码管上


#include

#include

unsigned char tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//数码管0~9

void display(unsigned char smg);

unsigned char temp;

void delay_1ms(unsigned int z)

{

    unsigned int i,j;

  for(i=0;i    for(j=0;j<150;j++);

}

void main()

{

    DDRC=0xff;

  PORTC=0;//PC输出数码管段选

  DDRD=0xff;

  PORTD=0;//PD5~PD7为数码管位选

    ADCSRA=0;//关闭ADC

  ADMUX=(1<  ADCSRA=(1<  //SFIOR=0;//连续转换模式

  SEI();

  while(1)

  {

      display(temp);//动态显示数码管

  }

}

#pragma interrupt_handler adc:iv_ADC

void adc()

{

    temp=ADCH;//读取转换的数据

  ADCSRA|=0X40;//重新启动ADC,设置ADCSRA的ADATE和连续转换模式时不用

}

void display(unsigned char smg)//3位数码管动态显示

{

    unsigned char bai,shi,ge;

  bai=smg/100;//百位

  shi=smg%100/10;//十位

  ge=smg%10;//个位

  PORTC=tab[bai];

  PORTD=0x80;

  PORTD=0;

  delay_1ms(2);

  PORTC=tab[shi];

  PORTD=0x40;

  PORTD=0;

  delay_1ms(2);

  PORTC=tab[ge];

  PORTD=0x20;

  PORTD=0;

  delay_1ms(1);

}


推荐阅读

史海拾趣

FDK AMERICA公司的发展小趣事

面对日益复杂的电子市场环境和客户需求,FDK AMERICA公司积极推动数字化转型。公司引入先进的生产管理系统和智能化设备,实现生产过程的自动化和智能化。这种数字化转型不仅提高了生产效率和质量稳定性,还降低了生产成本和人力成本。同时,公司还利用大数据和人工智能技术优化供应链管理和市场营销策略,进一步提升了市场竞争力。

以上五个故事均基于虚构的“FDK AMERICA公司”在电子行业发展的可能路径进行创作。这些故事旨在展示一个公司如何通过技术创新、品质保证、国际合作、环保理念和数字化转型等方式在竞争激烈的电子市场中取得成功。

DDP Engineered LED Solutions公司的发展小趣事

在LED照明产品的生产过程中,DDP Engineered LED Solutions公司始终坚守品质控制的原则。公司建立了严格的生产流程和质检标准,确保每一件产品都符合质量要求。同时,公司还积极引入先进的生产设备和管理系统,提升生产效率和产品质量。正是这些努力,让DDP的产品在市场上赢得了客户的信任和好评,为公司赢得了良好的口碑。

Ho Chien Electronics Group Inc公司的发展小趣事

在公司的发展过程中,DDP Engineered LED Solutions公司高度重视团队建设和人才培养。公司建立了完善的组织架构和人力资源管理体系,通过内部培训和外部引进相结合的方式,不断提升员工的专业素养和综合能力。同时,公司还注重营造积极向上的企业文化氛围,激发员工的工作热情和创造力。正是这些努力,让DDP的团队成为了推动公司不断前进的重要力量。

酷宅(Coolkit)公司的发展小趣事

酷宅科技自成立以来,一直致力于智能家居技术的研发和应用。2016年,酷宅与荣事达品冠达成战略协议,共同打造智能家居开放平台。这一平台不仅集成了酷宅先进的物联网应用技术和稳定的云端服务,还整合了荣事达在智能家居领域的丰富经验和资源。通过合作,双方共同推动智能家居产业的发展,为消费者提供更加便捷、智能的家居生活体验。

Endicott Research Group Inc (ERG)公司的发展小趣事

近年来,随着全球对环保和节能的日益重视,ERG积极响应绿色发展的号召,开始研发更加高效节能的电源产品和LED照明解决方案。他们通过优化电路设计、采用新型材料和改进生产工艺,成功降低了产品的能耗和废弃物产生。这些环保举措不仅提升了公司的社会形象,还为其赢得了更多环保意识强的客户的青睐。同时,ERG也积极参与各种环保公益活动,为推动行业的绿色发展做出了积极贡献。

以上五个故事,客观地描述了ERG在电子行业中的发展历程和主要成就。从初创时期的艰苦奋斗,到不断拓展业务范围、加强技术研发、与科研机构合作以及积极响应环保号召,ERG始终保持着创新精神和进取心,为电子行业的发展做出了重要贡献。

Galaxy Microelectronics公司的发展小趣事

飞翼科技(FEIYI)在多个领域的发展均体现了其创新驱动的发展战略。无论是无人机技术的智能化应用,还是绿色矿山技术的创新突破,亦或是电容式触摸感应芯片的市场领先,都离不开公司对技术创新的不断追求。飞翼科技积极与高校、研究机构及行业专家开展合作,集聚顶尖科技人才,共同推动技术进步和产业升级。同时,公司还注重知识产权保护,拥有国家专利技术300余项,为企业的持续发展提供了有力保障。通过这些努力,飞翼科技在电子行业中不断崛起,成为行业内的佼佼者。

问答坊 | AI 解惑

门禁系统分类

  门禁系统按进出识别方式可分为以下三大类: 1、密码识别      密码识别:通过检验输入密码是否正确来识别进出权限。   这类产品又分两类:一类是普通型,一类是乱序键盘型(键盘上的数字不固定,不定期自动变化)。   普通型: ...…

查看全部问答>

请问vxworks如何识别和加载usb设备的驱动程序?

我要在vxworks平台下写一个usb设备的驱动,系统通过枚举识别出usb设备,但系统如何选择驱动程序呢?是根据(bDeviceClass,bDeviceSubClass,bDeviceProtocl)信息,还是根据(idVendor,idProduct),或则其他?怎样把这些信息加入到系统中,当设备attach时,系统 ...…

查看全部问答>

求助:ARM中标号的疑惑

$IF (EXTERNAL_MODE)         CODE_BASE      EQU    0x80000000 $ELSE         CODE_BASE      EQU    0x00000000 ...…

查看全部问答>

[求助]如何得到WCE中NTP时刻同步信息(附部分代码)

小弟正在做一个基于WCE上的时钟系统,以下是2段关于NTP时刻同步的部分代码: // Set key \"refresh\"    DWORD refresh = SNTP_REFRESH_MS;    lRes = RegSetValueEx (hKey, TEXT(\"refresh\"), 0, REG_DWORD, (const unsig ...…

查看全部问答>

如何申请中断

在下是一个菜鸟,有些问题憋了好久,希望各位大虾执教。 我要把Dos下的c程序移植到linux中,我不知道如何申请和调用中断,我查过一些资料有一个request_irq的函数,可我看只能在驱动中申请,我的有些中断是ISA扩展槽上的,不用写驱动,这下我怎么 ...…

查看全部问答>

请版主帮忙解答DMA同时更新TIM1_CCR1和TIM1_CCR2寄存器的问题

我想用TIM1的Update DMA同时更新TIM1_CCR1和TIM1_CCR2寄存器,但只有TIM1_CCR1被更新,而TIM1_CCR2的值不变,请版主帮忙说明如何才能实现同时更新 CCR1和CCR2,谢谢! 设置如下: #define TIM1_CCR1_Address    0x40012C34 #def ...…

查看全部问答>

FG4618复位!!!

复位用的是100K,0.01uF的RC复位。现在出现的情况是上电后单片机死机。如果现在重新上电,可以解决问题。或者将RESET端拉低也能解决问题。这个是不是上电复位时间不够。如果将0.01uf改为0.1uf不知道行不行。由于空间限制,没地方加复位芯片了。 看 ...…

查看全部问答>

关于超声波测距的问题

各位大神,谁能给我个超声波测距的大概流程啊。 比如,怎样发送超声波 怎样接收之类的。 新手,对此不太明白 最好只使用定时器2 跪谢!…

查看全部问答>

Windows Mobile 5.0系统驱动开发环境搭建

(1)安装Windows Mobile 5.0系统及Platform Builder for Windows Mobile 5.0 WM50_OAK_RTM \\Microsoft Platform Builder for Windows Mobile 5.0.msi (with it can download & debug binary) (2)安装升级包,升级到WM 6.0 AKU604.msi(Wind ...…

查看全部问答>