155 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			155 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
| \documentclass[10pt, a4paper]{report}
 | |
| \usepackage[utf8]{inputenc}
 | |
| \usepackage[ngerman]{babel}
 | |
| \usepackage{datetime}
 | |
| \usepackage[]{amsmath} 
 | |
| \usepackage[]{amsthm} 
 | |
| \usepackage[]{amssymb}
 | |
| \usepackage{listings}
 | |
| \usepackage{xcolor}
 | |
| \usepackage{fancyhdr}
 | |
| 
 | |
| \pagestyle{fancy}
 | |
| \fancyhf{}
 | |
| \lhead{Rechnerarchitekturen 1 - Praktikum A2 - WS20/21}
 | |
| \rfoot{Page \thepage}
 | |
| 
 | |
| \definecolor{codegreen}{rgb}{0,0.6,0}
 | |
| \definecolor{codegray}{rgb}{0.5,0.5,0.5}
 | |
| \definecolor{codepurple}{rgb}{0.58,0,0.82}
 | |
| \definecolor{backcolour}{rgb}{0.95,0.95,0.92}
 | |
| 
 | |
| %Code listing style named "mystyle"
 | |
| \lstdefinestyle{mystyle}{
 | |
|   backgroundcolor=\color{backcolour},   
 | |
|   commentstyle=\color{codegreen},
 | |
|   keywordstyle=\color{magenta},
 | |
|   numberstyle=\tiny\color{codegray},
 | |
|   stringstyle=\color{codepurple},
 | |
|   basicstyle=\ttfamily\footnotesize,
 | |
|   breakatwhitespace=false,         
 | |
|   breaklines=true,                 
 | |
|   captionpos=b,                    
 | |
|   keepspaces=true,                 
 | |
|   numbers=left,                    
 | |
|   numbersep=5pt,                  
 | |
|   showspaces=false,                
 | |
|   showstringspaces=false,
 | |
|   showtabs=false,                  
 | |
|   tabsize=2
 | |
| }
 | |
| 
 | |
| %"mystyle" code listing set
 | |
| \lstset{style=mystyle}
 | |
| 
 | |
| \newdateformat{myformat}{\THEDAY{ten }\monthname[\THEMONTH], \THEYEAR}
 | |
| 
 | |
| \title{Rechnerarchitekturen 1 - Praktikum A2}
 | |
| \author{}
 | |
| \date\today
 | |
| \begin{document}
 | |
| 
 | |
| 
 | |
| \begin{center}
 | |
|         \begin{tabular}{| l | c | c | c | c | c | c | c | c | }
 | |
|                 \hline
 | |
|                 \multicolumn{9}{|c|}{Frequenzen der C-Dur Tonleiter}\\
 | |
|                 \hline
 | |
|                 \hline
 | |
|                 Ton   & c'    & d'    & e'    & f'    & g'    & a'    & h'    & c''   \\\hline
 | |
|                 f(Hz) & 261,6 & 293,7 & 329,6 & 349,2 & 392,0 & 440,0 & 493,9 & 523,2 \\\hline
 | |
|                 Zählkonstante & 7662 & 6825 & 6079 & 5730 & 5102 & 4545 & 4056 & 3824 \\\hline
 | |
|                 Freq(Hex) & 1DEEH & 1AA9H & 17BFH & 1662H & 13EEH & 11C1 & FD8H & EF0H\\\hline
 | |
|         \end{tabular}
 | |
| \end{center}
 | |
| 
 | |
| \section*{ Grundaufgabe a)}
 | |
| \scriptsize{Der  Kanal  0  des  Timerbausteins  soll  als  programmierbarer  Frequenzgenerator  benutzt  werden.  Dazu  wird  die  Betriebsart  „Mode  3“  verwendet  (Frequenzteiler  mit  symmetrischer  Rechteckschwingung  am  Output).  Die  Output-Frequenz  soll  440  Hz  betragen. Als Input benutzen Sie den eingebauten 2-MHz-Generator.}
 | |
| $$\text{Zählkonstante: } \frac{2 MHz}{440 Hz} = 4545,4545 = (11C1)_{16}$$
 | |
| \begin{lstlisting}
 | |
|         MOV AL, 36H; Steuerbyte 00110110
 | |
|         OUT 57H, AL
 | |
|         MOV AL, 0C1H; LSB
 | |
|         OUT 54H, Al
 | |
|         MOV AL, 011H; MSB
 | |
|         OUT 54H, AL
 | |
| \end{lstlisting}
 | |
| 
 | |
| 
 | |
| \section*{ Grundaufgabe b)}
 | |
| \scriptsize{Schalten  Sie  die  Tonausgabe  zunächst  wieder  ab  und  erweitern  Sie  das  Programm  um  die  Initialisierung der PIT-Kanäle 1 und 2. Die am Output des Kanals 2 angeschlossene LED soll mit  einer  Periodendauer  von  0,5s  blinken.  Es  ist  wiederum  Mode  3  zu  benutzen.  Da  beide  Kanäle hintereinander geschaltet (kaskadiert) sind, müssen Sie die benötigte Frequenzteilung auf beide Kanäle aufteilen. Außer der LED haben Sie diesmal keine weitere Kontrollmöglichkeit. }
 | |
| $$\text{Zählkonstante: } \frac{2 MHz}{2 Hz} /2 = 1000000 / 2 = 500000$$
 | |
| \begin{lstlisting}
 | |
|         MOV AL, 0B6H; Kanal 2
 | |
|         OUT 57H, AL
 | |
|         MOV AL, 0FFH
 | |
|         OUT 56H, AL
 | |
|         MOV AL, 0FFH
 | |
|         OUT 56H, AL
 | |
| 
 | |
|         MOV AL, 076H ;Kanal 1
 | |
|         OUT 57H, AL
 | |
|         MOV AL, 0FFH
 | |
|         OUT 55H, AL
 | |
|         MOV AL, 0FFH
 | |
|         OUT 56H, AL
 | |
| 
 | |
| \end{lstlisting}
 | |
| \clearpage
 | |
| 
 | |
| \section*{ Grundaufgabe c)}
 | |
| \scriptsize{Die Tonausgabe von Kanal 0 wird wieder eingeschaltet. Sie soll jetzt aber nur noch dann aktiv sein, wenn gerade eine beliebige Taste in der blauen Tastenreihe gedrückt ist. Dazu müssen Sie in der Endlosschleife des Programms eine entsprechende Abfrage einbauen.}
 | |
| 
 | |
| \begin{lstlisting}
 | |
| noton:  MOV AL, 59H
 | |
|         OUT 57H, AL
 | |
| taste:  IN AL, 59H
 | |
|         AND AL, 0FFH
 | |
|         JZ noton        ;keine taste gedrueckt
 | |
|         JMP ton
 | |
| ton:    MOV AL, 0C1H
 | |
|         OUT 54H, AL
 | |
|         MOV AL, 011H
 | |
|         OUT 54H, AL
 | |
|         JMP taste
 | |
| \end{lstlisting}
 | |
| 
 | |
| \section*{ Fortgeschrittene Aufgabe d)}
 | |
| \scriptsize{Erweitern Sie das Programm dann so, dass den einzelnen Tasten unterschiedliche Frequenzen zugeordnet sind. Es wird angenommen, dass nicht mehrere Tasten gleichzeitig gedrückt werden. Das  Blinken  der  LED  von  Aufgabe  b)  soll  weiterhin  funktionieren. }
 | |
| 
 | |
| \begin{lstlisting}
 | |
| noton:  MOV AL, 59H
 | |
|         OUT 57H, AL
 | |
| taste:  IN AL, 59H
 | |
|         MOV BL, AL
 | |
|         AND AL, 0FFH
 | |
|         JZ noton        ;keine taste gedrueckt
 | |
|         MOV AL, BL
 | |
|         AND AL, 001H    ; Taste A
 | |
|         JNZ tonA
 | |
|         MOV AL, BL
 | |
|         AND AL, 003H    ; Taste B
 | |
|         JNZ tonB
 | |
|         MOV AL, BL
 | |
|         AND AL, 004H    ;Taste C
 | |
|         JNZ tonC
 | |
|         JMP taste
 | |
| tonA:   MOV AL, 0C1H
 | |
|         OUT 54H, AL
 | |
|         MOV AL, 011H
 | |
|         OUT 54H, AL
 | |
|         JMP taste
 | |
| tonB:   MOV AL, 008H
 | |
|         OUT 54H, AL
 | |
|         MOV AL, 0FDH
 | |
|         OUT 54H, AL
 | |
|         JMP taste
 | |
| tonC:   MOV AL, 000H
 | |
|         OUT 54H, AL
 | |
|         MOV AL, 0EFH
 | |
|         OUT 54H, AL
 | |
|         JMP taste
 | |
| 
 | |
| \end{lstlisting}
 | |
| 
 | |
| \end{document} |