Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

Arduino:Примеры/ShftOut11

Материал из Онлайн справочника
Перейти к: навигация, поиск

Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Простая передача битов[1]

Это скетч для платы Arduino и одного сдвигового регистра 74HC595. Он поочередно генерирует числа от «0» до «255», передает их сдвиговому регистру, а тот передает их 8 светодиодам, которые показывают двоичную версию этих чисел.

Код

  1. //**************************************************************
  2. //  Название      : Простая передача битов                                
  3. //  Авторы        : Кэрлин Мо, Том Иго, Дэвид А. Меллис,
  4. //  Дата          : 25 октября 2006 года
  5. //  Модифицирован : 23 марта 2010 года                                
  6. //  Версия        : 2.0                                            
  7. //  Примечания    : Скетч для использования со сдвиговым
  8. //                : регистром 74HC595; считает от «0» до «255»
  9. //***************************************************************
  10.  
  11. // Контакт, подключенный к контакту ST_CP на 74HC595:
  12. int latchPin = 8;
  13. // Контакт, подключенный к контакту SH_CP на 74HC595:
  14. int clockPin = 12;
  15. // Контакт, подключенный к контакту DS на 74HC595:
  16. int dataPin = 11;
  17.  
  18.  
  19.  
  20. void setup() {
  21.   // выставляем контакты в режим OUTPUT, чтобы с их помощью
  22.   // можно было управлять сдвиговым регистром:
  23.   pinMode(latchPin, OUTPUT);
  24.   pinMode(clockPin, OUTPUT);
  25.   pinMode(dataPin, OUTPUT);
  26. }
  27.  
  28. void loop() {
  29.   // считаем от «0» до «255» и выводим число на светодиоды:
  30.   for (int numberToDisplay = 0; numberToDisplay < 256; numberToDisplay++) {
  31.     // задаем контакту latchPin значение LOW,
  32.     // чтобы при отправке битов состояние светодиодов не менялось:
  33.     digitalWrite(latchPin, LOW);
  34.     // перемещаем биты:
  35.     shiftOut(dataPin, clockPin, MSBFIRST, numberToDisplay);  
  36.     // задаем контакту latchPin значение HIGH,
  37.     // чтобы передать светодиодам присланные значения:
  38.     digitalWrite(latchPin, HIGH);
  39.     // делаем паузу перед передачей следующих значений:
  40.     delay(500);
  41.   }
  42. }

См.также

Внешние ссылки

  1. www.arduino.cc - ShiftOut