Kodutöö taimer. Sissejuhatus digitaaltehnikasse
19 OPTION_REG = 0b00000111;
20
21 TRISD=0; // PORTD Data Direction Register
22 TRISC &= 0b11011111; // RC5 (kollane diood) väljundiks
23
24 // AN0 analoogisisend, ülejäänud digitaalsisendid
25 ADCON1 = 0b00001110; // A/D Control Register 1
26
27 while(1){
28 if (m==0){
29 if (RC5) RC5=0; else RC5=1; // Vigutab plaadil kollast valgusdioodi
30 m=30;
31 }
32 if (RA3)
33 PORTD=0b01011110; //0b10101010;
34 else{
35 if (n==0){
36 PORTD=tabel[number];
37 number++;
38 if (number>9) number=0;
39 n=126;
40 }
41 }
42 // Igal taimeri ületäitumisel vähendatakse n-i väärtust ühe võrra
43 // ja nullitakse taimer
44 if (INTCON & Q_taimer){
45 TMR0 = 0;
46 INTCON &= ~Q_taimer;
47 if (n) n--;
48 if (m) m--;
49 }
50 }
51 return (1);
52 }