1. 单片机实验
没有电路,看程序,有些虚无缥缈的感觉。
2. 51单片机AD转换实验,电路和程序
#include <reg51.h>
#include <INTRINS.H>
#include <STDIO.H>
// define P1.0 to check STATUS.
sbit STATUS = P1^0;
unsigned char xdata CTRL _at_ 0x2FFF;
unsigned char xdata ADSEL _at_ 0x4FFF;
unsigned char hByte;
unsigned char lByte;
void adc_Convert (void)
{ // Start a conversion with A0 and A/$C$ low.
// The convesion takes place on rising CE edge.
CTRL = 0x00;
ADSEL = 0x00;
// Wait until we have completed a conversion .
while(STATUS==1);
// Set R/$C$ with A0 low and read the low byte.
CTRL = 0x02;
hByte = ADSEL;
// Set R/$C$ with A0 high and read the high.
CTRL = 0x03;
lByte = ADSEL;
}
void main(void)
{ unsigned int delay, MSB , LSB, adc_Res;
// Initialize serial interface
SCON = 0xDA; // SCON: mode 1, 8-bit UART, enable rcvr */
TMOD |= 0x20; // TMOD: timer 1, mode 2, 8-bit reload */
TH1 = 0xFD; // TH1: reload value for 1200 baud @ 12MHz */
TR1 = 1; // TR1: timer 1 run */
TI = 1; // TI: set TI to send first char of UART */
while(1)
{ adc_Convert();
MSB=(unsigned int)(hByte << 4);
LSB=(unsigned int)(lByte >> 4);
// adc_Res now has the converted data with 12-bit resolution.
adc_Res = MSB + LSB;
// Send adc results to the serial interface
printf("ADC READINGS: %03Xh\n", adc_Res);
// simple delay - it is mcu clock dependent !
for (delay=0; delay<10000; delay++)
;
}
}
3. 用单片机做电压报警器
这个只能告诉你大体的思路,至于详细的程序,要看硬件怎么设计的了,首先要测电压最简单的办法就是分压后ad,(单片机内部自带的ad或者外接的ad芯片),至于指示灯的跳动可以用定时器的中断来做,也是很简单的
4. 带AD的51单片机用于检测单节3.7V锂电池电压,单片机也是电池供电的,请教大家如何用单片机的AD检测电压
单片机AD本身应该是有一个基准电压的。看下规格书。把电池电压用电阻分压送到AD然后再换算一下
5. 单片机AD采样,10位AD和12AD的采样计算公式分别是什么
10位的,Uad=K*Vref/1024,12位的,Uad=K*Vref/4096
6. 问一个白痴问题:用单片机做AD采样,AD的最大采样频率可以达到250KHz。请问我怎么控制采样频率为250KHz
1微秒 要处理 4次 你用的是什么
单片机
AD是几位的
一般 AD 完成 有个信号的 触发
单片机
执行 端口读取 保存 显示 等操作
结果输出给单片机就行了
是这样的 至于 单片机 是不是 每个数据都 认真看过 1000个里面漏了两三个 都 假装不知道的
7. 单片机AD实验,求光敏电阻简单电路(实时测光)
找一个阻值不变的已知电阻和光敏电阻串联接到额定5V电源上,用已知电阻测未知电阻,这个初中课本上就有了。然后用AD读取光敏电阻的电压值,经过计算就可以了。
8. 51单片机做电压采集器,要求用AD转换器TLC2543,上位机启动AD采集信号,下位机显示电压值。
原理图和程序我倒是都可以做,但你这个下位机显示电压值什么意思?你做的这个单片机AD不是下位机吗?