ΑΣΚΗΣΗ 3 ΑΣΚΗΣΗ 3. Μηχανικοί ιακόπτες. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

Σχετικά έγγραφα
ίοδοι Εκποµπής Φωτός

ΑΣΚΗΣΗ 4 ΑΣΚΗΣΗ 4. Ενδείκτης 7 τοµέων. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

ΑΣΚΗΣΗ 5 ΑΣΚΗΣΗ 5. Πληκτρολόγιο Matrix. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

Αρχιτεκτονική Η/Υ-Εργαστήριο. Δημοσθένης Μπολανάκης. Ρήγας Γεώργιος

ΑΣΚΗΣΗ 1 ΑΣΚΗΣΗ 1. Συγγραφή. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

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

8051 Interrupt Ports. Name Alternate Function

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

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

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό.

ΠΑΡΑ ΕΙΓΜΑ 8 ΓΕΝΝΗΤΡΙΑ ΨΕΥ ΟΤΥΧΑΙΩΝ ΑΡΙΘΜΩΝ (PSEUDORANDOM GENERATOR) 8.0 ΓΕΝΙΚΑ

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

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

Θέµατα Φεβρουαρίου

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο

ΠΕΡΙΕΧΟΜΕΝΑ 1. Υπορουτίνες Μαθηµατικών Πράξεων 1.1. Προσηµασµένοι και απροσήµαστοι αριθµοί 1.2. Μετατροπές προσηµασµένων και απροσήµαστων αριθµών

; Οι HL δείχνουν την επόµενη θέση µνήµης MVI A, 38H CMP H JNZ DO_FLMEM ; POP B. ; Ανάκτηση καταχωρητών απο το σωρό.

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

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

Καταχωρητής STATUS. IRP: Bit επιλογής περιοχής μνήμης (Bank) για την έμμεση διευθυνσιοδότηση 1= Bank2, Bank3 0= Bank0, Bank1

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

1. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ Μ/Ε ΕΣΩΤΕΡΙΚΟΙ ΚΑΤΑΧΩΡΗΤΕΣ

Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32. Αρχείο καταχωρητών και Χάρτης Μνήµης

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Αναλογικά & Ψηφιακά Κυκλώματα ιαφάνειες Μαθήματος ρ. Μηχ. Μαραβελάκης Εμ.

Εισαγωγή στην πληροφορική -4

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

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

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

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

10. Πληκτρολόγιο matrix 4x4

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

2. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΤΩΝ ΘΥΡΩΝ ΕΙΣΟ ΟΥ/ΕΞΟ ΟΥ ΤΟΥ PIC16F877-ΑΡΙΘΜΗΤΙΚΕΣ ΕΝΤΟΛΕΣ

Στοιχεία από Assembly Γιώργος Μανής

Ενσωµατωµένα Συστήµατα

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Μετρητής Ριπής (Ripple Counter) Μετρητές (Counters) Μετρητής Ριπής (συν.

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

Οργάνωση Η/Υ. Ο Επεξεργαστής TRN. Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου

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

ΑΣΚΗΣΗ 1 ΛΟΓΙΚΕΣ ΠΥΛΕΣ

SF list. Asyncronous Pulse Generator. En: Είσοδος

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

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

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

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

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

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

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

10. Πληκτρολόγιο matrix 4x4

ιεύθυνση Λέξης Ερµηνεία Περιεχοµένου Λέξης ιεύθυνση Λέξης b7 b6 b5 b4 b3 b2 b1 b0

Ας ξεκινήσουμε. Macro-instructions. (Assembly level) Micro-instructions Main memory. (micro-code)

ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων

ΜΙΚΡΟΕΛΕΓΚΤΗΣ PICAXE 18M2

ΚΕΦΑΛΑΙΟ 5 ΠΡΟΣΟΜΟΙΩΤΗΣ PLC SIMATIC S7-300

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

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

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

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή

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

K24 Ψηφιακά Ηλεκτρονικά 9: Flip-Flops

δειγμα ΠΕΡΙΕΧΟΜΕΝΑ 2. Τεχνολογία και P.L.C Βλέποντας το Hardware του Twido P.L.C Γενική δοµή ενός συστήµατος αυτοµατισµού 14

Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing)

ΕΙΣΑΓΩΓΙΚΟ ΕΓΧΕΙΡΙ ΙΟ ΓΙΑ ΣΧΕ ΙΑΣΜΟ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL

Μνήμη και Προγραμματίσιμη Λογική

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

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

Διαφορές single-processor αρχιτεκτονικών και SoCs

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 5 Ανάπτυξη Προγράμματος σε Γλώσσα Λίστας Εντολών

8.1 Θεωρητική εισαγωγή

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων

: ). 5sec 3sec sec sec. restart. d6 1, d7 1 B $ SW2/4 /ADC ON OFF 2

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

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

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Μετρητές 1

ΗΜΥ Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών

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

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

Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ.

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

Μετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές. Εισαγωγή στο Arduino. Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών

Παραδείγματα Προγραμματισμού σε Assembly του TRN

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

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

ΜΑΘΗΜΑ: ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ ΘΕΜΑΤΑ ΙΟΥΝΙΟΥ 2014

Διάλεξη 12 Καθυστερήσεις (Stalls)

ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών

2. Δήλωση μεταβλητών. #include <avr/io.h> #include <util/delay.h> unsigned char i=0xa0; register unsigned char i asm("r3");

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

ΚΕΦΑΛΑΙ0 V ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΟΣ ΕΙΣΟΔΟΥ-ΕΞΟΔΟΥ

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Ελίνα Μακρή

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

Κεφάλαιο 12 ο. Γ. Τσιατούχας. VLSI Systems and Computer Architecture Lab. Μνήμες 2

Ψηφιακή Σχεδίαση Ενότητα 11:

Transcript:

ΑΣΚΗΣΗ 3 Μηχανικοί ιακόπτες

Σκοπός της άσκησης Εισαγωγή δεδοµένων στο µc από το περιβάλλον µέσω SW (Switch) Είδη SW στο εµπόριο ιασύνδεση SW (κατάσταση ηλ. σήµα) Έλεγχος κατάστασης SW Το πρόβληµα των αναπηδήσεων Απόσβεση αναπηδήσεων µε 1. Τεχνικές hardware 2. Τεχνικές software

Πρόβληµα Στον ακροδέκτη PTC0 του µc είναι συνδεδεµένος ένας διακόπτης τύπου Push-Button, ενώ στον ακροδέκτη PD4 µία δίοδος led. Υποθέστε ότι ο διακόπτης PTC0 είναι η κλειδαριά της πόρτας του οδηγού ενός αυτοκινήτου και ο ακροδέκτης PD4, η έξοδος ενεργοποιεί το κεντρικό κλείδωµα του αυτοκινήτου. Να γραφεί πρόγραµµα που θα ανιχνεύει την κατάσταση του διακόπτη και κάθε φορά που ο χρήστης θα τοποθετεί το κλειδί στην κλειδαριά (διακόπτης σε κατάσταση on) θα αλλάζει κατάσταση η έξοδος PD4 (κλειδώνει ή ξεκλειδώνει το αυτοκίνητο).

Είδη διακοπτών ιακόπτες µανδάλωσης (On/Off, Dip Switch, SCR) ιακόπτες µη µανδάλωσης (Push Button, BJT) On/Off... Push Button Dip Switch 3 θέσεων

Συνδεσµολογία SW VDD Vin Pull-Up R TYP :1Κ VDD R R Vin Θετικής λογικής Pull-Down R TYP :10Κ Αρνητικής λογικής

Κύκλωµα άσκησης VDD PTC0 Internal Pull-up R MCU PTD4 R

Αρχικοποίηση καταχωρητών BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 PORT A DATA REGISTER $0000 MEMORY MAP PORT B DATA REGISTER $0001 I/O REGISTER 64 BYTES $0000 $003F PORT C DATA REGISTER PORT D DATA REGISTER $0002 $0003 RAM 512 BYTES $0040 $023F PORT A DIR. REGISTER PORT B DIR. REGISTER $0004 $0005... FLASH MEMORY 32.256 BYTES... $8000 $FDFF PORT C DIR. REGISTER PORT D DIR. REGISTER PORT E DATA REGISTER UNIMPLEMENTED UNIMPLEMENTED 1 0 $0006 $0007 $0008 $0009 $000A RESET VECTOR HIGH BYTE RESET VECTOR LOW BYTE $FFFE $FFFF UNIMPLEMENTED PORT E DIR. REGISTER $000B $000C PORT A PULL UP ENABLE $000D PORT C PULL UP ENABLE PORT D PULL UP ENABLE 1 $000E $000F

Πρόγραµµα PORTC.DATA EQU $0002 PORTD.DATA EQU $0003 PORTC.DIRECTION EQU $0006 PORTD.DIRECTION EQU $0007 PORTC.PullUpEn EQU $000E ROM.START EQU $8000 RESET.VECTOR EQU $FFFE ORG ROM.START MOV #%00010000,PORTD.DIRECTION MOV #%00000001,PORTC.PullUpEn MOV #%11111110,PORTC.DIRECTION

Οι εντολές BRSET & BRCLR Εντολή Σύνταξη Παράδειγµα BRSET (BRanch if n bit SET) BRSET (BRanch if n bit CLeaR) BRSET n, καταχωρητής, Ετικέτα BRCLR n, καταχωρητής, Ετικέτα BRSET 0,PORTC.DATA,KeyNotInserted BRSET 0,PORTC.DATA,KeyInserted Αποτέλεσµα Ανήκουν στην κατηγορία των εντολών που αλλάζουν τη ροή του προγράµµατος, µεταπηδώντας σε κάποιο άλλο, αφού πρώτα επαληθευτεί η ισχύς µιας συνθήκης (το n bit του καταχωρητή = 1 ή 0 ).

Ηλογική πράξη XOR X Y XOR X Y 0 0 0 1 1 0 1 1 XOR 0 1 1 0 1 X XOR= Y X 0 XOR= Y Y Y

Εντολή Ηεντολή EOR EOR (Exclusive OR) Σύνταξη EOR αριθµός Παράδειγµα EOR #%00010000 Αποτέλεσµα Κάνει λογικό XOR στα bit του Accumulator µε τον αριθµό που ακολουθεί

8 8 Ηεντολή EOR 8 ΑΣΚΗΣΗ 3 7 7 6 5 4 3 2 1 0 X X X X X X X X 6 5 4 3 2 1 0 X X X X X X X X 7 6 5 4 3 2 1 0 0 0 0 1 0 0 0 0 RESULT Ac c.

ΗεντολήLDA Εντολή LDA (LoaD Accumulator) Σύνταξη LDA Αριθµός LDA Περιεχόµενο διεύθυνσης Παράδειγµα LDA #%11111111 LDA PORTD.DATA Αποτέλεσµα Μεταφέρει στον Accumulator έναν αριθµό ή το περιεχόµενο µιας διεύθυνσης

ΗεντολήSΤA Εντολή SΤA (STore Accumulator) Σύνταξη SΤA ιεύθυνση Παράδειγµα STA PORTD.DATA Αποτέλεσµα Αντιγράφει το περιεχόµενο του Accumulator σε µια διεύθυνση µνήµης

ΗεντολήLDX Εντολή LDX (LoaD IndeX) Σύνταξη LDX Αριθµός LDX Περιεχόµενο διεύθυνσης Παράδειγµα LDX #%11111111 LDX PORTD.DATA Αποτέλεσµα Μεταφέρει στον IndeX έναν αριθµό ή το περιεχόµενο µιας διεύθυνσης

ΗεντολήSΤX Εντολή SΤX (STore IndeX) Σύνταξη SΤX ιεύθυνση Παράδειγµα STX PORTD.DATA Αποτέλεσµα Αντιγράφει το περιεχόµενο του IndeX σε µια διεύθυνση µνήµης

Πρόγραµµα LDA PORTD.DATA EOR #%00010000 STA PORTA.DATA

Πρόγραµµα PORTC.DATA EQU $0002 PORTD.DATA EQU $0003 PORTC.DIRECTION EQU $0006 PORTD.DIRECTION EQU $0007 PORTC.PullUpEn EQU $000E ROM.START EQU $8000 RESET.VECTOR EQU $FFFE ORG ROM.START BSET 0,$001F MOV #$1F,$003C MOV #%00010000,PORTD.DIRECTION MOV #%00000001,PORTC.PullUpEn MOV #%11111110,PORTC.DIRECTION KeyNotInserted BRSET 0,PORTC.DATA,KeyNotInserted LDA PORTD.DATA EOR #%00010000 STA PORTD.DATA KeyInserted BRCLR 0,PORTC.DATA,KeyInserted JMP KeyNotInserted ΟΧΙ ΟΧΙ ΑΡΧΗ PTD4: ΕΞΟ ΟΣ PTC0: ΕΙΣΟ ΟΣ Pull-up En. ΙΑΚΟΠΤΗΣ On ΑΛΛΑΓΗ ΚΑΤΑΣΤΑΣΗΣ ΣΤΟ LED ΙΑΚΟΠΤΗΣ Off ORG FDB RESET.VECTOR ROM.START

Φαινόµενο Αναπηδήσεων V VDD VDD R Vin T V VDD VDD R Vin T

Hardware VDD VDD R1 V Απόσβεση αναπηδήσεων V = Vo(1 e RC ) t R2 Vin C T ΣΧΕΣΗ ΦΟΡΤΙΣΗΣ ΠΥΚΝΩΤΗ V VDD VDD R1 R2 Vin C T

Hardware Απόσβεση αναπηδήσεων

Απόσβεση αναπηδήσεων LoadX Dec.X Όχι Όχι Accumulator=250 IndeX=199 Μείωση κατά 1 του IndeX Index=0 Μείωση κατά 1 του Acc Acc=0 Ναι Ναι Software Delay To Debounce (50mSec)

Delay To Debounce DEBOUNCE.DELAY LDA #!250 ;2k LOAD.X LDX #!199 ;2k DECREASE.X NOP ;1k NOP ;1k DBNZX DECREASE.X ;3k DBNZA LOAD.X ;3k RTS d1 = (3 DBNZX + 1 NOP + 1 NOP ) X + 2 LDX d = (d1 + 3 DBNZA ) A + 2 LDA 250.002 k 50mSEC

ιάγραµµα ροής ΑΡΧΗ PTD4: ΕΞΟ ΟΣ PTC0: ΕΙΣΟ ΟΣ Pull-up En. ΟΧΙ ΙΑΚΟΠΤΗΣ On DELAY 50mS ΑΛΛΑΓΗ ΚΑΤΑΣΤΑΣΗΣ ΣΤΟ LED ΟΧΙ ΙΑΚΟΠΤΗΣ Off DELAY 50mS

Πρόγραµµα PORTC.DATA EQU $0002 DEBOUNCE.DELAY LDA #!250 PORTD.DATA EQU $0003 LOAD.X LDX #!199 PORTC.DIRECTION EQU $0006 DECREASE.X NOP PORTD.DIRECTION EQU $0007 NOP PORTC.PullUpEn EQU $000E DBNZX DECREASE.X ROM.START EQU $8000 DBNZA LOAD.X RESET.VECTOR EQU $FFFE RTS ORG ROM.START BSET 0,$001F ORG RESET.VECTOR MOV #$1F,$003C FDB ROM.START MOV #%00010000,PORTD.DIRECTION MOV #%00000001,PORTC.PullUpEn MOV #%11111110,PORTC.DIRECTION KeyNotInserted BRSET 0,PORTC.DATA,KeyNotInserted JSR DEBOUNCE.DELAY LDA PORTD.DATA EOR #%00010000 STA PORTD.DATA KeyInserted BRCLR 0,PORTC.DATA,KeyInserted JSR DEBOUNCE.DELAY JMP KeyNotInserted

Ανακεφαλαίωση Χειρωνακτική εισαγωγή δεδοµένων στο µc Είδη & συνδεσµολογίες διακοπτών Ενεργοποίηση εσωτερικών pull-up Έλεγχος ανοικτού / κλειστού διακόπτη από πρόγραµµα Εντολές BRSET,BRCLR,EOR,LDA,STA,LDX,STX Φαινόµενο αναπηδήσεων µηχανικών διακοπτών Εξάλειψη του φαινοµένου (hardware & software) Delay µε τους καταχωρητές της CPU

Εργασία στους Η/Υ Συγγραφή & Προσοµοίωση του προγράµµατος Προγραµµατισµός µc & έλεγχος λειτουργίας του κυκλώµατος Αφαίρεση της υπορουτίνας επαναπρογραµ- µατισµός & έλεγχος λειτουργίας του κυκλώµατος Παρατηρήσεις Μελέτη και υλοποίηση της λειτουργίας CD-ROM (Υλοποίηση µε διάγραµµα ροής)

Εργασία για το σπίτι Στους ακροδέκτες PTC0, PTC1 του µc είναι συνδεδεµένοι δύο διακόπτες τύπου Push-Button, ενώ στον ακροδέκτη PD4 µία δίοδος led. Υποθέστε ότι στη θέση του διακόπτη PTC0 είναι συνδεδεµένη η πόρτα του οδηγού ενός αυτοκινήτου και στη θέση του διακόπτη PTC1 τα φώτα του αυτοκινήτου. Όταν η πόρτα και τα φώτα του αυτοκινήτου είναι κλειστά ο µc λαµβάνει σήµα λογικού «1», ενώ όταν είναι ανοικτά ο µc λαµβάνει σήµα «0» στους αντίστοιχους ακροδέκτες. Να γραφεί πρόγραµµα που θα ελέγχει την κατάσταση των δύο εισόδων και θα ενεργοποιεί µία δίοδο led που είναι συνδεδεµένη στον ακροδέκτης PD4 όταν και οι δύο είσοδοι βρίσκονται σε λογικό «0» (πόρτα και φώτα ανοικτά). Να υλοποιηθεί το πρόγραµµα µε βάση κάποιο διάγραµµα ροής.