This shows you the differences between two versions of the page.
|
pm:lab:lab0-2024 [2025/03/03 13:23] dan.tudose [5. Exerciții] |
pm:lab:lab0-2024 [2025/03/04 10:10] (current) jan.vaduva [5. Exerciții] |
||
|---|---|---|---|
| Line 323: | Line 323: | ||
| * Bitul 4 (''PD4'') din registrul ''DDRD'' va fi 0 | * Bitul 4 (''PD4'') din registrul ''DDRD'' va fi 0 | ||
| * ''DDRD &= ~(1 << PD4);'' | * ''DDRD &= ~(1 << PD4);'' | ||
| + | * Activati rezistenta de PULL-UP interna microcontroller-ului: | ||
| + | * Bitul 4 (''PD4'') din registrul ''PORT'' va fi 1 | ||
| + | * ''PORTD |= (1 << PD4);'' | ||
| * Pentru a determina starea de apăsare a butonului trebuie să citim valoarea pinului la care este atașat. Acesta va fi 1 atunci când butonul este liber și 0 atunci când butonul este apăsat | * Pentru a determina starea de apăsare a butonului trebuie să citim valoarea pinului la care este atașat. Acesta va fi 1 atunci când butonul este liber și 0 atunci când butonul este apăsat | ||
| * Citim valoarea bitului 4 (''PD4'') din registrul ''PIND'' | * Citim valoarea bitului 4 (''PD4'') din registrul ''PIND'' | ||
| Line 466: | Line 469: | ||
| **Task 2 (3p)** | **Task 2 (3p)** | ||
| - | * Modificați exemplul Hello World încât LED-ul să pâlpâie intermitent la apăsarea butonului BTN 1 (PB2). | + | * Modificați exemplul Hello World încât LED-ul să pâlpâie intermitent la apăsarea butonului PB2. |
| * Mențineți LED-ul albastru aprins. | * Mențineți LED-ul albastru aprins. | ||
| * Configurați registrele pentru a face pinul PB2 de input. | * Configurați registrele pentru a face pinul PB2 de input. | ||
| Line 474: | Line 477: | ||
| * Plecând de la aplicația rezultată la Task 2, pentru a implemeta un semafor cu LED-urile de culoare roșu și verde. | * Plecând de la aplicația rezultată la Task 2, pentru a implemeta un semafor cu LED-urile de culoare roșu și verde. | ||
| * Mențineți LED-ul roșu aprins la pornirea aplicației. | * Mențineți LED-ul roșu aprins la pornirea aplicației. | ||
| - | * La apăsarea butonului BTN 1 (PB2), LED-ul își va schimba culoarea în galben, după care se aprinde LED-ul verde, va sta aprins 10 secunde, după care va pâlpâi pentru 2 secunde. apoi se va stinge și se va aprinde LED-ul roșu. | + | * La apăsarea butonului PB2, LED-ul își va schimba culoarea în galben, după care se aprinde LED-ul verde, va sta aprins 10 secunde, după care va pâlpâi pentru 2 secunde. apoi se va stinge și se va aprinde LED-ul roșu. |
| * Până la terminarea secventei reapăsarea butonului BTN 1 (PB2) nu va avea niciun efect. | * Până la terminarea secventei reapăsarea butonului BTN 1 (PB2) nu va avea niciun efect. | ||
| * Hint: folosiți un automat finit pentru a implementa această funcționalitate. | * Hint: folosiți un automat finit pentru a implementa această funcționalitate. | ||