基于PIC18f45k22单片机和ADS8341SPI通

基于PIC18f45k22单片机和ADS8341SPI通摘要:本文介绍了通过硬件和软件两种方式实现PIC18f45k22单片机与TI公司的模数转换器ADS8341的SPI接口通信,给出了具体的硬件电路和相关的软件流程,实现了数据交换。关键词:PIC18f45k22;SPI;ADS8341;共用体中图分类号:TP368.12文献标识码:A文章编号:1674-7712(2013)12-0000-01一、ADS8341简介ADS8341是TI公司在2001年推出的具有串行接口的16位高速逐次逼近行的A/D转换器。它是拥有4通道独立输入端或2通道差动输入端,带有SPI接口的通信,转换速率大于100KHZ,转换精度高,芯片工作电压范围在2.7V〜5V,SS0P-16封装,安装尺寸很小,正常温度为-400C〜+850C。基准电压源的范围为500mV-Vcc之间变化,在低功耗模式下,芯片的功率小于15UWo二、ADS8341与PIC18f45k22通信的硬件设计在这里我们使用的是微星公司的PIC18f45k22单片机与ADS8341进行SPI通信,连接图如下:ADS8341控制字的设定,参考表T,s必须拉高,才能开始转换。A0-A2为转换的输入端口,具体设置参考表-2。SGL/DIF为单端模拟信号或是差动信号输入控制位,它必须结合A0-A2一起设置模拟信号的输入。PDO与PD1为电源模式的选取位。例如我们设置控制字为94H,开始AD转换的是CHO单通道,进入低功耗模式和工作方式为外部时钟模式。在外部时钟模式下,ADS8341的时钟由MCU提供,当它接收到来自MCU的控制字随后的一个时钟周期BUSY脚被拉高转换的结果会在后16个周期的下降沿通过DOUT脚输出,具体的数据时序图请参考它的datasheeto在外部时钟模式下,BUSY维持高电平到输出数据MSB的建立需要一个时钟周期,完成一次AD数据的釆集至少需要25个时钟周期,若采用的是8位的MCU与ADS8341进行通信,需要对ADS8341的输出数据进行读三次。基于以上考虑,我们可以采用32个时钟周期来读一次转换的数据,前8个时钟周期用于MCU发送控制字,后面24个时钟周期,连续三次读DOUT引脚的数据。在具体C语言编程上面,我们可以借助一个联合体,和一个属部变量来达到最终目的,部分程序如下。相应的MCU寄存器的配置就不详述,该款单片机我们可以直接使用它的库函数对SPI接口进行读写,使用非常方便。unionuADunsignedintA;unsignedcharB[2];}//定义的联合体SPI_CS=0;//片选拉低,启动AD芯片SPIJVrite(0);//选择CH0为AD的输出uAD.B[l]二ReadSPIl();//第1次读DOUT数据uAD.B[0]=ReadSPIl();//第2次读DOUT数据ucAdlowO二ReadSPIl();//第3次读DOUT数据・ucAdlowO为定义的临时变量,uAD.A二(uAD.A>7);//数据合并三、软件程序实现在MPLAB集成开发环境下,运用微星公司18系列单片机的函数库对PIC18f45k22进行相关操作设置非常方便。在这里以SPI口读取ADS8341转换结果,并把结果通过串口发送出来,方便用串口助手等工具进行观察,具体以主函数为例来说明整个流程。voidmain(void){unionad_r//定义一个共用体{unsignedcharad[2];unsignedinty;}adr;InitialMCU();//单片机初始化,包含10口设置、中断设置串口1初始化等。while(1)SPICS二0;//SPI片选信号DelaylKTCYx(50);//延时putcSPIl(0x94);//单片机的SPI口发送ADS8341的控制字while(SPI_BUSY);〃判断AD转换是否完成adr.adEl]=getcSPIl();//读岀AD转换结果的高8adr.ad[0]二getcSPIl();〃读出AD转换结果的低8位DelaylKTCYx(50);//延时SendBytebyUARTl(?);//串口1发送标识符“#”SendBytebyUARTl(adr.ad[l]);//串口1发送AD转换结果的高8位SendBytebyUARTl(adr.ad[0]);//串口1发送AD转换结果的低8位SendBytebyUARTl('\”);//回车SendBytebyUART1(,\n?);//换行四、结束语本文在硬件上运用PIC18f45k22单片机与ADS8341进行连接,在软件方面,在MPLAB集成开发环境下运用C语言编程,特别是定义一个共用体,成功实现对ADS8341的AD转换结果的读取,实现了数据交换。参考文献:[1]周坚.PIC单片机轻松入门[M].北京:北京航空航天大学出版社[2]TexasinstrumentsincProducts.http://www.ti.com.cn/cn/lit/ds/symlink/ads8341.pdf

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?