ιαδικασία προγραµµατισµού Η δοµή ενός προγράµµατος Η µνήµη και η δοµή της Εκτέλεση προγράµµατος 1
2 Εκτέλεση προγράµµατος Η εκτέλεση του προγράµµατος στα είναι κυκλική. ηλαδή όταν εκτελείται η τελευταία εντολή του προγράµµατος, η εκτέλεση ξεκινά πάλιαπό την αρχή. Ο χρόνος εκτέλεσης του προγράµµατος, είναι το άθροισµα των χρόνων εκτέλεσης της κάθε εντολής του, ονοµάζεται χρόνος σάρωσης προγράµµατος. Οι χρόνος εκτέλεσηςµιας εντολής (τάξης 50µs) περιλαµβάνει τον χρόνο µεταφοράςτης από τη µνήµη στον µικροεπεξεργαστή, τον χρόνο αποκωδικοποίησηςτης (κατανόησής της) από τον µικροεπεξεργαστή και αυτόν το χρόνο εκτέλεσης του σκοπού της. Άρα ο χρόνος σάρωσης του προγράµµατος εξαρτάται από το πλήθος και τη «δυσκολία» των εντολών του. Επειδή η εκτέλεση του προγράµµατος έχει σκοπό την εκτίµηση των εισόδων για να προκύψουν αποφάσεις για τις εξόδους, πριναρχίσει η εκτέλεση κάθε σάρωσης του προγράµµατος, αντιγράφονται (από ηλεκτρονικά κυκλώµατα της CPU) οι τρέχουσες τιµές των εισόδων στη µνήµη. Ο χρόνος που απαιτείται για αυτή τη λειτουργία λέγεται χρόνος σάρωσης εισόδων.
Εκτέλεση προγράµµατος 3 Στο τέλος κάθε σάρωσης του προγράµµατος οι επιθυµητές τιµές των εξόδων (όπως αυτές τέθηκαν κατά τη διάρκεια της σάρωσης του προγράµµατος) αντιγράφονται (πάλι από τα κυκλώµατα της CPU) στις πραγµατικές εξόδους. Και πάλι ο απαιτούµενος χρόνος ονοµάζεται χρόνος σάρωσης εξόδων. Η πραγµατική χρονική διαδοχή των σαρώσεων είναι αυτή του σχήµατος, και είναι ισοδύναµη µε αυτή που προαναφέραµε: Ενηµέρωση πίνακα Εξόδων Ενηµέρωση πίνακα Εισόδων Εκτέλεση του προγράµµατος Χρόνος σάρωσης I/O Χρόνος σάρωσης προγράµµατος Συνολικός χρόνος σάρωσηςείναι το άθροισµα των παραπάνω χρόνων. Η σηµασία του είναι µεγάλη αφού δεν είναι δυνατόν να ανιχνευθεί αλλαγή στην τιµή των εισόδων ή να επιτευχθεί αλλαγή στην τιµή των εξόδων ταχύτερη από αυτό τον χρόνο. Για την προστασία από υπερβολικούς χρόνους σάρωσης υπάρχει στα σύστηµα ασφαλείας (watchdog timer) που απενεργοποιεί το σε ακραίους χρόνους σάρωσης µε ένδειξη σφάλµατος.
Αντικείµενο του µαθήµατος Λίγα λόγια για τα s To σε κοµµάτια Η λογική του προγραµµατισµού Ο προγραµµατισµός ενός Το στην πράξη 4
Η λογική του προγραµµατισµού Σύνδεση ιακοπτών Τυπική Γραµµή ιαγράµµατος Κλίµακας Βασικά Στοιχεία & Συνδυασµοί Περισσότερες υνατότητες Έλεγχος Ροής Προγράµµατος 5
Σύνδεση ιακοπτών Οι διακόπτες που συνδέονται στις εισόδους ενός, αλλά και άλλα στοιχεία ψηφιακών εισόδων επιδρούν στο είτε επιτρέποντας στο ρεύµα να περάσει από µέσα τους (άγουν), είτε απαγορεύοντας του (δεν άγουν). Κάποιοι διακόπτες δεν επιτρέπουν στο ρεύµα να περνά (δεν άγουν), µέχρι να συµβεί κάποιο «γεγονός» το οποίο σχετίζεται µε τη σχεδίαση τους και να αρχίσουν να άγουν. Αυτούς τους διακόπτες ας τους ονοµάσουµε τύπου Push-On, δηλαδή όταν τους πατάς άγουν. Άλλοι διακόπτες επιτρέπουν στο ρεύµα να περνά (άγουν) συνήθως, µέχρι να συµβεί κάποιο «γεγονός» το οποίο σχετίζεται µε τη σχεδίαση τους και να σταµατήσουν να άγουν. Αυτούς τους διακόπτες ας τους ονοµάσουµε τύπου Push-Off, δηλαδή όταν τους πατάς δεν άγουν. 6
Η λογική του προγραµµατισµού Σύνδεση ιακοπτών Τυπική Γραµµή ιαγράµµατος Κλίµακας Βασικά Στοιχεία & Συνδυασµοί Περισσότερες υνατότητες Έλεγχος Ροής Προγράµµατος 7
Τυπική Γραµµή ιαγράµµατος Κλίµακας Η απλούστερη γραµµή ενός διαγράµµατος κλίµακας αποτελείται από δύο κατακόρυφες γραµµές (οι οποίες εκτείνονται σε όλο το ύψος του διαγράµµατος). Η µία συµβολίζει την τάση τροφοδοσίας. Η άλλη συµβολίζει τη γείωση. Εάν τοποθετήσουµε µια συσκευή (εξόδου) υπό αυτή τη διαφορά τάσης θεωρούµε ότι λειτουργεί. Η γραµµή καθαυτή χωρίζεται στο αριστερό τµήµα (συνθηκών) και στο δεξί (δράσης). Επίσης, όπως είδαµε, τη συσκευή δεν τη συνδέουµε απευθείας, αλλά µέσω ενός διακόπτη (είσοδος). V Ι 3 Ο 1 GND 8
Στην πραγµατικότητα δεν τοποθετούµε την συσκευή καθαυτή, αλλά την έξοδοστην οποία είναι συνδεδεµένη. Για την ακρίβεια, ανάλογα µε το είδος του διακόπτη (Push-On ή Push-Off) που έχουµε συνδέσει στην είσοδο τότε η έξοδος λειτουργεί. ηλαδή το σύµβολο της κανονικά ανοιχτής επαφής (το οποίο µοιάζει µόνοστην εµφάνιση µε «πυκνωτή» και ουδεµία σχέση έχει κατά τα άλλα) δηλώνει ότι όποτε άγειο διακόπτης (στην είσοδο) τότε τροφοδοτείται µε ρεύµα η έξοδος. Το προηγούµενο κύκλωµα µοιάζει ευθέως µε το ηλεκτρικό κύκλωµα το οποίο θα λειτουργούσε κατά τον ίδιο τρόπο. 9
Η λογική του προγραµµατισµού Σύνδεση ιακοπτών Τυπική Γραµµή ιαγράµµατος Κλίµακας Βασικά Στοιχεία & Συνδυασµοί Περισσότερες υνατότητες Έλεγχος Ροής Προγράµµατος 10
Βασικά Στοιχεία & Συνδυασµοί Τα sδενείναι σε θέση να γνωρίζουντι είδους διακόπτης είναι συνδεδεµένος πάνω τους, ούτε τι είναι... «καλό». Να άγει ένας διακόπτης ή να µην άγει;! Έτσι οι επαφέςπου χρησιµοποιούνται στο διάγραµµα κλίµακας δεν έχουν να κάνουν µε την κατασκευή των φυσικών διακοπτών που είναι συνδεδεµένοι στο, αλλά µάλλον µε το πότε θέλουµε να τροφοδοτούνταιοι έξοδοι, σε σχέση µε το πότε άγουνοι είσοδοι. Σε σχέση µε τις εισόδους υπάρχουν µόνο οι τέσσερις τύποι επαφών που φαίνονται στην επόµενη διαφάνεια. Για παράδειγµα δίνουµε στην είσοδο 3 της ακόλουθης γραµµής την τάση που φαίνεται στη ακόλουθη γραφική παράσταση... Ι 3? Ο 1 V i3 t 0 t 1 11
Η έξοδος που παράγεται από κάθε µία από τις επαφές, όταν αυτή χρησιµοποιηθεί στο διάγραµµα κλίµακας της προηγούµενης διαφάνειας φαίνεται στις ακόλουθες γραφικές παραστάσεις. V o1 V o1 t 0 t 1 V o1 t 0 t 1 Κανονικά ανοιχτή επαφή 1 2 Κανονικά κλειστή επαφή t 0 t 1 Επαφή OFF ON 3 4 Επαφή ON OFF V o1 t 0 t 1 12 Χρόνος Σάρωσης Χρόνος Σάρωσης
Επίσης υπάρχουν και τρεις βασικοί τύποι εξόδου (ή πηνία). Ο ένας είναι αυτός που ήδη συναντήσαµε. Οι άλλοι δύο είναι τύπου πηνίου ασφάλισης-απασφάλισης (latch unlatch). L U Χρησιµοποιώντας τον τύπο εισόδου που έχουµε ήδη δει, η ίδια γραµµή του διαγράµµατος κλίµακας µπορεί να θέσει την έξοδο σε οποιαδήποτε κατάσταση (τροφοδοτείται ή δεν τροφοδοτείται). Με τα πηνία ασφάλισηςµπορούµε µόνονα ενεργοποιήσουµε µία έξοδο (τροφοδοτείται) και µε τα πηνία απασφάλισηςµόνονα απενεργοποιήσουµε µία έξοδο (δεν τροφοδοτείται). Εάν η επαφή, στο αριστερό µέρος της γραµµής «άγει» δίνει αληθές αποτέλεσµα, τότε ένα πηνίο ασφάλισης-απασφάλισης πραγµατοποιεί τη λειτουργία του (τροφοδοτεί πηνίο ασφάλισης ή δεν τροφοδοτεί πηνίο απασφάλισης) την έξοδο. 13
14 Παραδείγµατα Στα ακόλουθα παραδείγµατα φαίνονται κάποιες απλές γραµµές διαγράµµατος κλίµακας και η περιγραφή της λειτουργίας τους. L U U Η έξοδος αρχίζει να τροφοδοτείται όταν η είσοδος ενεργοποιηθεί (TRUE). Η έξοδος συνεχίζει να τροφοδοτείται, ακόµα και όταν απενεργοποιηθεί η είσοδος. Η έξοδος σταµατά να τροφοδοτείται (FALSE)όταν η είσοδος ενεργοποιηθεί. Η έξοδος παραµένει χωρίς τροφοδοσία ακόµα και όταν απενεργοποιηθεί η είσοδος.. Η έξοδος σταµατά να τροφοδοτείται κάθε φορά που η είσοδος µεταβαίνει από κατάσταση ON (άγει-true) σε κατάσταση OFF (δεν άγει-false) και παραµένει έτσι. ΠΡΟΤΑΣΗ: ηµιουργήστε έναν πίνακα που να έχει τις µία γραµµή για κάθε έναν από τους 4 τύπους επαφών και µία στήλη για κάθε έναν από τους 3 τύπους πηνίου. Στη διασταύρωση των γραµµών µε τις στήλες του περιγράψτε τι κάνει µια γραµµή διαγράµµατος κλίµακας που συνδέει την είσοδο µε την έξοδο που αντιστοιχεί στο συγκεκριµένο κελί.
15 Λογικοί Συνδυασµοί Εισόδων Προχωρώντας ένα βήµα περισσότερο, αντί για µία είσοδο στο αριστερό µέρος µιας γραµµής ενός διαγράµµατος κλίµακας, µπορούµε να χρησιµοποιήσουµε συνδυασµούς εισόδων ως εξής: Ι 1 Ι 2 Σε αυτό το σχήµα η «τάση» τροφοδοτεί την έξοδο #1 είτεη είσοδος #1 άγει, είτεη είσοδος #2 άγει. Έτσι σχηµατίζεται µία λογική διάζευξη (OR) ανάµεσα στις δύο εισόδους, προκειµένου να ενεργοποιηθεί τροφοδοτηθεί η έξοδος.. Ι 1 Ι 2 Οµοίως στο δεύτερο σχήµα η τάση τροφοδοτεί την έξοδο #1 µόνο όταν καιη είσοδος #1 καιη είσοδος #2 άγει. Έτσι σχηµατίζεται µία λογική σύζευξη (AND) ανάµεσα στις δύο εισόδους προκειµένου να ενεργοποιηθεί τροφοδοτηθεί η έξοδος. Ο 1 Ο 1
16 Σε αυτό το σχήµα η «τάση» τροφοδοτεί την έξοδο #1 όταν η είσοδος #1 δεν άγει και δεν τροφοδοτείται όταν η είσοδος #1 άγει. Έτσι σχηµατίζεται µία λογική άρνηση (ΝΟΤ) της εισόδου, προκειµένου να τροφοδοτηθεί η έξοδος. Ι 1 Επίσης όλοι οι σύνθετοι συνδυασµοίείναι αποδεκτοί. Για παράδειγµα µε την παρακάτω γραµµή η έξοδος τροφοδοτείται είτε η είσοδος #3 δεν άγει, είτε άγουν η είσοδοι #1 και #2 ταυτόχρονα. Ι 1 ΟΙ 23 Ι 31 Αντί για την είσοδο #3 θα µπορούσε να χρησιµοποιείται η #1 και... για την είσοδο #2 η έξοδος #3, δηλαδή η κατάσταση της (στην αρχή του χρόνου σάρωσης). Ο 1 Ο 1