51单片机 C语言ADC程序怎么写

51单片机 C语言ADC程序怎么写,第1张

typedef unsigned char BYTE

typedef unsigned int WORD

#include "reg51.h"

#include "intrins.h"

/*Declare SFR associated with the ADC */

sfr ADC_CONTR = 0xBC

sfr ADC_RES = 0xBD

sfr ADC_LOW2= 0xBE

sfr P1ASF = 0x9D

sfr P2M0 = 0x96

sfr P2M1 = 0x95

/厅卖*Define ADC operation const for ADC_CONTR*/

#define ADC_POWER 0x80

#define ADC_FLAG0x10

#define ADC_START 0x08

#define ADC_SPEEDLL 0x00

#define ADC_SPEEDL 0x20

#define ADC_SPEEDH 0x40

#define ADC_SPEEDHH 0x60

//延时知宽

void Delay(WORD n)

{

WORD x

while (n--)

{

x = 5000

while (x--)

}

}

//初始AD寄存器

void InitADC()

{

P1ASF = 0xff

ADC_RES = 0

ADC_CONTR = ADC_POWER | ADC_SPEEDLL

Delay(2)

}

//AD转换

BYTE GetADCResult(BYTE ch)

{

ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START

_nop_()

_nop_()

_nop_()

_nop_()

while (!(ADC_CONTR &ADC_FLAG))

ADC_CONTR &= ~ADC_FLAG

return ADC_RES

}

void main()

{ BYTE temp

P2M1=0 P2M0=0x03 //搭伏亮P2.0和P2.1强推挽

InitADC()

while (1)

{

temp=GetADCResult(0)//转换P1.0

if(temp>1)

P2|=0x03//P1.0有电压 P2.0和P2.1输出高

else

P2&=0xFC//P1.0无电压 P2.0和P2.1输出低

}

}

0adc年龄确认入口在百度。确认ADC库0adc年龄的方法是通过有效身份z号确认年龄。ADC影院app是一款超人气的影视播放软件。这个软件里聚集了大量的影视资源,想看什么就看什么,不需要开会员。所有的影视资源都是固定的。adc照片库是一款超级流行的视频播放软件。用户可以下载他们喜欢的电影和电视剧,或者从他们的收藏中观看。软件中对电影的分类非常详细,用户可以在软件中誉仔找到自己喜欢的电影资源。用户可以在分屏上观看电影和电带并视节目,同时与朋友聊天。这款软件占用内存非常少,用户可以放心地在手机上下载安装这款软件。ADC Cinema app是一款超级流行的影视播放软件。在这个软件中,聚集了海量的影视资源。想看什么就看什么,不需要开会员。所有的影视资源都是固定的。庆行汪一个非常好的视频播放软件,搜索资源也非常方便,什么资源都能找到,而且观看速度非常快。

不,这不是一个“愚弄人的”问题或脑筋急转弯,并且我认为我们的读者都非常清楚模数转换器(adc)及数模转换器(dac)的基本功能。

但在如槐型弊何使用这些转换器以及人们的认知度上也存在着哲理性区别。用最简单的话讲,adc是用来捕获大量未知的信号,并把它转换成已知的描述。相反,dac是接受完全已知的、深刻理解的描述,然后“简单地”产生等效的模拟数值。简而言之,dac工作在确定的领域,而adc则工作在随机输入信号和未知性领域,只要输入在规定的范围内。在传统的信号处理理论中,比如在harry

l.van

trees的经典著作detection,

estimation,

and

modulation

theory中介绍的那样,信号处理面临着不同程度的挑战。举例来说,一个特征参数已经相当明了的信号(如受到am调制的模拟信号)与一个充满了许多未知参数的信号(如受到噪声干扰的雷达反射波)相比,评估起来要容易得多。因此adc面临的挑战确实要比dac大得多。为了充分发挥adc的功能,特别是较租谈高性能(速度或精度)的adc,需要采用精心设计的模拟信号调节输入信道,通常还带有与adc本身精确匹配铅族的adc驱动器。dac的设计要简单得多。不过这种相对的简单不应让设计师对dac设计产生松懈心理。实际应用中设计师很容易对dac的模拟输出电路不予以足够的重视,比如在摆率、输出驱动(电压、电流、范围)等参数和负载故障保护方面,而这样做很容易导致原型评估和产品现场应用时发生令人头疼的电路和系统级问题。作者:施维柏


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12541086.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存