Ultra låg kostnad sol-uppladdningsbara persistens av vision display (11 / 13 steg)
Steg 11: Programvara fortsatte
För att ändra detta behöver du inte vet mycket om bilder, men jag kommer att förklara den grov skiss av hur det fungerar:Konfiguration och EQU uttalanden - lämna detta orörda. Det uppsättningar riktningarna av I/O portar och det är också där variabler definieras. EQU meddelanden gör bara programmet lättare att följa när jag vill gå tillbaka och ändra det i ett års tid.
Försening - detta anger tidsåtgången per rad (dvs hur länge det ska vänta mellan grupper av 8 lysdioder) det ligger för närvarande på 2000 instruktion cykler. Som PIC är verksamma på 1 miljon instruktion cyklar per understöder, som funkar på 1/500th av en sekund. Minska denna gång om bokstäver och symboler dyker upp avlånga när du flyttar den. Öka denna tid om de visas hoptryckt upp.
För att generera en ny försening jag använda den här: http://www.piclist.com/techref/piclist/codegen/delay.htm
Kom ihåg att markera "instruktion cykler", i tillfälliga registernamn, skriv "del1 del2 del3", kryssa för rutan "generera rutin" och tryck på gå. Du behöver bara klistra in från efter utgången av cblock, som variablerna som definierats i ett annat område i koden.
main_rtn uppdateras enkelt radnumren när den går tillbaka till början. Om du ändrar längden på meddelandet (se nedan) Glöm inte att justera antalet rader, eller kommer du bara få del av den visas.
line_fetch håller reda på antalet rader kvar, och hämtar data från uppslagstabellen och sedan skickar den till write_to_shift så att den visas.
Lookup är en tabell som innehåller data som ska visas. Om du inte ser det först, luta huvudet 90 grader till höger och du bör se ett hjärta form bildas av ' 1's. Ta inte bort "RETLW B" del, men känn dig fri att ändra 1s och 0: or. Du kan också kopiera och klistra in nya linjer där, komma ihåg att uppdateras också antalet rader i main_rtn.
write_to_shift undersöker byten data skickades till det line_fetch uppdaterar skiftregister och vrid skärmen.