wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Communication Protocol Assessment

Total questions: 40

Worksheet time: 31mins

Name
Class
Date
1.

Ce valoare a baud rate a fost folosită în laboratoare pentru UART?

a)

c. 38400

b)

b. 9600

c)

a. 2400

d)

d. 57600

2.

Care este funcția folosită pentru a verifica dacă există date disponibile în UART?

a)

UART1_Data_Available()

b)

UART1_Data_Read()

c)

UART1_Data_Ready()

d)

UART1_Data_Check()

3.

Cum se transmite un text complet prin UART?

a)

UART1_Write_Text()

b)

UART1_Send_Text()

c)

UART1_Transmit_Text()

d)

UART1_Out_Text()

4.

Ce pin al unui microcontroler este folosit pentru a transmite date prin UART?

a)

RX

b)

TX

c)

SDA

d)

SCL

5.

Cum poate fi citit un caracter din UART?

a)

UART1_Read

b)

UART1_Get_Char

c)

UART1_Input

d)

UART1_Read_Text

6.

Care este funcția folosită pentru a inițializa LCD-ul?

a)

Lcd_Start

b)

Lcd_Begin

c)

Lcd_Init

d)

Lcd_Setup

7.

Cum se șterge ecranul LCD?

a)

Lcd_Cmd(_LCD_CLEAR)

b)

Lcd_Clear()

c)

Lcd_Command_Clear()

d)

Lcd_Delete()

8.

Ce comandă mută textul afișat pe LCD la stânga?

a)

Lcd_Move_Left

b)

Lcd_Cmd(_LCD_SHIFT_LEFT)

c)

Lcd_Left_Shift

d)

Lcd_Shift_Left()

9.

Cum se afișează un text pe prima linie a LCD-ului, la poziția 3?

a)

Lcd_Chr(1, 3, text)

b)

Lcd_Out(1, 3, text)

c)

Lcd_Display(1, 3, text)

d)

Lcd_Put(1, 3, text)

10.

Care este comanda folosită pentru a dezactiva cursorul pe LCD?

a)

Lcd_Cmd(_LCD_CURSOR_OFF)

b)

Lcd_Turn_Off

c)

Lcd_Cmd(_LCD_HIDE_CURSOR)

d)

Lcd_No_Cursor()

11.

Ce valoare trebuie setată în TRISD pentru a face PORTD output?

a)

0xFF

b)

0x00

c)

0x0F

d)

0xF0

12.

Cum aprindem LED-ul de pe RD0 (primul led)?

a)

LATD = 0x11

b)

LATD.F0 = 1

c)

PORTD.F1 = 1

d)

LATD = 0xF0

13.

Cum configuram PORTC pentru a citi inputul de la toate butoanele?

a)

TRISC = 0x00

b)

TRISC = 0xFF

c)

TRISC = 0x0F

d)

TRISC = 0xF0

14.

Câti biți are un port de pe PIC18F4550, cum ar fi PORTD?

a)

4

b)

8

c)

16

d)

32

15.

Care este cel mai mic port pe PIC18F4550?

a)

PORTA

b)

PORTB

c)

PORTC

d)

PORTE

16.

Cum detectăm dacă al treilea buton de pe PORTC este apăsat?

a)

PORTC.F3 == 0

b)

PORTC.F2 == 1

c)

PORTC.F2 == 0

d)

PORTC.F3 == 1

17.

Care este rolul lui LATD?

a)

Citește valoarea curentă de pe port

b)

Scrie valoarea in port

c)

Resetează portul d

d)

Controlează viteza de transmisie

18.

Care este functia de inițializare pentru UART folosita în laboratoare?

a)

UART1_Init(9600)

b)

UART1_Start()

c)

UART1_Config()

d)

UART_Init()

19.

Cum verificăm dacă pe UART am primit un caracter?

a)

UART1_Available()

b)

UART1_Char_Ready()

c)

UART1_Data_Ready()

d)

UART1_Received()

20.

Cum conectam pinii RX si TX pentru două dispozitive ca sa comunice intre ele prin UART?

a)

RX la RX și TX la TX

b)

RX la TX și TX la RX

c)

TX doar la RX

d)

TX la TX și RX la GND

21.

Care este comanda pentru a afișa caracterul 'A' pe LCD, la poziția curentă a cursorului?

a)

Lcd_Out_CP('A')

b)

Lcd_Put('A')

c)

Lcd_Chr_CP('A')

d)

Lcd_Write('A')

22.

Cum putem aprinde LED-ul al treilea de pe PORTD?

a)

LATD.F2 = 1

b)

PORTD.F3 = 1

c)

TRISD.F2 = 1

d)

LATD.F3 = 1

23.

Cum oprim toate LED-urile de pe PORTD?

a)

LATD = 0x00

b)

PORTD = 0xFF

c)

TRISD = 0x00

d)

LATD.F0 = 0

24.

Ce valoare returnează funcția ADC_Read(0)?

a)

Valoarea de pe RA0

b)

Valoarea de pe PORTA

c)

Valoarea de pe RA1

d)

Valoarea de pe TRISA

25.

Cum detectăm dacă un buton este apăsat pe PORTC?

a)

Verificăm PORTC.Fx == 1

b)

Citim valoarea din LATC

c)

Setăm TRISC la 0

d)

Scriem în PORTC

e)

Verificăm PORTC.Fx == 0

26.

Care este diferența între LATD și PORTD?

a)

LATD controlează ieșirea, PORTD citește intrarea

b)

LATD citește intrarea, PORTD controlează ieșirea

c)

Ambele controlează ieșirea

d)

Nu există diferență

27.

Care este primul pas pentru a inițializa un port ca output?

a)

Setăm TRIS la 0x00

b)

Scriem LATD = 0

c)

Activăm oscilatorul

d)

Configurăm ADC

28.

Cum setăm UART pentru a funcționa la 19200 baud?

a)

UART1_Init(19200)

b)

UART1_Baud(19200)

c)

UART1_Set_Rate(19200)

d)

UART1_Config()

29.

Ce valoare se citieste din ADC pentru a indica un potențiometru complet rotit la dreapta (5V)?

a)

0

b)

255

c)

512

d)

1023

30.

Cum se setează un port ca intrare?

a)

TRISx = 0x00

b)

LATx = 0x00

c)

PORTx = 0xFF

d)

TRISx = 0xFF

31.

Ce efect are scrierea LATD = 0xFF?

a)

Toate LED-urile de pe PORTD sunt stinse

b)

Toate LED-urile de pe PORTD sunt aprinse

c)

PORTD este configurat ca intrare

32.

Cum setăm LED-urile 1, 2 aprinse și LED-urile 6, 7 și 8 aprinse pe PORTD?

a)

LATD = 0xE3

b)

LATD = 0xD3

c)

LATD = 0xE7

d)

LATD = 0x83

33.

Cum se setează LATD pentru a aprinde LED-urile 1,2,7,8?

(a)  

34.

Cum se setează TRISD pentru ca primii 4 pini PORTD să fie ieșiri (pinii 0, 1, 2 si 3), iar ceilalti intrari? (Scrieti doar valoarea in hexa)

(a)  

35.

Considerăm că avem o variabilă direction care determină direcția în care se aprind LED-urile. Dacă direction este 1, LED-urile se aprind de la stânga la dreapta, iar dacă este -1, de la dreapta la stânga. Cum facem să inversăm direcția?

a)

direction = direction;

b)

direction = 0;

c)

direction = -direction;

d)

direction++;

36.

Pe un display LCD 2x16, cum afișăm textul „Salut” pe prima linie, poziția 4?

a)

Lcd_Chr(1, 4, "Salut");

b)

Lcd_Out(1, 4, "Salut");

c)

Lcd_Out(4, 1, "Salut");

d)

Lcd_Chr_CP("Salut");

37.

Considerăm că folosim funcția UART1_Read(). Ce verificăm înainte de a citi o valoare de pe UART?

a)

Dacă UART1_Write() este activ.

b)

Dacă există caractere disponibile cu UART1_Data_Ready()

c)

Dacă UART-ul este conectat la GND.

38.

Care dintre următoarele comenzi trimite un mesaj text prin UART?

a)

UART1_Send("Salut");

b)

UART1_Write_Text("Salut");

c)

Lcd_Out(1, 1, "Salut");

39.

Care dintre următoarele comenzi mută cursorul la începutul celei de-a doua linii a unui ecran LCD?

a)

Lcd_Cmd(_LCD_FIRST_ROW);

b)

Lcd_Out(1, 2, " ");

c)

Lcd_Cmd(_LCD_SECOND_ROW);

d)

Lcd_Cmd(_LCD_MOVE_CURSOR);

40.

Avem un LED conectat la RD2 și dorim să îl aprindem doar dacă valoarea de pe un potențiometru (citită pe RA0) depășește 512, altfel sa fie stins. Care este secvența corectă de cod?

a)

if (ADC_Read(0) > 512) {

LATD.F2 = 1;

} else {

LATD.F2 = 0;

}

b)

unsigned int pot_value = ADC_Read(0);

if (pot_value > 512) {

LATD.F2 = 1;

}

c)

LATD.F2 = ~(ADC_Read(0) > 512);

Delay_ms(100);