ΜΙΚΡΟΕΛΕΓΚΤΕΣ-ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΨΗΦΙΑΚΗ ΜΝΗΜΗ (RAM – ROM).
Advertisements

ΕΙΣΑΓΩΓΗ ΣΤΟ DOS (Disk Operating System)
ΠΑΡΑΔΟΣΕΙΣ ΜΑΘΗΜΑΤΟΣ «ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ 1» ΕΣΩΤΕΡΙΚΗΑΡΧΙΤΕΚΤΟΝΙΚΗ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ 8085 ΟΚΤΩΒΡΙΟΣ 2005.
Α ΡΧΙΤΕΚΤΟΝΙΚΗ Μ ΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ Υποκεφάλαιο 1.2 (Η κεντρική μονάδα επεξεργασίας CPU08)
DreamWeaver Παρουσίαση Εργαλείου για Ανάπτυξη Web-based GUIs 1.
Α ΡΧΙΤΕΚΤΟΝΙΚΗ Μ ΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ Παράρτημα Β (Το λογισμικό ICS08GPGTZ)
1 Κλήσεις συναρτήσεων και προγραμματισμός με μηχανές καταστάσεων.
Δρ. Μαρία Ι. Ανδρέου Εισαγωγή στον Αντικειμενόστρεφη Προγραμματισμό (Object-Oriented Programming) Data Types, Variables, and Arithmetic.
ΕΣ 08: Επεξεργαστές Ψηφιακών Σημάτων © 2006 Nicolas Tsapatsoulis Συνολική αρχιτεκτονική του Επεξεργαστή TMS320C6713 και προγραμματισμός σε ASSEMBLY Τμήμα.
#develop The open source IDE for.NET. Τι είναι το #develop? o Διαβάζεται SharpDevelop. o Είναι ένα opensource IDE για το.ΝΕΤ platform. o Είναι μία συλλογή.
Παραδείγματα Προγραμματισμού Αναζήτηση του μεγίστου σε ένα πίνακα αριθμών χωρίς πρόσημο που βρίσκεται τοποθετημένος στη μνήμη από τη θέση TAB και μετά,
ΔΙΑΣΥΝΔΕΣΗ ΦΩΤΟΔΙΟΔΩΝ ΑΣΚΗΣΗ 2 ΜΙΚΡΟΕΛΕΓΚΤΕΣ - ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Β. ΧΡΙΣΤΟΦΙΛΑΚΗΣ ΤΟΜΕΑΣ ΙV ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ.
ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Κ.ΑΛΑΦΟΔΗΜΟΣ καθηγητής Δ.Παπαχρήστος μέλος ΕΔΙΠ ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΠΑΝΕΠΙΣΤΗΜΙΟ Α ΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.
ΕΙΣΑΓΩΓΗ μέρος 1 ΜΙΚΡΟΕΛΕΓΚΤΕΣ - ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Π. ΚΩΣΤΑΡΑΚΗΣ Β. ΧΡΙΣΤΟΦΙΛΑΚΗΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ.
ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ ΝΊΚΟΣ ΠΑΠΑΔΆΚΗΣ Αρχιτεκτονική Υπολογιστών.
Ψηφιακή Σχεδίαση Τ.Ε.Ι. Κρήτης Σχολή Τεχνολογικών Εφαρμογών Τμ. Μηχανικών Πληροφορικής.
ΕΙΣΑΓΩΓΗ μέρος 2 ΜΙΚΡΟΕΛΕΓΚΤΕΣ - ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Π. ΚΩΣΤΑΡΑΚΗΣ Β. ΧΡΙΣΤΟΦΙΛΑΚΗΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ.
ΟΡΓΑΝΩΣΗ ΣΥΝΕΔΡΙΩΝ ΔΥΝΑΤΟΤΗΤΕΣ ΠΑΡΑΓΩΓΗΣ ΞΕΝΟΔΟΧΕΙΑΚΟΥ ΠΡΟΙΟΝΤΟΣ ΔΥΝΑΤΟΤΗΤΕΣ ΤΟΥ ΞΕΝΟΔΟΧΕΙΟΥ ΣΕ ΕΓΚΑΤΑΣΤΑΣΕΙΣ ΚΑΙ ΕΞΟΠΛΙΣΜΟ.
ΓΕΝΝΗΤΙΚΟ ΣΥΣΤΗΜΑ ΘΗΛΕΟΣ Cases - Robbins 8 th edition Ε. Κουρέα Δεκέμβριος 2012.
Eισαγωγή στο SPSS. Tι είναι το SPSS Το SPSS (Superior Performance Software System) είναι το πιο διαδεδομένο πρόγραμμα για τη στατιστική ανάλυση δεδομένων.
Εισαγωγή μέρος 4 ΜΙΚΡΟΕΛΕΓΚΤΕΣ - ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Β. ΧΡΙΣΤΟΦΙΛΑΚΗΣ ΤΟΜΕΑΣ ΙV ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ.
Αρχεία - Φάκελοι Αρχείο ονομάζουμε μια οργανωμένη συλλογή από δεδομένα, που είναι αποθηκευμένα σε κάποιο μέσο αποθήκευσης του υπολογιστή. Τα βασικά χαρακτηριστικά.
1 Αρχιτεκτονική υπολογιστών Ενότητα 5 : Η Εσωτερική Μνήμη Φώτης Βαρζιώτης Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Test.
Chapter 16 Control Unit Implemntation. A Basic Computer Model.
Test.
Δ.Ε.Υ.Α. και Οικονομική Κρίση
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Β΄ ΠΛΗΡΟΦΟΡΙΚΗΣ
Καθηγητής Σταύρος Α. Κουμπιάς
Εισαγωγή στην Αριθμητική Ανάλυση Εισαγωγή στη MATLAB
ΜΙΚΡΟΕΛΕΓΚΤΕΣ-ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ
Ενότητα 5 : Οργάνωση Υλικού Υπολογιστών Δρ. Γκόγκος Χρήστος
Εισαγωγή στους Η/Υ Ενότητα 7: Η οργάνωση ενός Η/Υ Ιωάννης Σταματίου
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Εισαγωγή στο Περιβάλλον της Visual Basic
Το εσωτερικό του υπολογιστή
Αρχές Πληροφορικής Ενότητα # 4: Δομή ενός υπολογιστικού συστήματος
To MATLAB Το MATLAB πρωτοεμφανίστηκε πριν μια εικοσαετία και από τότε άρχισε να κατακτά τον ακαδημαϊκό και ερευνητικό χώρο. Η συνεχής ανάπτυξή του MATLAB.
Εξέλιξη Υπολογιστικών Συστημάτων
ΠΑΙΔΑΓΩΓΙΚΟ ΤΜΗΜΑ ΔΗΜΟΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ εκπαιδευτικη πολιτικη μιντζα νικολετα-μαρια (3170) στ’ εξαμηνο Η ΕΚΠΑΙΔΕΥΤΙΚΗ.

ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 6: Το Γραφικό Περιβάλλον Επικοινωνίας (Γ.Π.Ε.)
Ποιοί είναι οι δικαστικοί σχηματισμοί του Δικαστηρίου;
ΦΩΤΟΒΟΛΤΑΪΚΑ Καραχάλιος Σπύρος.
Κεντρική Μονάδα Επεξεργασίας
ΠΕΡΙΒΑΛΛΟΝΤΑ ΑΝΑΠΤΥΞΗΣ ΕΦΑΡΜΟΓΩΝ
ΠΡΟΛΟΓΟΣ.
OpenCart customization
ΜΥΥ105: Εισαγωγή στον Προγραμματισμό
ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ – Α’ Τάξη ΓΕ.Λ
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 6: Το Γραφικό Περιβάλλον Επικοινωνίας (Γ.Π.Ε.)
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 6: Γραφικό Περιβάλλον Επικοινωνίας
ΜΙΑ ΓΡΗΓΟΡΗ ΕΠΑΝΑΛΗΨΗ ΤΩΝ ΕΝΝΟΙΩΝ ΤΗΣ Α’ ΓΥΜΝΑΣΙΟΥ
Υποστήριξη διαδικασιών στο υλικό των υπολογιστών
ΟΛΟΚΛΗΡΩΜΕΝΑ ΚΥΚΛΩΜΑΤΑ ΜΝΗΜΗΣ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Ι
Ειδικά Θέματα στον Προγραμματισμό Υπολογιστών
Μνήμη τυχαίας προσπέλασης
Τα θέματα μας σήμερα Ηλεκτρονικοί υπολογιστές Υλικό και λογισμικό
Εισαγωγή στους Η/Υ και στο περιβάλλον της Compaq Visual Fortran
Η ΠΡΑΚΤΙΚΗ ΑΣΚΗΣΗ ΤΩΝ ΦΟΙΤΗΤΩΝ ΤΟΥ ΜΑΘΗΜΑΤΙΚΟΥ ΣΤΑ ΣΧΟΛΕΙΑ: ΜΙΑ ΠΙΛΟΤΙΚΗ ΕΦΑΡΜΟΓΗ Εαρινό εξάμηνο
Εργαστηριακές ασκήσεις με τον μικροελεγκτή PIC
Υλικό - Λογισμικό Υλικό (Hardware) Λογισμικό (Software)
Λειτουργικά Συστήματα
Υποστήριξη διαδικασιών στο υλικό των υπολογιστών
Διάλεξη #10: Εκτέλεση Java χωρίς το BlueJ
Single-cyle υλοποίηση:
Λογισμικό Εφαρμογών/Επεξεργασία Κειμένου
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: Γνωριμία με το Λογισμικό
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 6: Το Γραφικό Περιβάλλον Επικοινωνίας (Γ.Π.Ε.)
Μεταγράφημα παρουσίασης:

ΜΙΚΡΟΕΛΕΓΚΤΕΣ-ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Π. ΚΩΣΤΑΡΑΚΗΣ Β. ΧΡΙΣΤΟΦΙΛΑΚΗΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ Εισαγωγή μέρος 4

WinIDE Το πρόγραμμα WinIDE (Windows Integrated Development Environment) που παρέχει η Motorola για το μC M68HC705C8A είναι ένα γραφικό περιβάλλον για την ανάπτυξη, μετάφραση και αποσφαλμάτωση του κώδικα που θα επιμεληθεί ο χρήστης (προγραμματιστής). Για να γράψει ο προγραμματιστής τον κώδικα σε γλώσσα assembly πηγαίνει στο File menu και επιλέγει New File.

WinIDE Στο νέο παράθυρο που ανοίγει γράφεται το πρόγραμμα σε γλώσσα assembly με ορισμένη σύνταξη. Η σύνταξη των προγραμμάτων πρέπει να γίνεται σε στήλες, όπου κάθε στήλη απέχει από την προηγούμενη κατά ένα στηλοθέτη (TAB).

Filename.asm - δομή *********************************************** * exercise01.ASM - Sample code to test ..... PortA.Data EQU $0000 ;pseudo operators PortA.Direction EQU $0004 ;comments ROM.Start EQU $0160 ;comments ORG ROM.Start BSET 0,PortA.Direction

Filename.asm - δομή *********************************************** * Filename.asm (a1exercise12.asm) *Exercise # (Exercise 12) *Team # (Team A1) *Date (20/10/2014)   Command1 ;comments Command2 ;comments Command3 ;comments …. Command n ;comments

Assemble/Compile file Error OK

Asm-List-S19 Προκειμένου να φορτωθεί το πρόγραμμα στο uC, θα πρέπει ο κώδικας που υλοποιήθηκε από τον προγραμματιστή να μετατραπεί από μνημονικές εντολές σε γλώσσα μηχανής που καταλαβαίνει και είναι σε θέση να εκτελέσει η CPU. Ο assembler CASM05Z που παρέχει η Motorola για τη σειρά των μC 68HC05 ολοκληρώνει αυτή τη διαδικασία με την ανάγνωση του μνημονικού κώδικα και τη δημιουργία ενός αρχείου object (.s19) που περιλαμβάνει σε δυαδική μορφή τις εντολές και τα δεδομένα του μεταφρασμένου κώδικα, κατάλληλο να προγραμματίσει τη μνήμη του μικροελεγκτή με τη χρήση ενός programmer.

List file EX01PR01.asm Assembled with CASMW 29/7/2014 1:22:48 μμ PAGE 1 1 *********************************************** 2 * exercise01.ASM - Sample code to test ..... 3 *********************************************** 4 0000 5 PortA.Data EQU $0000 0000 6 PortA.Direction EQU $0004 0000 7 ROM.Start EQU $0160 0000 8 Mask.Option1 EQU $1FF0 0000 9 Mask.Option2 EQU $1FF1 0000 10 Reset.Vector EQU $1FFE 0160 12 ORG ROM.Start

isc05cw simulator Το λογισμικό ICS05CW είναι ένας προσομοιωτής μη πραγματικού χρόνου. Η ταχύτητα με την οποία εκτελείται ο κώδικας στον προσομοιωτή είναι πολύ μικρότερη από την ταχύτητα εκτέλεσης του κώδικα από τον μC, ωστόσο αποτελεί ένα χρήσιμο «εργαλείο» για τον έλεγχο και την αποσφαλμάτωση του προγράμματος που θα υλοποιήσει ο προγραμματιστής. Η πρόσβαση στο Simulator γίνεται από το δεύτερο εικονίδιο (Debugger EXE1) που βρίσκεται δίπλα από το εικονίδιο του Assembler. Στο παράθυρο που ανοίγει κάνουμε αριστερό κλικ στο εικονίδιο simulation only.

isc05cw simulator Code Window: περιλαμβάνει τον κώδικα σε γλώσσα μηχανής. Από το Execute menu από την επιλογή Step μπορεί ο χρήστης να κάνει προσομοίωση του προγράμματος εκτελώντας κάθε μία εντολή κάθε φορά, ξεκινώντας από τη διεύθυνση μνήμης που δείχνει ο Program Counter. Από την επιλογή Multiple Step ξεκινάει μια συνεχής εκτέλεση εντολών (η επιλογή αυτή δεν εκτελεί εντολές σε πραγματικό χρόνο). Η επιλογή Reset Processor τοποθετεί στον Program Counter το περιεχόμενο του διανύσματος εκκίνησης που περιέχει τη διεύθυνση της έναρξης του προγράμματος. CPU Window: περιλαμβάνονται οι καταχωρητές της CPU. Για να αλλάξουμε την τιμή ενός καταχωρητή κάνουμε αριστερό κλικ στον αντίστοιχο καταχωρητή. CHIP Window: σ’αυτό το παράθυρο παρουσιάζονται τα λογικά επίπεδα των ακροδεκτών του μC. Τα βέλη που φαίνονται στους ακροδέκτες του μC δηλώνουν αν αυτοί είναι ακροδέκτες εισόδου ή εξόδου.

isc05cw simulator CYCLES Window: απεικονίζει το αριθμό των κύκλων μηχανής του μC που πέρασαν κατά τη διάρκεια εκτέλεσης του κώδικα στον προσομοιωτή. Για να υπολογίσουμε τον πραγματικό χρόνο εκτέλεσης του προγράμματος πολλαπλασιάζουμε τον αριθμό των κύκλων μηχανής με τη διάρκεια του χρόνου που απαιτεί ένας κύκλος μηχανής (για εσωτερικό ρολόι 2MHz: t=500nsec). Memory Window: χρησιμεύει για τον έλεγχο και τη τροποποίηση της μνήμης του μC. Για να αλλάξουμε μία τιμή σε μια διεύθυνση μνήμης κάνουμε αριστερό κλικ στο αντίστοιχο byte. Status Window: δέχεται και εκτελεί ένα σετ εντολών που υποστηρίζει ο simulator κατά την προσομοίωση ενός προγράμματος. (Για παράδειγμα η εντολή porta <n> βγάζει στην θύρα Α που έχει δηλωθεί σαν έξοδος την τιμή που ακολουθεί μετά την εντολή). Variable Window: στο παράθυρο αυτό προσθέτουμε μεταβλητές ή διευθύνσεις μνήμης για να γίνεται ευκολότερα ο έλεγχος της αλλαγής των τιμών τους κατά την προσομοίωση του προγράμματος.

Αρχικοποίηση Attempt to use invalid or uninitialized memory STATUS WINDOW >INPUTA %11111111

Συμβολισμοί Δεκαδικό: ! Δεκαεξαδικό: $ Δυαδικό: % Οκταδικό: @ LDA #$00 STA $04 LDA #$FF STA $05 LDA $00 STA $01 Το σύμβολο $ που αναγράφεται μπροστά από τον αριθμό δηλώνει αυτός είναι γραμμένος σε δεκαεξαδικό σύστημα. Δεκαδικό: ! Δεκαεξαδικό: $ Δυαδικό: % Οκταδικό: @ ASCII: ‘L’

Συμβολισμοί Το σύμβολο της δίεσης # πριν από το σύμβολο του αριθμητικού συστήματος, δηλώνει στον assembler αν ακολουθεί αριθμός ή διεύθυνση μνήμης. Π.χ. η εντολή LDA #$00 φορτώνει στον accumulator την δεκαεξαδικη τιμή 00, ενώ η εντολή LDA $00, φορτώνει στον accumulator τα περιεχόμενα διεύθυνσης μνήμης $00 LDA #$00 STA $04 LDA #$FF STA $05 LDA $00 STA $01

Μνημονικές εντολές assembly Ο assembler μεταφράζει το πρόγραμμα που γράφτηκε σε μνημονικές εντολές σε γλώσσα μηχανής. Στη συνέχεια το πρόγραμμα τοποθετείται byte προς byte στη μνήμη του μC. Μνημονικές εντολές assembly Γλώσσα μηχανής LDA #$00 Α6 00 STA $04 Β7 04 LDA #$FF Α6 FF STA $05 Β7 05

Originate Όταν φορτώνουμε ένα πρόγραμμα σ’ έναν μC, θα πρέπει ο assembler να γνωρίζει σε ποια θέση στη μνήμη PROM θα μεταφέρει το πρόγραμμα, έτσι διαθέτει μία ψευδοεντολή η οποία ονομάζεται ORG (Originate – Τοποθέτηση). Κάθε πρόγραμμα έχει τουλάχιστον μία ψευδοεντολή ORG που καθορίζει το σημείο από το οποίο ξεκινάει η εκτέλεση του προγράμματος. Η μνήμη του μC C8A ξεκινάει από τη διεύθυνση 016016. Για να καταλάβει, λοιπόν, ο μC ότι θέλουμε να γράψουμε το πρόγραμμά μας από τη διεύθυνση 016016 και πέρα, θα πρέπει να του δώσουμε πριν από το πρόγραμμα την εντολή ORG $0160

Τερματισμός $0160 A6 LDA #$00 $0161 00 $0162 B7 STA $04 $0163 04 $0164 LDA #$FF $0165 FF $0166 STA $05 $0167 05 $0168 B6 LDA $00 $0169 $016A STA $01 $016B 01 $016C XX $016D $016E Το πρόγραμμά μας τελειώνει στη διεύθυνση 016Β16, ο μC όμως, δε σταματά την εκτέλεση του προγράμματος εκεί, αλλά συνεχίζει να εκτελεί το πρόγραμμα που βρίσκεται στις παρακάτω διευθύνσεις, όπου σε αυτές τις διευθύνσεις είναι λογικό να υπάρχουν τιμές που θα ληφθούν λανθασμένα ως εντολές, με απρόβλεπτες συνέπειες.

Τερματισμός - JMP Για τους παραπάνω λόγους χρησιμοποιούμε μια εντολή μεταφοράς ελέγχου η Η εντολή αυτή ονομάζεται JMP (JuMP to address). ORG $0160 $0160 LDA #$00 $0162 STA $04 $0164 LDA #$FF $0166 STA $05 $0168 LDA $00 $016Α STA $01 $016C JMP $0168

Reset Vector H CPU είναι κοινή για όλους τους μC της οικογένειας 68HC05, και για το λόγο αυτό στη μνήμη των μC οι δύο τελευταίες θέσεις μνήμης χρησιμοποιούνται για να υποδηλώσουν τη διεύθυνση της εκκίνησης του προγράμματος. Οι τελευταίες διευθύνσεις στο μC C8A είναι η 8190(1FFE) και η 8191(1FFF). Σ’ αυτές τις διευθύνσεις τοποθετείται η διεύθυνση αρχής του προγράμματος με τη μορφή: 01 $1FFE Reset Vector High Byte 60 $1FFF Reset Vector Low Byte