Upphakning av ett 7-segment LED till en parallellport (3 / 4 steg)
Steg 3: Programvaran
Den här tabellen visar som lysdioder kommer att lätta för varje nummer-
0 A, B, C, D, E, F
1 B, C
2 A, B, D, E, G
3 A, B, C, D, G
4 B, C, F, G
5 A, C, D, F, G
6 C, D, E, F, G
7 A, B, C
8 A, B, C, D, E, F, G
9 A, B, C, D, F, G
Om du har kopplats utgångar D0 genom D6 till LED segment A till G i ordning, sedan motsvarar varje bokstav enkel binär matematik. A är 1, B är 2, C är 4, D är 8, E är 16, F är 32 och G är 64. Lägga bara upp motsvarande nummer till varje bokstav och du ska komma med detta diagram-
0 63
1 6
2 107
3 79
4 102
5 109
6 125
7 7
8 127
9 103
Dessa tio värden är de siffror som vi måste sända till skrivarporten att visa varje nummer. En fördel att metoden programvara är flexibilitet. Eftersom du kan programmera valfri kombination av de sju segment kan du skapa olika symboler och bokstäver. Ungefär två tredjedelar av det engelska alfabetet kan genereras med 7 segment visar (om du accepterar en skev "Y" och Använd gemener för d, n och r). Det var populärt att komma med siffror som skulle generera korta fraser på din räknare; även om du skulle behöva vända miniräknaren upp och ner för några av dem att vara synlig. Komma med rätt uppslagstabellen för "ShEll Oil" eller "bröst" är kvar som en övning för läsaren.
Jag bestämde mig att skriva programmet i BASIC, som jag ursprungligen skrev den. Tyvärr Wozs heltal BASIC kan inte köras på nuvarande datorer (förutom Apple II emulatorer) så jag valde FreeBASIC.
FreeBASIC är en utmärkt öppen källkod BASIC kompilator som bygger på QuickBASIC. Viktigaste för detta projekt är inbyggt stöd till adress hamnar direkt (motsvarande kommandot säcken i heltal BASIC). Just det-vi kommer att kringgå API: er och andra moderna programmeringstekniker och skicka data direkt till den hårdvara porten. Detta innebär detta program inte fungerar med USB till parallell omvandlare som inte emulerar skrivarporten.
& H378 är standard printer portadress. Den är inställd i datorns BIOS och du kan ändra värdet i det här programmet till vilken port du vill använda om för något skäl du använder en alternativ adress. Om du inte använder en dator med en standard skrivarport som du kommer att behöva anpassa produktionen rutiner i mitt program.