PIC单片机在接口设计中的应用

出处:电子产品世界 发布于:2018-10-25 14:22:45


  PIC单片机(Peripheral Interface  Controller)是一种用来开发去控制外围设备的集成电路(IC)。现在PIC单片机应用领域已经相当广泛,为了方便广大工程师能够很好的学习  PIC单片机,电子发烧友网整理了PIC单片机的相关知识应用,现在先带您学习下PIC单片机在接口设计中的应用吧。

  一、SPI串行EEPROM与PIC单片机的接口设计

  目前市场上有许多种单片机用在嵌入式控制系统设计中,这些嵌入式控制系统中的很大一部分都要用到非易失性存储器。由于串行EEPROM  具有封装尺寸小,存储容量灵活,对I/O 引脚要求低,和低功耗低成本等特点,已成为非易失性存储器的。


  二、触摸传感器QST108与PIC单片机的接口设计

  QST108是意法半导体公司针对人机界面的触摸按键控制而推出的电容触摸传感器。

  其工作原理采用了美国昆腾公司的电荷转移电容技术(QProx),支持8个独立按键,且可选择按键状态检测输出或I2C总线控制2种正常工作方  式;同时,通过软件命令可使其进入低功耗模式,当有按键按下时可被唤醒。QST108特有的相邻按键抑制算法使得一个按键在按下未松开时,其他按键处于无  效状态;自校准和自动漂移补偿功能使其无须人工校准,从而进一步降低了QST108的应用难度。引脚配置如图1所示,各引脚功能如表1所列。

  三、PIC单片机与串行闪存的SPI接口设计

  PIC单片机以性能稳定、品种众多等特点在工业控制、仪器仪表、家电、通信等领域得到广泛应用。虽然很多型号自身集成了存储器,但在很多情况下难以满  足系统对大容量存储的要求,需要外扩非易失性的存储器。与并行Flash存储器相比,串行Flash存储器占用MCU引脚少,体积小,易于扩展,接线简  单,工作可靠,故而越来越多地应用在各类电子产品和工业测控系统中。本文主要讨论PIC16F877A单片机与串行闪存M25P16之间的SPI通信,在  要求大容量数据存储且MCU引脚资源有限的情况下具有实用价值。

  1 SPI工作原理

  SPI(Serial Peripheral  Interface)是一种常用的串行通信协议,用于MCU系统与外围设备的通信,可用来连接存储器、A/D转换器、D/A转换器、实时时钟、LCD驱动  器、传感器,甚至其他处理器。SPI主要使用4个信号:MOSI(主机输出/从机输人)、MISO(主机输入/从机输出)、SCK(串行时钟)和CS(片  选)。其中,SCK由主机产生,作为传输的同步时钟,控制所有数据传输。主机通过触发从设备的CS决定二者之间的SPI传输是否能够进行。主机和外设都包  含1个串行移位寄存器。主机通过向自己的SPI串行寄存器写入1个字节来发起1次传输,然后通过MOSI信号线将数据传给外设,同时外设将自己移位寄存器  中的内容通过MISO信号线返回给主机,如图1所示。这样,两个移位寄存器中的内容就交换了。也就是说,外设的写操作和读操作是同步完成的。在实际应用  中,如果只进行写操作,则主机只需忽略收到的字节即可;如果主机要读外设的数据,必须发送1个字节来引发从机的传输,发送的这个字节可以是任意数据。

  四、数字电位器X9241与PIC单片机的接口及程序设计电路图

  X9241概述

  X9241是XICOR公司生产的、把4个E2POT数字电位器集成在单片的CMOS集成电路上的一种数字电位器。它包含4个电阻阵列,每个阵列包含  63个电阻单元,在每个单元之间和2个端点之间都有被滑动单元访问的抽头点。滑动单元在阵列中的位置由用户通过2线串行总线接口控制。每个电阻阵列与1个  滑动端计数寄存器(WCR)和4个8位数据寄存器联系在一起。这4个数据寄存器可由用户直接写入和读出。WCR的内容控制滑动端在电阻阵列中的位置,其功  能框图如图1所示。

      X9241与PIC16CXX单片机的接口及程序清单

  五、PIC单片机的IIC接口程序

  InitI2CBusMaster

  ;************************************************************

  TxmtStartBit

  bsf Bus_Busy ; on a start condition bus is busy

  bsf STATUS, RP0 ; Select page 1

  bsf _SDA ; set SDA high

  bsf _SCL ; cLOCk is high

  call Delay40uSec ; This is necessary for setup time

  bcf _SDA ; This gives a falling edge on SDA while clock is high

  call Delay47uSec ; Necessary for START HOLD time

  return

  ;************************************************************

  TxmtStopBit

  bsf STATUS, RP0 ; Select page 1

  bcf _SCL ; clock is low

  bcf _SDA ; set SDA low

  bsf _SCL ; clock is pulLED up

  call Delay40uSec ; Setup time for STOP condition

  bsf _SDA ; rising edge on SDA while CLOCK is high

  call Delay47uSec ; makes sure a START isn't sent immediately after a STOP

  bcf Bus_Busy ; The bus isn't busy anymore

  return

  ;************************************************************


版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

相关技术资料
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!