历史上的今天

今天是:2024年10月12日(星期六)

正在发生

2019年10月12日 | atmega128 AD 转换

发布者:breakthrough2 来源: eefocus关键字:atmega128  转换  头文件 手机看文章 扫描二维码
随时随地手机看文章

/*********************************包含头文件********************************/

#include

#include


/********************************数码管段码表*******************************/

extern const unsigned char tab[]={0x3f,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,

                                  0x7F,0x6F};


/*********************************端口定义**********************************/

#define  sclon   PORTG |=BIT(0);     //时钟高

#define  scloff   PORTG &=~BIT(0);

#define  dion   PORTG |=BIT(1);      //数据高

#define  dioff   PORTG &=~BIT(1);


/*********************************全局变量**********************************/

unsigned int adc_rel;

int dat;


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

函数功能:ADC初始化函数

入口参数:

出口参数:

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

void adc_init(void)

{

ADCSRA=0x00;  //关ADC

ADMUX = (1<ADCSRA = (1<ADSC)|(1<}


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

函数功能:ADC中断函数

入口参数:

出口参数:

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

#pragma interrupt_handler adc_isr:iv_ADC

void adc_isr(void)

{

   int data_H,data_L;

  ADCSRA = 0x00;  

  adc_rel=ADC;

  ADCSRA = (1<}


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

函数功能:数据输出程序

入口参数:temp

出口参数:

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

void dataOUT(unsigned char temp)

{

    unsigned char i,temp1;

    temp1 = tab[temp];

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

    {

        scloff; 

  if((temp1&0x80)!= 0x80)

         {  dioff;}

        else

         { dion;}  

  sclon;

        temp1 <<=1; 

  scloff; 

    }

}


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

函数功能:延时子程序

入口参数:

出口参数:

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

void delay(void)

{

   int i;

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

}


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

函数功能:显示子程序

入口参数:k

出口参数:

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

void display(unsigned int k)

{

   dataOUT(k/1000);

  PORTG &=0x03;

  delay();

  dataOUT(k/100%10);

  PORTG |=0x04;

  delay();

  dataOUT(k/10%10);

  PORTG &=0x0B;       

  PORTG |=0x08;

  delay();

  dataOUT(k%10);

  PORTG |=0x0C;

  delay();

}


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

函数功能:主程序

入口参数:

出口参数:

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

void main(void)

{

   DDRE=0x00;

  DDRG=0xff;

  adc_init();

  SEI();

  display(0);

  while(1)

  {

    delay();

   display(adc_rel);

  }

}


关键字:atmega128  转换  头文件 引用地址:atmega128 AD 转换

上一篇:分享:LCD1602温度检测显示程序(ATmega16)
下一篇:ATmega8的eeprom读写操作程序

推荐阅读

之前在第一电动写过几期的研究周报,核心的要素,还是在测试程序切换以后,对于插电式混合动力的废气排放的监控也会提高对于传统动力总成这部分的成本。 从德国的尾气门开始,欧盟监管部门进行了深刻的反思,收紧监管。9月1日起,欧洲将实现更为严格的尾气排放检测标准,即WLTP将正式生效。对车企而且新车销售需要进行切换,改进之前的测试方法,扩大工况...
据说,未来5至10年内,汽车的变化将超过过去50年内的变化。虽然有些变化可能与电动汽车的增长有关,不过汽车业内最大的变化仍在自动驾驶技术和网联技术领域,将会彻底改变整个驾驶体验。而造成这些变化的背后驱动力就是改善道路安全、降低排放以及减轻驾驶压力。安全检测机构欧洲新车安全评估协会(Euro NCAP)正在推进零事故愿景( Vision Zero),而且...
在网上看了不少与卡尔曼滤波相关的博客、论文,要么是只谈理论、缺乏感性,或者有感性认识,缺乏理论推导。能兼顾二者的少之又少,直到我看到了国外的一篇博文,真的惊艳到我了,不得不佩服作者这种细致入微的精神,翻译过来跟大家分享一下。 我不得不说说卡尔曼滤波,因为它能做到的事情简直让人惊叹!意外的是很少有软件工程师和科学家对对它有所了解,这...
文件寄存器文件针对AVR增强型RISC指令集做了优化。为了获得需要的性能和灵活性,寄存器文件支持以下的输入/ 输出方案:·输出一个 8 位操作数,输入一个 8 位结果·输出两个 8 位操作数,输入一个 8 位结果·输出两个 8 位操作数,输入一个 16 位结果·输出一个 16 位操作数,输入一个 16 位结果Figure 4 为CPU 32 个通用工作寄存器...

史海拾趣

问答坊 | AI 解惑

如何用51单片机对三角波的参数进行分析?

用51单片机对三角波的幅度,频率,斜率进行分析?请各位指教。…

查看全部问答∨

uCLinux开发平台构建

uCLinux开发平台构建 uCLinux开发平台构建…

查看全部问答∨

沉睡在嵌入式行业

小弟工作快一年了,怀疑自己当初的选择,特请各位大哥指点迷津。 小弟在深圳做嵌入式软件开发(电子消费类产品),工资3000,感觉自己没前途了,没什么东西学了,很想跳槽。 请问大哥: 1. 近来嵌入式行业做什么最有前途呢:安防(工控之类的) ...…

查看全部问答∨

求助AD7865的问题

谁有关于使用AD7865-1的电路图和相关程序,给参考一下; 请告诉一下,使用该芯片有没有什么特别需要注意的事项???? 本人现在调试AD7865,怎么也调不通,不知道是什么原因? 所以想找个现成的电路和程序做参考。 …

查看全部问答∨

求arm9开发板选购推荐!

    本人刚刚接触基于linux的嵌入式开发,为了深入学习,想买一块arm9开发板。     但苦于旁边都没有这方向的朋友,对于开发板的选购无从下手。貌似网上说买块2410或2440就可以了,但好像生产这两种开发板的厂家也很多,且各 ...…

查看全部问答∨

c#中如何改变listview某一行的颜色

c#中如何改变listview某一行的颜色,wince程序。…

查看全部问答∨

FPGA实用教程下载(2)

FPGA实用教程 清华出版…

查看全部问答∨

上百个电路实用图集棉

本帖最后由 paulhyde 于 2014-9-15 09:03 编辑 硬件学习好帮手  …

查看全部问答∨

keil3和lm3s9d90

没有用过lm3s,最近要用到9d90这款芯片 公司只装了keil3.51(keil4公司没有购买),不知道是需要升级到keil4还是安装个什么插件即可?…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved