⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adcsingl.c

📁 8051试验程序 基础教材
💻 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<ioaduc843.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 + -