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

📄 adc.c

📁 嵌入式系统OS2 在ARM LPC213X 平台上的模板
💻 C
字号:
/**********************************************************************
  ADC.c file
  LPC213X的ADC函数
 
本程序只供学习使用,不得用于其它任何用途,否则后果自负。

  ARM_OS_main.c file

  LPC213x上的操作系统——ARM_OS

  作者:heciang
  联系电话:13811129591
  QQ:176780142
  Email:heciang@126.com
  建立日期:2006-5-1
  修改日期:2006-5-15
  最后修改时间:2006-08-25
  版本:V1.0
 
  Copyright(C) Computer-lov 2006-2016
  All rights reserved
**********************************************************************************************/
**********************************************************************/


#include "CPU.H"

#include "My_type.h"
#include "ADC.h"
#include "KEYS.H"

////////////////////////由软件启动一次转换,并将ADC结果返回//////////////////////////
uint16 ADC_software_conversion(void)
{
 uint16 result;

 AD0CR |= 1<<24;			//开始启动一次转换
 while((AD0DR & 0x80000000)==0);	   //等待转换完成
 AD0CR |= 1<<24;			//再次启动一次转换
 while((AD0DR & 0x80000000)==0);	   //等待转换完成

 result=(AD0DR>>6)&0x3FF;              //读取结果
 return result;             //返回结果
}
/////////////////////////////////////////////////////////////////////////////////////

/////////////////////////////ADC校准/////////////////////////////////////////////////
void ADC_calibration(void)
{
 //LPC213x的ADC没有校准功能。
}
//////////////////////////////////////////////////////////////////////////////////

////////////////////////////ADC初始化/////////////////////////////////////////////
void ADC_init(void)
{
 //将P0.30连接到AD0.3
 PINSEL1 &= ~0x20000000;
 PINSEL1 |=  0x10000000;
 
 //ADC模块设置
 AD0CR=(1<<3)|(55<<8)|(1<<21)|(1<<24);
 while((AD0DR & 0x80000000)==0);	   //等待转换完成
}
//////////////////////////////////////////////////////////////////////////////////


//////////////////////////选择通道ch,启动转换,并将ADC结果返回///////////////////
uint16 read_ADC(uint8 ch)
{
 //设置通道
 AD0CR &= ~0xFF;
 AD0CR |= (1<<ch);
 return ADC_software_conversion();
}
//////////////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

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