Skip to content
Snippets Groups Projects
Commit 47fbe2be authored by Peter Gerwinski's avatar Peter Gerwinski
Browse files

s/Mikro-Controller/Mikrocontroller/g

parent 5c40908b
Branches
No related tags found
No related merge requests found
Showing with 1034 additions and 8 deletions
No preview for this file type
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
% Attribution-ShareAlike 3.0 Unported License along with this % Attribution-ShareAlike 3.0 Unported License along with this
% document. If not, see <http://creativecommons.org/licenses/>. % document. If not, see <http://creativecommons.org/licenses/>.
% README: Zahlensysteme, Mikro-Controller % README: Zahlensysteme, Mikrocontroller
\documentclass[a4paper]{article} \documentclass[a4paper]{article}
...@@ -103,10 +103,10 @@ ...@@ -103,10 +103,10 @@
(In der Klausur sind Hilfsmittel zugelassen, (In der Klausur sind Hilfsmittel zugelassen,
daher ist dies \emph{keine\/} typische Klausuraufgabe.) daher ist dies \emph{keine\/} typische Klausuraufgabe.)
\exercise{Mikro-Controller} \exercise{Mikrocontroller}
\begin{minipage}[t]{10cm} \begin{minipage}[t]{10cm}
An die vier Ports eines ATmega16-Mikro-Controllers sind Leuchtdioden angeschlossen: An die vier Ports eines ATmega16-Mikrocontrollers sind Leuchtdioden angeschlossen:
\begin{itemize} \begin{itemize}
\item \item
von links nach rechts an die Ports A, B, C und D, von links nach rechts an die Ports A, B, C und D,
......
20181203/400_points_breadboard.jpg

129 KiB

%.elf: %.c
avr-gcc -Wall -Os -mmcu=atmega328p $< -o $@
%.hex: %.elf
avr-objcopy -O ihex $< $@
download:
./download.sh
port=$(ls -rt /dev/ttyACM* | tail -1)
echo avrdude -P $port -c arduino -p m328p -U flash:w:$(ls -rt *.hex | tail -1)
avrdude -P $port -c arduino -p m328p -U flash:w:$(ls -rt *.hex | tail -1) 2>/dev/null
File added
This diff is collapsed.
File added
% hp-2018ws-p3.pdf - Labor Notes on Low-Level Programming
% Copyright (C) 2014, 2015, 2016, 2017, 2018 Peter Gerwinski
%
% This document is free software: you can redistribute it and/or
% modify it either under the terms of the Creative Commons
% Attribution-ShareAlike 3.0 License, or under the terms of the
% GNU General Public License as published by the Free Software
% Foundation, either version 3 of the License, or (at your option)
% any later version.
%
% This document is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with this document. If not, see <http://www.gnu.org/licenses/>.
%
% You should have received a copy of the Creative Commons
% Attribution-ShareAlike 3.0 Unported License along with this
% document. If not, see <http://creativecommons.org/licenses/>.
% README: Versuch 3, 5.12.2017 und Januar 2018: Druckknopfampel
\documentclass[a4paper]{article}
\usepackage{pgscript}
\usepackage{multicol}
\usepackage{amsmath}
\usepackage{sfmath}
\sloppy
\pagestyle{empty}
\newcommand{\sep}{~$\cdot$~}
\newcommand{\mylicense}{CC-by-sa (Version 3.0) oder GNU GPL (Version 3 oder höher)}
\begin{document}
\makebox(0,0.005)[tl]{\includegraphics[scale=0.72]{logo-hochschule-bochum-cvh-text-v2.pdf}}\hfill
\makebox(0,0)[tr]{\includegraphics[scale=0.5]{logo-hochschule-bochum.pdf}}
\par\bigskip\bigskip
\begin{center}
\Large\textbf{Praktikumsversuch 3: Druckknopfampel}
\par\medskip
\normalsize Hardwarenahe Programmierung\sep
Wintersemester 2018/19\sep
Prof.~Dr.~Peter Gerwinski
\end{center}
Aufgabe: Programmieren Sie einen Mikrocontroller so,
daß er eine Druckknopfampel steuern kann.
\bigskip
Hinweise:
\vspace*{-\medskipamount}
\begin{multicols}{2}
\begin{itemize}
\item
Normalerweise zeigt eine Druckknopfampel rotes Licht für die
Fußgänger und grünes Licht für die Straße.
\item
Nach Knopfdruck wechselt die Straße über Gelb nach Rot.
Danach bekommen die Fußgänger Grün.
Nach einer gewissen Zeit bekommen die Fußgänger wieder Rot,
und die Straße wechselt über Rot-Gelb wieder zu Grün.
\bigskip
\item
Als Mikrocontroller-Entwicklungsplattform stellen wir Ihnen
einen \emph{Arduino Uno\/} zur Verfügung.
\item
Software-Entwiklung für den Arduino geschieht üblicherweise
mit Hilfe der Entwicklungswerkzeuge \emph{GCC, binutils und
glibc für AVR} sowie \emph{avrdude\/} für das Herunterladen
des geschriebenen Programms vom PC auf den Mikrocontroller.
Die Arduino-Entwicklungsumgebung (siehe z.\,B.\
\url{https://www.arduino.cc/en/Main/Software}) integriert
alle diese Komponenten.
\item
Den Schaltplan des Arduino Uno sowie das Datenblatt des
ATmega328p finden Sie per Web-Recherche.
\columnbreak
\item
\lstinline[style=cmd]{avr-gcc -Wall -Os -mmcu=atmega328p \}\\
\lstinline[style=cmd]{dateiname.c -o dateiname.elf}
\lstinline[style=cmd]{avr-objcopy -O ihex \}\\
\lstinline[style=cmd]{dateiname-4.elf dateiname-4.hex}
\lstinline[style=cmd]{avrdude -P /dev/ttyACM0 -c arduino \}\\
\lstinline[style=cmd]{-p m328p -U flash:w:dateiname.hex}
Notfalls: \lstinline[style=cmd]{sudo chmod 666 /dev/ttyACM0}
\bigskip
\item
Die Verdrahtung erfolgt auf Steckplatinen -- siehe
Abb.~\ref{Steckplatine}.
Die mit roten und blauen Streifen markierten Lochreihen sind
in Längsrichtung elektrisch verbunden, alle anderen in
Querrichtung mit einer Trennung in der Mitte. Üblicherweise
verwendet man die Längsrichtung für die Stromversorgung: Rot
= Versorgungsspannung, Blau = 0\,V.
\item
LEDs sind keine Glühlampen! Sie haben einen Pluspol (länger)
und einen Minuspol (kürzer, Gehäuse abgeflacht), und sie dürfen
\textbf{nur mit Vorwiderstand} betrieben werden,
andernfalls besteht die Gefahr einer Zerstörung der LED
und/oder des Arduino.
\item
Anstelle eines Drucktasters verwenden wir ein Stück Draht.
\item
Bevor Sie Ihre Schaltung unter Strom setzen, lassen Sie
diese \textbf{durch einen Betreuer prüfen}.
\end{itemize}
\vspace*{-\medskipamount}
\strut\hfill\emph{Viel Erfolg!}\\[-3.5cm]
\end{multicols}
\vspace*{-1.5\bigskipamount}
\begin{figure}[h]
\begin{minipage}{7.3cm}
\includegraphics[width=8cm]{400_points_breadboard.jpg}
\vspace*{-1cm}
\caption{Steckplatine\label{Steckplatine}}
\vspace*{1cm}
\end{minipage}%
\begin{minipage}{9cm}
\small\raggedright
\vspace*{1cm}
Bildquelle:
\href{https://commons.wikimedia.org/wiki/File:400_points_breadboard.jpg}%
{\nolinkurl{https://commons.wikimedia.org/}\\
\nolinkurl{wiki/File:400_points_breadboard.jpg}}\\
Autor: \url{https://www.flickr.com/people/33504192@N00}\\
Lizenz: CC-BY-SA 2.0 Generic
\end{minipage}
\end{figure}
\vspace*{-1.5\bigskipamount}
% \vfill
\begingroup
\small
\setlength{\leftskip}{3cm}
Stand: 1.\ Dezember 2018
% Soweit nicht anders angegeben:\\
Copyright \copyright\ 2014, 2015, 2016, 2017\quad Peter Gerwinski\\
Lizenz: \mylicense
Sie können diese Praktikumsunterlagen einschließlich Quelltext
% und Beispielprogramme\\
herunterladen unter:\\
\url{https://gitlab.cvh-server.de/pgerwinski/hp}
\endgroup
\end{document}
../common/io-ports-and-interrupts.pdf
\ No newline at end of file
../common/logo-hochschule-bochum-cvh-text-v2.pdf
\ No newline at end of file
../common/logo-hochschule-bochum.pdf
\ No newline at end of file
../common/pgscript.sty
\ No newline at end of file
../common/pgslides.sty
\ No newline at end of file
No preview for this file type
...@@ -252,7 +252,7 @@ ...@@ -252,7 +252,7 @@
normalerweise \emph{keine\/} Gefahr für den Rechner. normalerweise \emph{keine\/} Gefahr für den Rechner.
Moderne PC-Betriebssysteme überwachen die aufgerufenen Programme Moderne PC-Betriebssysteme überwachen die aufgerufenen Programme
und beenden sie notfalls mit einer Fehlermeldung ("`Schutzverletzung"'). und beenden sie notfalls mit einer Fehlermeldung ("`Schutzverletzung"').
Experimente mit Mikro-Controllern, die im Rahmen dieser Lehrveranstaltung stattfinden werden, Experimente mit Mikrocontrollern, die im Rahmen dieser Lehrveranstaltung stattfinden werden,
erfolgen ebenfalls in einer Testumgebung, in der kein Schaden entstehen kann. erfolgen ebenfalls in einer Testumgebung, in der kein Schaden entstehen kann.
Bitte nutzen Sie die Gelegenheit, in diesem Rahmen Ihre Programmierkenntnisse zu trainieren, Bitte nutzen Sie die Gelegenheit, in diesem Rahmen Ihre Programmierkenntnisse zu trainieren,
...@@ -491,7 +491,7 @@ ...@@ -491,7 +491,7 @@
und bricht das Programm mit einer Fehlermeldung und bricht das Programm mit einer Fehlermeldung
("`Speicherzugriffsfehler"', "`Schutzverletzung"' o.\,ä.) ab. ("`Speicherzugriffsfehler"', "`Schutzverletzung"' o.\,ä.) ab.
Auf einer Plattform ohne derartige Schutzmechanismen (z.\,B.\ einem Mikro-Controller) Auf einer Plattform ohne derartige Schutzmechanismen (z.\,B.\ einem Mikrocontroller)
wird das fehlerhafte Programm hingegen klaglos ausgeführt. wird das fehlerhafte Programm hingegen klaglos ausgeführt.
Es werden dann sinnlose Texte, die sich zufällig an Speicheradresse Nr.\ 42 befinden, Es werden dann sinnlose Texte, die sich zufällig an Speicheradresse Nr.\ 42 befinden,
auf dem Standardausgabegerät ausgegeben. auf dem Standardausgabegerät ausgegeben.
...@@ -3443,7 +3443,7 @@ ...@@ -3443,7 +3443,7 @@
Beispiel: \file{Makefile.blink} Beispiel: \file{Makefile.blink}
Die Beispielprogramme \file{blink-\lstinline{*}.c} sind dafür gedacht, Die Beispielprogramme \file{blink-\lstinline{*}.c} sind dafür gedacht,
auf einem Mikro-Controller zu laufen. auf einem Mikrocontroller zu laufen.
Der Compiler-Aufruf erfordert zusätzliche Optionen Der Compiler-Aufruf erfordert zusätzliche Optionen
(z.\,B.\ \lstinline[style=cmd]{-Os -mmcu=atmega32}), (z.\,B.\ \lstinline[style=cmd]{-Os -mmcu=atmega32}),
und es müssen zusätzliche Entwicklungswerkzeuge und es müssen zusätzliche Entwicklungswerkzeuge
...@@ -3978,7 +3978,7 @@ ...@@ -3978,7 +3978,7 @@
Die Variable \lstinline|PORTC| ist ein Output-Port. Die Variable \lstinline|PORTC| ist ein Output-Port.
Durch Manipulation einzelner Bits in dieser Variablen Durch Manipulation einzelner Bits in dieser Variablen
ändert sich die Spannung an den elektrischen "`Beinchen"' des Mikro-Controllers. ändert sich die Spannung an den elektrischen "`Beinchen"' des Mikrocontrollers.
Hierdurch wird die Beschaltung von Elektromotoren umgepolt. Hierdurch wird die Beschaltung von Elektromotoren umgepolt.
(Die Konstanten \lstinline|DIR_L| und \lstinline|DIR_R| sind "`Bitmasken"', (Die Konstanten \lstinline|DIR_L| und \lstinline|DIR_R| sind "`Bitmasken"',
...@@ -3987,7 +3987,7 @@ ...@@ -3987,7 +3987,7 @@
\bigskip \bigskip
Die direkte Ansteuerung von I/O-Ports ist nur auf Mikro-Controllern üblich. Die direkte Ansteuerung von I/O-Ports ist nur auf Mikrocontrollern üblich.
Auf Personal-Computern erfolgt die gesamte Ein- und Ausgabe über Betriebssystem-"`Treiber"'. Auf Personal-Computern erfolgt die gesamte Ein- und Ausgabe über Betriebssystem-"`Treiber"'.
Anwenderprogramme greifen dort i.\,d.\,R.\ nicht direkt auf I/O-Ports zu. Anwenderprogramme greifen dort i.\,d.\,R.\ nicht direkt auf I/O-Ports zu.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment