Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
ΜΙΚΡΟΕΛΕΓΚΤΕΣ-ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ
Β. ΧΡΙΣΤΟΦΙΛΑΚΗΣ ΤΟΜΕΑΣ ΙV ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΕΙΣΑΓΩΓΗ μέρος 3
2
ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ
Προγραμματισμός Διαγράμματα ροής Assembly Instruction Set 68HC05
3
Διαδικασία προγραμματισμού
Καταγραφή προδιαγραφών Σχεδίαση προγράμματος Εφαρμογή της σχεδίασης σε κώδικα Έλεγχος Διορθώσεις
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 AA+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
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.