Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






ShiftOut(). Побитово выводит байт данных





Описание:

Побитово выводит байт данных. Начинает со старшего и заканчивает младшим битом. Каждый бит передается на вывод данных по тактирующему импульсу, показывающему, что бит доступен для чтения.

Данный метод известен как синхронный последовательный протокол и это отличный способ свзять микроконтроллер с датчиками и другими микроконтроллерами. Два устройста остаются синхронизованными и могут общаться на максимальных скоростях, зависящих от тактовой частоты.

Синтаксис:

shiftOut(dataPin, clockPin, bitOrder, value)

Параметры:

dataPin: вывод, по которому будем слать данные (int)

clockPin: тактирующий вход, состояние его будет изменяться как только следующий бит будет готов к отправке(int)

bitOrder: в каком порядке перебираем биты; MSBFIRST или LSBFIRST.

(первый старший, или, первый младший)

value: данные для передачи (byte)

dataPin и clockPin должны быть сконфигурированы как выходные при помощи pinMode().

shiftOut может передать 1 байт (8 бит) поэтому требуется два шага для передачи значений, больших 255.

int data = 500;

// передаем старшие 8 бит

shiftOut(dataPin, clock, MSBFIRST, (data >> 8));

// и младшие 8 бит

shiftOut(data, clock, MSBFIRST, data);

Пример:

Смотрите схему подключения микросхемы сдвигового регистра 74HC595.

//**************************************************************//

// Name: shiftOutCode, Hello World //

// Author: Carlyn Maw,Tom Igoe //

// Date: 25 Oct, 2006 //

// Version: 1.0 //

// Notes: Code for using a 74HC595 Shift Register //

//: to count from 0 to 255 //

//****************************************************************

//Pin connected to ST_CP of 74HC595

int latchPin = 8;

//Pin connected to SH_CP of 74HC595

int clockPin = 12;

////Pin connected to DS of 74HC595

int dataPin = 11;

void setup() {

//set pins to output because they are addressed in the main loop

pinMode(latchPin, OUTPUT);

pinMode(clockPin, OUTPUT);

pinMode(dataPin, OUTPUT);

}

void loop() {

//count up routine

for (int j = 0; j < 256; j++) {

//ground latchPin and hold low for as long as you are transmitting

digitalWrite(latchPin, LOW);

shiftOut(dataPin, clockPin, LSBFIRST, j);

//return the latch pin high to signal chip that it

//no longer needs to listen for information

digitalWrite(latchPin, HIGH);

delay(1000);

}

}








Date: 2015-12-12; view: 459; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию