Stap 2: Schematische voorstelling en Code
De bestanden:
flex_lcd_photogate_final.c Een gemodificeerde HD44780 LCD-bestuurder met de pinnen van de LCD instellen zoals weergegeven in het schema. Simpelweg wijzigen naar de locatie op de top van het programma dat moet overeenkomen met de locatie van dit bestand op uw harde schijf.
photogate_final.c De programma-code.
photogate_final.hex De gecompileerde code voor de PIC, gewoon wachten om te worden geprogrammeerd in het met een USB- of seriële programmeur.
Uitleg van de code:
De code is vrij eenvoudig. De sensor is aangesloten op een hardware-interrupt-pin. Wanneer de eenheid inschakelt, is het register van de externe interrupt bereid te kijken voor een verandering van laag naar hoog. Wanneer de sensor licht ontvangt, verhoogt de spanning tot het in de logica topsegment. Dit activeert de interrupt en de interrupt routine maakt een 100us overloop timer. Ook daarin het externe interrupt register nu op zoek naar een verandering van hoog naar laag.
Terwijl de staat hoog is, elke 100us de timer wordt verhoogd van een teller. Bij de HIGH-naar-LOW gebeurtenis, de externe interrupt routine wordt de timer uitgeschakeld en waarde van de count van de timer wordt omgezet in milliseconden en verzonden aan de weergave.