Small library for controll the TTL74HC595, who is a SerialIn-ParallelOut
Diff: ttl_74HC595.cpp
- Revision:
- 0:d78bcf13e9ed
- Child:
- 1:db4af8094f4c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ttl_74HC595.cpp Wed Apr 27 16:21:05 2011 +0000 @@ -0,0 +1,32 @@ +#include "mbed.h" +#include "ttl_74HC595.h" +// Small library for controll the TTL74HC595, who is a SerialIn-ParallelOut +// Created by Michele Trombetta +// Copyright 2010 5OFT. All rights reserved. + +ttl_74HC595::ttl_74HC595(PinName DS, PinName SH_CLK, PinName ST_CLK, PinName OE): _DS(DS), _SH_CLK(SH_CLK), _ST_CLK(ST_CLK), _OE(OE) { + +} + +void ttl_74HC595::send_data(unsigned char data) { + for (char i=0; i<8; i++) { + _SH_CLK = 0; + _DS = data & 0x01; + data >>= 1; + _SH_CLK = 1; + } +} + +void ttl_74HC595::store_data() { + _ST_CLK = 1; + _ST_CLK = 0; +} + +void ttl_74HC595::send(unsigned char data) { + send_data(data); + store_data(); +} + +void ttl_74HC595::setOE(bool enable) { + _OE = enable ? 0 : 1; +} \ No newline at end of file