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

📄 adc1.h

📁 C8051F020单片机AD转换程序
💻 H
字号:
/************************************************************************************
*  Copyright (c) 2004,西安铭朗电子科技有限责任公司
*            All rights reserved.
*
* 文件名称: ADC0.H
* 文件标识: none
* 适用器件: C8051F020
* 
* 摘 要: 本文件是AD子程序头文件;使用外部22.1184MHz晶振
* 
* 当前版本:1.1
* 作 者:刘大伟
* 完成日期:2007年2月9日
*
*************************************************************************************/
#ifndef __ADC1_h__
#define __ADC1_h__

/************************************************************************************
* 常量及全局变量定义
*************************************************************************************/
static unsigned char xdata ADC1_result[8];	// 8Bit ADC1 数值寄存数组

sfr16 TMR3RL   = 0x92;                 		// Timer3 reload value
#define Timer3_Reload_init	TMR3RL			// 定时器3重装载数值寄存器
sfr16 TMR3     = 0x94;                 		// Timer3 counter
#define TMR3_Count_Start  	TMR3=0xffff		// 设置定时器3计满溢出,立即装载.
#define SYSCLK       		22118400        // SYSCLK frequency in Hz
#define BAUDRATE     		115200          // Baud rate of UART in bps
#define SAMPLERATE0  		50000           // ADC1 Sample frequency in Hz
#define VREF0        		2500            // VREF voltage in millivolts
#define ADC1_IntFlag_Clear	ADC1CN&=0XDF	// 清零AD中断标志位
#define ADC1_Start			ADC1CN|=0X80	// ADC1中断使能
#define ADC1_Stop			ADC1CN&=0X7F	// ADC1中断使能关闭
#define DISABLE_INTERRUPTS  EA=0			// 中断禁止
#define ENABLE_INTERRUPTS   EA=1			// 中断允许
#define ADC1_Channel 		AMX1SL			// ADC1通道寄存器
#define ADC1_Channel_0 		AMX1SL=0x00		// ADC1使用"0"通道
#define Timer3_Stop		TMR3CN = 0x02  		// 清除定时器3中断标志位,定时器3禁止。
#define Timer3_Start	TMR3CN|= 0x04  		// 定时器3开启
#define DISABLE_Tmr3	EIE2&=0xFE			// 定时器3中断允许
#define ENABLE_ADC3		EIE2|=0x08			// 打开ADC1中断
#define ADC1_Ctr_Set	ADC1CN = 0x02		// ADC1控制设置,定时器3溢出启动AD转换,数据左对齐
#define REF_Ctr_Set		REF0CN = 0x03		// 打开温度传感器, on-chip VREF
#define ADC1_Gain		ADC1CF|=0x01		// ADC1增益设置
#define SAR1_Clk		2500000				// ADC1 SAR转换时钟数值
#define	SAR1_Clk_Set	ADC1CF=(SYSCLK/SAR1_Clk)<<3		// ADC1 SAR转换时钟数值设置
											// 请参考C8051F020.PDF

/******************************函数外部引用声明**************************************/

/***********************************************************************************
* 函数名称:ADC1_Init;
*
* 函数功能描述:设置ADC0使用定时器Timer3溢出作为转换源,转换完成后产生中断,使用左对齐输出模式
*              
* 输入参数:unsigned int类型指针,是ADC0使用时存放返回数据数组的指针;
*
* 返回数据:none;
*
* 注意:    none;
***********************************************************************************/
void ADC1_Init (void);

/***********************************************************************************
* 函数名称:Timer3_Init;
*
* 函数功能描述:lcd_init;
*              
* 输入参数:none;
*
* 返回数据:none;
*
* 注意:    none;
***********************************************************************************/
void Timer3_Init (int counts);

/***********************************************************************************
* 函数名称:ADC1_enable
*
* 函数功能描述:ADC1开关,1:打开;0:关闭
*              
* 输入参数:1:打开;0:关闭
*
* 返回数据:none;
*
* 注意:    none;
***********************************************************************************/
void ADC1_enable(unsigned char flag);

/***********************************************************************************
* 函数名称:ADC_Value;
*
* 函数功能描述:ADC0,ADC1转换完成后数据寄存器数据转换成unsigned int型
*              
* 输入参数:unsigned char类型,"0"为选择转换ADC0数据格式,非"0"为选择转换ADC1数据格式;
*
* 返回数据:unsigned int类型,当前AD转换完成后的unsigned int类型数据量;
*
* 注意:    none;
***********************************************************************************/
unsigned int ADC_Value (unsigned char Flag);

/***********************************************************************************
* 函数名称:ADC_Value_Return;
*
* 函数功能描述:主程序通过此函数取得ADC0目标通道数据
*              
* 输入参数:unsigned char类型,ADC0通道号;
*
* 返回数据:unsigned int类型,ADC0通道对应的数据;
*
* 注意:    ADC0共有9个通道(包括温度通道),注意范围,超出范围返回0XFFFF;
************************************************************************************/
unsigned int ADC_Valud_Return (unsigned char channel);

/************************************************************************************/
#endif

/**************************************************************************************
* 文件结束
**************************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -