Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Helderheid valt niet te testen op PC aangezien een beeldscherm maar een refresh rate heeft van 60hZ en de knipperillutie dus niet echt werkt.
- Dit is gemaakt als huiswerk en er was dus geen toegang tot een microcontroller en ledjes */
- #include <system.h>
- void helderheidPortA(int, int);
- void delay(int)
- void main(void)
- {
- trisa= 0xfe; /*1111 1110*/
- while(1)
- {
- int maximum = 320000000, teller = 0;
- bool running = true, maximumBereikt = false;
- while(running)
- {
- if(!maximumBereikt)
- {
- teller++; /* Helderheid verhogen */
- }
- else
- {
- teller--; /* Helderheid verlagen */
- if(teller == 0)
- {
- running = false; /* Uit while loop gaan */
- }
- }
- helderheidPortA(teller, 0x01); /* Helderheid = teller, en eerste ledje*/
- if(teller > maximum) /* Af beginnen tellen*/
- {
- maximumBereikt = true;
- }
- delay(50); / *Transitie iets soepeler laten verlopen */
- }
- delay(15000); /* Tijdje tussen uit een terug aan*/
- }
- }
- void helderheidPortA(int helderheid, int poortwaarde)
- {
- for(int i = 0; i < helderheid; i++) /* Aantal keer herhalen. Hoe hoger de helderheid hoe vaker. Hoe meer iets wordt herhaald hoe sneller dat het lijkt*/
- {
- porta = poortwaarde; /* Poort A instellen */
- porta = 0x00; /* Alle ledjes uit*/
- }
- }
- void delay(int hoelang)
- {
- for(int i = 0; i < hoelang; i++);
- }
Advertisement
Add Comment
Please, Sign In to add comment