Stap 12: Matching-invoerwaarden met geluidsniveaus
LM3915 Uitgangen = > PIC18F4550 ingangen
beetje # -> 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
niveau = 0: 0: 0: 0: 0: 0: LED7:LED8:LED9:LED10:LED1:LED2:LED3:LED4:LED5:LED6
Nu ik weet dat we opnieuw de bits regelen kunnen om er zou gemakkelijker mee kunt werken, maar dat betekenen dat meer instructies voor de PIC telkens het leest die ingangen, waardoor meer tijd verspild. Dus we gewoon doorgaan en berekenen van de waarde van 'niveau' op elk geluidsniveau en laat de stukjes in de volgorde waarin ze zijn nu in. Vergeet niet dat de LM3915-uitgangen actieve laag, betekenis zijn dat wanneer het geluid op een bepaald niveau detecteert het deze uitgangen laag trekken zal.
Geluidsniveau op 0 (geen geluid)
niveau = 0000001111111111
= 0x3FF
Geluidsniveau 1
niveau = 0000001111011111
= 0x3DF
Geluidsniveau 2
niveau = 0000001111001111
= 0x3CF
Geluidsniveau 3
niveau = 0000001111000111
= 0x3C7
Geluidsniveau 4
niveau = 0000001111000011
= 0x3C3
Geluidsniveau 5
niveau = 0000001111000001
= 0x3C1
Geluidsniveau 6
niveau = 0000001111000000
= 0x3C0
Geluidsniveau 7
niveau = 0000000111000000
= 0x1C0
Geluidsniveau 8
niveau = 0000000011000000
= 0x0C0
Geluidsniveau 9
niveau = 0000000001000000
= 0x040
Geluidsniveau 10 (Max Sound)
niveau = 0000000000000000
= 0x000
De LM3915 is hardwired in bar modus, zodat deze 10 waarden zal nooit veranderen. Wanneer het geluidsniveau gelijk is aan de uitgang van de variabele 'niveau' altijd gelijk aan 0x3DF, zijn zal wanneer het geluidsniveau gelijk is aan de uitgang LED2 'niveau' altijd gelijk zal zijn aan 0x3CF, LED1 enz. Dus nu dat de PIC18F4550 wat het geluidsniveau van de IC LM3915 vertellen kan, kunnen we allerlei verschillende vormen voor de VU-Meter. Het is ook zeer gemakkelijk aan code zoals u in de volgende stap zien zult.