NOMAD från ursprungliga Star Trek-serien med ljus och ljudeffekter (6 / 9 steg)
Steg 6: Ljus effekter programvarufiler och översikt
Två separata PIC 12F683 mikroprocessorer generera ljuseffekter, en för de blinkande grönt ljus och den andra för de röda och gula lampor som flash i synk med röst effekter.Båda programmen är skrivna i församlingen med mikrochips MPASM verktyg som är gratis på deras hemsida.
Den sammansatta *.hex filen och *.asm källfil till varje program ingår här, tillsammans med en hög nivå flödesschema som visar hur programmen fungerar. *.Asm filerna innehåller också många kommentarer hela förklarar hur programmet.
Den allmänna driften av varje program är som följer.
Blinkande grönt ljus
Kör på den processor som genererar de blinkande grönt ljus effekterna bara hämtas LED inställningarna från en tabell över 20 olika länder. Varje stat visas för 300 millisekunder, och sedan nästa tillstånd såg upp från bordet och visas, och så vidare. Programmet loopar igenom tabellen för evigt, ger intrycket att lamporna blinkar slumpmässigt.
Röst Sync lampor
Programmet körs på den processor som genererar de lampor som flash i synk med röst effekter tar prov ljudet med processorer inre A/D omvandlare. Omfattningen av ljudvågformen bestäms från varje prov, och den jämförs mot ett tröskelvärde. Om omfattningen är större än tröskelvärdet, den digitala utgången ligger högt, annars det ligger lågt.
Tröskeln är justerbar via spänningen på en annan ingång till mikroprocessorn. A/D indata används för att läsa spänningen på den ingången, och resultatet används till att bestämma tröskeln. Programmet innehåller även vissa hysteres till magnitud jämförelse processen.
Detta program ger också två extra utgångar som inte används i ljuseffekter på modellen, men kan vara användbart för andra ändamål. Först är helt enkelt en digital utsignal som är ett komplement till den som används för att driva röst lysdioder. Denna utgång är hög när den andra är lågt, och vice versa. Detta skulle vara användbart om en inverterad utgång var nödvändiga, så att produktionen var låga när audiosignalen var större än tröskelvärdet.
Andra oanvända utdata använder processorer PWM modulen för att producera en PWM-signal som plikt cykel står i proportion till omfattningen av ljudsignalen.