Skip to main content

26. 🏆 Проект: Цифровые часы

🏆 Проект: Цифровые часы

🎯 Цель проекта
Собрать работающие цифровые часы из таймера, счётчиков и 7-сегментных индикаторов.

📋 Техническое задание

Функции

  1. Отображение времени ЧЧ:ММ:СС (или ЧЧ:ММ)
  2. Мигающий разделитель (:)
  3. Кнопка установки минут
  4. Кнопка установки часов

Спецификация

  • Точность: ±2 сек/сутки (с часовым кварцем)
  • Дисплей: 4-6 цифр 7-сегментный
  • Питание: 5V

🏗️ Архитектура

┌─────────────────────────────────────────────────────────────────────────┐
│                           ЦИФРОВЫЕ ЧАСЫ                                 │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                         │
│  ┌─────────────┐     ┌─────────────┐     ┌─────────────┐               │
│  │  Генератор  │────►│  Делитель   │────►│   1 Hz      │               │
│  │  32768 Hz   │     │  74HCT4060  │     │             │               │
│  │  (кварц)    │     │  ÷32768     │     │             │               │
│  └─────────────┘     └─────────────┘     └──────┬──────┘               │
│                                                  │                      │
│                                                  ▼                      │
│  ┌─────────────┐     ┌─────────────┐     ┌─────────────┐               │
│  │  Счётчик    │◄────│  Счётчик    │◄────│  Счётчик    │               │
│  │  часов      │     │  минут      │     │  секунд     │               │
│  │  0-23       │     │  0-59       │     │  0-59       │               │
│  └──────┬──────┘     └──────┬──────┘     └──────┬──────┘               │
│         │                   │                   │                      │
│         ▼                   ▼                   ▼                      │
│  ┌─────────────────────────────────────────────────────┐               │
│  │                    ДИСПЛЕЙ                          │               │
│  │    [H] [H] : [M] [M] : [S] [S]                      │               │
│  │     ↑   ↑       ↑   ↑       ↑   ↑                   │               │
│  │   ┌─┴───┴─┐   ┌─┴───┴─┐   ┌─┴───┴─┐                │               │
│  │   │BCD→7seg│   │BCD→7seg│   │BCD→7seg│               │               │
│  │   │74HC4511│   │74HC4511│   │74HC4511│               │               │
│  │   └───────┘   └───────┘   └───────┘                │               │
│  └─────────────────────────────────────────────────────┘               │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘

🔧 Вариант 1: Минимальные часы (ММ:СС)

Компоненты

КомпонентКоличествоНазначение
74HCT40601Генератор + делитель
Кварц 32768 Hz1Точный источник
74HC3902Счётчики (÷10, ÷6)
74HC45114BCD→7-сегмент
7-сегментный индикатор4Дисплей
Конденсатор 22 пФ2Для кварца
Резистор 330 Ом28Для сегментов

Счётчик секунд (0-59)

    1 Hz ─► [74HC390 #1] ─► единицы секунд (0-9)
                    └─► [74HC390 #1] ─► десятки секунд (0-5)
                                └─► выход "60 секунд"

74HC390 содержит два счётчика: ÷2 и ÷5 (можно комбинировать в ÷10).

Для десятков: сбрасываем при достижении 6 (используем вентиль для детекции).

Схема соединений (секунды)

    74HCT4060 Q14 (Pin 3) ─── 1 Hz
    74HC390 #1 (единицы):
        CP0 (Pin 1) ─── 1 Hz
        MR (Pin 2) ─── Reset при 10
        Q0-Q3 ─── BCD выход → 74HC4511 → Дисплей
        
    74HC390 #1 (десятки):
        CP1 (Pin 15) ─── Q3 единиц (÷10)
        MR (Pin 14) ─── Reset при 6 (AND: Q1 AND Q2)
        Q0-Q2 ─── к 74HC4511

🔧 Вариант 2: Полные часы на микроконтроллере

💡 Альтернатива
Если хочется сложные часы с будильником — проще использовать микроконтроллер. Но для понимания логики — собери на дискретных чипах!

📊 Схема дисплея

74HC4511 — BCD в 7-сегмент

        ┌───────────────────┐
   B ───┤ 1          16 ├── VCC
   C ───┤ 2          15 ├── f
  ~LT ──┤ 3   74HC4511 14 ├── g
  ~BL ──┤ 4          13 ├── a
 ~LE ───┤ 5          12 ├── b
   D ───┤ 6          11 ├── c
   A ───┤ 7          10 ├── d
  GND ──┤ 8           9 ├── e
        └───────────────────┘
ПинПодключение
A-DBCD вход от счётчика
a-gК сегментам через резисторы
~LTVCC (тест выкл)
~BLVCC (гашение выкл)
~LEGND (защёлка выкл)

Подключение 7-сегментного индикатора

    74HC4511          7-сегментник (общий катод)
    
    a (Pin 13) ──[330Ω]──┐     ┌─────────────┐
    b (Pin 12) ──[330Ω]──┤     │   ──a──     │
    c (Pin 11) ──[330Ω]──┤     │  │     │    │
    d (Pin 10) ──[330Ω]──┼────►│  f     b    │
    e (Pin 9)  ──[330Ω]──┤     │  │     │    │
    f (Pin 15) ──[330Ω]──┤     │   ──g──     │
    g (Pin 14) ──[330Ω]──┤     │  │     │    │
                         │     │  e     c    │
                        GND────│  │     │    │
                               │   ──d──  •dp│
                               └─────────────┘

✅ Тестирование

Шаг 1: Генератор

  1. Собери 74HCT4060 с кварцем 32768 Hz
  2. Проверь Q14 осциллографом → 2 Hz
  3. Подключи LED → мигает ≈2 раза/сек

Шаг 2: Счётчик единиц

  1. Подключи 74HC390 к Q14
  2. LED на Q0-Q3 должны считать 0-9
  3. Проверь сброс при 10

Шаг 3: Дисплей

  1. Подключи 74HC4511 к счётчику
  2. 7-сегментник должен показывать 0-9
  3. После 9 → 0

Шаг 4: Каскадирование

  1. Соедини единицы → десятки → минуты → часы
  2. Проверь переносы (59:59 → 00:00)

🏅 Уровни сложности

⭐ Базовый: Секундомер

  • Только секунды (0-59)
  • 2 цифры, без установки

⭐⭐ Средний: ММ:СС

  • Минуты и секунды
  • 4 цифры
  • Мигающее двоеточие

⭐⭐⭐ Продвинутый: ЧЧ:ММ:СС

  • Часы, минуты, секунды
  • 6 цифр
  • Кнопки установки

⭐⭐⭐⭐ Эксперт: С будильником

  • Установка будильника
  • Звуковой сигнал
  • Режим отображения даты

🎓 Чему научились в Акте III

ТемаКомпонентНавык
SR-защёлкаNORХранение 1 бита
D-защёлкаNANDУстранение запрещённого состояния
D-триггер74HC74Edge-triggered логика
Регистр74ACT377Хранение байта
Сдвиговый регистр74HC595Serial→Parallel
Счётчик74HCT4060Деление частоты
ТаймерTLC555Генерация CLK

🚀 Дальше: Акт IV

В финальном акте мы соберём процессор:

  • ALU
  • Программный счётчик
  • Регистры
  • Управляющая логика
Акт IV: Процессор →

🏆 Поздравляю!

Ты завершил Акт III: Память!

Прогресс курса:
━━━━━━━━━━━━━━━━━━━━━━━━░░░░░░ 76%

Акт I:   ██████████ 10/10 ✓
Акт II:  ██████████  8/8  ✓
Акт III: ████████    8/8  ✓
Акт IV:  ░░░░░░░░░░  0/8