Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

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

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΜΙΚΡΟΕΛΕΓΚΤΕΣ-ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ"— Μεταγράφημα παρουσίασης:

1 ΜΙΚΡΟΕΛΕΓΚΤΕΣ-ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ
Β. ΧΡΙΣΤΟΦΙΛΑΚΗΣ ΤΟΜΕΑΣ ΙV ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΕΙΣΑΓΩΓΗ μέρος 3

2 ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ
Προγραμματισμός Διαγράμματα ροής Assembly Instruction Set 68HC05

3 Διαδικασία προγραμματισμού
Καταγραφή προδιαγραφών Σχεδίαση προγράμματος Εφαρμογή της σχεδίασης σε κώδικα Έλεγχος Διορθώσεις

4

5 Καταγραφή προδιαγραφών
Ο μικροελεγκτής λαμβάνει πληροφορία από της 4 συσκευές εισόδου. Η πληροφορία αυτή μπορεί να έχει ψηφιακή ή αναλογική μορφή. Η πληροφορία από τις συσκευές εισόδου 1 και 2 είναι σε ψηφιακή μορφή και η binary τιμή της (για κάθε συσκευή) εξαρτάται από τη κατάσταση 8 διακοπτών. Οι συσκευές εισόδου 3, 4 δίνουν πληροφορία στο pin P1.6 της πόρτας 1 του μικροελεγκτή σε ψηφιακή μορφή, με τη βοήθεια τον μεταλλακτών αναλογικού σε ψηφιακού 1 και 2 αντίστοιχα. Το αναλογικό σήμα λαμβάνεται από 2 αισθητήρες θερμοκρασίας

6 Σχεδίαση προγράμματος Διαγράμματα ροής
Χρησιμοποιούν 4 βασικά σύμβολα: delay Process Terminator Decision connector

7 Αποτελούν μια κοινή γλώσσα επικοινωνίας ανεξάρτητη από τη γλώσσα προγραμματισμού που θα χρησιμοποιηθεί

8 ΑΣΚΗΣΗ μC ελέγχει αυτόματο σύστημα ποτίσματος γκαζόν. Ο μC ελέγχει την υγρασία του γκαζόν μέσω αισθητήρα. Όταν η υγρασία είναι μικρότερη από 20% τότε ο μC δίνει εντολή να ανοίξει η βάνα ποτίσματος για 1 ώρα. Ετοιμάστε το διάγραμμα ροής.

9 Έλεγχος Κειμενογράφος  Πηγαίος Κώδικας  Assembler  Εκτελέσιμες εντολές. Αν υπάρχουν σφάλματα στο πηγαίο κώδικα τότε δε παράγεται ο αντικειμενικός κώδικας δηλαδή οι εκτελέσιμες εντολές. Ένα είδος speller

10 Debugging - Simulation
Ακόμα και αν ο κώδικας μας δεν έχει error και παρήχθησαν οι εκτελέσιμες εντολές. Αυτό δε σημαίνει ότι είναι και σωστός Π.χ μπορεί ο κώδικας μας να είχε ως στόχο το άνοιγμα μιας πόρτας και τελικά οι εκτελέσιμες εντολές να οδηγούν στο κλείσιμο. Γι αυτό πρέπει να γίνει προσομοίωση και debugging πριν προχωρήσουμε στην υλοποίηση της εφαρμογής μας.

11 Υψηλές γλώσσες προγραμματισμού

12 Machine / Assembly Language
Machine Language: Αποτελείται από αριθμούς και είναι κατανοητή μόνο από τον mC . Assembly Language: Έχει την ίδια δομή και set εντολών με την machine language μόνο που αποτελείται από λέξεις αντί για αριθμούς. Μια εντολή ενός 8-bit mC αποτελείται από μερικα bytes και είναι μοναδικη.

13 Assembly 3 λόγους για τους οποίους χρησιμοποιείται ΤΑΧΥΤΗΤΑ

14 s19 Συνήθως ένας motorola assembler δημιουργεί ένα s19 file το αρχείο αυτό μπορεί με τη βοήθεια ενός programmer να γραφτεί στην program memory  S FE53 S motorola 1: data 09: 9 bytes 0160: starting address 1004: BSET 0 PortA.Direction

15 S19 Motorola file format S19 Source Code S FE 53 S1041FF000EC S1041FF100EB S1051FFE01607C S FC PortA.Data EQU $0000 ;pseudo operators PortA.Direction EQU $0004 ;comments ROM.Start EQU $0160 ;comments Mask.Option1 EQU $1FF0 Mask.Option2 EQU $1FF1 Reset.Vector EQU $1FFE ORG ROM.Start BSET 0,PortA.Direction BSET 0,PortA.Data Loop BRA Loop ORG Mask.Option1 FCB $00 ORG Mask.Option2 ORG Reset.Vector FDB ROM.Start

16 S19 επεξήγηση Είναι όλες οι εντολές που μπορεί ο mC να εκτελέσει. Oι εντολές του 68HC05 του επιτρέπουν να διαβάζει σήματα ή δεδομένα από τις πόρτες του, να εκτελεί κατάλληλες διαδικασίες χειρισμού δεδομένων με βάση αυτά τα σήματα και το αντίστροφο βέβαια. Μια εντολή χωρίζεται σε 2 μέρη Τον κώδικα λειτουργίας (op code) (λεει στον mC τι λειτουργία πρέπει να κάνει). Τη διεύθυνση (address) που θα την εκτελέσει

17 S19 παράδειγμα BSET 0 PortA.Direction BSET 0 PortA.Data Op code
Address 10 04 Op code Address 10 00

18 Λειτουργίες Διευθυνσιοδότησης
Το σετ εντολών του M68HC05 αποτελείται από 210 εντολές οι οποίες μπορούν να ταξινομηθούν σε 6 διαφορετικούς τρόπους διευθυνσιοδότησης Τα data γράφονται στην source address και από εκεί γίνονται move στην destination address. Στα μνημονικά του κώδικα πάντα πρώτη είναι η destination address. mnemonic <dest-byte>,<src-byte>

19 6 τρόποι διευθυνσιοδότησης
Ανάλογα με το πώς καθορίζονται στο mnemonic οι source και destination address έχουμε διάφορες addressing modes. Inherent: Ενυπάρχων . Η cpu γνωρίζει όλη τη πληροφορία που απαιτείται. INCA AA+1

20 Immediate LDA ,#01 Είναι μια 2-byte instruction: A6 01 A6:op code
01: data byte Τα δεδομένα που πρόκειται να αποθηκευτούν κάπου στη μνήμη ακολουθούν αμέσως τον op code. +: very fast -:fixed value

21 Extended Addressing Mode
Αντιγράφει τα δεδομένα (DATA) που βρίσκονται στην διεύθυνση $06E5 στον Accumulator A LDA $06E5 06E5 F0 A  F0 DATA

22 Direct Addressing Mode
Direct Addressing Mode μια υποπερίπτωση της extended. Μπορούν να γίνουν access μόνο 256 bytes μνήμης. LDA $E5 $00-FF DATA

23 Ερώτηση Γιατί δε χρησιμοποιούμε extended addressing mode από τη στιγμή που καλύπτει όλες τις περιπτώσεις ;

24 Απάντηση 2 bytes στη program memory  direct
3 bytes στη program memory  extended Den tha paroume gia taksidi mia hmeras th valitsa yperatlantikou taksidiou

25 Indexed addressing mode
Αντιγράφονται στον Α τα δεδομένα στη δέση μνήμης που υποδεικνύει ο Χ register. LDA ,X O X F0 προσοχή το F0 είναι ο δείκτης της θέσης μνήμης. DATA

26 Indexed addressing mode
DATA

27 Relative Addressing Mode
Χρησιμοποιείται μόνο στις εντολές διακλάδωσης (BRANCH) $0024 LABEL ….. $0161 $0162 $0163 Branch to LABEL if A1<A2 $0164 $01E0 -127 ΠΡΟΣΟΧΗ ΣΤΟ ΕΎΡΟΣ ΔΙΑΚΛΑΔΩΣΗΣ +128

28 Instruction Set Αποτελείται συνολικά από 210 εντολές
M68HC05 Applications Guide ef_manual/M68HC05AG.pdf

29 Instruction Set

30 Instruction Set


Κατέβασμα ppt "ΜΙΚΡΟΕΛΕΓΚΤΕΣ-ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google