This shows you the differences between two versions of the page.
|
cn2:laboratoare:07 [2019/11/18 07:08] tudor.visan [3. TL;DR] |
— (current) | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ===== Laboratorul 07 - GPIO 2: Intrări ===== | ||
| - | {{page>cn2:laboratoare:07:obiective&nofooter}} | ||
| - | |||
| - | {{page>cn2:laboratoare:07:continut&nofooter}} | ||
| - | |||
| - | ==== TL;DR ==== | ||
| - | |||
| - | {{page>cn2:laboratoare:07:tldr&nofooter}} | ||
| - | |||
| - | ==== 4. Exerciții ==== | ||
| - | |||
| - | **Task 01** (4p) Extindeți modulul gpio astfel încât să suporte și intrări și ieșiri. Urmăriți comentariile marcate cu ''TODO 1'' din ''gpio.v'' și ''cpu.v''. | ||
| - | |||
| - | **Task 02** (2p) Decodificați instrucțiunile ''sbi'' și ''cbi'' și completați logica necesară execuției lor. Urmăriți comentariile marcate cu ''TODO 2'' din ''signal_generation_unit.v'', ''decode_unit.v'' și ''control_unit.v''. | ||
| - | |||
| - | **Task 03** (1p) Scrieți un program care setează portul A ca ieșire, portul B ca intrare, apoi, într-o buclă, citește valoarea de pe portul B și o scrie pe portul A. | ||
| - | |||
| - | **Task 04** (1p) Urcați programul de la punctul precedent pe placa de dezvoltare. Portul A va fi mapat pe cele 8 led-uri astfel: PA0 - LED0, ..., PA7 - LED7. Portul B va fi mapat pe cele 8 switch-uri astfel: PB0 - SW0, ..., PB7 - SW7. | ||
| - | |||
| - | **Task 05** (2p) Scrieți un program care să aprindă led-urile în următoarea secvență folosind instructiunle SBI si CBI. Încărcați-l pe placa de dezvoltare: | ||
| - | |||
| - | t0 *------* | ||
| - | t1 -*----*- | ||
| - | t2 --*--*-- | ||
| - | t3 ---**--- | ||
| - | t4 ---**--- | ||
| - | t5 --*--*-- | ||
| - | t6 -*----*- | ||
| - | t7 *------* | ||
| - | |||
| - | **Task 06** (Bonus 2p) Modificați programul de la punctul 5 astfel încât viteza de derulare a secvenței să fie controlată prin intermediul portului B. Încărcați-l pe placa de dezvoltare. | ||
| - | |||
| - | |||
| - | {{page>cn2:laboratoare:07:exercitii&nofooter}} | ||
| - | |||
| - | ==== 5. Resurse ==== | ||
| - | * {{ :cn2:laboratoare:07:skel:lab07_skel_v5.zip | Scheletul laboratorului}} | ||
| - | <hidden> | ||
| - | * {{ :cn2:laboratoare:07:sol_mcss:lab07_sol_v5.zip | Soluția laboratorului}} | ||
| - | </hidden> | ||
| - | * [[http://www.atmel.com/Images/Atmel-8235-8-bit-AVR-Microcontroller-ATtiny20_Datasheet.pdf | Datasheet ATTiny20]] | ||
| - | * [[http://ww1.microchip.com/downloads/en/devicedoc/atmel-0856-avr-instruction-set-manual.pdf| Setul de Instrucțiuni AVR]] | ||
| - | * [[https://www.xilinx.com/support/documentation/university/XUP%20Boards/XUPNexys3/documentation/Nexys3_rm.pdf| Datasheet Digilent Nexys]] | ||
| - | * {{:cn2:laboratoare:avrasm.zip | avrasm}} - tool java pentru a genera cod mașină AVR. | ||
| - | |||
| - | {{page>cn2:laboratoare:07:resurse&nofooter}} | ||