Μετάβαση στο περιεχόμενο

Προηγμένοι Μικροεπεξεργαστές & Εργαστήριο — Εξέταση Εργαστηρίου Ιουνίου 2021 (πολλαπλής επιλογής)

2021.pdf

6/10/2021

Εxams Upatras | Πλατφόρμα εξ αποστάσεως εξετάσεων Πανεπιστημίου Πατρών | Εξέταση Εργαστήριο Προηγμένοι Μι... | examsjun…

 Χαρτοφυλάκιο / Εξέταση Εργαστήριο Προηγμένοι Μικροεπεξεργαστές... / Ασκήσεις / examsjune2021

Εξέταση Εργαστήριο Προηγμένοι Μικροεπεξεργαστές Κουρέτας 2021

examsjune2021

Υπολειπόμενος χρόνος: 3:35
1 2 3 4 5 6 7 8 9 10 11 12 13 14
15 16 17 18 19 20

Ερώτηση 1 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός) 

Με την εντολή TCA0.SINGLE.CMP0 = 20;

Ορίζουμε ότι ο timer όταν φτάσει στην τιμή 20 θα δημιουργηθεί interrupt.

  • Ορίζουμε ότι ο timer όταν φτάσει στην τιμή 20 θα συνεχίσει να μετράει αντίστροφα από ό,τι μετρούσε.

  • Ορίζουμε ότι ο timer όταν φτάσει στην τιμή 20 θα σταματήσει να μετράει.

  • Ορίζουμε ότι ο timer όταν φτάσει στην τιμή 20 θα συνεχίσει να μετράει μέχρι την τιμή 40.

Ερώτηση 2 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός) 

Όταν δημιουργηθεί ένα interrupt στα PINF το όρισμα που παίρνει η συνάρτηση εξυπηρέτησης είναι το

  • PORTΑ_PORT_vect

  • PORTF_PORT_vect

  • PORTF_PORT_1

  • PORTD_PORT_vect

  • PORTF_PORT_vect5

Ερώτηση 3 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός) 

https://exams.eclass.upatras.gr/modules/exercise/exercise_submit.php?course=CEID332&exerciseId=11599

1/11

6/10/2021

Εxams Upatras | Πλατφόρμα εξ αποστάσεως εξετάσεων Πανεπιστημίου Πατρών | Εξέταση Εργαστήριο Προηγμένοι Μι... | examsjun…

Θέλουμε να ορίσουμε στο PORTF το 4ο pin ως switch το οποίο δημιουργεί interrupt μόνο στη θετική ακμή. Με ποιά εντολή θα το κάνουμε.

PORTF.PIN5CTRL |= PORT_PULLUPEN_bm | PORT_ISC_BOTHEDGES_gc;

PORTF.PIN4CTRL |= PORT_PULLUPEN_bm | PORT_ISC_RISING_gc;

PORTF.PIN5CTRL |= PORT_PULLUPEN_bm | PORT_ISC_RISING_gc;

PORTF.PIN4CTRL |= PORT_PULLUPEN_bm | PORT_ISC_BOTHEDGES_gc;

PORTF.PIN4CTRL &= PORT_ISC_BOTHEDGES_gc;

PORTF.PIN4CTRL &= PORT_ISC_RISING_gc;

Ερώτηση 4 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός) 

Η τιμή του PORT_ISC_BOTHEDGES_gc /* Sense Both Edges */ είναι

(0x02<<0)

(0x01<<3)

(0x01<<2)

Τίποτα από τα παραπάνω

Ερώτηση 5 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός) 

Η εντολή PORTD.OUTCLR= PIN5_bm;

Θέτουμε στον καταχωρητή DIR του PORTD την τιμή 0x20

Θέτουμε στον καταχωρητή OUTCLR του PORTD την τιμή 0x20

Θέτουμε στον καταχωρητή DIR του PORTD την τιμή 0x02

Θέτουμε στον καταχωρητή OUTCLR του PORTD την τιμή 0x02

Ερώτηση 6 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός) 

Θέλω να ορίσω στο PORTD το pin 5 ως output. Ποιό από τα παρακάτω είναι σωστό.

PORTD.DIR |= PIN1_bm;

https://exams.eclass.upatras.gr/modules/exercise/exercise_submit.php?course=CEID332&exerciseId=11599

2/11

6/10/2021

Εxams Upatras | Πλατφόρμα εξ αποστάσεως εξετάσεων Πανεπιστημίου Πατρών | Εξέταση Εργαστήριο Προηγμένοι Μι... | examsjun…

PORTD.DIR &= PIN1_bm;

PORTD.DIR &= PIN4_bm; PORTD.DIR |= PIN5_bm; PORTD.DIR = PIN5_bm; PORTD.DIR = 0xfe;

Ερώτηση 7 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός) 

Για να ορίσω την τιμή του counter TCA0 σε 0x10 γράφω την εντολή

TCA0.SINGLE.CNT = 0;

TCA0.SINGLE.CNT = 10;

TCA0.SINGLE.CNLB = 10;

TCA0.SINGLE.CMP0 = 10;

Ερώτηση 8 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός) 

Με ποιόν από τους παρακάτω συνδυασμούς εντολών ορίζω duty cycle 30%

  • TCA0.SINGLE.PER = 254; TCA0.SINGLE.CMP0 = 127;

  • TCA0.SINGLE.PER = 127; TCA0.SINGLE.CMP0 = 254;

  • TCA0.SINGLE.PER = 120; TCA0.SINGLE.CMP0 = 40;

  • TCA0.SINGLE.PER = 40; TCA0.SINGLE.CMP0 = 120;

TCA0.SINGLE.PER = 90; TCA0.SINGLE.CMP0 = 45;

  • Τίποτα από τα παραπάνω

Ερώτηση 9 (Σωστό / Λάθος — 1 βαθμός) 

https://exams.eclass.upatras.gr/modules/exercise/exercise_submit.php?course=CEID332&exerciseId=11599

3/11

6/10/2021 Εxams Upatras | Πλατφόρμα εξ αποστάσεως εξετάσεων Πανεπιστημίου Πατρών | Εξέταση Εργαστήριο Προηγμένοι Μι... | examsjun…

Ο timer TCA0 είναι 32bits

Σωστό Λάθος

Ερώτηση 10 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός) 

Ποιά παράμετρο παίρνει η συνάρτηση εξυπηρέτησης Interrupt όταν συμβεί overflow στον timer TCA0

TCA0_CMP0_vect TCA0_CMP1_vect TCA0_CMP2_vect TCA0_OVF_vect TCA1_CMP0_vect TCA1_OVF_vect τίποτα από τα παραπάνω

Ερώτηση 11 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός) 

Με ποιά εντολή ενεργοποιώ τον timer TCA0

TCA0.SINGLE.CTRLΒ |=1;// TCA0.SINGLE.CTRLA |=1; TCA0.SINGLE.CTRLA |=TCA_SINGLE_CMP0_bm;

Ερώτηση 12 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός) 

Έχω ρυθμίσει τον ADC0 και εκτελώντας το πρόγραμμά μου κάνω pause κι έχω την παρακάτω εικόνα. Ποιό είναι το threshold με το οποίο έχω θέσει τον ADC;

https://exams.eclass.upatras.gr/modules/exercise/exercise_submit.php?course=CEID332&exerciseId=11599

4/11

6/10/2021 Εxams Upatras | Πλατφόρμα εξ αποστάσεως εξετάσεων Πανεπιστημίου Πατρών | Εξέταση Εργαστήριο Προηγμένοι Μι... | examsjun…

2 10 4 12 τίποτα από τα παραπάνω

Ερώτηση 13 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός) 

Στον παρακάτω κώδικα έχω τοποθετήσει braekpoints σε καθένα από τα ISR. Έχω την εικόνα στα io όπως φαίνεται. Τί εχει συμβεί.

#include <avr/io.h>
#include <avr/interrupt.h>
int main(){
PORTD.DIR |= PIN1_bm;
PORTD.DIR |= PIN2_bm;
TCA0.SINGLE.CTRLA=TCA_SINGLE_CLKSEL_DIV1024_gc;
TCA0.SINGLE.PER = 254;
TCA0.SINGLE.CMP0 = 127;
TCA0.SINGLE.CMP1 = 100;

https://exams.eclass.upatras.gr/modules/exercise/exercise_submit.php?course=CEID332&exerciseId=11599

5/11

6/10/2021 Εxams Upatras | Πλατφόρμα εξ αποστάσεως εξετάσεων Πανεπιστημίου Πατρών | Εξέταση Εργαστήριο Προηγμένοι Μι... | examsjun…

TCA0.SINGLE.CTRLB |= TCA_SINGLE_WGMODE_SINGLESLOPE_gc;
TCA0.SINGLE.INTCTRL = TCA_SINGLE_OVF_bm;
TCA0.SINGLE.INTCTRL |= TCA_SINGLE_CMP0_bm;
TCA0.SINGLE.INTCTRL |= TCA_SINGLE_CMP1_bm;
TCA0.SINGLE.CTRLA |= TCA_SINGLE_ENABLE_bm;
sei();
while (1){ }
}
ISR(TCA0_OVF_vect){
//clear the interrupt flag
int intflags = TCA0.SINGLE.INTFLAGS;
TCA0.SINGLE.INTFLAGS = intflags;
PORTD.OUT |= PIN1_bm; //PIN is off
PORTD.OUT |= PIN2_bm; //PIN is off
}
ISR(TCA0_CMP0_vect){
//clear the interrupt flag
int intflags = TCA0.SINGLE.INTFLAGS;
TCA0.SINGLE.INTFLAGS = intflags;
PORTD.OUTCLR |= PIN1_bm; //PIN is on
}
ISR(TCA0_CMP1_vect){
//clear the interrupt flag
int intflags = TCA0.SINGLE.INTFLAGS;
TCA0.SINGLE.INTFLAGS = intflags;
PORTD.OUTCLR |= PIN2_bm; //PIN is off
}

https://exams.eclass.upatras.gr/modules/exercise/exercise_submit.php?course=CEID332&exerciseId=11599

6/11

6/10/2021

  • Εxams Upatras | Πλατφόρμα εξ αποστάσεως εξετάσεων Πανεπιστημίου Πατρών | Εξέταση Εργαστήριο Προηγμένοι Μι... | examsjun…

Βρίσκεται στη συνάρτηση ISR(TCA0_OVF_vect) Βρίσκεται στη συνάρτηση

ISR(TCA0_CMP0_vect)

Βρίσκεται στη συνάρτηση ISR(TCA0_CMP1_vect) τίποτα από τα παραπάνω

Ερώτηση 14 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός) 

Έχουμε ορίσει το PIN4 ως output και έχουμε συνδέσει ένα led. Με ποιά εντολή ανάβει το led.

PORTD.DIR |= PIN4_bm; PORTD.OUT |= PIN4_bm PORTD.OUTCLR= PIN4_bm;

https://exams.eclass.upatras.gr/modules/exercise/exercise_submit.php?course=CEID332&exerciseId=11599

7/11

6/10/2021

Εxams Upatras | Πλατφόρμα εξ αποστάσεως εξετάσεων Πανεπιστημίου Πατρών | Εξέταση Εργαστήριο Προηγμένοι Μι... | examsjun…

PORTD.OUTCLR &= PIN4_bm;

Ερώτηση 15 (Σωστό / Λάθος — 1 βαθμός) 

Ο ATmega4808 διαθέτει 3 μετρητές τύπου Β

Σωστό Λάθος

Ερώτηση 16 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός) 

Στον παρακάτω κώδικα έχω τοποθετήσει braekpoints σε καθένα από τα ISR. Έχω την εικόνα στα io όπως φαίνεται. Τί εχει συμβεί.

#include <avr/io.h>
#include <avr/interrupt.h>
int main(){
PORTD.DIR |= PIN1_bm;
PORTD.DIR |= PIN2_bm;
TCA0.SINGLE.CTRLA=TCA_SINGLE_CLKSEL_DIV1024_gc;
TCA0.SINGLE.PER = 254;
TCA0.SINGLE.CMP0 = 127;
TCA0.SINGLE.CMP1 = 100;
TCA0.SINGLE.CTRLB |= TCA_SINGLE_WGMODE_SINGLESLOPE_gc;
TCA0.SINGLE.INTCTRL = TCA_SINGLE_OVF_bm;
TCA0.SINGLE.INTCTRL |= TCA_SINGLE_CMP0_bm;
TCA0.SINGLE.INTCTRL |= TCA_SINGLE_CMP1_bm;
TCA0.SINGLE.CTRLA |= TCA_SINGLE_ENABLE_bm;
sei();
while (1){ }
}
ISR(TCA0_OVF_vect){
//clear the interrupt flag
int intflags = TCA0.SINGLE.INTFLAGS;
TCA0.SINGLE.INTFLAGS = intflags;
PORTD.OUT |= PIN1_bm; //PIN is off
PORTD.OUT |= PIN2_bm; //PIN is off
}
ISR(TCA0_CMP0_vect){
//clear the interrupt flag
int intflags = TCA0.SINGLE.INTFLAGS;
TCA0.SINGLE.INTFLAGS = intflags;
PORTD.OUTCLR |= PIN1_bm; //PIN is on
}

https://exams.eclass.upatras.gr/modules/exercise/exercise_submit.php?course=CEID332&exerciseId=11599

8/11

6/10/2021

Εxams Upatras | Πλατφόρμα εξ αποστάσεως εξετάσεων Πανεπιστημίου Πατρών | Εξέταση Εργαστήριο Προηγμένοι Μι... | examsjun…

  • ISR(TCA0_CMP1_vect){
//clear the interrupt flag
int intflags = TCA0.SINGLE.INTFLAGS;
TCA0.SINGLE.INTFLAGS = intflags;
PORTD.OUTCLR |= PIN2_bm; //PIN is off
}

Το πρόγραμμά μας έχει μπεί στη συνάρτηση ISR(TCA0_CMP0_vect)

Το πρόγραμμά μας έχει μπεί στη συνάρτηση ISR(TCA0_CMP1_vect) Το πρόγραμμά μας έχει μπεί στη συνάρτηση ISR(TCA0_OVF_vect)

τίποτα από τα παραπάνω

Ερώτηση 17 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός) 

Πώς κάνουμε enable ton ADC

Γράφουμε ‘1’ στο ENABLE bit in ADCn.CTRLA

Γράφουμε ‘1’ στο ENABLE bit in ADCn.CTRLΒ

Γράφουμε ‘1’ στο ENABLE bit in ADCn.CTRLC

https://exams.eclass.upatras.gr/modules/exercise/exercise_submit.php?course=CEID332&exerciseId=11599

9/11

6/10/2021

Εxams Upatras | Πλατφόρμα εξ αποστάσεως εξετάσεων Πανεπιστημίου Πατρών | Εξέταση Εργαστήριο Προηγμένοι Μι... | examsjun…

  • Γράφουμε ‘0’ στο ENABLE bit in ADCn.CTRLA

  • Γράφουμε ‘0’ στο ENABLE bit in ADCn.CTRLB

Γράφουμε ‘0’ στο ENABLE bit in ADCn.CTRLC

Ερώτηση 18 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός) 

Στο περιβάλλον microchip studio όταν θέλω να ξεκινήσω το simulation επιλέγω

Start Debugging without break

Start Debugging and Break

Continue

Bulid

Ερώτηση 19 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός) 

Με ποιά εντολή ενεργοποιώ το interrupt για τον τιμερ TCA0

TCA0.SINGLE.INTCTRL = TCB_SINGLE_CMP0_bm;

TCA0.SINGLE.INTCTRL = TCA_SINGLE_CMP0_bm;

TCA0.SINGLE.CTRLA = TCA_SINGLE_CMP0_bm;

τίποτα από τα παραπάνω

Ερώτηση 20 (Πολλαπλής Επιλογής (Μοναδική Απάντηση) — 1 βαθμός) 

Έχω ρυθμίσει τον ADC0 και εκτελώντας το πρόγραμμά μου κάνω pause κι έχω την παρακάτω εικόνα. Σε ποιό bit έχω συνδέσει τον ADC;

https://exams.eclass.upatras.gr/modules/exercise/exercise_submit.php?course=CEID332&exerciseId=11599

10/11

6/10/2021

Εxams Upatras | Πλατφόρμα εξ αποστάσεως εξετάσεων Πανεπιστημίου Πατρών | Εξέταση Εργαστήριο Προηγμένοι Μι... | examsjun…

Στο bit 1
Στο bit A
Στο bit 7
Στο bit 4
κανένα από τα παραπάνω
Ακύρωση Οριστική υποβολή

Open eClass © 2003-2021 — Όροι Χρήσης

https://exams.eclass.upatras.gr/modules/exercise/exercise_submit.php?course=CEID332&exerciseId=11599

11/11


✖ Βρήκα λάθος στη μεταγραφή