
Une horloge à afficheurs 7 segments
Dependencies: BSP_DISCO_F746NG
horloge.h@4:06a5a25319d5, 2020-06-22 (annotated)
- Committer:
- sol427
- Date:
- Mon Jun 22 16:33:43 2020 +0000
- Revision:
- 4:06a5a25319d5
Horloge fonctionnelle
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sol427 | 4:06a5a25319d5 | 1 | #ifndef HORLOGE_H |
sol427 | 4:06a5a25319d5 | 2 | #define HORLOGE_H |
sol427 | 4:06a5a25319d5 | 3 | #include <stdint.h> |
sol427 | 4:06a5a25319d5 | 4 | #include <vector> |
sol427 | 4:06a5a25319d5 | 5 | #include "mbed.h" |
sol427 | 4:06a5a25319d5 | 6 | |
sol427 | 4:06a5a25319d5 | 7 | using namespace std; |
sol427 | 4:06a5a25319d5 | 8 | //#include "stm32746g_discovery_lcd.h" |
sol427 | 4:06a5a25319d5 | 9 | class Horloge |
sol427 | 4:06a5a25319d5 | 10 | { |
sol427 | 4:06a5a25319d5 | 11 | |
sol427 | 4:06a5a25319d5 | 12 | public: |
sol427 | 4:06a5a25319d5 | 13 | Horloge(); |
sol427 | 4:06a5a25319d5 | 14 | void setTempsPrecedent(uint8_t minutes, uint8_t heures); |
sol427 | 4:06a5a25319d5 | 15 | vector<uint8_t> get4Digits(); |
sol427 | 4:06a5a25319d5 | 16 | uint8_t getMinutes(); |
sol427 | 4:06a5a25319d5 | 17 | uint8_t getHeures(); |
sol427 | 4:06a5a25319d5 | 18 | uint8_t getMinutesPre(); |
sol427 | 4:06a5a25319d5 | 19 | uint8_t getHeuresPre(); |
sol427 | 4:06a5a25319d5 | 20 | void setRegistres(DigitalOut* dataPin, DigitalOut* clockPin, uint8_t data); |
sol427 | 4:06a5a25319d5 | 21 | void minuteP(); |
sol427 | 4:06a5a25319d5 | 22 | void minuteM(); |
sol427 | 4:06a5a25319d5 | 23 | void heureP(); |
sol427 | 4:06a5a25319d5 | 24 | void heureM(); |
sol427 | 4:06a5a25319d5 | 25 | void update(); |
sol427 | 4:06a5a25319d5 | 26 | void sonner(); |
sol427 | 4:06a5a25319d5 | 27 | |
sol427 | 4:06a5a25319d5 | 28 | private : |
sol427 | 4:06a5a25319d5 | 29 | // Serial pc(USBTX, USBRX, 115200) |
sol427 | 4:06a5a25319d5 | 30 | DigitalOut* dataPin; |
sol427 | 4:06a5a25319d5 | 31 | DigitalOut* clockPin; |
sol427 | 4:06a5a25319d5 | 32 | DigitalOut* latchPin; |
sol427 | 4:06a5a25319d5 | 33 | PwmOut* enablePin; |
sol427 | 4:06a5a25319d5 | 34 | uint8_t m_minutes; |
sol427 | 4:06a5a25319d5 | 35 | uint8_t m_heures; |
sol427 | 4:06a5a25319d5 | 36 | uint8_t m_minutesPre; |
sol427 | 4:06a5a25319d5 | 37 | uint8_t m_heuresPre; |
sol427 | 4:06a5a25319d5 | 38 | uint8_t m_secondesPre; |
sol427 | 4:06a5a25319d5 | 39 | bool m_reveilActif; |
sol427 | 4:06a5a25319d5 | 40 | uint8_t m_minutesReveil; |
sol427 | 4:06a5a25319d5 | 41 | uint8_t m_heuresReveil; |
sol427 | 4:06a5a25319d5 | 42 | bool point = false; |
sol427 | 4:06a5a25319d5 | 43 | |
sol427 | 4:06a5a25319d5 | 44 | uint8_t m_table[10] = { |
sol427 | 4:06a5a25319d5 | 45 | 0b01110111, // 0 ABCDEF |
sol427 | 4:06a5a25319d5 | 46 | 0b01000001, // 1 BC |
sol427 | 4:06a5a25319d5 | 47 | 0b00111011, // 2 ABDEG |
sol427 | 4:06a5a25319d5 | 48 | 0b01101011, // 3 ABCDG |
sol427 | 4:06a5a25319d5 | 49 | 0b01001101, // 4 BCFG |
sol427 | 4:06a5a25319d5 | 50 | 0b01101110, // 5 ACDFG |
sol427 | 4:06a5a25319d5 | 51 | 0b01111110, // 6 ACDEFG |
sol427 | 4:06a5a25319d5 | 52 | 0b01000011, // 7 ABC |
sol427 | 4:06a5a25319d5 | 53 | 0b01111111, // 8 ABCDEFG |
sol427 | 4:06a5a25319d5 | 54 | 0b01101111, // 9 ABCDFG |
sol427 | 4:06a5a25319d5 | 55 | }; |
sol427 | 4:06a5a25319d5 | 56 | uint8_t m_table3[10] = { |
sol427 | 4:06a5a25319d5 | 57 | 0b01110111, // 0 ABCDEF |
sol427 | 4:06a5a25319d5 | 58 | 0b01000001, // 1 BC |
sol427 | 4:06a5a25319d5 | 59 | 0b10110011, // 2 ABDEG |
sol427 | 4:06a5a25319d5 | 60 | 0b11100011, // 3 ABCDG |
sol427 | 4:06a5a25319d5 | 61 | 0b11000101, // 4 BCFG |
sol427 | 4:06a5a25319d5 | 62 | 0b11100110, // 5 ACDFG |
sol427 | 4:06a5a25319d5 | 63 | 0b11110110, // 6 ACDEFG |
sol427 | 4:06a5a25319d5 | 64 | 0b01000011, // 7 ABC |
sol427 | 4:06a5a25319d5 | 65 | 0b11110111, // 8 ABCDEFG |
sol427 | 4:06a5a25319d5 | 66 | 0b11100111, // 9 ABCDFG |
sol427 | 4:06a5a25319d5 | 67 | }; |
sol427 | 4:06a5a25319d5 | 68 | |
sol427 | 4:06a5a25319d5 | 69 | }; |
sol427 | 4:06a5a25319d5 | 70 | #endif |