Επειδή οι εργαστηριακές ασκήσεις γίνονται πλέον εξ αποστάσεως, κάποιες από αυτές πρέπει να τροποποιηθούν ώστε να μην χρειάζονται ακριβά εργαστηριακά όργανα όπως παλμογράφο και γεννήτρια συχνοτήτων. Οι αλλαγές αυτές είναι οι εξής και αναφέρονται στις 3 πρώτες ασκήσεις κάθε κεφαλαίου.
Άσκηση 16.3
Στην άσκηση αυτή παράγεται μία παλμοσειρά υψηλής συχνότητας η οποία θα έπρεπε να παρατηρείται στον παλμογράφο. Για να μπορέσει να γίνει αντιληπτή σε ένα LED θα πρέπει να χαμηλώσει πολύ η συχνότητα. Προσθέτουμε, λοιπόν, μία ρουτίνα χρονοκαθυστέρησης στη ρουτίνα διακοπής, κάτι που σε ένα κανονικό - και όχι εκπαιδευτικό - πρόγραμμα απαγορεύεται. Η ρουτίνα διακοπής, λοιπόν, τροποποιείται ως εξής.
INT0_irq:
PUSH R16
PUSH R17
PUSH R18
IN R16,SREG
PUSH R16
SBIC PINC,x
CBI PORTC,x
SBIS PINC,x
SBI PORTC,x
LDI R16,6
delay1:
LDI R17,0
delay2:
LDI R18,0
delay3:
DEC R18
BRNE delay3
DEC R17
BRNE delay2
DEC R16
BRNE delay1
POP R16
OUT SREG,R16
POP R18
POP R17
POP R16
RETI
Άσκηση 17.3
Για τους ίδιους λόγους με την άσκηση 16.3, η άσκηση 17.3 τροποποιείται ως εξής.
Γράψτε ένα πρόγραμμα που να παράγει στη γραμμή ΡΒ.3 (OC0) τετραγωνική κυματομορφή συχνότητας 2 Hz. Επαληθεύστε με τον προσομοιωτή και ένα LED το οποίο θα συνδέσετε στη γραμμή ΡΒ.3. Προσοχή μην ξεχάσετε την αντίσταση περιορισμού του ρεύματος του LED. Σημείωση: για να μπορέσετε να παράξετε τόσο μικρή συχνότητα, ρυθμίστε να παράγεται το ρολόι του μικροελεγκτή από τον ενσωματωμένο ταλαντωτή στην ελάχιστη συχνότητα του 1 MHz από τις ασφάλειες: Con - Select AVR programmer - JTAG ICE - Connect - SUT-CKSEL - Int. RC Osc. 1 MHz; Start-up time: 6 CK + 4 ms.
Κεφάλαιο 19
Στο συνημμένο αρχείο 555-pulse-generator.pdf θα βρείτε το σχηματικό διάγραμμα ενός κυκλώματος με το ολοκληρωμένο κύκλωμα 555 για την παραγωγή παλμοσειράς. Η παλμοσειρά αυτή θα χρησιμοποιηθεί ως είσοδος στον μικροελεγκτή για τις μετρήσεις συχνότητας, περιόδου, κλπ αυτού του κεφαλαίου. Τα εξαρτήματα του κυκλώματος είναι κοινά και φθηνά.