Скачиваний:
2
Добавлен:
18.11.2023
Размер:
1.54 Mб
Скачать

Практическое занятие № 7

Тема: «Подключение светодиодов с помощью сдвигового регистра»

Цель занятия: «Изучить конструкцию и принцип работы сдвигового регистра, а также научиться увеличивать количество выходов модуля Ардуино с помощью сдвигового регистра».

Оборудование:

– ПЭВМ в сборе;

– плата Arduino Uno;

– набор кабелей для подключения к ПК;

– набор драйверов;

– сдвиговый регистр 74HC595, наборы: резисторов, диодов, транзисторов, светодиодов;

– макетная плата;

– методические рекомендации к выполнению заданий, справочная литература или доступ в сеть Интернет

Задание

1 Изучить схему подключения сдвигового регистра 74HC595 к плате Arduin

2 Произвести аппаратную сборку схемы подключения 74HC595 к плате.

3Произвести разработку и тестирование программы работы с сдвиговым регистром.

4 Произвести загрузку скейча в микроконтроллер.

5 Проверить работоспособность.

6 Ответить на контрольные вопросы.

Ход работы:

  1. Изучили построение схемы.

Для начала подключим контакты 16 (VCC) и 10 (SRCLR) к выходу 5v на Arduino и соединяем выводы 8 (GND) и 13 (OE) с выводом Gnd на Arduino. Pin 13 (OE) используется для включения выходов, так как это активный низкий контакт, который мы можем подключить непосредственно к земле.

Затем нам нужно соединить три контакта, которыми мы будем управлять сдвиговым регистром:

  • Pin 11 (SRCLK) сдвигового регистра 74HC595 на пин 11 на Arduino - это будет называться «синхронизирующим пином»,

  • Pin 12 (RCLK) сдвигового регистра на пин 12 на Arduino - это будет обозначаться как «пин защелка»,

  • Pin 14 (SER) сдвигового регистра на пин 13 на Arduino - это будет называться «пином данных»,

Все три этих контакта используются для выполнения сдвига битов, упомянутого ранее в этом руководстве. К счастью, ардуино предоставляет вспомогательную функцию специально для регистров сдвига, называемую shiftOut, которая будет обрабатывать почти все для нас, но мы вернемся к этому при просмотре кода. Теперь нам просто нужно подключить все выходные выводы к нашим светодиодам, гарантируя, что резистор размещается перед светодиодами, чтобы уменьшить ток и что катоды светодиодов направлены на землю.

Чтобы уменьшить нагромождение проводов до минимума, мы поместили резисторы и светодиоды на отдельный макет, однако, вы можете воспользоваться одной макетной платой.

При размещении светодиодов убедитесь, что они подключены по порядку, так что QA подключен к первому светодиоду, а QH подключен к последнему светодиоду, так как иначе наш код не включит светодиоды в правильном порядке. Когда вы закончите, у вас должно получится что-то вроде этого:

  1. Собрали схему

  1. Написали программу.

int dataPin = 9; //Пин подключен к DS входу 74HC595

int latchPin = 10; //Пин подключен к ST_CP входу 74HC595

int clockPin = 11; //Пин подключен к SH_CP входу 74HC595

void setup() {

//устанавливаем режим OUTPUT

pinMode(latchPin, OUTPUT);

pinMode(clockPin, OUTPUT);

pinMode(dataPin, OUTPUT);

digitalWrite(latchPin, LOW);

shiftOut(dataPin, clockPin, LSBFIRST, B01001100);

digitalWrite(latchPin, HIGH

}

void loop() {

}

  1. Ответил на контрольные вопросы:

  1. Преимущества использования сдвигового регистра 74HC595:

  • не требует никакой обвязки кроме конденсатора по питанию;

  • работает через широкораспостраненный интерфейс SPI;

  • для самого простого включения достаточно двух выходов микроконтроллера;

  • возможность практически неограниченного расширения количества выходов без увеличения занятых выходов микроконтроллера;

  • частота работы до 100 МГц;

  • напряжение питания от 2 В до 6 В;

  • дешевый — стоит менее 5 центов;

  • выпускается как в планарных корпусах (74HC595D удобен для производства), так и в DIP16 (74HC595N удобен для радиолюбителей и макетирования).

Для понимания работы регистра стоит взглянуть на функциональную схему. Она состоит из:

  • 8-битного регистра сдвига,

  • 8-битного регистра хранения,

  • 8-битного выходного регистра.

2.. Для передачи 8 бит данных.

Вывод: Изучили конструкцию и принцип работы сдвигового регистра, а также научился увеличивать количество выходов модуля Ардуино с помощью сдвигового регистра.