Функции переходов и выходов
This commit is contained in:
@@ -187,8 +187,100 @@
|
|||||||
\includegraphics[width=1\linewidth]{img/automat.png}
|
\includegraphics[width=1\linewidth]{img/automat.png}
|
||||||
\caption{Граф переходов управляющего конечного автомата.}
|
\caption{Граф переходов управляющего конечного автомата.}
|
||||||
\label{fig:automat}
|
\label{fig:automat}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
\subsubsection{Состояния}
|
||||||
|
Всего было выделено 7 состояний ($S = \{s_0, s_1, s_2, s_3, s_4, s_5, s_6, s_7\}$) со следующими значениями:
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\item \textit{$s_0$: time} -- состояние обычной работы часов, на индикаторах отображаются текущее время (часы и минуты) и день недели;
|
||||||
|
\item \textit{$s_1$: minutes} -- состояние корректировки минут, отображаются только минуты, остальные индикаторы отключены;
|
||||||
|
\item \textit{$s_2$: hours} -- состояние корректировки часов, отображаются только часы, остальные индикаторы отключены;
|
||||||
|
\item \textit{$s_3$: weekday} -- состояние корректировки дня недели, отображается только день недели, все остальные индикаторы отключены;
|
||||||
|
\item \textit{$s_4$: sec-stop} -- состояние остановленного секундомера, индикатор дня недели отключен, вместо текущего времени выводится последнее время остановки секундомера (вместо часов выводятся минуты, а вместо минут -- секунды);
|
||||||
|
\item \textit{$s_5$: sec-run} -- состояние запущенного секундомера, индикатор дня недели отключён, вместо текущего времени выводится время работы секундомера (вместо часов выводятся минуты, а вместо минут -- секунды);
|
||||||
|
\item \textit{$s_6$: display-off} -- состояние, при котором все индикаторы отключены для экономии электроэнергии, но при этому часы продолжают отсчёт времени.
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
Двоичные коды состояний представлены в таблице~\ref{tbl:states}.
|
||||||
|
|
||||||
|
\begin{table}[h!]
|
||||||
|
\centering
|
||||||
|
\caption{Коды состояний.}
|
||||||
|
\label{tbl:states}
|
||||||
|
\footnotesize
|
||||||
|
\begin{tabular}{|c|c|}
|
||||||
|
\hline
|
||||||
|
\textbf{Состояние} & \textbf{Код} \\
|
||||||
|
\hline
|
||||||
|
\textit{$s_0$: time} & 000 \\
|
||||||
|
\hline
|
||||||
|
\textit{$s_1$: minutes} & 001 \\
|
||||||
|
\hline
|
||||||
|
\textit{$s_2$: hours} & 010 \\
|
||||||
|
\hline
|
||||||
|
\textit{$s_3$: weekday} & 011 \\
|
||||||
|
\hline
|
||||||
|
\textit{$s_4$: sec-stop} & 100 \\
|
||||||
|
\hline
|
||||||
|
\textit{$s_5$: sec-run} & 101 \\
|
||||||
|
\hline
|
||||||
|
\textit{$s_6$: display-off} & 110 \\
|
||||||
|
\hline
|
||||||
|
\end{tabular}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
|
||||||
|
\subsubsection{Входы}
|
||||||
|
На часах предполагается наличие трёх кнопок: $a$, $b$ и $c$. Каждой кнопке соответствует отдельный входной сигнал, таким образом $\Sigma = \{a, b, c\}$. Коды входных сигналов представлены в таблице~\ref{tbl:inputs}.
|
||||||
|
|
||||||
|
\begin{table}[h!]
|
||||||
|
\centering
|
||||||
|
\caption{Коды входных сигналов.}
|
||||||
|
\label{tbl:inputs}
|
||||||
|
\footnotesize
|
||||||
|
\begin{tabular}{|c|c|}
|
||||||
|
\hline
|
||||||
|
\textbf{Входной сигнал/кнопка} & \textbf{Код} \\
|
||||||
|
\hline
|
||||||
|
$a$ & 00 \\
|
||||||
|
\hline
|
||||||
|
$b$ & 01 \\
|
||||||
|
\hline
|
||||||
|
$c$ & 10 \\
|
||||||
|
\hline
|
||||||
|
\end{tabular}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
|
||||||
|
\subsubsection{Выходы}
|
||||||
|
Было выделено следующее множество выходных сигналов: $Y = \{z_0, z_1, z_2, z_3, z_4\}$. Их назначения и коды представлены в таблице~\ref{tbl:outputs}.
|
||||||
|
|
||||||
|
\begin{table}[h!]
|
||||||
|
\centering
|
||||||
|
\caption{Коды импульсных выходных сигналов.}
|
||||||
|
\label{tbl:outputs}
|
||||||
|
\footnotesize
|
||||||
|
\begin{tabular}{|c|c|c|}
|
||||||
|
\hline
|
||||||
|
\textbf{Выходной сигнал} & \textbf{Значение} & \textbf{Код} \\
|
||||||
|
\hline
|
||||||
|
$z_0$ & Отсутствие реакции & 000 \\
|
||||||
|
\hline
|
||||||
|
$z_1$ & Увеличение минут на 1 & 001 \\
|
||||||
|
\hline
|
||||||
|
$z_2$ & Увеличение часов на 1 & 010 \\
|
||||||
|
\hline
|
||||||
|
$z_3$ & Следующий день недели & 011 \\
|
||||||
|
\hline
|
||||||
|
$z_4$ & Сброс секундомера & 100 \\
|
||||||
|
\hline
|
||||||
|
\end{tabular}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
\subsubsection{Функции переходов и выходов}
|
||||||
|
Функции переходов ($\delta$) и выходов ($\lambda$) задаются таблицей \ref{tbl:steps}. Итоговая таблица истинности с учётом указанных кодов состояний, входов и выходов автомата представлена в таблице \ref{tbl:truth-f}.
|
||||||
|
|
||||||
\begin{table}[h!]
|
\begin{table}[h!]
|
||||||
\centering
|
\centering
|
||||||
\caption{Таблица переходов управляющего автомата.}
|
\caption{Таблица переходов управляющего автомата.}
|
||||||
@@ -315,100 +407,9 @@
|
|||||||
\hline
|
\hline
|
||||||
\end{tabularx}
|
\end{tabularx}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
|
|
||||||
\subsubsection{Состояния}
|
|
||||||
Всего было выделено 7 состояний ($S = \{s_0, s_1, s_2, s_3, s_4, s_5, s_6, s_7\}$) со следующими значениями:
|
|
||||||
|
|
||||||
\begin{enumerate}
|
|
||||||
\item \textit{$s_0$: time} -- состояние обычной работы часов, на индикаторах отображаются текущее время (часы и минуты) и день недели;
|
|
||||||
\item \textit{$s_1$: minutes} -- состояние корректировки минут, отображаются только минуты, остальные индикаторы отключены;
|
|
||||||
\item \textit{$s_2$: hours} -- состояние корректировки часов, отображаются только часы, остальные индикаторы отключены;
|
|
||||||
\item \textit{$s_3$: weekday} -- состояние корректировки дня недели, отображается только день недели, все остальные индикаторы отключены;
|
|
||||||
\item \textit{$s_4$: sec-stop} -- состояние остановленного секундомера, индикатор дня недели отключен, вместо текущего времени выводится последнее время остановки секундомера (вместо часов выводятся минуты, а вместо минут -- секунды);
|
|
||||||
\item \textit{$s_5$: sec-run} -- состояние запущенного секундомера, индикатор дня недели отключён, вместо текущего времени выводится время работы секундомера (вместо часов выводятся минуты, а вместо минут -- секунды);
|
|
||||||
\item \textit{$s_6$: display-off} -- состояние, при котором все индикаторы отключены для экономии электроэнергии, но при этому часы продолжают отсчёт времени.
|
|
||||||
\end{enumerate}
|
|
||||||
|
|
||||||
Двоичные коды состояний представлены в таблице~\ref{tbl:states}.
|
|
||||||
|
|
||||||
\begin{table}[h!]
|
|
||||||
\centering
|
|
||||||
\caption{Коды состояний.}
|
|
||||||
\label{tbl:states}
|
|
||||||
\footnotesize
|
|
||||||
\begin{tabular}{|c|c|}
|
|
||||||
\hline
|
|
||||||
\textbf{Состояние} & \textbf{Код} \\
|
|
||||||
\hline
|
|
||||||
\textit{$s_0$: time} & 000 \\
|
|
||||||
\hline
|
|
||||||
\textit{$s_1$: minutes} & 001 \\
|
|
||||||
\hline
|
|
||||||
\textit{$s_2$: hours} & 010 \\
|
|
||||||
\hline
|
|
||||||
\textit{$s_3$: weekday} & 011 \\
|
|
||||||
\hline
|
|
||||||
\textit{$s_4$: sec-stop} & 100 \\
|
|
||||||
\hline
|
|
||||||
\textit{$s_5$: sec-run} & 101 \\
|
|
||||||
\hline
|
|
||||||
\textit{$s_6$: display-off} & 110 \\
|
|
||||||
\hline
|
|
||||||
\end{tabular}
|
|
||||||
\end{table}
|
|
||||||
|
|
||||||
|
|
||||||
\subsubsection{Входы}
|
|
||||||
На часах предполагается наличие трёх кнопок: $a$, $b$ и $c$. Каждой кнопке соответствует отдельный входной сигнал, таким образом $\Sigma = \{a, b, c\}$. Коды входных сигналов представлены в таблице~\ref{tbl:inputs}.
|
|
||||||
|
|
||||||
\begin{table}[h!]
|
|
||||||
\centering
|
|
||||||
\caption{Коды входных сигналов.}
|
|
||||||
\label{tbl:inputs}
|
|
||||||
\footnotesize
|
|
||||||
\begin{tabular}{|c|c|}
|
|
||||||
\hline
|
|
||||||
\textbf{Входной сигнал/кнопка} & \textbf{Код} \\
|
|
||||||
\hline
|
|
||||||
$a$ & 00 \\
|
|
||||||
\hline
|
|
||||||
$b$ & 01 \\
|
|
||||||
\hline
|
|
||||||
$c$ & 10 \\
|
|
||||||
\hline
|
|
||||||
\end{tabular}
|
|
||||||
\end{table}
|
|
||||||
|
|
||||||
|
|
||||||
\subsubsection{Выходы}
|
|
||||||
Было выделено следующее множество выходных сигналов: $Y = \{z_0, z_1, z_2, z_3, z_4\}$. Их назначения и коды представлены в таблице~\ref{tbl:outputs}.
|
|
||||||
|
|
||||||
\begin{table}[h!]
|
|
||||||
\centering
|
|
||||||
\caption{Коды импульсных выходных сигналов.}
|
|
||||||
\label{tbl:outputs}
|
|
||||||
\footnotesize
|
|
||||||
\begin{tabular}{|c|c|c|}
|
|
||||||
\hline
|
|
||||||
\textbf{Выходной сигнал} & \textbf{Значение} & \textbf{Код} \\
|
|
||||||
\hline
|
|
||||||
$z_0$ & Отсутствие реакции & 000 \\
|
|
||||||
\hline
|
|
||||||
$z_1$ & Увеличение минут на 1 & 001 \\
|
|
||||||
\hline
|
|
||||||
$z_2$ & Увеличение часов на 1 & 010 \\
|
|
||||||
\hline
|
|
||||||
$z_3$ & Следующий день недели & 011 \\
|
|
||||||
\hline
|
|
||||||
$z_4$ & Сброс секундомера & 100 \\
|
|
||||||
\hline
|
|
||||||
\end{tabular}
|
|
||||||
\end{table}
|
|
||||||
|
|
||||||
\subsubsection{Функции переходов и выходов}
|
|
||||||
|
|
||||||
|
|
||||||
\subsubsection{Управляющие воздействия}
|
\subsubsection{Управляющие воздействия}
|
||||||
|
|
||||||
\begin{table}[h!]
|
\begin{table}[h!]
|
||||||
|
|||||||
Reference in New Issue
Block a user