用51系列单片机做个A/D转换器,具体该怎么做?

数字电压表算A/D转换器吗?

注意,你这对单片机的位数和AD的位数理解有误。
首先:51系列单片机都是八位的,这里的8位是指它一个时钟所能处理的数据位数。而现在的电脑的微处理器酷睿等都是32位的CPU,意思和上述的一样。
而AD转换器的位数和所嵌入单片机的位数无关。12位是指这个AD转换器的精度。比如说12位的AD,读一个范围在0到5V的模拟信号,就能把这5V的范围分成 2的12次方 (=4096份)。也就说这个12位的AD转换器所能识别的最小电压量是5V÷4096 = 0.00122V。所以,单片机的8位和你需要的ad转换器12位没直接关系
而你说的AT89S52内部并没有集成AD转换器。
可以用Stc的单片机(有8位和10位ADC)、C8051F单片机(一般都是12位或10位ADC)、飞利浦的LPC900系列单片机等这都是8位的51系列单片机,内部带AD模块(但位数各不相同) 。
STC单片机数据手册:
C8051f020单片机数据手册:

补充:首先,你的问题有点混乱。
你前头问是“自带AD转换器的单片机”,就是说单片机内部有AD模块,直接把待测信号接单片机的AD引脚就可把数据读入到单片机内部的AD寄存器。如果是八位的正好就放在一个字节里,如果是10位、12位、16位就放两个字节(如x=AD,x是无符号INT型数据,C语言一句话搞定),如果是24位就3个或4个字节的寄存器内。这需要什么接口,没有分串口并口的。
而你后边补充问的那是单片机外接一个AD转换芯片,这个AD转换器就不是单片机自带的。这种芯片有串口和并口之分,但一般10位及其以上的AD芯片都是用串行接口。也有另类的,用并口连接的,那也比如说12位芯片使用并口也就是12个引脚和八位的51单片机连接,那单片机可以拿P1口接低八位,P2找四个脚和高四位连接。还有剩下的可以接CS、WR,之类的控制引脚。如果你买到这样的另类芯片,那写程序就忒麻烦了……
最后,C8051xxx系列的单片机,是使用51单片机内核的、集成了很多外设功能的单片机。一般有12位DAC、10/12位ADC、pwm、USB接口……说白就是个较高级的51单片机,但开发工具只能卖他们自己产的开发编程设备,贵。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-17
1, 霍尔元件有模拟的也有数字的, 数字的集成了放大和ADC模块。
2,如果是模拟输出的话,一般需要进过放大,隔离耦合, 采样和模数转换和锁存器(ADC芯片会集成),然后就可以并行读入单片机了。
第2个回答  2010-12-15
建议 去 百度文库 里搜搜

文档 很多

祝你顺利本回答被提问者和网友采纳

用51系列单片机做个A\/D转换器,具体该怎么做?
首先:51系列单片机都是八位的,这里的8位是指它一个时钟所能处理的数据位数。而现在的电脑的微处理器酷睿等都是32位的CPU,意思和上述的一样。而AD转换器的位数和所嵌入单片机的位数无关。12位是指这个AD转换器的精度。比如说12位的AD,读一个范围在0到5V的模拟信号,就能把这5V的范围分成 2...

A\/D转换器的程序设计主要分哪三步
ul=XBYTE[0xffff]; \/*产生读脉冲,启动A\/D转换*\/ while (BUSY= =0); \/*等待转换完成*\/ RC=1;BYTE=0; \/*进入读模式,选择低字节*\/ ul=XBYTE[0xffff]; \/*读转换结果低8位*\/ BYTE=1; \/*选择高字节*\/ uh=XBYTE[0xffff]&0x0f;\/*读转换结果高4位*\/ u=uh*256+ul; \/*得到12...

【51单片机】D\/A、A\/D转换
首先,D\/A转换器的输出形式有两种:电压输出和电流输出。电流输出类型的转换器通常需要在输出端加装运算放大器构成的I-V转换电路,以实现电压输出。其次,D\/A转换器与单片机的接口形式,早期多采用并行传输接口,但现在也逐渐引入带有串行口的D\/A转换器,如SPI接口。在选择单片D\/A转换器时,需根据系统...

51单片机与AD转换程序
if(a>160&a<=180){P3=0x80;} if(a>180&a<=200){P3=0x90;} if(a>200&a<=220){P3=0x88;} if(a>220&a<=240){P3=0x83;} if(a>240&a<=255){P3=0xc6;} } }

51单片机接TLC2543进行A\/D转换输出数据末两位一直跳动
该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个...

80c51单片机A\/D转换器的三个重要指标是什么
1. 分辨率:A\/D转换器的分辨率是指其对输入信号微小变化的精细程度,通常通过转换器的数字输出位数来量化。一个n位转换器,其位数越多,分辨率越高。2. 精度:A\/D转换器的精度描述了数字输出值与其对应的模拟输入实际值之间的接近程度。在A\/D转换过程中,每个数字输出值对应的模拟输入值实际上是一个...

51单片机程序问题 stc12c5a60s2 的a\/d转换问题..
2.是按照一个字节读的,直接读ADC_RES的话只能读到数据的高八位。只用8位ADC转换的话,读ADC_RES就可以了。要想得到10位数据必须加上SendData(ADC_LOW2);3.既然send函数提到了SBUF,那么说明转换结果是通过串口传到电脑上,用STC下载工具的串口调试应该可以看到转换结果。4.连续读取可以用函数循环或...

STC单片机的A\/D转换值应该如何计算
不会的,满值的时候就是0xff,而不会是256,你可以用一个比满值电压稍大一点点的电压测试便可以看得出效果了,然后计算公式是:(寄存器值\/255)*参考电压=实际电压

单片机高速数据采集,A\/D转换和存储一般怎么实现?
关于高速存储——如果单片机没有做别的事情,那就用查询方式了,等待ADC转换完成,然后读取数据并写入RAM,这些操作只要几条指令就能完成的,所以能做到很快的速度。像你现在用要求的5Ksps的采样,对12MHz的51来说都能胜任,200us间隔内也能执行100条左右的指令吧,所以实现高速的存储是没问题的。

...用AT89C51单片机做电路,想用ADC0832做A\/D转换,我看见资料上说_百度...
只要单片机能正常工作就可以。你用AT89C51单片机做电路,是仿真吗?仿真可以。如果是做实物,就别用这个单片机了,因编程太麻烦了,需要专业的编程器。用AT89S51还可以,AT89C51早就淘汰了,没有人用了。最后,还是推荐你用STC单片机,因内部就有A\/D转换器,不必外加,很方便的。

相似回答