皇冠搏彩中心

联系我们

PIC单片机之SPI总线篇

作者:admin时间:2020-02-15 07:56

  大师好,通过前一期的练习,咱们仍旧对ICD2 仿真烧写器和巩固型PIC 实践板的应用办法及练习格式有所明白与熟练,现正在咱们就一气呵成,再向上跨一步,一同来练习一下SPI 总线器的使命道理及应用办法,如此咱们能够将少许须要保管的数据保管到存储器芯片中,掉电不会失丢,如汽车的里程外,它正在不竭地计数,其公里数即是放正在一个SPI 总线的存储器芯片内里。

  SPI ( Serial Peripheral Interface ———串行外设接口) 总线是Motorola 公司推出的一种同步串行接口本领。SPI 总线编制是一种同步串行外设接口, 应承MCU 与各类外围修筑( 如闪存、数摸转换、搜集担任器、从MCU) 以串行格式举办通讯、数据互换。

  SPI,是一种高速的,全双工,同步的通讯总线,而且正在芯片的管脚上只占用四根线,节俭了芯片的管脚,同时为PCB 的组织上减省空间,供应便利,恰是出于这种纯粹易用的特色,现正在越来越众的芯片集成了这种通讯订交。其使命形式有两种:主形式和从形式。SPI 是一种应承一个主修筑启动一个从修筑的同步通信的订交,从而结束数据的互换。

  也即是SPI 是一种规则好的通信格式。这种通讯格式的益处是占用端口较少,大凡4 根就够根本通信了(不算电源线)。同时传输速率也很高。大凡来说条件主修筑要有SPI 担任器(也可用模仿格式),就能够与基于SPI 的芯片通信了。

  SPI 编制可直接与各个厂家分娩的众种轨范外围器件直接接口, 大凡应用4 条线: 串行时钟线(SCK) 、主机输入/ 从机输出数据线SDO、主机输出/ 从机输入数据线SDI 和低电平有用的从机采选线SS。SDI 和SDO 用于串行给与和发送数据,数据高位正在前低位正在后。正在SPI 创立为主机格式时,SDO 是主机读从机,SDI 是主机写从机。SCK 用于供应时钟脉冲将数据一位位地传送。SPI 总线器件间传送数据框图如图1 所示。

  愚弄SPI 总线可正在软件的担任下组成各类编制。如1 个主MCU 和几个从MCU、几个从MCU 彼此邻接组成众主机编制(分散式编制)、1 个主MCU 和1 个或几个从I / O 修筑所组成的各类编制等。正在大无数使用场地,可应用1个MCU 行为主控机来担任数据,并向1 个或几个从外围器件传送该数据。从器件只要正在主机发号令时技能给与或发送数据。其数据的传输体式老是高位(MSB)正在前,低位(LSB)正在后。

  当一个主控机通过SPI 与几种差异的串行I / O 芯片相连时,务必应用每片的应承担任端,这可通过MCU 的I / O 端口输出线来完毕。

  但应独特提防这些串行I / O 芯片的输入输出特色:起初是输入芯片的串行数据输出是否有三态担任端。泛泛未选中芯片时,输出端应处于高阻态。若没有三态担任端,则应外加三态门。不然MCU 的MISO端只可邻接一个外设。其次是外设的串行数据输入是否有应承担任端。

  由于只要正在此芯片应承时,SCK 脉冲才把串行数据移入该外设;正在禁止时,SCK 对外设无影响。若素来没有应承担任端,则减少担任门;当然,也能够正在SPI 总线 个外设,就不必用应承担任。

  通过前文的道理先容,咱们仍旧对SPI 总线的特色以及使命道理有了大致地明白,但当咱们拿到一个SPI 总线器件时要确切地使用它,如故暂时不知怎么下手,例如咱们现正在要念把一个整体的数据存储放器件中去,须要奈何办呢?现正在,咱们来一同看一个数据存储的例子,通过一个实例,笃信会给大师带来一个感性的明白,下面就以目前单片机编制中平凡使用的SPI 接口的数据存储器93C46 为例,先容SPI器件的根本使用。

  每一个蓄积器都能够通过DI/DO 引脚写入或读出。它的存储容量为1024 位,内部为128×8位或64×16 位。93C46 为串行三线SPI 操作芯片,正在时钟时序的同步下给与数据口的指令。

  指令码为9 位十进制码,具有7 个指令,读、擦写使能、擦除、写、全擦、全写及擦除禁止。该芯片擦写功夫疾,有擦写使能回护,牢靠性高,擦写次数可达100 万次, 93C46 的引脚性能图如图2 所示。

  ② 写(WRITE):正在写入数据前, 务必先下达写使能(EWEN) 指令, 然后再下达01XXXXXX 指令后, 当SCK=1 时, 会把数据码写入指定地方(XXXXXXXX);而DO=0 时,体现还正在举办写操作, 写入中断后DO 会转为高电平。写入举动结束后,务必再下达写禁止(EWDS)号令。

  ③ 清扫(ERASE): 下达清扫指令11XXXXXX 后会将地方(XXXXXXXX)的数据清扫。

  ④ 写使能(EWEN):下达0011XXXX 指令后,技能够举办写(WRITE)操作。

  ⑤ 写禁止(EWDS):下达0000XXXX 指令后,才可反复举办写入(WRITE)操作。

  咱们的例子序次性能是要完毕对93C46 存储器的读写操作,并验证数据是否确切。序次先辞别向0x02 和0x03 两个地方写入0x55 和0xAA,然后读个中一个地方,并将读到的数据显示出来验证是否确切。序次默认是读0x02 地方内的数据,读者也能够编削地方数据来读其它地方数据。

  起初, 咱们来看一下巩固型PIC 实践板上的93C46 接口电途, 由于咱们须要将软件和硬件相联结举办斟酌怎么来编程,结束该实践的硬件道理图如图3 所示,U6 为实践板上的93C46 芯片, 单片机的RB1、RB2、RB4、RB5 辞别与芯片的CS、CLK、DI、DO 脚相连,七段数码管D5、D7、D8 构成了显示单位,字形码的数据通过RC 口送入,各数码管扫描显示信号辞别差异的RA 口举办担任。

  对待单片机软件的编程,咱们应用MPLabIDE 软件来举办C 叙话编程,它是咱们的编程境况,同时咱们能够通过应用ICD2 仿真烧写器和巩固型PIC 实践板邻接举办序次的仿真调试和烧写措施,整体的操作措施,咱们仍旧正在前几期做了周到的证实和先容,正在此就不再反复证实,读者同伙能够参阅以前的作品或直接登岸咱们的网站查看原料。现正在咱们能够输入序次代码举办调试了, 咱们正在MPLab IDE软件中新修工程, 参与源序次代码,同时举办芯片型号的采选和修设位的创立,咱们实践所用的芯片型号为PIC16F877A。因为篇幅控制,序次的源代码请上彀站或下载。 流程框图如图4 示。

  编好序次后将编译好的HEX通过ICD2 仿真烧写器烧入单片机芯片,上电运转,成就如图5 所示。“0170”是咱们事先写入存储器芯片再将其读出来的十进制值。

  本网站转载的总共的作品、图片、音频视频文献等原料的版权归版权总共人总共,本站采用的非本站原创作品及图片等实质无法逐一接洽确认版权者。倘若本网所选实质的作品作家及编辑以为其作品不宜公然自正在宣称,或不应无偿应用,请实时通过电子邮件或电话通告咱们,以火速采纳合适设施,避免给两边变成不需要的经济耗费。

  PIRX 注: X能够是1 2 3 4.。。。差异型号的单片机数目差异INTCON 停止担任寄存器讲明:1开启或封闭 一共的停止性能(GIE)2开启或封闭一共外设的停止性能(PEIE)外设即是正在外设停止应承/符号寄存器内里所写的修筑。3开启少许停止事变。PIEX 与 PIRX 是彼此对应的如:当把PIE1的TMR1IE创立为1 守时器timr1将开启停止。比及TMR1守时器溢出后,则会正在PIR1的TMRIF将为1,而且实行停止序次。实例讲明:咱们把上一讲的《PIC单片机之守时器》中的实例编削成停止格式 完毕 每隔 50MS亮起LED,每隔50MS灭掉LED。/*开拓境况MPLAB X IDE 芯片型号PIC

  一、区别指令的巨细写编写PIC单片机的源序次,除了源序次的开首处须要苛刻的列外指令外,还须提防源序次中字母符号的巨细写法则,不然正在PC机上汇编序次时不会凯旋。正在源序次中城市应用伪指令INCLUDE。这条指令将列外中指定的单片机文献(正在MPLAB中)渎入源序次行为源序次的一个人,是以普通MPLAB中相合该单片机已有的寄存器正在源序次中无须再用赋值指令(EQU)赋值,这就使所设立修设的源序次大为简化。别的,因为有了伪指令INCLUDE,是以遵照MPLAB软件中的体式,正在源序次中的操作数普通涉及MPLAB已规则的寄存器名称的,其字母一律只可大写,不行小写。其余操作码、符号字母可苟且巨细写,但0x中的X应小写。不然汇编不会凯旋。鉴于上述原故

  1、睡眠(sleep)睡眠格式是咱们最常用的一种格式来消浸功耗,但睡眠功夫单片机不行做任何的事宜。对待那些没事宜就睡着,有事宜就做一下的景况睡眠无疑是功耗最低的处分格式。例如:睡眠+ I/O电平蜕化停止叫醒当按键没按下时,单片机睡眠,当按键按下后,实行相应的使命。睡眠+数据给与停止叫醒如此单片机就能够再没有给与到数据岁月进入睡眠状况,给与到数据的岁月就叫醒然后处分数据。当然起初单片机要有相干的外设例如SPI ,I2C,USART,等这些援救这些通信的模块。睡眠+看门狗叫醒这个能够用正在须要守时叫醒职业情的场地2、消浸时钟频率倘若即念功耗低,又念单片机正在能低功耗的景况下使命。这无疑是个最好的采选。PIC单片机 例如PIC

  PIC 单片机A/D 转换后的数据日常须要占用两个8 位宽的RAM 单位, 而PIC 单片机的存储单位有限,所以变成了单片机的存储单位不行被有用愚弄, 同时通过串口向上位机传送数据时也须要花费较众的功夫。为此提出一种数据打包的办法, 使得好像的数据量占用较少的存储空间, 并可进步传输效果。弁言正在由单片机和PC 机组成的检测编制中, 日常会由众个单片机搜聚数据并将经由A/D 转换的数据通过串口送往上位PC 机举办数据处分。PIC 单片机A/D 转换后的结果公共是8 位或10 位的, 8 位的A/D转换不涉及该题目。以10 位的数据为例, 正在单片机内举办存储时须要占用2 个8 位的字节, 低8 位和高2位辞别存储正在2 个字节中

  PIC16F616是一款14引脚、8位的CMOS单片机.采用精简指令集,仅有35条指令,因为采用了数据总线和指令总线辨别的哈佛总线组织,使得除少量指令不是单周期除外,大个人的指令都是单周期指令.如此有利于进步单片机的运转速率和实行效果.PIC16F616这款单片机供电电压能够正在2V到5.5V之间,内部集成了一个RC振荡器,频率能够修设成8MHZ或者4MHZ,也能够用外部晶振 供应时钟.内部集成有AD转换、对照器等硬件模块,还具有上电复位、欠压复位、看门狗、代码回护等性能.三个守时器、PWM爆发器等能够由用户编程.下面 电工之家先容合于PIC单片机的这些模块和性能.1.存储器PIC16F616分为序次存储其和数据存储器,序次存储器

  PIC单片机的特质及与51系列单片机的区别:这里仅以应用平凡的中低档PIC16/PIC12/10系列为例证实。PIC系列单片机采用哈佛总线组织,序次空间总线和数据总线离开,地方长度也不相似,也同样不正在一个联贯的空间,序次为单字组织,一句序次占用一个序次字长,这与51不相似,51系列则采用冯.诺依曼组织,序次空间和数据空间共用一组8BIT的总线,序次空间和数据空间共用一个联贯的地方空间;序次为众字节组织,遵照差异指令及数据每句序次有差异的长度,这种组织有大概正在序次跑飞的岁月让编制把数据当做指令实行。PIC系列单片机应用精简指令集,总共不超出35条指令,采用预取指令的做法使绝大无数指令只消一个指令时钟周期,51则采用庞大指令集,须要

  PIC16F877 运算子序次PIC单片机汇编叙话四则运算子序次其组织框架能够参考

  万分光阴 少出门众练习: 众部TI适用课程送上, 身体不行正在途上就让心魄正在途上

  STM32MP1系列通用型MPU, 集成双 Arm® Cortex®-A7和 Cortex®-M4 内核

  STM32MP1系列通用型MPU, 集成双 Arm® Cortex®-A7和 Cortex®-M4 内核

  PIC单片机AVR单片机ARM单片机嵌入式编制汽车电子消费电子数据处分视频教程电子百科其他本领STM32MSP430单片机资源下载单片机习题与教程

电话:13866999966
联系人:王经理
Q Q:88996699
邮箱:HR@163.com
地址:北京市朝阳区沿江中路298号江湾商业中心26楼2602-2605