Σκοπόςτης Διάλεξης. Εφαρμογή των χρονιστών για την ακριβή μέτρηση του χρόνου με την υλοποίηση του προγράμματος Real_Time_Clock.

Σχετικά έγγραφα
8051 Interrupt Ports. Name Alternate Function

Ι ΑΣΚΩΝ ΚΑΘΗΓΗΤΗΣ: ΚΑΘΗΓΗΤΗΣ ΕΦΑΡΜΟΓΩΝ. ΤΕΙ ΥΤΙΚΗΣ ΜΑΚΕ ΟΝΙΑΣ

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας,

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα για την εργαστηριακή άσκηση 10: Εφαρμογές των χρονιστών και των διακοπών

ΜΑΘΗΜΑ: ΜΙΚΡΟΕΛΕΓΚΤΕΣ

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 5: Εξωτερικές διακοπές του 8051

ΑΝΑLOG TO DIGITAL CONVERTER (ADC)

Βασικές Έννοιες της Πληροφορικής

Ι ΑΣΚΩΝ ΚΑΘΗΓΗΤΗΣ: ΚΑΘΗΓΗΤΗΣ ΕΦΑΡΜΟΓΩΝ ΠΑΡΑΡΤΗΜΑ ΚΑΣΤΟΡΙΑΣ ΤΕΙ ΥΤΙΚΗΣ ΜΑΚΕ ΟΝΙΑΣ

Εφαρμογέσ Μικροχπολογιςτών ςτισ Τηλεπικοινωνίεσ. Έλεγχοσ ςειριακήσ θφρασ του 8051 (Serial Port)

Οδηγώντας μια οθόνη υγρών κρυστάλλων Liquid Crystal Display

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα για την εργαστηριακή άσκηση 8: Διακοπές του 8051 οφειλόμενες στους απαριθμητές του

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 3: Εντολές λογικών πράξεων και εντολές κλήσης ρουτινών

ΔΙΑΧΥΤΑ ΚΑΙ ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ

ΜΙΚΡΟΕΛΕΓΚΤΕΣ ΘΕΜΑΤΑ ΦΕΒ Ημ/νία:

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013

Αρχιτεκτονική Υπολογιστών

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

WDT και Power Up timer

Αυτή η άσκηση έχει σαν σκοπό, να δείξει τον τρόπο με τον οποίο τίθεται σε λειτουργία η οθόνη LCD του αναπτυξιακού.

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 4: Ρουτίνες καθυστέρησης. [Συγγραφή ρουτίνας καθυστέρησης]

Είναι το πρωτόκολλο RS232 που χρησιμοποιείται στις σειριακές θύρες COM με τη διαφορά ότι εκτελείται σε επίπεδο τάσεων TTL. 2

12. Διακοπές Interrupts (IRQ)

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access)

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008

Μαθαίνοντας το hardware του αναπτυξιακού

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Μονάδες Μνήμης και Διατάξεις Προγραμματιζόμενης Λογικής

ΑΣΚΗΣΕΙΣ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΑΡΙΘΜΗΣΗΣ (σελ στο ΜΥ1011Χ.pdf)

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ. Σηµειώσεις στο µάθηµα ΜΙΚΡΟΕΛΕΓΚΤΕΣ

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Γ ΕΠΑΛ 14 / 04 / 2019

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

Προηγμένοι Μικροεπεξεργαστές. Φροντιστήριο 4 Real Mode Interrupts

ΗΜΥ 213. Εργαστήριο Οργάνωσης Η.Y. και Μικροεπεξεργαστών week 5. Διδάσκων: Δρ. Γιώργος Ζάγγουλος

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου


Η συχνότητα f των παλµών 0 και 1 στην έξοδο Q n είναι. f Qn = 1/(T cl x 2 n+1 )

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

Οργάνωση και Αρχιτεκτονική Υπολογιστών. Κεφάλαιο 7.4

Εισαγωγή στην Πληροφορική

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ. Τίτλος Μαθήματος. Διαλέξεις - Θεωρητική Διδασκαλία, Εποπτευόμενο Εργαστήριο Επίδειξη, Μελέτες (Projects)

ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ I: ΕΙΣΑΓΩΓΗ ΣΤΑ ΗΛΕΚΤΡΟΝΙΚΑ

Βασική δοµή και Λειτουργία Υπολογιστή

ΘΕΜΑ : ΣΥΣΤΗΜΑΤΑ ΑΡΙΘΜΗΣΗΣ. ΔΙΑΡΚΕΙΑ: 1 περιόδους. 22/1/ :11 Όνομα: Λεκάκης Κωνσταντίνος καθ. Τεχνολογίας

Πανεπιστήμιο Θεσσαλίας- Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΗΥ430- Εργαστήριο Ψηφιακών Κυκλωμάτων

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

ΘΕΜΑ 2. (2,5 µονάδες) Θεωρήστε τρεις κρυφές µνήµες των 512 πλαισίων µε 8 λέξεις ανά πλαίσιο και οργανώσεις αντίστοιχα:

9. ΚΑΤΑΧΩΡΗΤΕΣ (REGISTERS)

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 4 - Editor

ΕΡΓΑΣΤΗΡΙΟ 4 ΕΙΣΑΓΩΓΗ ΣΤΟN ARDUINO: ΨΗΦΙΑΚΗ ΕΙΣΟΔΟΣ/ΕΞΟΔΟΣ

Ψηφιακά Συστήματα. 8. Καταχωρητές

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

ΑΣΚΗΣΗ 8 ΚΑΤΑΧΩΡΗΤΕΣ - REGISTERS

Σελίδα 1 από 12. Απαντήσεις στο φυλλάδιο 55. Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από:

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ

ΕΙΣΑΓΩΓΗ. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΑΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι)

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication

Οργάνωση Υπολογιστών (Ι)

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. ΚΕΦΑΛΑΙΟ 4ο ΜΝΗΜΕΣ. (c) Αμπατζόγλου Γιάννης, Ηλεκτρονικός Μηχανικός, καθηγητής ΠΕ17

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ. A. Μετατροπή αριθμών 1. Μετατροπή αριθμών από δεκαδικό σε δυαδικό σύστημα αρίθμησης


γρηγορότερα. Αν θέλουμε να μηδενίσουμε όλα τα υπόλοιπα bit μπορούμε να χρησιμοποιήσουμε την εντολή:

Τέτοιες λειτουργίες γίνονται διαμέσου του

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ

Σπύρος Καζαρλής, Χειμώνας

i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες!

ΔΙΑΧΥΤΑ ΚΑΙ ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers)

Συστήματα Μικροϋπολογιστών

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.

(Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να

ΑΣΚΗΣΗ 2 (29 Νοεμβρίου 2016)

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ ΤΕΤΑΡΤΗ 19 ΙΟΥΝΙΟΥ 2019 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΦΕΒ 2014 Καθηγητής: Νικολαΐδης Νικ. Ημ/νία εξέτασης:

για τις ρυθμίσεις LabView μέσα από το κανάλι και του καλωδίου USB.

Δυαδικό Σύστημα Αρίθμησης

Αρχιτεκτονική υπολογιστών

ΕΡΓΑΣΤΗΡΙΟ 6 ΟΔΗΓΗΣΗ ΑΠΕΙΚΟΝΙΣΕΩΝ SSD ΚΑΙ LCD

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I

Transcript:

Σκοπόςτης Διάλεξης Να γίνει κατανοητή η λειτουργία των χρονιστώναπαριθμητών του DS89C4x0και ο προγραμματισμός τους. Εφαρμογή των χρονιστών για την ακριβή μέτρηση Εφαρμογή των χρονιστών για την ακριβή μέτρηση του χρόνου με την υλοποίηση του προγράμματος Real_Time_Clock.

8051 Timers -Counters Port Bit Name Alternate Function P3.0 RxD Receive data for serial port P3.1 TxD Transmit data for serial port P3.2 INT0 External interrupt 0 P3.3 INT1 External interrupt 1 P3.4 T0 Timer / counter 0 external input P3.5 T1 Timer / counter 1 external input P3.6 WR External data memory write strobe P3.7 RD External data memory read strobe

Ανύσματα Διακοπών (Θέσεις Μνήμης ROM)

Καταχωρητής Ενεργοποίησης Διακοπών IE O βασικός καταχωρητής των διακοπώνieέχει την ακόλουθη μορφή και το κάθε bit αυτού αν τεθεί HIGH τότε ενεργοποιεί κάποια πηγή διακοπής. Tο bit ΙΕ.0 (EX0) είναι υπεύθυνο για την ενεργοποίηση της εξωτερικής διακοπής INT0 Tο bit ΙΕ.0 (EX0) είναι υπεύθυνο για την ενεργοποίηση της εξωτερικής διακοπής INT0 Το bitιε.1 (ET0) είναι υπεύθυνο για την ενεργοποίηση διακοπής λόγω υπερχείλισης του χρονιστή 0 (T0) Το bit ΙΕ.2 (EX1) είναι υπεύθυνο για την ενεργοποίηση της εξωτερικής διακοπής ΙΝΤ1 Το bitιε.3 (ET1)είναι υπεύθυνο για την ενεργοποίηση διακοπής λόγω υπερχείλισης του χρονιστή 1 (Τ1) To bit ΙΕ.4 (ES)είναι υπεύθυνο για την ενεργοποίηση διακοπής λόγω χρήσης της σειριακής θύρας Τα bits ΙΕ.5&ΙΕ.6 είναι υπεύθυνα για χρήση διακοπής άλλων 2 χρονιστών αλλά για τον µικροϋπολογιστή 8052 Το bitιε.7 (ΕΑ) είναι υπεύθυνο για την ενεργοποίηση όλων των διακοπών. Αν αυτό το bit δεν είναι high, τότεδεν λειτουργούν οι διακοπές.

Λειτουργία ενός Χρονιστή Ο χρονιστής Τ0 αποτελείται από δύο 8-bit χρονιστές, τους TL0 (χαμηλής τάξης τμήμα του Τ0) και TH0(υψηλής τάξης τμήμα του Τ0). Ο ΤΗ0 οδηγείται από τον ΤL0 και κάθε φορά που ο TL0 πάει από FFHσε 00Η, ο ΤΗ0 αυξάνει την ένδειξή του κατά 1. Όταν ο Τ0 αποκτήσει περιεχόμενο όλο άσσους, με τον επόμενο παλμό εισόδου του υπερχειλίζει και αποκτά περιεχόμενο όλο μηδενικά. Ταυτόχρονα θέτει 1ένα ξεχωριστό bit του καταχωρητή TCON, το TF0 (Timer0 OVERFLOW). Τότε, αν είναι προγραμματισμένος, προκαλεί διακοπή στο πρόγραμμα που τρέχει ο 8051 (διακοπή που οφείλεται στον Τ0). Για να μετράει ο Τ0, είτε ως απαριθμητής είτε ως χρονιστής, και να μην είναι «παγωμένος», πρέπει να έχουμε δώσει τιμή 1 σε ένα άλλο ξεχωριστό bit του TCON, το TR0 (Timer 0 Run)

Απαριθμητής έναντι Χρονιστή Απαριθμητής: η ένδειξη του μετρητή Τ0αυξάνει χωρίς σταθερό ρυθμό κάθε φορά που ένας εξωτερικός παλμός φτάνει στον αντίστοιχο ακροδέκτη Τ0 φυσικά χωρίς κάποιο σταθερό ρυθμό άφιξης. Χρονιστής: όταν ο Τ0έχει προγραμματιστεί να λειτουργεί ως χρονιστής, η ένδειξή του αυξάνεται κατά 1 για κάθε 12 παλμούς ρολογιού, δηλαδή με σταθερό ρυθμό, ίσο με το 1/12 της συχνότητας ρολογιού του 8051. Μια 12άδα παλμών ρολογιού του 8051 συνιστά έναν κύκλο μηχανής. Έτσι, όταν ο Τ0 λειτουργεί ως χρονιστής, έχουμε μια αύξηση της ένδειξής του κατά 1 για κάθε κύκλο μηχανής του 8051.

Καταχωρητής TCON Έστω, ότι ο Τ0 περιέχει όλο άσσους. Με τον επόμενο παλμό μηχανής του 8051, υπερχειλίζεικαι αποκτά περιεχόμενο όλο μηδενικά. Ταυτόχρονα, το TF0 γίνεται 1, (Timer 0 OVERFLOW). Για να μετράει ο Τ0, είτε ως μετρητής είτε ως χρονιστής, πρέπει να δωθεί τιμή 1 στο bit TR0(Timer 0 Run).

Καταχωρητής TMOD M1 M0 Mode Description 0 0 0 8-bit Timer/Counter. THxwith TLxas 5-bit prescaler (13 bit) 0 1 1 16-bit Timer/Counter. THxand TLxare cascaded; there is no prescaler. 1 0 2 8-bit auto-reload Timer/Counter. THxholds a value which is to be reloaded into TLxeach time it overflows. 1 1 3 (Timer 0) TL0 is an 8-bit Timer/Counter controlled by the standard Timer 0 control bits. TH0 is an 8-bit timer only controlled by Timer 1 control bits. 1 1 3 (Timer 1) Timer/Counter stopped

Καταχωρητής TMOD Αν είναι GATE=0, ο απαριθμητής/χρονιστής είναι ενεργοποιημένος να μετράει. Αν είναι GATE=1, για να μετράει ο απαριθμητής πρέπει ο ακροδέκτης Ρ3.2 του 8051να βρίσκεται σε λογικό 1. Φυσικά, και στις δύο περιπτώσεις πρέπει να είναι TR0=1. Αν είναι C/T =1,ο απαριθμητής είναι μετρητής (Counter) εξωτερικών παλμών και Aν είναι C/T = 0, ο απαριθμητής είναι χρονιστής (Timer).

Εργασίες Υποθέστε, ότι σε κάποια χρονική στιγμή, οι καταχωρητές TH0και TL0έχουν τις τιμές που βλέπετε στον ακόλουθο πίνακα. Εάν επρόκειτο να παρακολουθήσετε τις τιμές των δύο καταχωρητών σε λειτουργία 8-bit autoreloadκαι λειτουργία 16-bitγια τον Timer0, τι θα καταγράφατε στον παρακάτω πίνακα για 10 συνεχόμενους κύκλους μηχανής; Timer 0 8-bit Autoreload 16-bit Κύκλος TH0 TL0 TH0 TL0 Μηχανής 1 FΑh FBh FFh F9h 2 3 4 5 6 7 8 9 10 11

Κώδικας Real Time Clock Πρόβλημα: Ζητείται να προγραμματίσετε τον DS89C4x0 ώστε να εμφανίζεται στην οθόνη του αναπτυξιακού η ένδειξη ενός ψηφιακού ρολογιού. Να χρησιμοποιηθεί ο Timer 0 (σε 16-bit mode) για την μέτρηση διαστημάτων χρόνου 10msecπριν προκαλέσει υπερχείλιση-διακοπή του 8051.

Κώδικας Real Time Clock Δεδομένα: Timer0σε16-bitλειτουργία ΣυχνότηταΚρυστάλλου:F osc =11,0592MHz Συχνότητα Λειτουργίας Timer: FDS89C4x0-TIMER =F osc /12=0,9216 MHz Περίοδος Timer :1,085μsec (ή χρόνος ενός κύκλου μηχανής που απαιτείται για αύξηση του καταχωρητή του Timer κατά 1)

Κώδικας Real Time Clock Υπολογισμοί: Ο χρόνος των 10msec δια του χρόνου ενός κύκλου μηχανής (1,085μsec) εξάγει τον αριθμό των κύκλων μηχανής (Machine Cycles) που απαιτούνται για υπερχείλιση. (10ms/1,085μsec)=9217d=2401h. Οι καταχωρητές TH0, TL0 αρχικοποιούνται με τον δεκαεξαδικό αριθμό DBFEh που προκύπτει εάν αφαιρέσουμε τον αριθμό 2401h από τον FFFFh(65535d).

Κώδικας Real Time Clock Στο πρώτο τµήµα του κύριου κώδικα φροντίζουµε : να αρχικοποιήσουµε την οθόνη LCD εφόσον θα την χρησιµοποιήσουµεγια ένδειξη του ρολογιού. να στείλουµε προς εµφάνιση στο LCD την αρχική ένδειξη του ρολογιού όπου ώρες, λεπτά και δευτερόλεπτα είναι όλα µηδενισµένα. να αρχικοποιήσουµε τους καταχωρητές που θα χρησιµοποιήσουµε για την µέτρηση των διαφορετικών χρονικών διαστηµάτων (R0 R3).

Κώδικας Real Time Clock Στο δεύτερο τμήμα του κύριου κώδικα, ακολουθούν: οι εντολές αρχικοποίησης του Timer 0 (αρχική τιμή, 16bit mode), η ενεργοποίηση των απαραίτητων interrupt flagsκαι η εντολή εκκίνησης του Timer. Λόγω του ότι ο κώδικας Real Time Clock θα τρέξει μέσα στην ρουτίνα εξυπηρέτησης διακοπής, το κύριο πρόγραμμα τελειώνει ουσιαστικά με την εντολή κλήσης του εαυτού της ώστε να αποφύγουμε την περίπτωση, ο μικροελεγκτής να τερματίσει την λειτουργία του.

Ρουτίνα Εξυπηρέτησης TIMER 0 Οι πρώτες εργασίες που πρέπει να εκτελεστούν στην ρουτίνα εξυπηρέτησης του Timer 0 είναι δύο: 1. Να αρχικοποιηθούν οι καταχωρητές TH0, TL0. 2. Να μηδενιστεί το bit υπερχείλισης

Ρουτίνα Εξυπηρέτησης TIMER 0 Μετά τις πρώτες απαραίτητες εντολές ξεκινάει η καταμέτρηση των υπερχειλίσεων-διακοπών με την βοήθεια του καταχωρητή R0 ο οποίος συγκρίνεται με την τιμή 100 στην οποία θα έχει παρέλθει χρόνος ίσος με 1 δευτερόλεπτο. Ακολούθως όταν R0=100, αυξάνει ο καταχωρητής R1 ως μετρητής των δευτερολέπτων και συγκρίνεται με την τιμή 60 που ισοδυναμεί με χρόνο ίσο με 1 λεπτό. ΠΡΟΣΟΧΗ: Όταν οι καταχωρητές R0,R1 φτάσουν την μέγιστη προκαθορισμένη τιμή τους, πρέπει να μηδενιστούν πριν ξαναχρησιμοποιηθούν.

Ρουτίνα Εξυπηρέτησης TIMER 0 Ομοίως σε αυτό το τμήμα του κώδικα έχουμε αύξηση του καταχωρητή R2 των λεπτών κατά 1 και σύγκριση με την τιμή 60 που ισοδυναμεί με χρόνο ίσο με 1 ώρα. Όταν ο καταχωρητής R2 φτάσει την τιμή 60, αυξάνει κατά 1 ο καταχωρητής R3 των ωρών και συγκρίνεται με το 24 χρόνο που ισοδυναμεί σε μια πλήρη ημέρα. ΠΡΟΣΟΧΗ: Όταν οι καταχωρητές R2,R3 φτάσουν την μέγιστη προκαθορισμένη τιμή τους, πρέπει να μηδενιστούν πριν ξαναχρησιμοποιηθούν.

Ρουτίνα Εξυπηρέτησης TIMER 0 Στο τμήμα αυτό του κώδικα βλέπουμε όλες τις διακλαδώσεις των παραπάνω συγκρίσεων των 4 καταχωρητών R0 R3. 1. Καθ όσον ο R0 είναι μικρότερος του 100, ο έλεγχος διακλαδώνεται στην εντολή που ολοκληρώνει την ρουτίνα εξυπηρέτησης διακοπής. 2. Καθ όσο ο R1 είναι μικρότερος του 60, ο έλεγχος διακλαδώνεται στην ρουτίνα ανανέωσης της ένδειξης των δευτερολέπτων. 3. Καθ όσο ο R2είναι μικρότερος του 60, ο έλεγχος διακλαδώνεται στην ρουτίνα ανανέωσης της ένδειξης των λεπτών. 4. Καθ όσο ο R3είναι μικρότερος του 24, ο έλεγχος διακλαδώνεται στην ρουτίνα ανανέωσης της ένδειξης των ωρών.

Ρουτίνα PrintSecondsγια ένδειξη δευτερολέπτων στην οθόνη LCD Στην αρχή της ρουτίνας, μεταφέρεται το περιεχόμενο του καταχωρητή R1 των δευτερολέπτων στον ACC του DS89C4x0

Ρουτίνα PrintSecondsγια ένδειξη δευτερολέπτων στην οθόνη LCD Ακολούθως καλείται ειδική ρουτίνα που αναλαμβάνει να διαχωρίσει τον διψήφιο αριθμό που χαρακτηρίζει τον αριθμό των δευτερολέπτων, σε δεκάδες και μονάδες. Επιπλέον, μετατρέπει τους δύο μονοψήφιους αριθμούς σε μορφή ASCII για να είναι απεικονίσιμοι στο LCD.

Ρουτίνα PrintSecondsγια ένδειξη δευτερολέπτων στην οθόνη LCD Σε αυτό το σημείο, χρειάζεται να μεταφερθεί ο κέρσορας του LCD στην θέση όπου αρχίζει η ένδειξη των δευτερολέπτων (στην περίπτωσή μας) στην θέση 86h.

Ρουτίνα PrintSecondsγια ένδειξη δευτερολέπτων στην οθόνη LCD Στη συνέχεια, μεταφέρεται ο αριθμός των δεκάδων της ένδειξης δευτερολέπτων από την θέση μνήμης (RAM:40h) στον ACC και καλείται η ρουτίνα μεταφοράς δεδομένων στο LCD.

Ρουτίνα PrintSecondsγια ένδειξη δευτερολέπτων στην οθόνη LCD Τέλος, μεταφέρεται ο αριθμός των μονάδων της ένδειξης δευτερολέπτων από την θέση μνήμης (RAM:41h) στον ACC και καλείται η ρουτίνα μεταφοράς δεδομένων στο LCD. Η ρουτίνα PRINTSECONDS έχει ολοκληρώσει το έργο της.

Ρουτίνα Hex2ASC για μετατροπή διψήφιων δεκαεξαδικών σε δύο διακριτούς αριθμούς ASCII για δεκάδες & μονάδες Αρχικοποιείται ο καταχωρητής Βμε την τιμή 10για να διαιρέσει τον διψήφιο αριθμό που δέχεται μέσω του καταχωρητή ACC. Μετά την διαίρεση, το πηλίκο (δεκάδες) βρίσκεται στο ACCκαι το υπόλοιπο βρίσκεται στον Β.

Ρουτίνα Hex2ASC για μετατροπή διψήφιων δεκαεξαδικών σε δύο διακριτούς αριθμούς ASCII για δεκάδες & μονάδες Προσθέτοντας τον αριθμό 30hστο περιεχόμενο του ACCαπό την διαίρεση μας δίνει τον ASCIIκωδικό του ψηφίου των δεκάδων, τον οποίο αποθηκεύει προσωρινά στη θέση μνήμης 40h.

Ρουτίνα Hex2ASC για μετατροπή διψήφιων δεκαεξαδικών σε δύο διακριτούς αριθμούς ASCII για δεκάδες & μονάδες Προσθέτοντας τον αριθμό 30hστο περιεχόμενο του ACCόπου τώρα υπάρχει το υπόλοιπο του καταχωρητή Β, από την διαίρεση μας δίνει τον ASCIIκωδικό του ψηφίου των μονάδων, τον οποίο αποθηκεύει προσωρινά στη θέση μνήμης 41h. Η ρουτίνα μετατροπής έχει ολοκληρώσει το έργο της.

Ασκήσεις για αρχικοποίηση Χρονιστών 1) Υποθέστε ότι ο Timer0 λειτουργεί σε τύπο 8-bit autoreload. Αρχικοποιείστε τον ώστε μέχρι να υπερχειλίσει, να μετρά: 100 machine cycles 100 μsec για συχνότητα κρυστάλλου fosc=11.0592 MHz 100 μsec για συχνότητα κρυστάλλου fosc=12 MHz 2) Υποθέστε ότι ο Timer0λειτουργεί σε τύπο 16-bit. Αρχικοποιείστε τον ώστε μέχρι να υπερχειλίσει, να μετρά: 10000 machine cycles. 10000 μsec για συχνότητα κρυστάλλου fosc=11.0592 MHz 10000 μsec για συχνότητα κρυστάλλου fosc=12 MHz