`
insertyou
  • 浏览: 917359 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

AT91SAM7S64处理器8路A/D转换

 
阅读更多

最近在淘宝上淘到了1块AT91SAM7S64最小系统板,经扩展外围电路后,用来做A/D转换比较不错。现将A/D转换的代码贴出来供大家参考交流。

#include <AT91SAM7S64.H>
#include <stdio.h> /* I/O Functions */
void Init_ADC(void)
{
*AT91C_PMC_PCER = (1 << AT91C_ID_PIOA);// |
*AT91C_PMC_PCER=*AT91C_PMC_PCER|(1 << AT91C_ID_ADC);

*AT91C_ADC_CR=AT91C_ADC_SWRST;
*AT91C_ADC_MR=(AT91C_ADC_PRESCAL)|(AT91C_ADC_LOWRES_10_BIT);
*AT91C_ADC_CHER=AT91C_ADC_CH0|AT91C_ADC_CH1|
AT91C_ADC_CH2|AT91C_ADC_CH3|
AT91C_ADC_CH4|AT91C_ADC_CH5|
AT91C_ADC_CH6|AT91C_ADC_CH7;
}


void Adc_Start(void)
{
*AT91C_ADC_CR = AT91C_ADC_START;
}


unsigned int ADC_ReadValue(unsigned char CH)
{
unsigned int value;
*AT91C_ADC_CR = AT91C_ADC_START;

switch(CH)
{ case 0:
{
while ((*AT91C_ADC_SR & AT91C_ADC_EOC0) == 0);/* wait for ADC conversion */

value= (unsigned int) *AT91C_ADC_CDR0 & AT91C_ADC_DATA;
break;
}
case 1:
{
while ((*AT91C_ADC_SR & AT91C_ADC_EOC1) == 0);/* wait for ADC conversion */

value= (unsigned int) *AT91C_ADC_CDR1 & AT91C_ADC_DATA;
break;
}
case 2:
{
while ((*AT91C_ADC_SR & AT91C_ADC_EOC2) == 0);/* wait for ADC conversion */

value= (unsigned int) *AT91C_ADC_CDR2 & AT91C_ADC_DATA;
break;
}
case 3:
{
while ((*AT91C_ADC_SR & AT91C_ADC_EOC3) == 0);/* wait for ADC conversion */

value= (unsigned int) *AT91C_ADC_CDR3 & AT91C_ADC_DATA;
break;
}
case 4:
{
while ((*AT91C_ADC_SR & AT91C_ADC_EOC4) == 0);/* wait for ADC conversion */

value= (unsigned int) *AT91C_ADC_CDR4 & AT91C_ADC_DATA;
break;
}
case 5:
{
while ((*AT91C_ADC_SR & AT91C_ADC_EOC5) == 0);/* wait for ADC conversion */

value= (unsigned int) *AT91C_ADC_CDR5 & AT91C_ADC_DATA;
break;
}
case 6:
{
while ((*AT91C_ADC_SR & AT91C_ADC_EOC6) == 0);/* wait for ADC conversion */

value= (unsigned int) *AT91C_ADC_CDR6 & AT91C_ADC_DATA;
break;
}
case 7:
{
while ((*AT91C_ADC_SR & AT91C_ADC_EOC7) == 0); /* wait for ADC conversion */
value= (unsigned int) *AT91C_ADC_CDR7 & AT91C_ADC_DATA;
break;
}

}
return value;
}
附: PCB图,供交流。

PCB图

分享到:
评论

相关推荐

    at91sam7s64_ADC.rar_7s64_AT91SAM7S_SAM7S_at91sam7s64 _at91sam7s6

    在"at91sam7s64 arm的A/D转换测试代码"描述中,我们了解到这是一个针对AT91SAM7S64微控制器进行A/D转换功能测试的代码实例。在实际应用中,A/D转换器常用于采集传感器数据,如温度、湿度、压力等,这些数据以模拟...

    deb24ac6f88f66e5a09e1c840008dc40_A/D转换测试代码_arm_at91sam7s64_源码

    在本文中,我们将深入探讨基于ARM处理器的Atmel AT91SAM7S64微控制器进行A/D(模拟到数字)转换的测试代码及其相关知识。AT91SAM7S64是一款32位RISC微控制器,广泛应用于嵌入式系统设计,尤其在需要处理模拟信号并将...

    AT91SAM7S64_中文数据手册

    ### AT91SAM7S64_中文数据手册 关键知识点解析 #### 一、概述 AT91SAM7S64是一款由Atmel公司生产的32位ARM RISC架构微处理器,具备高性能、低功耗的特点。该芯片集成了大量的片上资源,非常适合应用于需要额外处理...

    AT91SAM7S64中文资料

    ### AT91SAM7S64 微处理器关键技术知识点 #### 一、产品概述 - **AT91SAM7S64** 是 Atmel 公司推出的一款基于 ARM7TDMI 的 32 位 RISC 架构的微处理器。这款微处理器集成了丰富的外设资源,并具有高性能和低功耗的...

    AT91SAM7S64_CN.rar_AT91SAM7S64 cn_AT91SAM7S64 pdf_at91sam7s64

    AT91SAM7S64是中国市场上广泛应用的一款微控制器,由Atmel公司设计生产。这款芯片以其高效能、低功耗的特点,在嵌入式系统设计中占有重要地位。AT91SAM7S64_CN.rar文件包含的是针对该芯片的中文数据手册,对于理解和...

    AT91SAM7s64 资料以及启动汇编程序

    AT91SAM7s64是一款基于ARM7TDMI架构的微控制器,由Atmel公司生产,广泛应用在嵌入式系统设计中。该处理器具备低功耗、高性能和丰富的外设接口,使得它成为许多物联网、工业控制和消费电子产品的理想选择。本文将深入...

    at91sam7s64(CN).rar_at91sam7s64

    AT91SAM7S64是一款基于ARM7TDMI内核的微控制器,由Atmel公司生产,广泛应用于嵌入式系统设计。该器件在工业和消费电子领域有着广泛的应用,如智能家居、汽车电子、自动化设备等。"at91sam7s64(CN).rar_at91sam7s64...

    AT91SAM7S64-cn.rar_at91sam7s64

    3. **外设接口**:AT91SAM7S64集成了丰富的外设接口,如UART(通用异步收发传输器)、SPI(串行外围接口)、I2C(集成电路间通信)、PWM(脉宽调制)、ADC(模数转换器)等,能够满足各种通信和控制需求。...

    AT91sam7s256 开发板原理图

    1. **处理器模块**:AT91SAM7S256是开发板的核心,它拥有256KB的闪存、32KB的SRAM、一个32位的总线结构以及各种片上外设,如GPIO(通用输入/输出)、ADC(模数转换器)、UART(通用异步收发传输器)等。 2. **电源...

    at91sam7s64(中文说明书)

    综上所述,AT91SAM7S64是一款高度集成的微处理器,不仅集成了高性能的ARM7TDMI处理器,还配备了丰富的内存资源和外设接口,使其成为8位处理器用户的理想升级选择。通过这些特性,开发者可以在更低的功耗下实现更高的...

    AT91SAM7S64中文数据手册

    ### AT91SAM7S64中文数据手册关键知识点总结 #### 一、产品概述 - **名称**:AT91SAM7S64是一款基于Atmel公司的32位ARM RISC架构的微处理器。 - **特点**:该处理器集成了一系列高性能特性与外围设备,适用于各种...

    AT91SAM7S-EK.rar_AT91SAM7S_AT91SAM7S-EK

    AT91SAM7S-EK是一款基于Atmel公司的AT91SAM7S系列微控制器的开发板,常用于嵌入式系统开发、学习和实验。这个RAR压缩包包含的资源主要是针对该开发板的测试源程序,特别是串口通信相关的应用。 AT91SAM7S系列是基于...

    AT91SAM.rar_AT91SAM7S_sam7s256_sam7s32_sam7s512

    这个压缩包"AT91SAM.rar"包含了关于AT91SAM7S系列的详细资料,特别是针对SAM7S256、SAM7S32和SAM7S512这三种型号的微控制器。下面将对这些知识点进行深入阐述。 一、AT91SAM7S系列概述 AT91SAM7S系列是Atmel公司...

    AT91SAM7s256.rar_At91sam7S256_touch panel

    1. **AT91SAM7s256微控制器**:该芯片集成了32位的ARM7TDMI-S处理器核心,工作频率高达48MHz,拥有256KB的闪存和32KB的SRAM。其特性包括多个串行通信接口(UART, SPI, I2C),通用输入输出(GPIO)端口,以及定时器和...

    嵌入式移动监控系统at91sam7s256

    3. **外设接口**:AT91SAM7S256集成了多种通信接口,如UART(通用异步收发传输器)、SPI(串行外围接口)、I²C(集成电路间通信)和USB(通用串行总线),这些接口可连接摄像头、传感器和其他设备,实现数据交换。...

    at91sam7s64-P10-ad-wx-ds3231.rar

    本文将详细探讨DS3231这款高精度实时时钟(RTC)芯片,并分析其驱动代码,以供在基于at91sam7s64处理器的系统中进行底层开发时参考。 DS3231是一款由Maxim Integrated生产的高精度RTC芯片,它提供了卓越的时间保持...

Global site tag (gtag.js) - Google Analytics