#include <reg52.h>             //头文件
#define uchar unsigned char //宏定义无符号字符型
#define uint unsigned int //宏定义无符号整型
code uchar seg7code[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //显示段码 数码管字跟
uchar wei[]={0XEf,0XDf,0XBf,0X7f}; //位的控制端 //位控制码
sbit ST=P3^; //A/D启动转换信号
sbit OE=P3^; //数据输出允许信号
sbit EOC=P3^; //A/D转换结束信号
sbit CLK=P3^; //时钟脉冲
uint z,x,c,v,AD0809, date; //定义数据类型
/******************************************************************
延时函数
******************************************************************/
void delay(uchar t)
{
uchar i,j;
for(i=;i<t;i++)
{
for(j=;j>;j--);
{ ;
}
}
}
/**********************************************************************
数码管动态扫描
*********************************************************************/
void xianshi() //显示函数
{
uint z,x,c,v;
z=date/; //求千位
x=date%/; //求百位
c=date%/; //求十位
v=date%; //求个位 P2=0XFF;
P0=seg7code[z]&0x7f;
P2=wei[];
delay();
P2=0XFF;
P0=seg7code[x];
P2=wei[];
delay();
P2=0XFF;
P0=seg7code[c];
P2=wei[];
delay();
P2=0XFF;
P0=seg7code[v];
P2=wei[];
delay();
P2=0XFF;
}
/*************************************************************************
CLK振荡信号
**************************************************************************/
void timer0( ) interrupt //定时器0工作方式1
{ TH0=(-)/; //重装计数初值
TL0=(-)%; //重装计数初值
CLK=!CLK; //取反
} /*************************************************************************
主函数
**************************************************************************/
void main()
{
TMOD=0X01; //定时器中断0 CLK=; //脉冲信号初始值为0
TH0=(-)/; //定时时间高八位初值
TL0=(-)%; //定时时间低八位初值
EA=; //开CPU中断
ET0=; //开T/C0中断
TR0=;
while() //无限循环
{
ST=; //使采集信号为低
ST=; //开始数据转换
ST=; //停止数据转换
while(!EOC); //等待数据转换完毕
OE=; //允许数据输出信号
AD0809=P1; //读取数据
OE=; //关闭数据输出允许信号
if(AD0809>=) //电压显示不能超过5V
AD0809=;
date=AD0809*; //数码管显示的数据值,其中20为采集数据的毫安值
xianshi(); //数码管显示函数 }
}

数模转换ADC08009应用的更多相关文章

  1. DSP280x的数模转换使用

    /*****************************************************************************Copyright: 2013File na ...

  2. 【.NET 与树莓派】数模转换

    在开始之前,需要说明一对很耳熟的概念--数字信号 & 模拟信号. 这些概念的理论有些复杂,你如果相当有兴趣,可以找来有关的文献细细研究:若你不关心那是啥只想知道咋用,那就通俗但不庸俗地理解一下 ...

  3. 模数转换(A/D)和数模转换(D/A) 图示

    (从书中截图) 在时间域和频率域中示意图: 1.A/D转换 2.D/A转换

  4. (七)DAC0832 数模转换芯片的应用 以及运算放大器的学习 01

    DAC0832是8分辨率的D/A转换集成芯片.与微处理器完全兼容.这个DA芯片以其价格低廉.接口简单.转换控制容易等优点,在单片机应用系统中得到广泛的应用.D/A转换器由8位输入锁存器.8位DAC寄存 ...

  5. TPYBoard开发板ADC数模转换一: 初识ADC使用

    转载请以链接形式注明文章来源,公众号:MicroPython玩家汇 1.前言 ADC,Analog-to-DigitalConverter的缩写,指模/数转换器或者模数转换器[1].是指将连续变化的模 ...

  6. 51单片机学习笔记(清翔版)(21)——ADDA数模转换

    A:anolog模拟的         D:digital数字的 AD模拟转数字,DA数字转模拟 生活中的基本都是模拟量,如温度,可以是10℃,10.1℃等 手机的背光亮度自动调节,拿到太阳光下,亮度 ...

  7. 【ARM】2410裸机系列-ADC数模转换

    开发环境   1.硬件平台:FS2410 2.主机:Ubuntu 12.04 ADC寄存器配置       1.初始化ADC(ADCCON) 设置预分频,预分频因子,选择A/D转换通道,并选择正常模式 ...

  8. STM32 C++编程 004 Adc (数模转换)类

    使用 C++ 语言给 STM32 编写一个 Adc 类 我使用的STM32芯片:STM32F103ZET6 我们使用的STM32库版本:V3.5.0 注意: 想学习本套 STM32 C++编程 的专栏 ...

  9. IOS开发基础知识--碎片50

      1:Masonry 2个或2个以上的控件等间隔排序 /** * 多个控件固定间隔的等间隔排列,变化的是控件的长度或者宽度值 * * @param axisType 轴线方向 * @param fi ...

随机推荐

  1. python 全栈开发,Day71(模型层-单表操作)

    昨日内容回顾 1. {% include '' %} 2. extend base.html: <html> ..... ..... ..... {% block content%} {% ...

  2. Django中模板使用

    第一步:配置 1.在工程中创建模板目录templates. 2.在settings.py配置文件中修改TEMPLATES配置项的DIRS值:TEMPLATES = [ { 'BACKEND': 'dj ...

  3. Nignx添加proxy_pass可能造成DNS解析超时的问题解决

    resolver 219.149.194.55;         location ^~ /bigdata        {          proxy_set_header Host $host; ...

  4. Git强制拉取覆盖本地

    1.多条执行 git fetch --all git reset --hard origin/master git pull 2.单条执行 git fetch --all && git ...

  5. zookeeper 学习 客户端Acl操作笔记

    Acl = Access control list create /node2 node2data [zk: localhost:2181(CONNECTED) 14] addauth digest ...

  6. mysql 一张表的多个字段关联另外一张表

    SELECT vtiger_orderitem.orderid, ( SELECT vtiger_users.last_name FROM vtiger_users WHERE vtiger_orde ...

  7. python排序算法之冒泡,选择,插入

    1.参考 一本关于排序算法的 GitBook 在线书籍 <十大经典排序算法>,使用 JavaScript & Python & Go 实现 2.冒泡排序:两两比较,互换位置 ...

  8. nginx 源码安装的重启命令

    源码安装nginx就面临这样的麻烦,不能使用service nginx restart 来重启nginx,没办法只能重新加载下nginx. #/usr/local/nginx/sbin/nginx - ...

  9. md5爆破工具

    http://www.myhack58.com/Article/html/3/8/2015/65021.htm http://xlixli.net/?p=410 http://blog.csdn.ne ...

  10. 使用sparkSQL的insert操作Kudu

    可以选择使用Spark SQL直接使用INSERT语句写入Kudu表:与'append'类似,INSERT语句实际上将默认使用UPSERT语义处理: import org.apache.kudu.sp ...