atmega128单片机AD转换时知道了模拟量怎么算数字量?

作者&投稿:蒯从 (若有异议请与网页底部的电邮联系)
在AVR单片机的AD转换中知道数字量了怎么算模拟量?~

使用标度标度变换公式,将数字量转换成带有物理单位的实际值。
例如: 假设温度检测传感器测量温度范围是A0~Am,转换后的电压经
AD转换器转换的数字量是8位的,则其范围是00H~OFFH。
则如果某一时刻,AD转换器转换的数字量是N,那么测量的实际温度
为A,
根据线性传感器、AD转换器转换器的转换信号的关系:可以推出
A=(Am-A0)*N/(255-0)+A0
可以编程由程序实现上述的计算过程。
参考自己实际的情况,就可以写出类似上述的公式,作为编写用测量物理量的程序的算法。
算法有了,程序就自己写吧,不是很难了。

#include
#include


#define uint unsigned int
#define uchar unsigned char


sbit LED=P1^4;
sbit cs=P2^0;
sbit rd=P3^7;
sbit wr=P3^6;
sbit dacs=P3^2;//AD控制
sbit D27=P2^7;//数码管锁存器控制引脚
sbit D26=P2^6;
sbit key=P3^4;


uchar b,s,g,num;
float voltage;
uint disdata;


uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f}; //整数字符


uchar code table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}; //带小数点数字编码


void display(uchar b,uchar s,uchar g);
void delay(uint z);
void start();
void initial();


void main()
{
LED=1;
cs=0; //AD片选给低电平
dacs=1;
initial();
start();
delay(5);
rd=0;
delay(5);
num=P1;
delay(5);
rd=1;
delay(1);

voltage = 5.00*num/256; //实际电压
disdata=(uint)(voltage*100);
delay(1);
b=disdata/100;
s=disdata%100/10;
g=disdata%10;
display(b,s,g);


}


void start()
{
wr=1;
wr=0;
wr=1;
}


void initial()
{
disdata=0;
num=0;
}


void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--) ;
}


void display(uchar b,uchar s,uchar g) //显示数字个十百位
{
D27=1;
P0=0xfd;
D27=0;
P0=0x00;
D26=1;
P0=table1[b];
D26=0;
P0=0x00;
delay(1);


D27=1;
P0=0xfb;
D27=0;
P0=0x00;
D26=1;
P0=table[s];
D26=0;
P0=0x00;
delay(1);


D27=1;
P0=0xf7;
D27=0;
P0=0x00;
D26=1;
P0=table[g];
D26=0;
P0=0x00;
delay(1);
}

用你的参考电压除以AD位数对应的二进制数,如:参考电压5V,AD共8位=256,即得到每一位对应的电压值=5/256,如果你输入的电压为2.5V,则有数字量=127

第一,看你使用的是比较电位是5V还是内部的2.56V。
第二:知道你的模拟量最大的值,然后,它是10位的,得知它的分辨率。VALUE/1024=分辨率。
第三:使用变换公式计算即可。


增程式中大型SUV市场 理想 L6 对比问界 M7
相比理想L6全系搭载双电机系统,问界M7的入门车型配备的是后置单电机,最大功率 200kW、峰值扭矩 360N·m,0-100km\/h加速7.8秒,在动力性能上弱于理想L6。但在电池选用上问界M7迅速找回“颜面”,全系搭载40kWh宁德时代三元锂电池组,电池密度更高、容量更大,CLTC工况纯电续航达到240km,同时约2...

微控制器都有哪些型别
3,32位ARM7,ARM9系列:920T、926EJ-S、如三星的s3c2410\/2440;ST的STM32W103\/107系列等 4,还有很多接近ARM9系列的CORE。 mcs-51微控制器都有哪些型号? MCS-51系列微控制器主要包括8031、8051和8751等通用产品,其主要功能如下:·8位CPU·4kbytes 程式储存器(ROM) ·128bytes的资料储存器(RAM) ·32条I\/O...

千兆上面的单位是什么
600m是六百兆流量。问题五:T字节上面一个单位是什么? 接着就是拍字节(PB)、艾字节(EB)、泽它字节(ZB,又称为皆字节)、尧它字节(Y)、最大是千亿亿亿字节(BB)、最小是比特(b,又称为位)。问题六:千兆是什么意思 一个计算机容量单位,一个数宽带是串行通信,数据是一位一位的传送,千...

klitemegacodecpackGalaxyS10Lite和Note10Lite现已在上
这两款手机都有拉丁美洲版本,并且兼容ATT和T-Mobile的LTE网络,因此您可以从任何类型设备的各种喷漆操作中进行选择。S10 Lite使用相当简单的黑色、蓝色和白色色调,而Note10 Lite可以有更引人注目的光环黑色、光环辉光和光环红色。Galaxy Note 10Lite和S10 Lite共享6GB RAM和128GB内部存储空间,还配备...

我的世界神奇宝贝铁哑铃指令
018 比雕 Pidgeot - Pigeon(鸽子) 019 小拉达 Rattata - Rat(老鼠)-a-tat-tat 020 拉达 Raticate - Rat(老鼠) + Eradicate(根除) 021 烈雀 Spearow - Sparrow(麻雀) + Spear(矛,枪) 022 大嘴雀 Fearow - Fear(畏惧) + Sparrow(麻雀) 023 阿柏蛇 Ekans - Snake(蛇)(**Sanke从右往左为Eknas) ...

求宝儿的全部歌曲.
●2nd 《NO.1 》(2002.04.13)主打歌:《No. 1》《Waiting》《My Sweetie》●3rd《Atlantis Princess 》(2003.05.30)主打歌:《 Atlantis Princess》《Milky Way》《TREE 》●4th《My Name 》(2004.06.11)主打歌:《MY NAME》《SPARK》《My Prayer》●5th《Girls on Top》(女孩天下 ...

AT89C2051-24PU 的U的意义是什么?
AT89C2051-24PU ATMEL单片机 晶振最高支持24M,塑料双列直插DIP封装,温度-40至+85℃,U指的是无铅元件

网游的发展史
开拓者的道路 第一批进入中国大陆的网络游戏之一《万王之王》获得巨大的成功。随后,由北京华义代理的《石器时代》于2001年1月正式上市。由亚联游戏代理的《千年》紧跟在2001年2月开始测试,4月开始正式收费。到2001年6月止,网络游戏进入中国大陆一年间,市场上推出的网络游戏数量达到十数款,呈现一片...

gb和mb有什么区别啊?
tera,[太]拉, T. 10^12,giga,[吉]咖, G. 10^9,mega,[兆],M. 10^6数位组一个在信息技术和数码技术领域中,用于表示信息的数量的单位。一个数位组是数个二进位的组合。早期的不同计算机系统中使用的数位组含有的二进位数目不尽相同。 但目前数位组在应用上已经统一,即,一个数位组通常由8个二进位组成...

求个爽点的射击单机游戏
火凤凰号 希腊任务 经典射野鸭 MEGAMAN拯救任务 生化危机 大佐的战斗 森林救火队 小强终结者 经典雷电II 飞飞战记 棒棒糖战记(完全版) 自由飞翔 尿袋双雄 幽浮大战X 火影忍者 雷射堡垒2 血色车棚 机甲作战天堂篇 麻辣女孩_3 GunMaster枪魂 零刻开火 精英特种兵 CS快手射靶 泡泡堂射箭 六翼天使 百事罗马足球 双枪...

睢县15711696632: atmega128单片机AD转换时知道了模拟量怎么算数字量? -
齐浩痔康: 第一,看你使用的是比较电位是5V还是内部的2.56V. 第二:知道你的模拟量最大的值,然后,它是10位的,得知它的分辨率.VALUE/1024=分辨率. 第三:使用变换公式计算即可.

睢县15711696632: atmega128 ad 转换的程序 做例子用 想要经典一点的
齐浩痔康: /*********************************包含头文件********************************/#include <iom128v.h>#include <macros.h>/********************************数码管段码表*******************************/ extern const unsigned char tab[]={0x3f,0x06,0x5B,0x4...

睢县15711696632: 单片机做AD转换时双极性信号程序怎么处理? -
齐浩痔康: 既然有正负,那就是有2种情况,程序先去判断是哪种情况(正A,负B),并设置标志. A情况直接对数据进行处理,B情况先将数据进行转换,再对其进行处理.

睢县15711696632: 单片机的AD中断功能是不是开启后就会不停的转换,不能定周期的转换?这样单片还能干别的吗? -
齐浩痔康: 这个你要看手册才行,看看你的单片机有没有连续转换功能.有的单片机是转换成功一次后就停止比如SH88FXX,ATmega16系列,有的单片机是可以设置连续转换和单次转换的,比如STM32,也就是说,几乎所有的单片机都可以实现单次转换后...

睢县15711696632: ATmega单片机的AD转换出来后的数据并存进浮点型数里,该怎么让它以毫伏形式显示到数码管上? -
齐浩痔康: 首先,这个数据从未采集、转换或保存成浮点型…… 其次,图示例程的“*5000”表明ADC的满量程为5.0V.如果你想要计算出mV数,直接取返回的voltage并显示就可以了.

睢县15711696632: 单片机AD转换问题.
齐浩痔康: 1,什么是AD转换? A是模拟信号的意思,D是数字信号的意思,AD转换就是模数转换,顾名思义,就是把模拟信号转换成数字信号,例如把电压值转化为数字信号. 2,为什么要AD转换? 单片机(以及其他处理器)只能处理数字信号,当单...

睢县15711696632: avr 单片机编程 -
齐浩痔康: 1、仿真器; 2、串口通信. 3、其它通信也可以,比如CAN等. 相对来说串口通信简单,容易实现.

睢县15711696632: 单片机AD转换问题如何解决? -
齐浩痔康: AD转换就是模拟数字转换模拟量是自然界存在的量,例如流量温度等特点是连续变化,例如从室温20 ℃ - 25℃之间存在着无数的温度点,数字量非自然界存在的量,特点是非连续变化有固定的变化间隔. 1、A是模拟信号的意思,D是数字...

睢县15711696632: 单片机的AD转换程序需要AD的哪个参数?SAR - CLK具体指AD的哪个指标? -
齐浩痔康: 图上有你写程序时需要的参数你下载C8051F040芯片说明书,是片内自带的ADC,需要写AD中断服务函数,具体写法类似终端服务函数.转换结束后会有中断通知CPU的.需要ADC的时序图

睢县15711696632: 单片机AD转换中,把电流采样保存后,怎样计算电流值啊? -
齐浩痔康: 一般采样到的是电压值,要算电流还要在你采样的电路里面动点手脚,比如在电流回路上串联一个很小的电阻,然后AD采样该电阻两端的电压这样就能根据欧姆定律算出电流了

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网