Егаис справка 2. Регистр (цифровая техника)


Регистр. Регистр сдвига

Регистр это устройство, выполненное на триггерах для выполнения ряда действий с двоичными числами. Для тех, кто не знает, что такое триггер, рекомендуем познакомиться с простейшим RS-триггером .

Наиболее простая функция регистров - это запоминание числа и его длительное хранение. Эти устройства так и называются - регистры хранения. Вот простейший пример.

На входы D0 - D2 подаётся число, которое необходимо сохранить. Как только на входе С появляется импульс синхронизации, число записывается в триггер, изменяя их состояние. На рисунке показан трёхразрядный регистр хранения. При подаче на входы числа 111 2 оно же появится на прямых выходах триггеров (Q0 - Q2 ). На инверсных выходах (Q0 - Q2 ) будет, естественно 000 2 . Сигналом R (Reset ) или сброс, триггеры устанавливаются в нулевое состояние.

Обычно используются регистры, состоящие из 4, 8, или 16 триггеров. Изображение четырёхразрядного регистра на принципиальных схемах может быть таким.

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

Сдвигающие регистры или регистры сдвига.

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

Кроме того сдвигающие регистры являются основой (АЛУ ) арифметико-логического устройства, так как при сдвиге записанного в регистр двоичного числа на один разряд влево производится умножение числа на два, а при сдвиге числа на один разряд вправо число делится на два. Поэтому наибольшее распространение получили реверсивные или двунаправленные регистры.

Рассмотрим четырёхразрядный регистр сдвига, преобразующий последовательный двоичный код в параллельный. Применение последовательного кода оправдано тем, что по одной линии можно передавать огромные массивы информации. Таким примером может служить универсальная последовательная шина - USB порт любого устройства. Число триггеров в данном регистре может быть любым. Достаточно соединить прямой выход Q3 с D входом следующего триггера и так далее до достижения необходимой разрядности.

Регистр работает следующим образом. Первый информационный бит поступает на вход D0 . Одновременно с этим битом приходит тактовый синхроимпульс на вход С . Входы С всех триггеров входящих в регистр, объединены между собой. С приходом первого тактового импульса уровень, находящийся на входе D0 записывается в первый триггер и с выхода Q0 приходит на вход следующего триггера, но записи во второй триггер не происходит, так как синхроимпульс уже закончился.

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

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

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

Рассмотрим, как работает четырёх разрядный универсальный регистр сдвига К155ИР1 (аналог - SN7495N ). Вот его внутреннее устройство.

Регистр содержит четыре D-триггера, которые соединены между собой с помощью дополнительных логических элементов И - ИЛИ, которые позволяют реализовать различные функции. На схеме:

    V2 - вход управления. С его помощью выбирается режим работы регистра.

    Q1 - Q4 выходы триггеров с которых снимается параллельный код.

    V1 - вход для подачи последовательного кода.

    C1, C2 - тактовые синхроимпульсы.

    D1 - D4 - входы для записи параллельного кода.

Алгоритм работы регистра следующий. Если на вход V2 подать низкий потенциал, тактовые импульсы на C1, а на вход V1 подавать информационные биты, то регистр осуществляет сдвиг вправо. После приёма четырёх разрядов на выходах триггеров Q1 - Q4 мы получаем параллельный код. Таким образом осуществляется преобразование последовательного кода в параллельный.

Для обратного преобразования параллельный код записывается по входам D1 - D4, с подачей на вход V2 высокого потенциала и тактовых импульсов на вход С2. Затем подавая на вход V2 низкий потенциал, а тактовые импульсы на вход С1 мы сдвигаем записанный код, а с выхода последнего триггера снимается последовательный код.

По своей структуре это один из самых простых регистров сдвига.

Регистры сдвига в цифровой технике могут послужить основой, на которой собираются узлы с интересными свойствами. Это, например, кольцевые счётчики, которые называются счётчики Джонсона. Такой счётчик имеет количество состояний вдвое большее, чем число составляющих его триггеров. Например, если кольцевой счётчик состоит из трёх триггеров, то он будет иметь шесть устойчивых состояний. На вход счётчика ничего не подаётся кроме синхроимпульсов. В первоначальном состоянии все триггеры "сброшены", то есть на прямых выходах триггеров логические нули, а вот на входе D первого триггера с инверсного выхода третьего триггера находится логическая единица. Начнём подавать тактовые импульсы и процесс пошёл.

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

N Q 2 Q 1 Q 0
1 0 0 1
2 0 1 1
3 1 1 1
4 1 1 0
5 1 0 0
6 0 0 0

Теперь вы знаете, что такое регистр и как он может использоваться на практике. Основа любого регистра - это триггер. Число триггеров в регистре определяет его разрядность. Те, кто увлекается микроконтроллерами знает, что важнейший элемент любого микроконтроллера, будь то PIC, AVR, STM или MSP, это регистр.

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

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

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

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

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

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

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

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

Регистр № 1 - это виртуальный склад. Здесь собрана информация о продукции и ее производителе, в том числе идентификаторы справок А и Б. На регистре № 1 фиксируется поступление алкогольной продукции, перемещение между точками, возврат, а также списание и постановка на баланс ЕГАИС.

Регистр № 2 представляет собой виртуальный торговый зал. На этом регистре фиксируется продажа спиртного в розницу, списание и постановка на баланс ЕГАИС.

Продукция с разными справками А и Б, но с одинаковым алкокодами группируется на втором регистре под одним названием . Поясним на примере.

В торговую точку поступило 3 партии товара одинакового наименования и объема от разных поставщиков. На регистре № 1 каждая партия будет фигурировать отдельно :

  • Водка «Талка» 0,5 л. 3 шт. FB-000000000000001
  • Водка «Талка» 0,5 л. 5 шт. FB-000000000000002
  • Водка «Талка» 0,5 л. 4 шт. FB-000000000000003

Когда продукция будет перенесена на 2-й регистр, эти товары будут объединены в одну группу . Пользователь увидит не код продукции, по которому она будет объединена, а ее название: Водка «Талка» 0,5 л. 12 шт.

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

Регистры в учете алкоголя

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

Поступление на склад

Обычно продукция прибывает от поставщика. Составляется товарно-транспортная накладная, товар помещается на первый регистр.

Другой вариант поступления - выявлена неучтенная ранее продукция . Если все документы по ней в наличии, то ее можно записать на первый регистр. Если же нет, то на регистр № 2.

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

Списывается продукция по нескольким основаниям.

Реализация крепкого алкоголя. Товар реализуется через кассу, она формирует чек и отправляет его в электронном виде в ЕГАИС. Происходит автоматическое списание с регистра № 2.

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

  • после вскрытия тары с пивом и реализации из нее какого-то объема в журнале учета продаж фиксируется вся тара;
  • затем составляется акт списания целиком на всю тару.

Если товар поступил по накладным через Контур.Маркет (ЕГАИС), то списывать его нужно с того регистра, на котором он числится.

Возврат или перемещение. Такие операции оформляются расходной товарно-транспортной накладной. Как в случае с перемещением, так и в случае с возвратом, расходная ТТН отправляется с регистра № 1. Второй регистр в этих операциях не задействован.

Прочее списание - бой, утеря, кража. Акт списания составляется вручную с обязательным указанием причин.

Для отдельных продавцов есть преференции - они могут не фиксировать в ЕГАИС алкоголь, если он продан через кассу. Это распространяется:

  1. На заведения общепита, где алкоголь продается порциями. В день вскрытия бутылки нужно составить акт списания и отправить его в РАР.
  2. На сельские магазины, где нет постоянного доступа в интернет. Акт списания можно отправить не позднее следующего дня с даты продажи.

Следует помнить, что при реализации крепкого алкоголя и пивных напитков нужно печатать в чеке наименование товаров . Не распространяется правило только на предпринимателей, применяющих спецрежимы. У них есть отсрочка до 1 февраля 2021 года.

Обратите внимание! Существуют регистров 1 и 2 ЕГАИС.

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

В "1С:УНФ" регистрационные формы учета соответствуют элементам справочников Справки к ТТН по форме 1 и Справки к ТТН по форме 2 .

В Регистре № 1 продукция хранится по партиям в разрезе Справки 1 и Справки 2. В Регистре № 2 — в разрезе алкогольного наименования и производителя/импортера. В Регистре № 3 — в разрезе Справки 2 и цифровых идентификаторов.

Эти справки загружаются автоматически с документами Остатки ЕГАИС , Акт постановки на баланс ЕГАИС и Товарно-транспортная накладная ЕГАИС (входящая) при обмене с ЕГАИС.

Также есть возможность загружать справки по их номеру в форме выбора справки (команда Запросить справку ).

Единицы хранения остатков в ЕГАИС

В отчетах, полученных из ЕГАИС, следует учитывать, в каких единицах продукция хранится в ЕГАИС, — в штуках (если продукция упакованная, фасованная) или в декалитрах (если неупакованная).

Тип продукции в ЕГАИС – Упакованная или Неупакованная – определяет поставщик при отправке сведений. В "1С:УНФ" его можно посмотреть в соответствующем элементе справочника Классификатор алкогольной продукции .

Объем единицы продукции или транспортной упаковки разливной продукции в декалитрах устанавливается в элементе справочника Номенклатура .

Для сверки остатков и устранения расхождений в ЕГАИС и ИБ следует:

  • Запросить остатки в ЕГАИС.
  • Оприходовать товар на склад при необходимости.

Запрос остатков в ЕГАИС

Для отправки запроса в ЕГАИС по текущим остаткам служит документ Остатки ЕГАИС (раздел Закупки ЕГАИС ).

Запрос остатков по Регистру № 1

Для того чтобы получить остатки по Регистру № 1 ЕГАИС, необходимо использовать документ Остатки ЕГАИС .

Создайте документ, на закладке Основное укажите Организацию ЕГАИС и установите переключатель в положение Регистр № 1 .

Проведите документ. Статус созданного документа автоматически примет значение Черновик .

В ЕГАИС будет направлен запрос на получение остатков. Статус документа изменится на Передан в УТМ .

Получить результат запроса вручную можно с помощью кнопки Протокол обмена Выполнить обмен .

Получены остатки и на закладке Остатки по данным ЕГАИС будет загружена полученная информация.

Перейдите на закладку и нажмите на кнопку Заполнить по расхождениям . Данные об остатках алкогольной продукции ЕГАИС в ИБ будут откорректированы в соответствии с данными ЕГАИС.

Эти цифры попадут в отчет в колонке Количество (по данным ИБ) .

Запрос остатков по Регистру № 2

Запрос остатков по Регистру № 2 осуществляется аналогично Регистру № 1.

Различие в том, что при запросе остатков по Регистру № 2 в форме документа Остатки ЕГАИС на закладке Основное следует установить переключатель Запрос остатков в режим Регистр № 2 .

Закладка Корректировка учетных остатков в этом случае будет недоступна. Документ (аналогично запросу по Регистру № 1) отправляется в ЕГАИС.

После получения ответа на закладке Остатки по данным ЕГАИС будут автоматически загружены текущие сведения.

Корректировка остатков ЕГАИС

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

Для формирования отчета перейдите в рабочее место Обмен с ЕГАИС Склад Отчеты ЕГАИС и создайте новый отчет.

Заполните поле Организация и нажмите на ссылку Запросите отчет .

После получения ответа из ЕГАИС статус документа автоматически изменится на Получен отчет .

Станет доступен отчет Остатки алкогольной продукции .

Область регистров специальных функций 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) и др.







2024 © binary-option.ru.