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不是下位機嗎?