?? adc.c
字號:
/**********************************************************************
ADC.c file
LPC213X的ADC函數
作者:Computer-lov
建立日期:2006-3-25
修改日期:2006-3-25
最后修改時間: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 + -