From 8dfa9de7c4824f7dcc177cef12575b7224ef23d0 Mon Sep 17 00:00:00 2001 From: Leonard Kugis Date: Wed, 31 Mar 2021 00:03:07 +0200 Subject: Automatensemantik korrigiert. --- Dokumentation/doc.pdf | Bin 266682 -> 0 bytes Dokumentation/doc.tex | 28 ++++++++++++++-------------- 2 files changed, 14 insertions(+), 14 deletions(-) delete mode 100644 Dokumentation/doc.pdf diff --git a/Dokumentation/doc.pdf b/Dokumentation/doc.pdf deleted file mode 100644 index 54f257f..0000000 Binary files a/Dokumentation/doc.pdf and /dev/null differ diff --git a/Dokumentation/doc.tex b/Dokumentation/doc.tex index e635d97..01bf2d4 100644 --- a/Dokumentation/doc.tex +++ b/Dokumentation/doc.tex @@ -30,15 +30,15 @@ Für unser Mikrocontroller-Projekt haben wir uns für ein vierstelliges Zahlenschloss entschieden. Dieses soll nach Eingabe eines validen Codes in einen "Geöffnet"-Zustand wechselt und im "Geschlossen"-Zustand verweilt, wenn der Code inkorrekt war. -Zudem soll dem Benutzer die Möglichkeit gegeben werden einen persönlich gewählten +Zudem soll dem Benutzer die Möglichkeit gegeben werden einen persönlich gewählten Code einzuspeichern und den alten zu Überschreiben. \section{Hardware} \subsection{Platinenaufbau} Unser Mikrocontroller liegt auf einer 100mmx80mm großen Platine welche über zwei Kupferlagen verfügt. -Als Hauptbaustein wird der ATmega16A benutzt. Des weiteren befinden sich auf unserer Platine neben üblichen -Grundbausteinen eine Ausgabe- sowie eine "externe" Eingabe-Einheit, als auch Status-LEDs. +Als Hauptbaustein wird der ATmega16A benutzt. Des weiteren befinden sich auf unserer Platine neben üblichen +Grundbausteinen eine Ausgabe- sowie eine "externe" Eingabe-Einheit, als auch Status-LEDs. \begin{figure}[H] \centering \includegraphics[width=15cm,height=10cm,keepaspectratio]{resources/Pinlock_Schema} @@ -49,24 +49,24 @@ Grundbausteinen eine Ausgabe- sowie eine "externe" Eingabe-Einheit, als auch Sta \subsection{Mikrocontroller ATmega16A} Der ATmega16A ist ein 8-Bit CMOS Controller, welcher bei einer Spannung von 2,7- 5V arbeitet. -In unserem Projekt nutzen wir nicht alle Features des Bausteins. +In unserem Projekt nutzen wir nicht alle Features des Bausteins. Um unsere Schaltung zu realisieren, brauchen wir die GPIO, die eingebaute AVR-CPU und das EEPROM. -Mit der GPIO und der AVR-CPU ist es uns möglich die Inputs aus der Eingabematrix in Sinnvolle werte umzurechnen -und in den Registern der CPU einzuspeichern. Diese werden nun auch an die Display-Units weitergegeben, welche diese anzeigen +Mit der GPIO und der AVR-CPU ist es uns möglich die Inputs aus der Eingabematrix in Sinnvolle werte umzurechnen +und in den Registern der CPU einzuspeichern. Diese werden nun auch an die Display-Units weitergegeben, welche diese anzeigen können um dem Benutzer visuell darzustellen, welche Zahlen eingegeben wurden, ob richtige Eingabe erfolgt ist oder ob ein Code invalide war. -Auch der Zustand (geöffnet/geschlossen) wird in den Registern des ATmega's gespeichert und auch an die Status-LEDs gesendet. +Auch der Zustand (geöffnet/geschlossen) wird in den Registern des ATmega's gespeichert und auch an die Status-LEDs gesendet. -Im EEPROM wird der valide Code abgespeichert, sodass dieser auch nach einen Neustart zur Verfügung steht und nicht gelöscht wird. -So ist es dem Nutzer möglich den Code bis zu 100,000 zu ändern. +Im EEPROM wird der valide Code abgespeichert, sodass dieser auch nach einen Neustart zur Verfügung steht und nicht gelöscht wird. +So ist es dem Nutzer möglich den Code bis zu 100,000 zu ändern. \subsection{Sonstige Komponenten} \subsubsection{Zahleneingabe} Für die Eingabe des Codes benutzen wir eine reguläre Eingabematrix, welche an einem 8-Bit serial-in, -parallel-out Schieberegister, dem "74HC164", und einem einfachen Schieberegister, "74LS166". +parallel-out Schieberegister, dem "74HC164", und einem einfachen Schieberegister, "74LS166". Durch die beiden Bauteile können wir eindeutig die Eingabe auslesen und wird als 8-Bit Zahl an den ATmega16A -gesendet. +gesendet. \begin{figure}[H] \centering @@ -77,7 +77,7 @@ gesendet. \subsubsection{Zahlenausgabe} Die Display-Unit besteht bei unserem Projekt aus einer 7-Segment-Display und einen eigenen Displaytreiber-Baustein, welcher vom Controller eine 8-Bit Zahl bekommt und diese direkt als korrekte Zahl im Display anzeigt. Um unseren vierstelligen -Code dazustellen haben wir auch vier dieser Units. +Code dazustellen haben wir auch vier dieser Units. \begin{figure}[H] \centering @@ -90,7 +90,7 @@ Code dazustellen haben wir auch vier dieser Units. \subsubsection{Statusanzeige} Um den momentanen Zustand anzuzeigen ist neben den Anzeigevariationen im Display acht LEDs auf der Platine verbaut, vor welchen ein Schieberegister -geschaltet ist welches Statusinformationen als eine 8-Bit-Sequenz vom ATmega bekommt. Durch diese Sequenz Leuten in bestimmten Zuständen die +geschaltet ist welches Statusinformationen als eine 8-Bit-Sequenz vom ATmega bekommt. Durch diese Sequenz Leuten in bestimmten Zuständen die zugehörigen LEDs. \begin{figure}[H] @@ -171,7 +171,7 @@ Die Zustände sind dabei nach folgendem Schema benannt: \end{tabular} Dabei folgt die Notation der Transitionsbedingungen dem Schema \\ -\colorbox{lightgray}{\texttt{ / }}. +\colorbox{lightgray}{\texttt{ / }}. Die Tastendarstellungen innerhalb des Programmes unterliegen dabei der Zuordnung in Tabelle~\ref{tbl:keymap}. -- cgit v1.2.1