duminică, 24 februarie 2013

Problema L4. Prelucrarea Tablourilor în ASM


    Să se inițializeze un tablou declarat în memoria SRAM cu valori introduse de la interfața de intrare a aplicației. Să se calculeze suma elementelor acestui tablou. iar rezultatul sa se afiseze la interfata de afisare.
     Interfața de intrare a aplicației va fi formată dintr-un port GPIO ce va servi pentru setarea valorii pentru a fi transferate catre Microcontroller, și un buton la apasarea caruia datele se vor caprua de catre sistemul de captarea a datelor de intrare, o subrutina tip GetChar().
    Interfata de iesire va servi o pereche de porturi GPIO la care se vor conecta un set de afisoare BCD pentru a avea posibilitatea de a reprezenta spre vizualizare rezultatul evaluarii.
    In aceasta problema, Valorile se vor introduce de la portul A prin apasarea butonului de pe unul din pinii portului B, iar rezultatul se va afişa la porturile C şi D.
figura 1 Schema electrică



Informaţia necesară despre lucrul cu memoria SRAM: acces direct, variabile şi operaţii cu variabile , accesul indirect şi tablouri.

Modul de introducere:
1. Setarea valoriii dorite pe portul de date.
2. Apăsarea butonului care va memoriza datele de pe interfață în SRAM.

Soluția problemei:
1. Pentru a completa un tablou de date va fi nevoie de o secvență de setări de date și apăsări de buton.
2. Prelucrarea tabloului conform unui algoritm.
3. Afișarea rezultatului pe porturile de ieșire. Pentru a vizualiza rezultatele simulării vom atașa la porturile de ieșire un set de 4 afișoare avînd posibilitatea de a vizualiza valaorea hex a unei tetrade.

Schema bloc:
1. Partea de inițializare:

2. Initializarea tabloului:
3. Subrutina pentru captarea valorii la intrare GetChar()
Subrutina Delay() poate fi folosită cea din problema L2.


4. Evaluarea expresiei:
Să se calculeze suma elementelor unui tablou.