Bygga en kamera slutare hastighet Timer (2 / 9 steg)
Steg 2: Schematisk och kod
Filer:
flex_lcd_photogate_final.c En modifierad HD44780 LCD förare med LCD stiften inrättas som visas i schematiskt. Ändra bara plats högst upp i programmet för att matcha den här filen på din hårddisk.
photogate_final.c Programkoden.
photogate_final.hex Den kompilerade koden för PIC, bara väntar på att programmeras in i den med en USB eller seriell programmerare.
Kod förklaring:
Koden är ganska enkelt. Sensorn är ansluten till en hårdvara avbryta pin. När enheten slås på, är yttre mellanjobb registret beredd att leta efter en låg till hög förändring. När sensorn får ljus, ökar spänningen tills den är i logic hög räckvidd. Detta utlöser mellanjobbet och avbryta rutin gör en 100us overflow timer. Det anger också yttre mellanjobb registret nu vara ute efter en hög-till låg förändring.
Medan staten är hög, varje 100us timern ökar en räknare. När hög-till låg-händelsen inträffar, den yttre mellanjobb rutinen inaktiverar timern och den tidtagare räkna värdet konverteras till millisekunder och skickas till displayen.