“第十二课--Microduino 74HC595级联数据串入并出/zh”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
设备
Pkj讨论 | 贡献
程序
第37行: 第37行:
  
 
==程序==
 
==程序==
<source lang="cpp">
+
https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Advanced/Microduino_74HC595
 
 
/*                             
 
使用一个74HC595移位寄存器代码
 
    计数从0到255的
 
*/
 
 
 
//Pin 8 连接到 74HC595的ST_CP
 
int latchPin = 8;
 
//Pin 12 连接到  74HC595的SH_CP
 
int clockPin = 12;
 
////Pin 11 连接到  74HC595的DS
 
int dataPin = 11;
 
 
 
 
 
 
 
void setup() {
 
  //设置 pins 为 output 以便于你能控制移位寄存器
 
  pinMode(latchPin, OUTPUT);
 
  pinMode(clockPin, OUTPUT);
 
  pinMode(dataPin, OUTPUT);
 
}
 
 
 
void loop() {
 
  // 在LED上显示2进制数字,从0到255
 
  for (int numberToDisplay = 0; numberToDisplay < 256; numberToDisplay++) {
 
    // 设置 latchPin 为低电平
 
    digitalWrite(latchPin, LOW);
 
    // 输入十进制数字
 
    shiftOut(dataPin, clockPin, MSBFIRST, numberToDisplay); 
 
 
 
    //设置 latch pin 为高电平,LED将显示对应的二进制数字
 
    digitalWrite(latchPin, HIGH);
 
    // pause before next value:
 
    delay(500);
 
  }
 
}
 
 
 
 
 
</source>
 
 
 
  
 
函数说明:
 
函数说明:

2014年3月26日 (三) 09:09的版本

Language English

目的

本教程将教大家如何利用Microduino来控制74HC595芯片,最终使8个LED显示2进制值

设备

  • Microduino-Core
  • Microduino-FT232R
  • 其他硬件设备
    • 面包板跳线 一盒
    • 面包板 一块
    • LED发光二极管 8个
    • 74HC595芯片 一个
    • 220欧姆电阻 8个
    • 1μF电容 一个
    • USB数据连接线 一根

74LS595

第十二课-74HC595.jpg

74HC595有八个输出引脚Q0~Q7用于输出二进制值,大多数用来把十进制值转换为二进制用。

74HC595是硅结构的CMOS器件, 兼容低电压TTL电路,遵守JEDEC标准。 74HC595是具有8位移位寄存器和一个存储器,三态输出功能。

移位寄存器和存储器是分别的时钟。 数据在SHcp(移位寄存器时钟输入)的上升沿输入到移位寄存器中,在STcp(存储器时钟输入)的上升沿输入到存储寄存器中去。

如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。 移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。

8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。三态。

将串行输入的8位数字,转变为并行输出的8位数字,例如控制一个8位数码管,将不会有闪烁。

原理图

第十二课-Microduino 74HC595数据传入并出原理图.jpg

程序

https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Advanced/Microduino_74HC595

函数说明:

shiftOut(dataPin, clockPin, bitOrder, value)

dataPin: dataPin的引脚数

clockPin: clockPin的引脚数

bitOrder: 二进制位码排序,MSBFIRST(最高有效位在前) 或者 LSBFIRST(最低有效位在前)

value: 本转换的十进制值

调试

步骤一:把代码复制到IDE中,编译

步骤二:电路连接图如下:

步骤三:运行代码

步骤四:观看LED灯显示

结果

8个LED灯将显示从0~255的二进制,亮为1,灭为0

视频

http://v.youku.com/v_show/id_XNjgyNTk2MzUy.html