diff options
author | Leonard Kugis <leonard@kug.is> | 2021-03-31 00:03:07 +0200 |
---|---|---|
committer | Leonard Kugis <leonard@kug.is> | 2021-03-31 00:03:07 +0200 |
commit | 8dfa9de7c4824f7dcc177cef12575b7224ef23d0 (patch) | |
tree | 2b55441c76a79938ca90babdba4d84ae307b1b60 /Dokumentation | |
parent | 6675a34b8ae3cce6b393a8ae0b37c85c24b269b1 (diff) |
Diffstat (limited to 'Dokumentation')
-rw-r--r-- | Dokumentation/doc.pdf | bin | 266682 -> 0 bytes | |||
-rw-r--r-- | Dokumentation/doc.tex | 28 |
2 files changed, 14 insertions, 14 deletions
diff --git a/Dokumentation/doc.pdf b/Dokumentation/doc.pdf Binary files differdeleted file mode 100644 index 54f257f..0000000 --- a/Dokumentation/doc.pdf +++ /dev/null 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{<Taste> / <Wesentliche Aktionen>}}. +\colorbox{lightgray}{\texttt{<Auslöser> / <Wesentliche Aktionen>}}. Die Tastendarstellungen innerhalb des Programmes unterliegen dabei der Zuordnung in Tabelle~\ref{tbl:keymap}. |