datasheet

AD8008实现A/D转换

2016-09-24来源: eefocus关键字:AD8008  A  D转换
C代码:

 #include
 #include
 //#include
 sbit ST=P3^2;
 sbit EOC=P3^1;
 sbit OE=P3^0;
 sbit ADDA=P3^4;
 sbit ADDB=P3^5;
 sbit ADDC=P3^6;
 unsigned char a,b,c;
 unsigned char code dispbitcode[]={0x00,0x08,0x04,0x02,0x01};//共阴位码
 unsigned char code dispcode[]={        0X3F,/*0*/
        0X06,/*1*/
        0X5B,/*2*/
        0X4F,/*3*/
        0X66,/*4*/
        0X6D,/*5*/
        0X7D,/*6*/
        0X07,/*7*/
        0X7F,/*8*/
        0X6F,/*9*/
};//共阴段码
/*************延时子程序*******************************/
 void delay(unsigned int x) //最小1毫秒
{
 unsigned char j;
 while(x--)
 {
  for(j=0;j<125;j++)
  {;}
 }
}
/***************显示子程序**********************/
void display(unsigned char bai,unsigned char shi,unsigned char ge)
{
  //P3=dispbitcode[5];
  //P2=dispcode[11]; 
  P2=dispbitcode[1];
  P0=dispcode[bai]; //显示佰位
    delay(5);
  //P3=dispbitcode[5];
  //P2=dispcode[11]; 
  P2=dispbitcode[2];
  P0=dispcode[shi]; //显示十位
    delay(5);
  //P3=dispbitcode[5];
  //P2=dispcode[11]; 
  P2=dispbitcode[3];
  P0=dispcode[ge]; //显示个位
    delay(5);
}
void main(void)
{
  unsigned char c;
  ADDA=0;
  ADDB=0;
  ADDC=0;         //选 0通道

  while(1)
  { 
   ST=0;
   ST=1;   //启动AD转换
   _nop_();    //程序空操作一次,即延时一下;
   ST=0;      
   delay(1);    // 延时等待转换结束
   OE =1;       // 输出转换得到的数据
   
   c=P1;        // 记下得到的数据
   OE = 0;
   a=c/100;      //送去显示
   b=c%100/10;
   c=c%100%10;
   display(a,b,c);
  }
}

AD8008实现A/D转换 - 楚人 - 楚人

关键字:AD8008  A  D转换

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/mcu/article_2016092429735.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:DS18B20单总线温度控制
下一篇:8255扩展I/O

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

ZigBee基础实验(七)--AD采集温度串口显示

1、ADC 简介  ADC 支持多达14 位的模拟数字转换,具有多达12 位有效数字位。它包括一个模拟多路转换器,具有多达8 个各自可配置的通道;以及一个参考电压发生器。转换结果通过DMA 写入存储器。还具有若干运行模式。  ADC 的主要特性如下:● 可选的抽取率,这也设置了分辨率(7 到12 位)● 8 个独立的输入通道,可接受单端或差分信号● 参考电压可选为内部单端、外部单端、外部差分或AVDD5● 产生中断请求● 转换结束时的DMA 触发● 温度传感器输入● 电池测量功能 2、ADC 操作  本节描述了ADC 的一般安装和操作,并描述了CPU 存取的ADC 控制和状态寄存器的使用。 2.1、ADC 输入
发表于 2019-04-09
ZigBee基础实验(七)--AD采集温度串口显示

STC12C5A60S2 AD 转换详解

STC系列单片机中的STC89LE516AD/X2提供了8路8位精度的高速A/D转换器,位于P1口上,从而省去了片外ADC的麻烦。这8路ADC为电压输入型,可做按键扫描,电池电压检测,频谱检测等。ADC转换过程需要17个机器周期。通过对相关功能寄存器的适当配置,就可以控制其工作。下面就对相关功能寄存器进行介绍。       A/D转换寄存器总表:(1)       P1_ADC_EN:特殊功能寄存器P1.x作为A/D转换输入通道来用允许特殊功能寄存器。相应位为“1”时,对应的P1.x口作为A/D转换使用,内部上拉电阻自动断开。ADC_
发表于 2019-03-14
STC12C5A60S2 AD 转换详解

STM32F4学习笔记4——STM32的AD用DMA方式时的请注意初始化顺序

我突然意识到我的数据好像一直没有错位,看到这个我又试验了一下,发现把DMA_Cmd(DMA1_Channel1, ENABLE);放置到哪儿都是一样的啊~~~ 这个是原帖部分: STM32的AD用DMA方式时的请注意初始化顺序 珍情岁月(84848098) 17:19:23DMA_DeInit(DMA1_Channel1);  DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address;  DMA_InitStructure.DMA_MemoryBaseAddr = (u32)&ADC_Result; 
发表于 2019-02-19

STC12C5410AD单片机PCA应用图文详解

任务:利用STC12C5410AD自带的4路PCA,扩展4路外部中断;利用4路外部中断来对输入的脉冲序列进行计数。备注:本文工程文件里还涉及到STC12C5410AD的UART、Time0等接口函数,请读者自行理解一、PCA16位定时器计数器结构从图中得知,要产生PCA溢出中断需要进行一下设置:1、 选择PCA16计数器的时钟源。时钟源的选择由PCA的CMOD寄存器的CPS1和CPS0决定。2、 IDLE跟CIDL必须有一位为0(常规的置CIDL为0)3、 CR必须置1,允许计数器开始计数4、 CMOD的ECF必须置1,以允许CCOD中的CF位在产生中断时:CF=15、 需要给PCA的16位计数器CH和CL赋初值二、PCA捕获模式
发表于 2019-01-26
STC12C5410AD单片机PCA应用图文详解

STM32 AD DMA模式

直接上代码://变量定义__IO uint16_t ADCConvertedValue[10];//ADC 外设的数据寄存器#define ADC1_DR_Address    ((uint32_t)0x4001244C)//ADC_DR(ADC规则数据寄存器),偏移量=0x4c  ADC1(0x40012400-0x400127ff)//ADC1_GPIO配置void ADC1_GPIO_Configuration(void){  GPIO_InitTypeDef GPIO_InitStructure;  /* Configure PC.01 (ADC Channel11) as
发表于 2018-09-05

单片机AD-DA转换

#include   #include "../iic/iic.h"    unsigned char AD_read()  {      unsigned char temp;        iic_start();          
发表于 2018-06-25

小广播

何立民专栏

单片机及嵌入式宝典

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

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