📄 adccont.c
字号:
/* Author : ADI - Apps www.analog.com/MicroConverter
Date : October 2003
File : ADCcont.c
Hardware : ADuC842
Description : Performs ADC conversions in continuous mode at a
rate of 104KSPS (assuming an 2.097152 Mclk).
Outputs ADC results via UART. Continuously
flashes LED.
All rate calculations assume an 2.097152MHz Mclk. */
#include<stdio.h>
#include<ioaduc842.h>
#define adcled P3_bit.P33
#define LED P3_bit.P34 //P3.4 drives red LED on eval board
#pragma vector = ADCI_int
__interrupt void adc_int(){
printf("%02BX%02BX\n",ADCDATAH,ADCDATAL);
return;
}
void DELAY(int length);
void main(void)
{
int CHAN = 0;
T3CON=0x083;
T3FD= 0x02D;
SCON = 0x052;
/* PRECONFIGURE... */
ADCCON1 = 0x0AC; // power up ADC /8 + 4 acq clock
ADCCON2 = CHAN ; // select channel to convert
/*LAUNCH CONTINUOUS CONVERSIONS...*/
IE_bit.EA = 1; // enable interrupts
IE_bit.EADC = 1; // enable ADC interrupt
ADCCON2_bit.CCONV = 1; // begin continuous conversions
/* CONTINUE WITH OTHER CODE... */
for (;;)
{
DELAY(20);
LED ^= 1; // blink (complement) the LED
}
// the micro is free to continue with other tasks (flashing the LED in
// this case) while the ADC is continuously converting, and results
// are being handled by the ADC interrupt service routine.
}
void DELAY(int length)
{
while (length >=0)
length--;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -