Что такое регистр? Регистр (цифровая техника) Регистр 1 и 2 остатков алкогольной продукции

Регистры ЕГАИС,остатки егаис,егаис

В новости вы найдете ответы на вопросы о том, что такое регистры в ЕГАИС и для чего они нужны, когда остатки в ЕГАИС должны быть равны фактическим, а также, какие изменения произойдут в сервисе Контур.ЕГАИС в 4 квартале 2016.

Сразу отметим, что акт списания с регистра №1 появился в сервисе в конце сентября. Но прежде, чем начать что-либо списывать, прочитайте эту статью. В ней мы расскажем, почему со списанием можно не торопиться.

Регистры в ЕГАИС: что это такое и как с ними работать

Регистры — хранилища остатков алкогольной продукции у организации в ЕГАИС.
У каждой организации есть 2 регистра:

Регистр №1 или склад .
Продукция по принятым накладным поступает на регистр №1 (склад) и хранится на нем по партиям. Под «партией» понимаются справки А и Б, сопровождающие накладную.

Регистр №2 или торговый зал .
Продукция на нем хранится без учета партий, только по наименованиям. На регистре №2 (торговый зал) у пользователей ЕГАИС до 1 октября стояли нули по всем позициям.

Оборот алкогольной продукции в ЕГАИС ведется по партиям. Поэтому поступления, возвраты поставщикам и перемещения между подразделениями оформляются на регистре №1 (склад) с указанием справок А и Б.

При розничной продаже контролируется лишь количество проданной продукции. Для упрощения этого контроля в ЕГАИС появился регистр №2 (торговый зал), на котором продукция хранится без учета партий. Вместе с этим появилась возможность перемещать продукцию между двумя регистрами.

Для каждой продукции общий остаток в ЕГАИС равен сумме остатков этой продукции на регистре №1 и на регистре №2:

Возможные операции по работе с регистрами в ЕГАИС показаны на схеме:

Требования ФС РАР

Все требования ФС РАР по работе в ЕГАИС можно найти в новостных сообщениях на сайте и в Методологии ведения остатков в ЕГАИС организациями розничной торговли .
Мы проанализировали все требования из этих источников, чтобы вам было проще с ними разобраться. Сразу отметим, что требования касаются только крепкого алкоголя.

По пиву и другой не маркируемой продукции никаких новых требований не предъявляется.

С 1 октября розничные продажи крепкого алкоголя, зафиксированные в ЕГАИС, начали уменьшать баланс регистра №2 (торгового зала). Если на регистре №2 были нулевые остатки, ЕГАИС будет автоматически «уводить» регистр №2 в минус. По пиву и другой не маркируемой продукции остатки регистра №2 не будут «уходить в минус».

Мы понимаем, что работа с двумя регистрами, отслеживание отрицательных значений на регистре №2, контроль остатков — все это дополнительная нагрузка на небольшой розничный магазин. Поэтому мы хотим, чтобы часть этой нагрузки сервис взял на себя.
Розничной организации проще работать с остатками продукции на регистре №2 (торговый зал), потому что там нет справок А и Б. Мы не будем делить остатки в ЕГАИС на регистр №1 и регистр №2.

В сервисе по каждому товару вы будете видеть одно число «Остаток в ЕГАИС », которое мы будем считать, как сумму остатков по регистрам. Срок реализации: конец ноября 2016

Списание проданной продукции

В «Моих товарах» появился раздел «Списание с баланса». В разделе можно заполнить и отправить в ЕГАИС акт списания продукции с регистра №1 (склад). При заполнении акта после выбора продукции по формату необходимо указать справку Б, по которой эта продукция поступила на баланс.

Если вы планировали использовать акт списания для выравнивания остатков в ЕГАИС к 1 января 2017, советуем немного подождать. Скоро в сервисе появится возможность проведения инвентаризации.

Инвентаризация

В «Моих товарах» появится раздел «Инвентаризация». Раздел поможет вам провести инвентаризацию по всей алкогольной продукции. После этого сервис автоматически сформирует акты списания и постановки на баланс для выравнивания остатков в ЕГАИС. Вам останется отправить эти акты в ЕГАИС.
Срок реализации: октябрь 2016.

Заключение

В заключение для каждого типа организации отметим, какие изменения их ждут в 4 квартале 2016 при работе в ЕГАИС.

Розница с крепким алкоголем
Больше всего изменений почувствуют розничные магазины, торгующие крепким алкоголем.
С 1 октября 2016 необходимо следить за балансом регистра №2 (торговый зал). Если на регистре появились отрицательные значения, необходимо их «закрыть» переводом продукции с регистра №1 (склад).
До 1 января 2017 остатки крепкого алкоголя в ЕГАИС необходимо привести в соответствие с фактическими остатками. Для этого необходимо провести инвентаризацию крепкого алкоголя во всех торговых точках.

Розница только с пивом (в том числе ИП)
Изменения в ЕГАИС в 4 квартале 2016 никак не касаются учета пива и другой не маркируемой продукции.
У ИП и организаций, торгующих только пивом, нет обязанности работать с регистром №2 и отражать в ЕГАИС достоверные остатки продукции.
Несмотря на это мы советуем провести инвентаризацию по не маркируемой продукции и вести журнал учета продаж в Контур.ЕГАИС. Тогда сервис будет поддерживать ваши актуальные остатки продукции в ЕГАИС, и вы будете готовы к любым новым требованиям РАР.

Организации общественного питания
Организации общественного питания не фиксируют продажи в ЕГАИС. Регистр №2 у них не будет уходить в «минус». Поэтому этим организациям не надо контролировать появление отрицательных значений на регистре №2.

Но до 1 января 2017 остатки крепкого алкоголя в ЕГАИС необходимо привести в соответствие с фактическими остатками. Для этого необходимо провести инвентаризацию крепкого алкоголя во всех торговых точках.
В Контур.ЕГАИС эта возможность появится в октябре 2016.

После 1 января 2017 для поддержания актуальных остатков в ЕГАИС организации общественного питания могут ежедневно оформлять акты списания с указанием объема розничных продаж за день.

Организации из Республики Крым и г. Севастополя
В требованиях ФС РАР нет дополнительных разъяснений для организаций Крыма по работе с регистрами и по контролю остатков с 1 января 2017.

Напомним, что организации из городских поселений Республики Крым и г. Севастополя должны фиксировать в ЕГАИС розничную продажу крепкого алкоголя с 1 января 2017.

Теперь вы в курсе всех требований ФС РАР и ближайших изменений в Контур.ЕГАИС.

Когда кассир реализует бутылку крепкого алкоголя, в ЕГАИС она отнимается с баланса второго регистра. Такое правило действует с 1 октября 2016 года. В результате при нулевом количестве продукции на втором регистре его баланс уходит в минус, то есть в конце рабочего дня кассир имеет на втором регистре отрицательный остаток. Чтобы этого не было, нужно перенести продукцию с первого регистра на второй.

Как перенести товар

В разделе «Мои товары» следует выбрать «Перенос на 2 регистр», затем «Перенести товары». Если баланс давно не обновлялся, сервис сделает это автоматически. В результате пользователь увидит список товаров, по которым на регистре №2 числится отрицательный баланс.

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

Пользователю следует проверить список и нажать кнопку «Перенести». ЕГАИС обработает данные и подтвердит перенос - отрицательный остаток на втором регистре закроется.

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

Область регистров специальных функций SFR (Special Function Regis­ter) базового МК 8051 обширна и содержит 21 регистр, назначение которых приведено в табл. 2.3. Здесь же даны их оригинальные английские названия, на основании которых были заданы их мнемонические имена.

Регистры специальных функций с указанием адресов и начальных значений регистров представлены в табл. 2.4. Все регистры имеют байтовые адреса, но 16 из них помимо байтовой адресации допускают и адресацию отдельных разрядов. Эти регистры выделены в таблице жирным шрифтом, и для них указаны абсолютные адреса отдельных битов и их мнемонические обозначения. Отметим также, что эти регистры имеют адрес, заканчивающийся на цифры 0 и 8.

Таблица 2.3

Регистр

Наименование

Аккумулятор (Accumulator)

Регистр расширитель аккумулятора

16-разрядный указатель данных DPTR (Data Pointer)

Младший байт указателя данных DPTR (Data Pointer Low)

Старший байт указателя данных DPTR (Data Pointer High)

Слово состояния программы (Program Status Word)

Регистр указатель стека (Stack Pointer)

Регистр-защелка порта P0

Регистр-защелка порта P1

Регистр-защелка порта P2

Регистр-защелка порта P3

Младший байт счетного регистра таймера/счетчика 0

Старший байт счетного регистра таймера/счетчика 0

Младший байт счетного регистра таймера/счетчика 1

Старший байт счетного регистра таймера/счетчика 1

Регистр задания режимов таймеров счетчиков (Timer/counter Mode)

Регистр управления таймеров (Timer/counter Control)

Буфер данных UART (Serial Buffer)

Регистр управления UART (Serial Control)

Регистр задания приоритетов (Interrupt Priority)

Регистр разрешения прерываний (Interrupt Enable)

Регистр управления мощностью (Power Control)

Адрес прямо адресуемых битов может быть записан либо в виде выражения <Регистр>.<Разряд>, либо в виде абсолютного битового адреса. Например, запись TCON.2 означает адрес второго разряда регистра TCON. Кроме того, многие биты управляющих регистров имеют собственные названия ­– так, например, данный бит имеет название IT1.

Таблица 2.4

Регистр

Адрес

Адреса и мнемоника битов

Значение

при сбросе

Окончание табл . 2.4

Регистр

Адрес

Адреса и мнемоника битов

Значение

при сбросе

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

Рассмотрим назначение регистров специальных функций более подробно.

Рис. 2.13. Пространство регистров специальных функций

Аккумулятор A и расширитель аккумулятора B . Микроконтроллеры семейства 8051 имеют аккумуляторно-ориентированную архитектуру. Аккумулятор A представляет собой 8-разрядный регистр, который является источником операнда и местом фиксации результата при выполнении арифметических и логических операций и ряда операций передачи данных. В аккумуляторе могут выполняться логические операции; в него же поступают результаты ряда логических операций и специальных команд перемещения. Некоторые функции выполняются только с аккумулятором: сдвиг, проверка содержимого на нуль и др. Специальный 8-разрядный регистр-расширитель аккумулятора В используется в сочетании с аккумулятором при выполнении операций умножения и деления для хранения второго входного операнда и помещения возвращаемых восьми бит результата. Во всех других операциях регистр В может использоваться как обычный рабочий регистр.

Несмотря на то, что архитектура МК семейства 8051 является аккумуляторно-ориентированной, имеется возможность выполнения ряда операций, минуя аккумулятор. Данные могут быть перемещены из любой ячейки на кристалле в любой регистр по адресу или косвенному адресу; любой регистр может быть загружен константой, минуя аккумулятор.

Регистр-указатель данных DPTR . Этот регистр предназначен для хранения 16-разрядного адреса при выполнении команд перемещения переменных во всем адресном пространстве ВПД вплоть до 64 Кбайт. Состоит из двух программно доступных 8-разрядных регистров DPH (старший байт) и DPL (младший байт), которые при необходимости могут использоваться и в качестве независимых регистров общего назначения. Кроме того, DPTR служит базовым регистром при косвенной адресации в командах пересылки.

Регистр слова состояния программы PSW . При выполнении многих команд в АЛУ формируется ряд признаков, которые фиксируются в регистре PSW. В отдельные разряды этого регистра, именуемые флагами, после выполнения очередной команды может заноситься некоторая информация о результате ее выполнения. Помимо этого, PSW содержит флаги выбора текущего банка регистров общего назначения и флаг, программируемый пользователем.

Регистр-указатель стека SP . Стеком называется определяемая пользователем область памяти данных, запись и чтение в которую осуществляется по принципу «последним вошел – первым вышел». Восьмиразрядный регистр-указатель стека SP содержит адрес последнего байта, записанного в стек. Стек используется для передачи параметров между подпрограммами, для временного хранения переменных, хранения слова состояния во время выполнения программ обслуживания прерываний.

Содержимое указателя стека автоматически уменьшается или увеличивается при каждой записи или извлечении данных из стека, а также при вызовах и возвратах из подпрограмм. Теоретически стек может иметь глубину 128 байт. Указатель стека при сбросе принимает значение 07H, поэтому начальный адрес содержимого стека – ячейка 08H. Путем программного изменения содержимого указателя стека можно переместить стек в любую область резидентного ОЗУ.

При использовании стека необходимо учитывать, что глубина стека аппаратными средст­вами не контролируется, и при ее чрезмерном увеличении могут быть заняты не предназначенные для стека ячейки памяти с потерей инфор­мации в них. Аппаратно стек используется для сохранения адреса воз­врата при обслуживании прерывания.

Регистры-защелки параллельных портов ввода-вывода . Порты P0…P3 являются двунаправленными портами ввода-вывода и предназначены для обеспечения обмена информацией МК с внешними устройствами, образуя 32 линии ввода-вывода. Регистры-защелки этих портов представляют собой буферные регистры, в которые заносится информация при вводе и выводе. Назначение и особенности работы с портами рассмотрены далее в отдельном разделе.

Регистры таймеров/счетчиков . Регистры TMOD, TCON и регистровые пары с символическими именами TH0, TL0 и TH1, TL1 служат для обеспечения работы двух 16-разрядных программно управляемых таймеров/счетчиков. Подробное назначение этих регистров будет рассмотрено при описании таймеров/счетчиков.

Регистры последовательного порта . Регистры с символическими именами SBUF и SCON предназначены для задания режимов и управления работой универсального асинхронного приемопередатчика. Их описание приводится в разделе, посвященном рассмотрению работы UART.

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

Регистр управления мощностью PCON . С помощью разрядов этого регистра устанавливаются энергосберегающие режимы холостого хода и отключенного питания. Один из разрядов служит как бит удвоения скорости передачи UART.

Заканчивая раздел, следует отметить, что при дальнейшем развитии семейства в область регистров специальных функций добавляются регистры для расширенных ресурсов новых моделей микроконтроллеров. Например, в современные МК введены модули дополнительных таймеров, матриц программируемых счетчиков PCA (Programmable Counter Array), сторожевого таймера WDT (Watchdog Timer), прямого доступа к памяти DMA (Direct Memory Access), аналого-цифрового преобразователя ADC (Analog Digital Converter) и др.

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

Регистр представляет собой упорядоченный набор триггеров , обычно D-, число n которых соответствует числу разрядов в слове . С каждым регистром обычно связано комбинационное [ ] цифровое устройство, с помощью которого обеспечивается выполнение некоторых операций над словами.

Основой построения регистров являются: D-триггеры , RS-триггеры , JK-триггеры .

Энциклопедичный YouTube

  • 1 / 5

    Типичными являются следующие операции:

    • приём слова в регистр (установка состояния);
    • передача слова из регистра;
    • сдвиг слова влево или вправо на заданное число разрядов в сдвиговых регистрах;
    • преобразование последовательного кода слова в параллельный и обратно;
    • установка регистра в начальное состояние (сброс).

    Классификация регистров

    Параллельные регистры

    В параллельных (статических) регистрах схемы разрядов не обмениваются данными между собой. Общими для разрядов обычно являются цепи тактирования, сброса/установки, разрешения выхода или приема, то есть цепи управления. Пример схемы статического регистра, построенного на триггерах типа D с прямыми динамическими входами, имеющего входы сброса и выходы с третьим состоянием, управляемые сигналом EZ.

    Сдвигающие (последовательные) регистры

    Последовательные (сдвигающие) регистры представляют собою цепочку разрядных схем, связанных цепями переноса. Основной режим работы - сдвиг разрядов кода от одного триггера к другому на каждый импульс тактового сигнала. В однотактных регистрах со сдвигом на один разряд вправо слово сдвигается при поступлении тактового сигнала . Вход и выход последовательные (англ. Data Serial Right, DSR ).

    Согласно требованиям синхронизации в сдвигающих регистрах, не имеющих логических элементов в межразрядных связях, нельзя применять одноступенчатые триггеры, управляемые уровнем, поскольку некоторые триггеры могут за время действия разрешающего уровня синхросигнала переключиться неоднократно, что недопустимо. Появление в межразрядных связях логических элементов, и тем более, логических схем неединичной глубины упрощает выполнение условий работоспособности регистров и расширяет спектр типов триггеров, пригодных для этих схем. Многотактные сдвигающие регистры управляются несколькими синхропоследовательностями. Из их числа наиболее известны двухтактные с основным и дополнительным регистрами, построенными на простых одноступенчатых триггерах, управляемых уровнем. По такту С1 содержимое основного регистра переписывается в дополнительный, а по такту С2 возвращается в основной, но уже в соседние разряды, что соответствует сдвигу слова. По затратам оборудования и быстродействию этот вариант близок к однотактному регистру с двухступенчатыми триггерами.

    Регистры процессора

    По назначению регистры процессора различаются на:

    • аккумулятор - используется для хранения промежуточных результатов арифметических и логических операций и инструкций ввода-вывода;
    • флаговые - хранят признаки результатов арифметических и логических операций;
    • общего назначения - хранят операнды арифметических и логических выражений, индексы и адреса;
    • индексные - хранят индексы исходных и целевых элементов массива;
    • указательные - хранят указатели на специальные области памяти (указатель текущей операции, указатель базы, указатель стэка);
    • сегментные - хранят адреса и селекторы сегментов памяти;
    • управляющие - хранят информацию, управляющую состоянием процессора, а также адреса системных таблиц.

    Троичные регистры

    Троичные регистры строятся на троичных триггерах . Как и троичные триггеры, троичные регистры могут быть разных троичных систем кодирования троичных данных (троичных разрядов): трёхуровневая однопроводная, двухуровневая двухразрядная двухпроводная, двухуровневая трёхразрядная одноединичная трёхпроводная, двухуровневая трёхразрядная однонулевая трёхпроводная и др.

    На рисунке справа приведена схема девятиразрядного параллельного статического стробируемого троичного регистра данных на трёх трёхразрядных параллельных статических стробируемых троичных регистрах данных в трёхбитной одноединичной системе троичных логических элементов (линии с обозначением 3В: трёхпроводные), имеющего ёмкость в показательной позиционной троичной системе счисления 3 9 = 19683 {\displaystyle 3^{9}=19683} чисел (кодов).

    См. также

    Примечания

    1. http://wiki.miem.edu.ru/index.php/Схемотехника:Лекции Глава 11 Раздел 1.1 11.1.Классификация регистров
    2. http://www.intuit.ru/department/hardware/archhard2/2/2.html Интернет университет информационных технологий. Архитектура и организация ЭВМ. В. В. Гуров, В. О. Чуканов. 2.Лекция: Основные функциональные элементы ЭВМ, часть 2. Регистр хранения. Рис.2.5. Структура четырёхразрядного регистра хранения с асинхронным входом установки в 0 . Рис.2.6. Условно-графическое обозначение четырёхразрядного регистра хранения с асинхронным входом установки в 0
    3. http://www.bashedu.ru/perspage/wsap/posobie/chapter3/6.htm Основы цифровой электроники. 3.6. Регистры. Регистры хранения. Рис.3.25. Функциональные схемы основных типов регистров. Рис. 3.26. Регистры хранения, на D-триггерах, синхронизируемых уровнем синхроимпульса (а), фронтом (б) и на RS-триггерах, синхронизируемых фронтом (в)
    4. http://www.gsm-guard.net/glossary/_r.htm Глоссарий. Регистр сдвига (Shifter)
    5. http://kpe.hww.ru/spravka_circuitry/rs.htm Регистры сдвига
    6. http://dssp.karelia.ru/~ivash/ims/t12/TEMA6.HTM Регистры сдвига. Рис.1. Регистры сдвига на JK-триггерах
    7. http://www.airalania.ru/airm/147/53/index.shtml 6.1. Регистры сдвига и кольцевые счётчики
    8. http://www.intuit.ru/department/hardware/archhard2/2/2.html Интернет университет информационных технологий. Архитектура и организация ЭВМ. В. В. Гуров, В. О. Чуканов. 2.Лекция: Основные функциональные элементы ЭВМ, часть 2. Регистр сдвига. Рис.2.7. Структура регистра сдвига. Рис.2.8. Условно-графическое обозначение четырёхразрядного регистра сдвига с асинхронным входом установки в 0
    9. http://dfe3300.karelia.ru/koi/posob/log_basis/registr2.html Логические основы ЭВМ. Параллельные регистры сдвига. Рис.9.1 Структурная схема 4-разрядного параллельного кольцевого регистра. Рис.9.2. Логическая схема 4-разрядного кольцевого регистра
    10. http://www.bashedu.ru/perspage/wsap/posobie/chapter3/6.htm Основы цифровой электроники. 3.6. Регистры. Регистры сдвига. Рис. 3.27. Регистры сдвига на D-триггерах а), RS-триггерах б) и комбинированный регистр на D-триггерах
    11. http://www.texnic.ru/tools/cif_ms/7.html 7.РЕГИСТРЫ. 7.1. Сдвиговые регистры. Рис. 248. Двенадцатиразрядный сдвигающий регистр

    В прошлый раз был рассмотрен вариант увеличения выходов микроконтроллера при помощи микросхемы – дешифратора , сегодня рассмотрим более продвинутый вариант на сдвиговом регистре 74HC595. Использовав всего одну микросхему можно заиметь в свое распоряжение дополнительно 8 выходов, использовав всего 3 ноги микроконтроллера. А благодаря возможности расширения, добавив вторую микросхему, количество выходов можно увеличить до 16. Если мало, можно добавить третью и получить в пользование уже 24 выхода и такой трюк можно повторять сколько угодно раз. При этом количество занимаемых ног микроконтроллера так и останется 3, красота!

    Итак, рассмотрим более подробно назначение выводов микросхемы и научимся управлять сдвиговым регистром 74hc595 в Bascom-AVR.

    Для начала ознакомимся с выводами микросхемы, а точнее с их функциональностью. Ниже представлена вырезка из даташита на 74hc595 с обозначением выводов микросхемы:


    • Q0…Q7 – выходы которыми будем управлять. Могут находится в трёх состояниях: логическая единица, логический ноль и высокоомное Hi-Z состояние
    • GND – земля
    • Q7′ – выход предназначенный для последовательного соединения регистров.
    • MR – сброс регистра.
    • SH_CP – вход для тактовых импульсов
    • ST_CP – вход «защёлкивающий» данные
    • OE – вход переводящий выходы из HI-Z в рабочее состояние
    • DS – вход данных
    • VCC – питание 5 вольт

    Логика работы с регистром

    Когда на тактовом входе SH_CP появляется логическая единица, бит находящийся на входе данных DS считывается и записывается в сдвиговый регистр. Этот бит записывается в самый младший разряд. При поступлении на тактовый вход следующего импульса высокого уровня, в сдвиговый регистр записывается следующий бит со входа данных. А тот бит который был записан ранее сдвигается на один разряд влево, а его место занимает вновь пришедший бит. Следующий тактовый импульс запишет третий бит, а два предыдущих сдвинутся дальше. Когда все восемь бит заполнились и приходит девятый тактовый импульс то регистр снова начинает заполнятся с младшего разряда и всё повторятся вновь. Что бы данные появились на выходах Q0…Q7 нужно их «защёлкнуть». Для этого необходимо подать логическую единицу на вход ST_CP .

    - MR осуществляет сброс регистра, устанавливая все выходы Q0…Q7 в состояние логического нуля. Для осуществления сброса нужно подать логический ноль на этот вход и подать положительный импульс на вход ST_CP . Очень полезная функция, так как при подаче питания на микросхему на выходе появляется некое произвольное значение. При работе с регистром на этом выводе должна находится логическая единица.

    - OE (output enable) если подать сюда логическую 1, то выходы будут находится в высокоомном HI-Z состоянии. Когда подаем на этот вход логический 0, выходы будут находится в рабочем состоянии.

    - Q7′ предназначен для последовательного соединения сдвиговых регистров.

    Но лучше один раз увидеть, чем два раза прочитать =) поэтому смотрим на анимацию:


    Работа с регистром в лоб

    Осваивая работу с незнакомой микросхемой часто бывает полезна работа в лоб, тоесть прямое дергание ногами управления, это позволяет лучше понять принципы работы с подопытным. Итак следуя логике работы, написал программу которая должна будет вывести на выход регистра бинарное число 10010010

    $regfile = "attiny2313.dat"
    $crystal = 1000000

    Config Portb = Output

    Sh_cp Alias Portb . 3 "нога для тактовых импульсов
    Ds Alias Portb . 2 "нога для вывода данных
    St_cp Alias Portb . 0 "нога для "защелкивания" данных в регистр хранения


    "вывод через регистр числа 146 (в бинарном представлении 10010010)

    St_cp = 0 "выставляем ногу в режим записи данных

    Ds = 1 "выставляем первый бит
    Sh_cp = 0 "даем импульс на тактовый выход
    Sh_cp = 1

    Ds = 0 "выставляем второй бит
    Sh_cp = 0
    Sh_cp = 1

    Ds = 0 "выставляем третий бит
    Sh_cp = 0
    Sh_cp = 1

    Ds = 1 "выставляем четвертый бит
    Sh_cp = 0
    Sh_cp = 1

    Ds = 0 "выставляем пятый бит
    Sh_cp = 0
    Sh_cp = 1

    Ds = 0 "выставляем шестой бит
    Sh_cp = 0
    Sh_cp = 1

    Ds = 1 "выставляем седьмой бит
    Sh_cp = 0
    Sh_cp = 1

    Ds = 0 "выставляем восьмой бит
    Sh_cp = 0
    Sh_cp = 1

    St_cp = 1 "защелкиваем введенные данные

    End


    компилируем, зашиваем в микроконтроллер или смотрим в симулятор и видим на выходе нашу комбинацию.


    Работает, на выходе регистра появилось отправленное число!

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

    Управление регистром 74HC595 в Bascom через команду ShiftOut

    В Bascom-AVR для работы со всевозможными последовательными интерфейсами есть замечательная команда SHIFTOUT
    Эта команда сама разложит число на битовые составляющие и последовательно выведет их на любой пин микроконтроллера, заодно она может выдавать тактовые импульсы. Для работы со сдвиговыми регистрами самое то! Синтаксис команды:

    SHIFTOUT Datapin , Clockpin , var , option


    Datapin – порт микроконтроллера для вывода данных

    Clockpin – порт микроконтроллера для вывода тактовых импульсов

    Var – данные которые хотим отправить в регистр

    Option – число от 0 до 3, этим параметром выбирается в каком порядке будут вводиться данные в регистр и активный уровень на линии Clock при котором происходит запись бита:
    option=0 – старший бит идет первым, Clock активный уровень низкий
    option=1 –
    старший бит идет первым , Clock активный уровень высокий
    option=2 –
    младший бит идет первым , Clock активный уровень низкий
    option=3 –
    младший бит идет первым , Clock активный уровень высокий

    В нашем случае для работы с регистром 74HC595 параметр option нужно ставить 1 или 3.

    Для того чтобы защелкнуть данные в регистре, применим команду PulseOut . Эта команда выводит импульс на ногу микроконтроллера с заданной длительностью. Конфигурация команды выглядит следующим образом:

    Теперь давайте выведем число 10010001 (145 в десятичной системе) на выход регистра, подключенному к микроконтроллеру по вышеприведенной схеме:

    $regfile = "attiny2313.dat"
    $crystal = 1000000

    Dim A As Byte
    Config Portb = Output

    A = 145

    Gosub Hc595 "уходим на подпрограмму отправки данных

    End

    Hc595 : "подпрограмма отправки данных

    Shiftout Portb . 2 , Portb . 3 , A , 1 "отправляем данные в регистр
    Pulseout Portb , 0 , 5 "защелкиваем данные
    Return

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


    Как видно управление сдвиговым регистром 74HC595 в Bascom состоит всего из двух строк кода, и не представляет никаких сложностей.

    Увеличение разрядности