Это старая версия документа!


Эксперимент 19. Счетчик (Версия 4.0)

Используя сдвиговый регистр 74НС595 усовершенствуем проект счетчика нажатий на кнопку.

Схема эксперимента

Рисунок 1. Электрическая принципиальная схема эксперимента

Рисунок 2. Монтажная схема эксперимента

Как и в предыдущем эксперименте контроллер передает последовательный сигнал на вывод DS микросхемы, который преобразуется в параллельный сигнал на выводах Q0…Q7. К этим выводам через токоограничительные резисторы подключаем LED - индикатор.

Программный код эксперимента

Exp19
  1. const int latchPin = 5;
  2. const int clockPin = 6;
  3. const int dataPin = 4;
  4. int keyPin = 13;
  5. int datArray[16] = {254, 176, 237, 249, 179, 219, 223, 240, 255, 243, 247, 159, 206, 189, 199};
  6. void Displ(int num);
  7.  
  8. void setup () {
  9. pinMode(latchPin,OUTPUT);
  10. pinMode(clockPin,OUTPUT);
  11. pinMode(dataPin,OUTPUT);
  12. Displ(0);
  13. }
  14.  
  15. int x = -1;
  16. int button_old = 1;
  17. void loop() {
  18. if((digitalRead(keyPin) == LOW)&&(button_old == 1)) {
  19. x = x + 1;
  20. }
  21. Displ(0);
  22. Displ(x);
  23. if (x > 15) {x = 0;}
  24. button_old = digitalRead(keyPin);
  25. delay(20);
  26. }
  27.  
  28. void Displ(int num) {
  29. digitalWrite(latchPin,LOW);
  30. shiftOut(dataPin,clockPin,LSBFIRST,datArray[num]);
  31. digitalWrite(latchPin,HIGH);
  32. }

Дополнительное задание

  • добавьте дополнительно еще буквы A, b, C, d, E, F
  • усовершенствуйте функцию displ(),(подсказка - для этого вам понадобится изменить монтажную схему подключения