123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- <html>
- <head>
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
- <title>Счётчик</title>
- </head>
- <body bgcolor="FFFFFF">
- <h1><img align="center" src="../../../../en/icons/counter.gif" width="32" height="32">
- <em>Счётчик</em></h1>
- <p><table>
- <tr><td><strong>Библиотека:</strong></td>
- <td><a href="index.html">Память</a></td></tr>
- <tr><td><strong>Введён в:</strong></td>
- <td>2.3.0</td></tr>
- <tr><td valign="top"><strong>Внешний вид:</strong></td>
- <td valign="top"><img src="../../../../en/img-libs/counter.png" width="34" height="44"></td></tr>
- </table></p>
- <h2>Поведение</h2>
- <p>Счётчик хранит одно значение, которое выдаётся на выход <var>Q</var>. Каждый раз, когда тактовый вход (отмеченный треугольником на южном крае компонента) срабатывает в соответствии с его атрибутом Срабатывание, значение в счётчике может обновиться на основании значений двух входов на западном крае компонента: верхнего входа, названного <var>загрузка</var>, и нижнего, названного <var>счёт</var>, и они интерпретируются следующим образом.</p>
- <center><table><thead>
- <tr><td><var>загрузка</var></td><td><var>счёт</var></td><td>вызываемое действие</td></tr>
- </thead><tbody>
- <tr><td align="center">0 или z</td><td align="center">0</td>
- <td>Значение счётчика остаётся неизменным</td></tr>
- <tr><td align="center">0 или z</td><td align="center">1 или z</td>
- <td>Значение счётчика увеличивается на единицу.</td></tr>
- <tr><td align="center">1</td><td align="center">0</td>
- <td>Счётчик загружает значение со входа <var>D</var>.</td></tr>
- <tr><td align="center">1</td><td align="center">1 или z</td>
- <td>Значение счётчика уменьшается на единицу.</td></tr>
- </tbody></table></center>
- <p>Диапазон счёта можно настроить с помощью атрибута Максимальное значение. Когда счётчик достигает этого значения, следующее увеличение возвращает значение счётчика обратно к 0; а если значение счётчика 0, то уменьшение возвратит счётчик к его максимальному значению.</p>
- <p>В дополнение к выходу <var>Q</var> компонент также имеет однобитный выход <var>перенос</var>. На этом выходе 1, когда счётчик имеет своё максимальное значение и входы <var>загрузка</var> и <var>счёт</var> показывают, что значение компонента должно увеличиться на следующем шаге; или когда значение счётчика - 0, и входы <var>загрузка</var> и <var>счёт</var> показывают, что значение компонента должно уменьшиться на следующем шаге.</p>
- <p>Вход <var>Очистка</var> асинхронно сбрасывает значение счётчика на 0 (все нули); кроме того, пока на входе <var>Очистка</var> 1, значение фиксировано на 0 вне зависимости от тактового входа.</p>
- <h2>Контакты</h2>
- <dl>
- <dt>Восточный край, отмечен <var>Q</var> (выход, разрядность соответствует атрибуту Биты данных)</dt>
- <dd>Выдаёт значение, хранящееся в данный момент в счётчике.</dd>
- <dt>Восточный край, нижний контакт (выход, разрядность равна 1)</dt>
- <dd>Перенос: когда входы <var>загрузка</var> и <var>счёт</var> указывают счётчику увеличиться, значение на этом выходе 1, если регистр имеет максимальное значение. Когда входы <var>загрузка</var> и <var>счёт</var> указывают счётчику уменьшиться, значение на этом выходе 1, если регистр имеет значение 0. Во всех других случаях на этом выходе 0.</dd>
- <dt>Западный край, верхний контакт (вход, разрядность равна 1)</dt>
- <dd>Загрузка: когда на этом входе 1, пока на входе <var>счёт</var> 0, счётчик загрузит значение со входа <var>данные</var> при следующем срабатывании тактового входа; или, если на входе <var>счёт</var> 1, значение счётчика уменьшится.</dd>
- <dt>Западный край, средний контакт, отмечен <var>D</var> (вход, разрядность соответствует атрибуту Биты данных)</dt>
- <dd>Данные: когда срабатывает тактовый вход при 1 на входе <var>загрузка</var> и 0 на входе <var>счёт</var>, значение счётчика сменится на значение, поступившее на этот вход.</dd>
- <dt>Западный край, нижний контакт, отмечен <var>ct</var> (вход, разрядность равна 1)</dt>
- <dd>Счёт: когда на этом входе 1, или он не подключен, значение счётчика увеличивается, когда срабатывает тактовый вход, или уменьшается, если на входе <var>load</var> тоже была 1.</dd>
- <dt>Южный край, отмечен треугольником (вход, разрядность равна 1)
- <dd>Тактовый вход: в момент срабатывания этого входа (как указано в атрибуте Срабатывание) значение счётчика обновляется, как указано входами <var>загрузка</var> и <var>счёт</var>.</dd>
- <dt>Южный край, отмечен 0 (вход, разрядность равна 1)
- <dd>Очистка: если на этом входе 0 или неопределённое значение, то он не имеет эффекта. Пока на нём 1, значение счётчика асинхронно фиксируется на 0. Это происходит асинхронно - то есть вне зависимости от текущего значения на тактовом входе. Пока на нём 1, другие входы не имеют эффекта.</dd>
- </dl>
- <h2>Атрибуты</h2>
- <p>Когда компонент выбран, или уже добавлен, комбинации от Alt-0 до Alt-9 меняют его атрибут <q>Биты данных</q>.</p>
- <dl>
- <dt>Биты данных</dt>
- <dd>Разрядность значения, выдаваемого компонентом.</dd>
- <dt>Максимальное значение</dt>
- <dd>Максимальное значение, при котором счётчик установит в 1 значение выхода Перенос.</dd>
- <dt>Действие при переполнении</dt>
- <dd>Поведение, когда счётчик пытается увеличится при максимальном значении, или уменьшиться при 0. Четыре возможных действия поддерживаются:
- <dl>
- <dt>Закольцовывать</dt>
- <dd>При увеличении - следующее значение 0; при уменьшении - максимальное значение</dd>
- <dt>Оставаться на значении</dt>
- <dd>Значение счётчика остаётся на максимуме (или на 0 при уменьшении)</dd>
- <dt>Продолжать счёт</dt>
- <dd>Счётчик продолжает увеличение/уменьшение, сохраняя количество битов, указанное в атрибуте Биты данных</dd>
- <dt>Загрузить следующее значение</dt>
- <dd>Следующее значение загружается со входа D.</dd>
- </dl></dd>
- <dt>Срабатывание</dt>
- <dd>Определяет, как обрабатывается тактовый вход. Значение <q>Передний фронт</q> означает, что счётчик должен обновляться в момент, когда значение на тактовом входе меняется с 0 на 1. Значение <q>Задний фронт</q> означает, что он должен обновляться, когда значение на тактовом входе меняется с 1 на 0.</dd>
- <dt>Метка</dt>
- <dd>Текст внутри метки, привязанной к компоненту.</dd>
- <dt>Шрифт метки</dt>
- <dd>Шрифт, которым отрисовывается метка.</dd>
- </dl>
- <h2>Поведение Инструмента Нажатие</h2>
- <p>Нажатие на счётчике переводит фокус ввода клавиатуры на компонент (это отображается красным прямоугольником), и ввод шестнадцатеричных цифр будет менять значение, хранящееся в счётчике.</p>
- <h2>Поведение Инструмента Текст</h2>
- <p>Позволяет редактировать привязанную к компоненту метку.</p>
- <p><a href="../index.html">Назад к <em>Справке по библиотеке</em></a></p>
- </body>
- </html>
|