In de calculation plaatsen we de data van de getallen die
hexadecimaal ingevoerd zijn. Hierna komt de oneindige lus om het programma
constant te laten lopen. Bij de volgende calculation wordt de teller terug op 0
gezet. Dit gebeurt nadat de teller de volgende loop 10000 keer overlopen heeft.
In deze loop staat er als eerste een calculation. Hierin selecteren we de
duizendtallen door: D0 = (tel /1000) MOD 10. Dan komen we in de macro
'schuiven' terecht. Hier wordt de data eerst ingeschreven en dan wordt er een
loop 8 maal overlopen. Het 8 maal overlopen komt doordat we 7 segmenten hebben
en een decimaal punt. De variable bitje is de data en moet dus een 1 krijgen.
Deze variable wordt dan naar poort A0 gestuurd. In de calculation zeggen we dat
variable seg7 een plaats naar rechts moet opschuiven. Dit wijst op het volgende
segment. Als klok gebruiken we poort A1 die we eerst een "1" sturen
en daarna een "0". Als dit 8 maal overlopen is dan komen we terug in
het hoofdprogramma waar we door gaan. Het volgende display is zijn de honderdtallen.
Dit kunnen we selecteren door de calculation: D1 = (tel/100) MOD 10. Daarna
komen we terug in de macro 'schuiven' die we terug 8 maal overlopen. Dit doen
we ook nog is voor de tientallen, calculation: D2 = (tel/10) MOD 10 en voor de
eenheden, calculation: D3 = tel MOD 10.
a
|
b
|
c
|
d
|
e
|
f
|
g
|
dp
|
0
|
0
|
1
|
0
|
0
|
1
|
0
|
1
|
Als eerste moeten we
de laatste bit schrijven, het decimaal punt. Dit komt doordat we het
altijd laten doorschuiven en als alles ingeschreven staat, staat de eerst bit
op de laatste plaats.
Grafische voorstelling doorschuiven van de segmenten:
Geen opmerkingen:
Een reactie posten