Sz_Insper
/
74HC595
Relogio para testar a MultiFunction Shield
595.h@0:8a0f90698a02, 2020-09-09 (annotated)
- Committer:
- Marcelocostanzo
- Date:
- Wed Sep 09 23:05:11 2020 +0000
- Revision:
- 0:8a0f90698a02
Relogio com a Multi Function Shield
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Marcelocostanzo | 0:8a0f90698a02 | 1 | #include "mbed.h" |
Marcelocostanzo | 0:8a0f90698a02 | 2 | #include "ShiftReg.h" |
Marcelocostanzo | 0:8a0f90698a02 | 3 | |
Marcelocostanzo | 0:8a0f90698a02 | 4 | ShiftReg HC595(p21, p22, p23); |
Marcelocostanzo | 0:8a0f90698a02 | 5 | |
Marcelocostanzo | 0:8a0f90698a02 | 6 | int main() { |
Marcelocostanzo | 0:8a0f90698a02 | 7 | // clear shift and store registers initially |
Marcelocostanzo | 0:8a0f90698a02 | 8 | HC595.ShiftByte(0x00, ShiftReg::MSBFirst); HC595.Latch(); wait(0.2); |
Marcelocostanzo | 0:8a0f90698a02 | 9 | |
Marcelocostanzo | 0:8a0f90698a02 | 10 | while(1) { |
Marcelocostanzo | 0:8a0f90698a02 | 11 | // Demostrate to shift in bit by bit |
Marcelocostanzo | 0:8a0f90698a02 | 12 | HC595.ShiftBit(1); HC595.Latch(); wait(0.2); |
Marcelocostanzo | 0:8a0f90698a02 | 13 | for (int i = 0; i < 8; i++) { |
Marcelocostanzo | 0:8a0f90698a02 | 14 | HC595.ShiftBit(0); HC595.Latch(); wait(0.2); |
Marcelocostanzo | 0:8a0f90698a02 | 15 | } |
Marcelocostanzo | 0:8a0f90698a02 | 16 | |
Marcelocostanzo | 0:8a0f90698a02 | 17 | // Demostrate to shift in byte-by-byte |
Marcelocostanzo | 0:8a0f90698a02 | 18 | // HC595.ShiftByte(0x80, ShiftReg::MSBFirst); HC595.Latch(); wait(0.2); |
Marcelocostanzo | 0:8a0f90698a02 | 19 | HC595.ShiftByte(0x40, ShiftReg::MSBFirst); HC595.Latch(); wait(0.2); |
Marcelocostanzo | 0:8a0f90698a02 | 20 | HC595.ShiftByte(0x20, ShiftReg::MSBFirst); HC595.Latch(); wait(0.2); |
Marcelocostanzo | 0:8a0f90698a02 | 21 | HC595.ShiftByte(0x10, ShiftReg::MSBFirst); HC595.Latch(); wait(0.2); |
Marcelocostanzo | 0:8a0f90698a02 | 22 | HC595.ShiftByte(0x08, ShiftReg::MSBFirst); HC595.Latch(); wait(0.2); |
Marcelocostanzo | 0:8a0f90698a02 | 23 | HC595.ShiftByte(0x04, ShiftReg::MSBFirst); HC595.Latch(); wait(0.2); |
Marcelocostanzo | 0:8a0f90698a02 | 24 | HC595.ShiftByte(0x02, ShiftReg::MSBFirst); HC595.Latch(); wait(0.2); |
Marcelocostanzo | 0:8a0f90698a02 | 25 | HC595.ShiftByte(0x01, ShiftReg::MSBFirst); HC595.Latch(); wait(0.2); |
Marcelocostanzo | 0:8a0f90698a02 | 26 | HC595.ShiftByte(0x00, ShiftReg::MSBFirst); HC595.Latch(); wait(0.2); |
Marcelocostanzo | 0:8a0f90698a02 | 27 | } |
Marcelocostanzo | 0:8a0f90698a02 | 28 | } |