Sz_Insper
/
74HC595
Relogio para testar a MultiFunction Shield
Diff: 595.h
- Revision:
- 0:8a0f90698a02
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/595.h Wed Sep 09 23:05:11 2020 +0000 @@ -0,0 +1,28 @@ +#include "mbed.h" +#include "ShiftReg.h" + +ShiftReg HC595(p21, p22, p23); + +int main() { + // clear shift and store registers initially + HC595.ShiftByte(0x00, ShiftReg::MSBFirst); HC595.Latch(); wait(0.2); + + while(1) { + // Demostrate to shift in bit by bit + HC595.ShiftBit(1); HC595.Latch(); wait(0.2); + for (int i = 0; i < 8; i++) { + HC595.ShiftBit(0); HC595.Latch(); wait(0.2); + } + + // Demostrate to shift in byte-by-byte + // HC595.ShiftByte(0x80, ShiftReg::MSBFirst); HC595.Latch(); wait(0.2); + HC595.ShiftByte(0x40, ShiftReg::MSBFirst); HC595.Latch(); wait(0.2); + HC595.ShiftByte(0x20, ShiftReg::MSBFirst); HC595.Latch(); wait(0.2); + HC595.ShiftByte(0x10, ShiftReg::MSBFirst); HC595.Latch(); wait(0.2); + HC595.ShiftByte(0x08, ShiftReg::MSBFirst); HC595.Latch(); wait(0.2); + HC595.ShiftByte(0x04, ShiftReg::MSBFirst); HC595.Latch(); wait(0.2); + HC595.ShiftByte(0x02, ShiftReg::MSBFirst); HC595.Latch(); wait(0.2); + HC595.ShiftByte(0x01, ShiftReg::MSBFirst); HC595.Latch(); wait(0.2); + HC595.ShiftByte(0x00, ShiftReg::MSBFirst); HC595.Latch(); wait(0.2); + } +}