📄 adcsingl.c
字号:
/*********************************************************************
Author : ADI - Apps www.analog.com/MicroConverter
Date : October 2003
File : ADCsingl.c
Hardware : ADuC842
Description : Performs repeated single ADC conversions and moves
results to UART. Sets the red LED on the eval
board upon completion of each conversion.
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("\n%02BX%02BX\n",ADCDATAH,ADCDATAL);
return;
}
void DELAY(int); // Function prototype
void main(void)
{
int CHAN=0;
/* Set up UART */
T3CON = 0x083;
T3FD = 0x02D;
SCON = 0x052;
/* PRECONFIGURE...*/
ADCCON1 = 0x0AC; // power up ADC
ADCCON2 = CHAN; // select channel to convert
IE_bit.EA = 1; // enable interrupts
IE_bit.EADC = 1; // enable ADC interrupt
/* PERFORM REPEATED SINGLE CONVERSIONS...*/
for(;;)
{
DELAY(17000);
LED ^= 1; // Complement LED
ADCCON2_bit.SCONV = 1; // Perform single conversion
while (ADCCON2_bit.ADCI == 0)
{
} // wait for interupt
}
}
void DELAY(int length)
{
while (length >=0)
length--;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -