新闻中心

EEPW首页>嵌入式系统>设计应用> MAX194在ARM单片机系统中的应用

MAX194在ARM单片机系统中的应用

作者: 时间:2012-03-27 来源:网络 收藏

本文引用地址: //m.amcfsurvey.com/article/171765.htm


2 LPC2104芯片简介
LPC2104 包含一个支持仿真的7TDMI-S CPU、与片内存储器控制器进行接口的7局部总线、与中断控制器接口的AMBA高性能总线(AHB)以及用于连接片内外设的VLSI外设总线VPB与7 高级外设总线相兼容的超集。主要特点有:128 K 片内Flash 程序存储器带ISP 和IAP 功能;Flash 编程时间1 ms;可编程512字节;扇区擦除和整片擦除只需400 ms;16 K 静态RAM;向量中断控制器;仿真跟踪模块支持实时跟踪;标准ARM 测试/调试接口兼容现有工具;双UART的其中一个带有完全的调制解调器接口;高速I2C 串行接口400 kB/s;SPI 串行接口;两个定时器分别具有4 路捕获/比较通道;多达6 路输出的PWM 单元;实时时钟;看门狗定时器;通用I/O 口;CPU 操作频率可达60 MHz。
3与LPC2104接口设计
3.1 硬件接口
和LPC2104都带有标准的SPI接口,可以非常方便地实现它们的硬件和软件接口。其硬件接口如图2所示。SPI 是一个全双工的串行接口,它被设计成用于处理在一个给定总线上多个互连的主机和从机。在一定数据传输过程中,接口上只能有一个主机和一个从机通信。在一次数据传输中,主机总是向从机发送一个字节数据,而从机也总是向主机发送一个字节数据。
在该中,LPC2104设置为主机,设置为从机主机操作。
3.1 软件实现
软件的流程图如图4所示。主要分为三大部分。


1、SPI配置部分:首先,配置LPC2104的SPI引脚模块;随后,设置SPI_SPCCR和SPI_SPCR,并将LPC2104的SPI模块设置为主模式,MSB(最高位)先传输,禁止SPI中断,SPI接口速率为1 MHz,CPOL=0、CPHA=0在SCLK下降沿触发。
2、MAX194转换部分:通过向MAX194的CONV引脚发低脉冲启动A/D转换,转换开始后MAX194的EOC引脚变为高电平,可通过检测EOC引脚是否变为低电平来判断A/D转换的完成。
3、MAX194数据读取部分:首先置低MAX194的CS片选引脚,将无效数据0XFF送至SPI_SPDR以启动SPI总线,通过判SPIF位的置位来判断SPI总线传输是否完成,读取SPI_SPDR后,获得A/D转换结果的第一个字节(BIT13-BIT6)并调整数据;将无效数据0XFF再送至SPI_SPDR,然后再启动SPI总线,仍通过判SPIF位的置位来判断SPI总线传输的完成情况,读取SPI_SPDR后,获得A/D转换结果的第二个字节(BIT13-BIT6)并调整数据,最后将MAX194 的14位A/D转换数据存储在16位无符号变量rcv_data中。
#include “LPC2104.H”// 调用LPC2104寄存器头文件
#define MAX194_CS 0x00000100 // P0.8口为MAX194的片选和信号
#define MAX194_EOC 0x00000100 // P0.9口为MAX194的转换结束信号
#define MAX194_UP 0x00000400 //P0.10口为MAX194的三态选择信号
#define MAX194_CONV 0x00000800 //P0.10口为MAX194的转换启动信号
int main(void)
{ uint16 rcv_data; //存储A/D 转换后的14位数据的变量
PINSEL0 = 0x00005500; //设置SPI管脚连接
PINSEL1 = 0x00000000;
IODIR = MAX194_CS|MAX194_UP|MAX194_CONV;// 设置P0.8,P0.10,P0.11为输出
……
MSpiIni( ); // 初始化SPI接口
MSendData(0xFF,rcv_data); // 进行A/D转换病读取数据
……
}



评论


相关推荐

技术专区

关闭