毕业设计(论文)-基于PIC单片机SPI接口的数据采集模块设计.doc
《毕业设计(论文)-基于PIC单片机SPI接口的数据采集模块设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于PIC单片机SPI接口的数据采集模块设计.doc(44页珍藏版)》请在三一文库上搜索。
1、基于PIC单片机SPI接口的数据采集模块设计基于PIC单片机SPI接口的数据采集模块设计摘 要 PIC单片机比MCS-51单片机功能更强大,因为其内部集成了A/D转换模块、USART通讯模块及MSSP端口;本文介绍一种基于PIC16F877A单片机的数据采集模块的设计。首先主机的A/D端口接电位器,实现模拟电压向数字信号的转换,然后对转换后得数据通过SPI接口传输给从机,从机通过显示控制芯片HD7279A,最后通过四位数码管把采集的模拟电压显示出来。系统需要两片单片机完成,分为主机和从机,主机完成数据的采集、A/D转换,转换结果的输出,从机主要完成数据的接受,工程量变换功能。程序采用C语言编写
2、,在集成开发环境MPLAB-IDE下完成编译及程序下载,最终实现能通过调节电位器实现变化的电压显示。关键词 PIC单片机 数据采集 A/D转换 SPI接口 DESIGN OF DATA COLLECTION SYSTEM BASED ON THE SPI PORT of PIC MICROCONTROLLERABSTRACTThe function of PIC MCU is more powerful than MCS-51, because it integrate a large number of on-chip peripherals such as AD converter mod
3、ule. USART communication module and MSSP port, This article introduced the design of data collection system based on the SPI port of PIC MCU, first the ADC converter module is connected with the potentiometer, so the analog voltage can be converted to digital signal, and then send them to the master
4、 microprocessor by the SPI port, The slave display the analog voltage through multi-point calibration which is controlled by the HD7279A.It needs two pieces of microcontroller to do the job, which is divided into the master and the slave, the former completes data collection, A / D conversion, the c
5、onversion results of output, and the later accepts the data transmission as well as the quantity change. C language is used in programming, the MPLAB-IDE integrated development environment completes compiling and downloading. And finally the analog voltage is displayed.KEY WORDS PIC MCU Data Collect
6、ion AD Conversion SPI Port40目 录摘 要IABSTRACTII1 绪论11.1 课题背景及研究意义11.2 本设计方案介绍22 硬件部分设计32.1 PIC单片机介绍32.1.1 PIC单片机的优越之处32.1.2 PIC16F877A最小系统图及主要性能42.2 PIC单片机片内ADC模块及接口实现52.2.1 ADC模块结构和操作原理52.2.2 ADC模块相关的寄存器介绍62.2.3 A/D转换接口电路设计72.3 主控同步串口MSSP介绍92.3.1 I2C总线介绍92.3.2 SPI 简介102.3.3 SPI主模式接口设计132.3.4 SPI从模式接口
7、设计142.4 HD7279A芯片原理介绍及接口实现152.4.1 HD7279A简介152.4.2 HD7279指令介绍162.4.3 HD7279A的接口实现202.5 电源模块233 软件设计程序流程图253.1 C语言编程简介253.2 MPLAB IDE编程环境简介253.3 MPLAB ICD2介绍263.3.1 MPLAB ICD2系统组成263.3.2 MPLAB ICD2的安装和配置273.4 系统程序流程图294结论31致 谢32参考文献33附 录134附 录235附 录336基于PIC单片机SPI接口的数据采集模块设计1 绪论1.1 课题背景及研究意义在工业生产和日常生活
8、中,经常要对模拟信号进行测量与控制,例如在有些系统中经常要对模拟电压信号进行采集并显示出来,于是数据采集模块必不可少。数据采集涉及多学科,所研究的对象是物理或生物等各种非电或电信号,如温度、压力、流量、位移等模拟量,根据各种非电或电信号的特征,利用相应的归一化技术,将其转化为可真实反映事物特征的电信号后,经A/D转换器转换为计算机可识别的有限二进制数编码,即数字量,并进行存储、处理、显示或打印。以此二进制数字编码作为研究自然科学和实现工业实施控制的重要依据,实现对宏观和微观自然科学的量化认识3。在当今社会各个领域,包括科研和实验研究,数据采集系统有着不可替代的作用,数据采集和处理进行的越及时,
9、工作效率就越高,取得的经济效益就越大,数据采集系统性能的好坏主要取决于它的精度和速度,在保证精度的条件下,还要尽可能地提高采样速度,以满足实时采集、实时处理和实时控制的要求。数据分析是指用适当的方法对采集的数据进行分析,以求最大化的开发数据资料的功能,发挥数据的作用,并将分析结果显示出来,通过数据采集硬件采集到数据,然后将其传送到CPU中,应用不同的软件,将采集到的数据进行实时分析,并显示出分析结果。其典型的系统组成如图1-1所示1:物理量传感器信号调理数据分析SOFTWARECPU数据采集硬件变换器图1-1 数据采集典型系统框图1.2 本设计方案介绍本设计主要由PIC单片机完成。模拟信号的采
10、集离不开AD转换,通常我们都是采用AD转换器实现由模拟量到数字量的转换,然后将数字信号输入单片机进行数字处理;其特点是工作性能可靠、稳定,但灵活性差、成本也比较高。本文所介绍的技术是利用PIC单片机的特点结合AD转换的技术直接实现AD转换,该方法只需外接少量元件,而且分辨率可编程设置,且可实现多路AD转换,此技术主要用于控制精度要求不是很高、成本要求较低的电子产品中,意义尤为突出1。PIC单片机具有SPI总线,SPI是一种高速的、全双工、同步的通信总线,并且只占用四根线。为了系统功能的扩展,又是一个单片机不能完成整个系统的要求,这时就需要两个单片机,第一片完成数据的采集、AD转换、转换结果的输
11、出,第二片主要完成数据的接受,工程量变换等功能,本设计就是基于这种情况而设计的。数据采集模块构架框图如图1-1所示:PIC16F877A最小系统(从机)PIC16F877A最小系统(主机)数据采集模块HD7279A显示控制芯片四位数码显示模块AD转换转换SPI图1-2 数据采集模块构架框图通过上图可知,要完成本系统设计,一下几个模块必不可少,按照数据流动的先后顺序,依次是:AD采集模块、SPI模块、HD7279显示控制模块,各模块联系紧密,在下面的论文当中,会按照这个顺序一一进行介绍。要想成功完成设计,硬件和软件两者缺一不可。2 硬件部分设计2.1 PIC单片机介绍2.1.1 PIC单片机的优
12、越之处 PIC单片机采用了RISC结构,其高速度、低电压、低功耗、大电流LCD驱动能力和低价位OTP技术等都体现出单片机产业的新趋势。PIC16F877是Microchip公司于1998年底推出的一款特色鲜明的新产品,片内资源丰富,使用方便等诸多优点使其在应用领域中越来越受用户喜爱,这也是本设计为什么要采用它的原因,其主要特点如下所述13:(1)哈弗总线结构:MCS-51单片机的总线结构是冯-诺依曼型,计算机 在同一个存储空间取指令和数据,两者不能同时进行;而PIC单片机的总线结构是哈佛结构,指令和数据空间是完全分开的, 正因如此,PIC单片机程序和数据总线可以采用不同的宽度。数据总线都是8位
13、的,但指令总线位数分别位 12、14、16位。(2)流水线结构:MCS-51单片机的取指和执行采用单指令流水线结构,即取一条指令,执行完后再取下一条指令;而PIC的取指和执行采用双指令流水线结构,当一条指令被执行时,允许下一条指令同时被取出,这样就实现了单周期指令。 (3)寄存器组:PIC单片机的所有寄存器,包括I/O口,定时器和程序计数器等都采用RAM结构形式,而且都只需要一个指令周期就可以完成访问和操作;而MCS-51单片机需要两个或两个以上的周期才能改变寄存器的内容。(4)运行速度高、功耗低(5)驱动能力强、程序保密性强每个I/O引脚吸入和输出电流的最大值可分别达到25mA和20mA,能
14、够直接驱动发光二极管LED、光电耦合器或者轻微继电器等;其内部程序尚无法直接进行拷贝,可最大限度保护用户版权1。2.1.2 PIC16F877A最小系统图及主要性能 由于本系统对速度要求并不是很高,故没必要采用很高的晶振,4M已经可以满足系统需求。由于上电复位不是很可靠,程序一旦跑飞就得重新上电,故本系统采用按键复位电路,上电复位电阻为10K,电容选电解电容10uF,该电路的优点在于降低复位引脚对地的阻抗,可以显著增强单片机复位电路的抗干扰能力,并且有利于程序的调试,PIC16F877A的最小系统如图2.21所示: 图2-1 PIC16F877A最小系统图与本设计相关主要性能参数如下所示6:l
15、 具有高性能的CPUl 除程序分支指令为两个周期外,其余均为单周期指令l 8K * 14个 FLASH程序存储器368 * 8 个数据存储器(RAM)字节256 * 8 EEPRM 数据存储器字节l 提供14个中断源l 10位多通道模数转换器l 内部有主控同步串行通讯端口MSSP,可工作于SPI、I2C两种模式l 功耗低在5V,4MHZ 时钟运行时电流小于 2mA在3V,32KHZ 时钟运行时电流小于20uAl 支持在线串行编程(ICSP)l 运行电压范围广,2.0V到5.5Vl 输入及输出电流可达到25mA2.2 PIC单片机片内ADC模块及接口实现2.2.1 ADC模块结构和操作原理 PI
16、C16F87X内部带有10位ADC,40脚封装的芯片内有8通道ADC,其内部结构包含四部分:8选1选择开关、双刀双掷开关、A/D转换电路和采样/保护电路。PIC16F87X的ADC内部结构示意图如图3.1-1所示。图2-2 ADC模块内部结构图ADC模块各部分功能和组成关系如下:(1)8选1选择开关由控制寄存器ADCON0中的CHS2-CHS0位控制,用于在引脚AN0-AN7中选择将要进行转换的输入模拟通道,选中者与内部采样/保持电路接通。(2)双刀双掷切换开关由控制寄存器ADCON1中的PCFG3-PCFG0位控制用于选择A/D转换器所需要的参考电压源的获取途径。(3)A/D转换电路用于实现
17、将模拟信号转换为数字量。(4)采样/保持电路用于对输入模拟信号电平进行抽样,并且为后续A/D转换电路保持一个平稳的电压样值。2.2.2 ADC模块相关的寄存器介绍1. ADC控制寄存器0-ADCON0 见表3-1。表2-1 ADCON0各位描述符号地址Bit7Bit6Bit5Bit4Bit3Bit2bit1Bit0ADCON01FHADCS1ADCS0CHS2CHS1CHS0GO-ADON功能:l ADCS1-ADCS0:A/D转换时钟及频率选择位l CHS2-CHS0:A/D模拟通道选择位l GO/DONE:A/D转换启动控制位,兼作状态位,在ADON=1的前提下,1=启动A/D转换或转换正
18、在进行中,0=A/D转换已完成。2. ADC控制寄存器1-ADCON1见表2-2。表2-2 ADCON1各位描述符号地址Bit7Bit6Bit5Bit4Bit3Bit2bit1Bit0ADCON19FHADFM-PCFG3PCFG2PCFG1PCFG0功能:l ADFM:A/D转换结果格式选择位。1=结果右对齐,ADRESH寄存器高6位读作0;0=结果左对齐,ADRESL寄存器低6位读作0。l PCFG3-PCFG0:A/D模块引脚配置位。这三个决定了功能复用的引脚那些作为普通数字I/O口,哪些作为A/D转换时的电压信号输入。在8位分辨率的A/D转换模块中其组合控制模式见表3-3。表2-3 位
19、分辨率的A/D模块引脚配置PCFG2-PCFG0AN7AN6AN5AN4AN3AN2AN1AN0000AAAAAAAA001AAAAVrefAAA010DDDAAAAA011DDAAVrefAAA100DDDDADAA101DDDDVrefDAA11xDDDDDDDD3. ADC结果高字节寄存器ADRESHl 当ADMF=0时,用于存放A/D转换结果的高8位;当ADMF=1时,用于存放A/D转换结果的高2位,此时结存器的高6位读作0。4. ADC结果低字节寄存器ADRESLl 当ADMF=1时,用于存放A/D转换结果的低8位;当ADMF=0时,用于存放A/D转换结果的低2位,此时寄存器低6位读
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 PIC 单片机 SPI 接口 数据 采集 模块 设计
链接地址:https://www.31doc.com/p-3948022.html