- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机培训
索奥科技中心
前言
主 讲 人:
联系方式:
Q Q :
助 教:
联系方式:
Q Q :
助 教 :
联系方式:
Q Q :
作业上交方式:
索奥科技中心
目录
SPI通信协议
74HC595
索奥科技中心
SPI
SPI:高速同步串行口。是一种标准的四线全双工同步双向串行总线。实际上是一种通信协议
SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。
索奥科技中心
SPI的通信原理
SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(用于单向传输时,也就是半双工方式)。也是所有基于SPI的设备共有的,它们是SDI(数据输入),SDO(数据输出),SCK(时钟),CS(片选)。
(1)SDO – 主设备数据输出,从设备数据输入
(2)SDI – 主设备数据输入,从设备数据输出
(3)SCLK – 时钟信号,由主设备产生
(4)CS – 从设备使能信号,由主设备控制
索奥科技中心
时序图
索奥科技中心
硬件SPI与软件SPI
硬件SPI:由芯片特定的管脚完成SPI通信,分主从两种模式
软件SPI:通过普通I/O口模拟SPI通信协议,完成通信功能
索奥科技中心
移位寄存器
英文:Shift Register
寄存器(Register)
在数字电路中,用来存放二进制数据或代码的电路称为寄存器。
寄存器是由具有存储功能的触发器组合起来构成的。一个触发器可以存储一位二进制代码,存放N位二进制代码的寄存器,需用n个触发器来构成。
按功能可分为:基本寄存器和移位寄存器
索奥科技中心
74HC595
移位寄存器中的数据可以在移位脉冲作用下一次逐位右移或左移,数据既可以并行输入、并行输出,也可以串行输入、串行输出,还可以并行输入、串行输出,串行输入、并行输出,十分灵活,用途也很广。
目前常用的集成移位寄存器种类很多,如74164、74165、74166、74595均为八位单向移位寄存器,74195为四位单向移存器,74194为四位双向移存器,74198为八位双向移存器(简单说一下即可)
索奥科技中心
74HC595
索奥科技中心
移位寄存器的应用
通过前面的概念学习,大家已然对移位寄存器的优点有所了解,下面就让我们进入实践,利用移位寄存器控制数码管。
宏定义
/74HC595、74HC165#define SPI_SCLK_OUTPUT DDRC |= (15)#define SPI_SS_OUTPUT DDRC |= (12)#define SPI_OUTDATA_OUTPUT DDRC |= (13)
#define SPI_INDATA_INPUT DDRC = ~(14)#define SPI_SCLK_HIGH PORTC |= (15)#define SPI_SS_HIGH PORTC |= (12)#define SPI_OUTDATA_HIGH PORTC |= (13)#define SPI_INDATA_HIGH (PINC (14))
#define SPI_SCLK_LOW PORTC = ~(15)#define SPI_SS_LOW PORTC = ~(12)#define SPI_OUTDATA_LOW PORTC = ~(13)
#define SPI_INDATA_LOW !(PINC (14))
索奥科技中心
移位寄存器的应用
//端口初始化
void SPI_INIT(void){ SPI_SCLK_OUTPUT; //时钟线输出 SPI_SS_OUTPUT; //锁存线输出 SPI_OUTDATA_OUTPUT;//74HC595数据线输出 SPI_INDATA_INPUT; //74HC595数据线输入 SPI_SCLK_HIGH ; SPI_SS_HIGH ; SPI_OUTDATA_LOW;}
索奥科技中心
文档评论(0)