Font size
WorksheetsCommunication Protocol Assessment
Total questions: 40
Worksheet time: 31mins
Ce valoare a baud rate a fost folosită în laboratoare pentru UART?
c. 38400
b. 9600
a. 2400
d. 57600
Care este funcția folosită pentru a verifica dacă există date disponibile în UART?
UART1_Data_Available()
UART1_Data_Read()
UART1_Data_Ready()
UART1_Data_Check()
Cum se transmite un text complet prin UART?
UART1_Write_Text()
UART1_Send_Text()
UART1_Transmit_Text()
UART1_Out_Text()
Ce pin al unui microcontroler este folosit pentru a transmite date prin UART?
RX
TX
SDA
SCL
Cum poate fi citit un caracter din UART?
UART1_Read
UART1_Get_Char
UART1_Input
UART1_Read_Text
Care este funcția folosită pentru a inițializa LCD-ul?
Lcd_Start
Lcd_Begin
Lcd_Init
Lcd_Setup
Cum se șterge ecranul LCD?
Lcd_Cmd(_LCD_CLEAR)
Lcd_Clear()
Lcd_Command_Clear()
Lcd_Delete()
Ce comandă mută textul afișat pe LCD la stânga?
Lcd_Move_Left
Lcd_Cmd(_LCD_SHIFT_LEFT)
Lcd_Left_Shift
Lcd_Shift_Left()
Cum se afișează un text pe prima linie a LCD-ului, la poziția 3?
Lcd_Chr(1, 3, text)
Lcd_Out(1, 3, text)
Lcd_Display(1, 3, text)
Lcd_Put(1, 3, text)
Care este comanda folosită pentru a dezactiva cursorul pe LCD?
Lcd_Cmd(_LCD_CURSOR_OFF)
Lcd_Turn_Off
Lcd_Cmd(_LCD_HIDE_CURSOR)
Lcd_No_Cursor()
Ce valoare trebuie setată în TRISD pentru a face PORTD output?
0xFF
0x00
0x0F
0xF0
Cum aprindem LED-ul de pe RD0 (primul led)?
LATD = 0x11
LATD.F0 = 1
PORTD.F1 = 1
LATD = 0xF0
Cum configuram PORTC pentru a citi inputul de la toate butoanele?
TRISC = 0x00
TRISC = 0xFF
TRISC = 0x0F
TRISC = 0xF0
Câti biți are un port de pe PIC18F4550, cum ar fi PORTD?
4
8
16
32
Care este cel mai mic port pe PIC18F4550?
PORTA
PORTB
PORTC
PORTE
Cum detectăm dacă al treilea buton de pe PORTC este apăsat?
PORTC.F3 == 0
PORTC.F2 == 1
PORTC.F2 == 0
PORTC.F3 == 1
Care este rolul lui LATD?
Citește valoarea curentă de pe port
Scrie valoarea in port
Resetează portul d
Controlează viteza de transmisie
Care este functia de inițializare pentru UART folosita în laboratoare?
UART1_Init(9600)
UART1_Start()
UART1_Config()
UART_Init()
Cum verificăm dacă pe UART am primit un caracter?
UART1_Available()
UART1_Char_Ready()
UART1_Data_Ready()
UART1_Received()
Cum conectam pinii RX si TX pentru două dispozitive ca sa comunice intre ele prin UART?
RX la RX și TX la TX
RX la TX și TX la RX
TX doar la RX
TX la TX și RX la GND
Care este comanda pentru a afișa caracterul 'A' pe LCD, la poziția curentă a cursorului?
Lcd_Out_CP('A')
Lcd_Put('A')
Lcd_Chr_CP('A')
Lcd_Write('A')
Cum putem aprinde LED-ul al treilea de pe PORTD?
LATD.F2 = 1
PORTD.F3 = 1
TRISD.F2 = 1
LATD.F3 = 1
Cum oprim toate LED-urile de pe PORTD?
LATD = 0x00
PORTD = 0xFF
TRISD = 0x00
LATD.F0 = 0
Ce valoare returnează funcția ADC_Read(0)?
Valoarea de pe RA0
Valoarea de pe PORTA
Valoarea de pe RA1
Valoarea de pe TRISA
Cum detectăm dacă un buton este apăsat pe PORTC?
Verificăm PORTC.Fx == 1
Citim valoarea din LATC
Setăm TRISC la 0
Scriem în PORTC
Verificăm PORTC.Fx == 0
Care este diferența între LATD și PORTD?
LATD controlează ieșirea, PORTD citește intrarea
LATD citește intrarea, PORTD controlează ieșirea
Ambele controlează ieșirea
Nu există diferență
Care este primul pas pentru a inițializa un port ca output?
Setăm TRIS la 0x00
Scriem LATD = 0
Activăm oscilatorul
Configurăm ADC
Cum setăm UART pentru a funcționa la 19200 baud?
UART1_Init(19200)
UART1_Baud(19200)
UART1_Set_Rate(19200)
UART1_Config()
Ce valoare se citieste din ADC pentru a indica un potențiometru complet rotit la dreapta (5V)?
0
255
512
1023
Cum se setează un port ca intrare?
TRISx = 0x00
LATx = 0x00
PORTx = 0xFF
TRISx = 0xFF
Ce efect are scrierea LATD = 0xFF?
Toate LED-urile de pe PORTD sunt stinse
Toate LED-urile de pe PORTD sunt aprinse
PORTD este configurat ca intrare
Cum setăm LED-urile 1, 2 aprinse și LED-urile 6, 7 și 8 aprinse pe PORTD?
LATD = 0xE3
LATD = 0xD3
LATD = 0xE7
LATD = 0x83
Cum se setează LATD pentru a aprinde LED-urile 1,2,7,8?
(a)
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)
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?
direction = direction;
direction = 0;
direction = -direction;
direction++;
Pe un display LCD 2x16, cum afișăm textul „Salut” pe prima linie, poziția 4?
Lcd_Chr(1, 4, "Salut");
Lcd_Out(1, 4, "Salut");
Lcd_Out(4, 1, "Salut");
Lcd_Chr_CP("Salut");
Considerăm că folosim funcția UART1_Read(). Ce verificăm înainte de a citi o valoare de pe UART?
Dacă UART1_Write() este activ.
Dacă există caractere disponibile cu UART1_Data_Ready()
Dacă UART-ul este conectat la GND.
Care dintre următoarele comenzi trimite un mesaj text prin UART?
UART1_Send("Salut");
UART1_Write_Text("Salut");
Lcd_Out(1, 1, "Salut");
Care dintre următoarele comenzi mută cursorul la începutul celei de-a doua linii a unui ecran LCD?
Lcd_Cmd(_LCD_FIRST_ROW);
Lcd_Out(1, 2, " ");
Lcd_Cmd(_LCD_SECOND_ROW);
Lcd_Cmd(_LCD_MOVE_CURSOR);
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?
if (ADC_Read(0) > 512) {
LATD.F2 = 1;
} else {
LATD.F2 = 0;
}
unsigned int pot_value = ADC_Read(0);
if (pot_value > 512) {
LATD.F2 = 1;
}
LATD.F2 = ~(ADC_Read(0) > 512);
Delay_ms(100);
