Small library for controll the TTL74HC595, who is a SerialIn-ParallelOut

Committer:
trombettamichele
Date:
Fri May 06 18:58:53 2011 +0000
Revision:
1:db4af8094f4c
Parent:
0:d78bcf13e9ed

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
trombettamichele 1:db4af8094f4c 1 #include "mbed.h"
trombettamichele 1:db4af8094f4c 2 #include "ttl_74HC595.h"
trombettamichele 1:db4af8094f4c 3 // Small library for controll the TTL74HC595, who is a SerialIn-ParallelOut
trombettamichele 1:db4af8094f4c 4 // Created by Michele Trombetta
trombettamichele 1:db4af8094f4c 5 // Copyright 2010 5OFT. All rights reserved.
trombettamichele 1:db4af8094f4c 6
trombettamichele 1:db4af8094f4c 7 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) {
trombettamichele 1:db4af8094f4c 8
trombettamichele 1:db4af8094f4c 9 }
trombettamichele 1:db4af8094f4c 10
trombettamichele 1:db4af8094f4c 11 void ttl_74HC595::send_data(unsigned char data) {
trombettamichele 1:db4af8094f4c 12 for (char i=0; i<8; i++) {
trombettamichele 1:db4af8094f4c 13 _SH_CLK = 0;
trombettamichele 1:db4af8094f4c 14 _DS = data & 0x01;
trombettamichele 1:db4af8094f4c 15 data >>= 1;
trombettamichele 1:db4af8094f4c 16 _SH_CLK = 1;
trombettamichele 1:db4af8094f4c 17 }
trombettamichele 1:db4af8094f4c 18 }
trombettamichele 1:db4af8094f4c 19
trombettamichele 1:db4af8094f4c 20 void ttl_74HC595::store_data() {
trombettamichele 1:db4af8094f4c 21 _ST_CLK = 1;
trombettamichele 1:db4af8094f4c 22 _ST_CLK = 0;
trombettamichele 1:db4af8094f4c 23 }
trombettamichele 1:db4af8094f4c 24
trombettamichele 1:db4af8094f4c 25 void ttl_74HC595::send(unsigned char data) {
trombettamichele 1:db4af8094f4c 26 send_data(data);
trombettamichele 1:db4af8094f4c 27 store_data();
trombettamichele 1:db4af8094f4c 28 }
trombettamichele 1:db4af8094f4c 29
trombettamichele 1:db4af8094f4c 30 void ttl_74HC595::setOE(bool enable) {
trombettamichele 1:db4af8094f4c 31 _OE = enable ? 0 : 1;
trombettamichele 0:d78bcf13e9ed 32 }