当前位置:首页 > 单片机 > 单片机
[导读]使用的是RVDS4.0编译的大家主要是看看如何配置模式的我之前一直使用自动X,Y采样,但是读取的都不准,最后采样分离的,才可以,需要注意的是使能ADC读开始后需要先读转换结果寄存器,但是此时读取的是上一次的转换结果,

使用的是RVDS4.0编译的

大家主要是看看如何配置模式的

我之前一直使用自动X,Y采样,但是读取的都不准,最后采样分离的,才可以,需要注意的是使能ADC读开始后需要先读转换结果寄存器,但是此时读取的是上一次的转换结果,如果是连续读取需要等待转换完成,否则转换结果不准.

adc.c


/*************************************************************************************************************

*文件名:ADC.c

*功能:S3C6410ADC底层驱动函数

*作者:cp1300@139.com

*创建时间:2012年3月12日21:05

*最后修改时间:2012年3月12日

*详细:触摸屏驱动以及相关ADC驱动

*问题:一直以来存在一个误区,一直以为使用了启动开始读操作,每次读DAT寄存器后就可以读取到转换后的数据,最终发现使用这个后读到的是上一次的数据,

*还是需要等到转换完成,否则连续转换的时候数据会非常乱.

*现在使用的是手动控制转换开始

*************************************************************************************************************/

#include"system.h"

#include"ADC.h"

//ADC的控制寄存器ADCCON

#defineADCCON_RESSEL_12BIT(1<<16)//12bit模式

#defineADCCON_ECFLG(0<<15)//A/D转换结束标志只读;

#defineADCCON_PRSCEN(1<<14)//A/D转换器预分频器使能

#defineADCCON_PRSCVL(32<<6)//预分频值,1-255,分频值+1,至少为PCLK的1/5,此时PCLK=66MHZ,在2.5MHZ时钟下转换最快

#defineADCCON_SEL_MUX(0<<3)//默认选择通道0

#defineADCCON_STDBM(0<<2)//正常模式

#defineADCCON_READ_START(0<<1)//关闭启动开始读操作

#defineADCCON_ENABLE_START(0<<0)//如果READ_START启用,这个值是无效的。

//ADCDLY

#defineADCDLY_DELAY500//自动采样延时时间,

/*************************************************************************************************************************

*函数:voidSetADC_Channel(u8ch)

*功能:设置ADC输入通道

*参数:ch:通道号,0-7

*返回:无

*依赖:底层宏定义

*作者:cp1300@139.com

*时间:20120513

*最后修改时间:20120513

*说明:ADC输入通道选择

*************************************************************************************************************************/

voidSetADC_Channel(u8ch)

{

ADC->CON&=~(7<<3);//清除通道

ADC->CON|=ch&(0x07);//设置通道号

}

/*************************************************************************************************************************

*函数:voidADC_Init(void)

*功能:ADC初始始化

*参数:无

*返回:无

*依赖:底层宏定义

*作者:cp1300@139.com

*时间:20120312

*最后修改时间:20120313

*说明:ADC初始始化

*************************************************************************************************************************/

voidADC_Init(void)

{

//ADC的控制寄存器配置;12BIT模式

ADC->CON=ADCCON_RESSEL_12BIT+ADCCON_ECFLG+ADCCON_PRSCEN+ADCCON_PRSCVL+ADCCON_SEL_MUX+ADCCON_STDBM+ADCCON_READ_START+ADCCON_ENABLE_START;

ADC->DLY=ADCDLY_DELAY;//设置自动间隔采样时间

}

/*************************************************************************************************************************

*函数:voidADC_SetMode(u8Mode)

*功能:设置ADC模式

*参数:无

*返回:无

*依赖:底层宏定义

*作者:cp1300@139.com

*时间:20120313

*最后修改时间:20120313

*说明:设置ADC模式

*************************************************************************************************************************/

voidADC_SetMode(u8Mode)

{

ADC->TSC&=(1<<8);//清除原先设置

ADC->CON&=~BIT2;//退出待机模式

XP_UP_DISABLE();//XP上拉禁止

Normal_ADC_Mode();//普通ADC模式

switch(Mode)

{

caseCOMMON_AD_MODER://普通ADC模式

Normal_ADC_Mode();break;

caseASUNDER_X_MODER://分离的X扫描模式

{

ADCTSC_XP_VDD();

ADCTSC_XM_GND();

ADCTSC_YP_HZ();

ADCTSC_YM_HZ();

X_PosMode();

}break;//XP=外部电源,XM=GND,YP=AIN5,YM=高阻

caseASUNDER_Y_MODER://分离的Y扫描模式

{

ADCTSC_X

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭