当前位置:首页 > 经验 >

8位移位寄存器原理(8位移位寄存器电路设计)

来源:原点资讯(www.yd166.com)时间:2022-11-06 07:03:05作者:YD166手机阅读>>

8位移位寄存器原理,8位移位寄存器电路设计(1)

Arduino从零开始


你将学到什么

1、你将学到如何增加arduino uno的数字输出针脚

2、你将学到74HC595移位寄存器的使用方法

3、你将学到shiftOut函数的使用方法

Arduino uno板子只有13个数字针脚作为输出使用,但是有的时候13个针脚是不够用的,为了增加输出,我们可以使用移位寄存器

一个移位寄存器有8个可以被一个字节数据控制的数字输出针脚,这里我们使用的移位寄存器为74HC595

74HC595移位寄存器有八个数字输出针脚(和arduino数字针脚类似),共占用arduino 三个数字针脚,所以使用一个74HC595移位寄存器实际上增加了5个数字输出针脚。

8位移位寄存器原理,8位移位寄存器电路设计(2)

8位移位寄存器原理,8位移位寄存器电路设计(3)

74HC595移位寄存器

移位寄存器的原理

我们发送一个字节的数据给移位寄存器,其根据这个字节的数据(8位二进制数)来开关对应的八个数字输出针脚(0关1开)。

重点:

发送字节数据的函数是shiftOut,其有一个参数用来告诉移位寄存器从哪个方向解析这个字节的数据,共两种方向。

当参数为MSBFIRST的时候:

字节数据最左边的比特位(MSB)对应着移位寄存器的7号数字输出针脚。

字节数据最右边的比特位(LSB)对应着移位寄存器的0号数字输出针脚。

此时如果发送的字节数据为B11110000,则它会打开数字输出针脚7、6、5、4而关闭数字输出针脚3、2、1、0直到下一 个字节数据被接收或电源被断开。

当参数为LSBFIRST的时候:

字节数据最左边的比特位(MSB)对应着移位寄存器的0号数字输出针脚。

字节数据最右边的比特位(LSB)对应着移位寄存器的7号数字输出针脚。

此时如果发送的字节数据为B11110000,则它会关闭数字输出针脚7、6、5、4而打开数字输出针脚3、2、1、0直到下一个字节数据被接收或电源被断开。

Q7对应着字节数据中第一个发送过来的比特位。

Arduino的三个数字针脚不仅仅只能添加一个移位寄存器,多个移位寄存器也是可以的,这样当需要控制多个LED的时候,使用移位寄存器便很方便。

连接移位寄存器

我们的移位寄存器上共16个针脚,针脚15和针脚1到7对应着8个数字输出针脚(标记为Q0到Q7)。

针脚8连接GND

针脚9是"数据输出"针脚,用来发送数据到另外一个移位寄存器

针脚10连5V

针脚11和12叫CLOCK和latch

针脚13连接GND

针脚14接收来自arduino的数据

针脚16连接5V

项目实战:使用移位寄存器控制8个LED灯

8位移位寄存器原理,8位移位寄存器电路设计(4)

8个LED与移位寄存器接线图

(因为只有一个移位寄存器,所以针脚9没有连线)

接下来需要使用这8个LED来显示一个二进制数(一个字节数据)。

8位移位寄存器原理,8位移位寄存器电路设计(5)

程序代码

文字代码如下:

int DATA = 6,LATCH= 8,CLOCK =10;

void setup() {

// put your setup code here, to run once:

pinMode(LATCH,OUTPUT);

pinMode(DATA,OUTPUT);

pinMode(CLOCK,OUTPUT);

}

void loop() {

// put your main code here, to run repeatedly:

for(byte i=0;i<256;i )

{

digitalWrite(LATCH,LOW);//准备传输数据

shiftOut(DATA,CLOCK,MSBFIRST,i);//传输数据

digitalWrite(LATCH,HIGH);//数据传输结束

delay(200);

}

}

栏目热文

图解寄存器(寄存器寻址图解)

图解寄存器(寄存器寻址图解)

引言指令计数器即程序计数器。它是计算机处理器中的寄存器,它包含当前正在执行的指令的地址(位置)。当每个指令被获取,指令计...

2022-11-06 07:26:17查看全文 >>

寄存器的工作原理及逻辑功能(寄存器电路工作原理)

寄存器的工作原理及逻辑功能(寄存器电路工作原理)

序言前段时间,我连续写了十来篇CPU底层系列技术故事文章,有不少读者私信我让我写一下CPU的寄存器。寄存器这个太多太复杂...

2022-11-06 07:33:35查看全文 >>

移位寄存器的工作原理(八位循环移位寄存器工作原理)

移位寄存器的工作原理(八位循环移位寄存器工作原理)

今天我们将使用几个基本的电子“构建模块”,移位寄存器。这些方便的设备可用于各种用途,如数据转换、缓冲和存储,但今天我们将...

2022-11-06 07:23:36查看全文 >>

变频器寄存器通俗解释(变频器作用通俗解释)

变频器寄存器通俗解释(变频器作用通俗解释)

1、系统配置1.1 软件安装 Step7 Micro/Win SMART software(含 Modbus协议库)的P...

2022-11-06 07:27:33查看全文 >>

3分钟看懂时序图(plc时序图通俗解释)

3分钟看懂时序图(plc时序图通俗解释)

操作时序永远使用是任何一片IC芯片的最主要的内容。一个芯片的所有使用细节都会在它的官方器件手册上包含。所以使用一个器件事...

2022-11-06 07:40:21查看全文 >>

寄存器通俗解释(单片机寄存器通俗解释)

寄存器通俗解释(单片机寄存器通俗解释)

我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxua...

2022-11-06 07:22:54查看全文 >>

计算机寄存器原理图(计算机中所有的寄存器)

计算机寄存器原理图(计算机中所有的寄存器)

通过前面的学习,我们已知单片机的内部有ROM、有RAM、有并行I/O口,那么,除了这些东西之外,单片机内部究竟还有些什...

2022-11-06 07:20:50查看全文 >>

变址寄存器v和z有什么区别(为什么不建议学单片机)

变址寄存器v和z有什么区别(为什么不建议学单片机)

示例说明:一个简易保安系统,在规定次数(如5次)的范围内,若密码不正确将启动报警系统,并关闭安全通道。若规定的次数内密码...

2022-11-06 07:35:31查看全文 >>

常用寄存器通俗解释(寄存器的基础知识)

常用寄存器通俗解释(寄存器的基础知识)

与java相关的Java编译器输出的指令流,基本上是一种基于栈的指令集架构,而与之相对的另外一套常用的指令集架构是基于寄...

2022-11-06 07:03:54查看全文 >>

基本寄存器工作原理(寄存器电路图详解)

基本寄存器工作原理(寄存器电路图详解)

寄存器——具有能够接收、暂存和传递数码的一种逻辑记忆元件。一、数码寄存器 数码寄存器——最简单的寄存器,只具有接收数码...

2022-11-06 07:24:48查看全文 >>

文档排行