Gast
#2518402
Hallo, Ich habe zu folgender Aufgabenstellung ein Programmablauf in Keil geschrieben und würde nun gerne Wissen, ob das alles so stimmt. Es wäre sehr nett, wenn jemand sich das mal anschauen könnte, bin nämlich noch ein Anfänger :/ Aufgabenstellung: Entwerfen Sie ein Assemblerprogramm, das die folgenden Aufgaben zur Ausführung bringt: Von dem Port 0 sollen zwei im Binär-Format vorliegende Werte eingelesen werden. Wert I liegt an den Bits 0 bis 3 und Wert II liegt an den Bits 4 bis 7 an. Das Bar Graph Arrays 3 ist über Port 3 so zu steuern, dass die niederwertigsten LED-Bits 0 bis 3 durch den über Port 0 eingelesenen Wert II entsprechend geschalten werden, die höherwertigsten LEDs sind sicher auszuschalten. Nach einer Verzögerungszeit von ca. 500msec werden die LEDs so geschaltet, dass alle 200msec das niederwertigste LED in das höchstwertigste LED übertragen wird, bis zum Schluss die vier niederwertigsten Bits gelöscht und die vier höchstwertigen Bits entsprechend dem eingelesenen Wert II leuchten. Die gemeinsame Kathode ist über Port 1 wie folgt anzusteuern: Bar 3 über Bit 2. Da die Controlling-Abteilung die acht Vorwiderstände pro Array aus Kostengründen gestrichen hat, wurden diese durch den Vorwiderstand in dem Kathodenstromkreis ersetzt. Damit alle LEDs mit gleicher Helligkeit für den Betrachter leuchten, ist sicherzustellen dass zu jedem Zeitpunkt nur jeweils eine LED angesteuert wird. Damit sich einen flimmerfreie Anzeige ergibt, ist der gesamte Anzeigezyklus mindestens 100 mal in der Sekunde zu durchlaufen. Das Programm soll dauerhaft betrieben werden. Nun der Quellcode dazu :
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
Mfg Peter