Obdelava podatkov in prikaz rezultata

Po uspešni vzpostavitvi serijske komunikacije lahko iz analogno digitalnega pretvornika , ki spada k strojni opremi elektronske tehtnice , beremo dva 8-bitna podatka (zgornjih 8 bitov PODH in spodnjih 8 bitov PODL) .

Motenj , ki prihajajo v merilno vezje sem se znebil z povprečenjem . Prebrane podatke sem 64 krat seštel in dobil 32-biten rezultat in ga vpisal v tri spremenljivke , ki si od najvišje do najnižje sledijo v naslednjem vrstnem redu (VSOTAC , VSOTAH, VSOTAL) . Ta rezultat sem moral nato deliti z 64 kar sem izvedel s pomikom vsote za 6 bitov v desno in hkrati najnižjih 6 bitov zanemaril . Tako sem dobil 16-biten rezultat povprečenja , ki sem ga zapisal v spremenljivki (MEANH in MEANL) .

Povprečje , ki je zapisano v binarni obliki sem pretvoril v BCD zapis in to tako da sem v spremenljivki MEANL opazoval spodnje 4 bite (ti nam predstavljajo enice) in če je bila vrednost deset ali več sem jim prištel 0110 in če je prišlo do preliva iz 8.bita MEANL sem ga prištel k MEANH , če pa je vrednost manjša od deset pa ne naredim nič . Spodnji 4 biti nam sedaj predstavljajo BCD vrednost za enice . Podobno sem naredil za desetice le da tu gledamo zgornje 4 bite spremenljivke MEANL in upoštevam prenos v MEANH če do njega pride . Stotice sem pretvarjal enako tisočic pa mi sploh ni bilo treba saj koda pri številih 0-9 ostane enaka za višja števila pa ni bilo potrebe .

BCD vrednosti za enice , desetice , stotice , tisočice sem zapisoval v spremenljivke ENA , DESET , STO , TISOČ tako da so zgornji 4 biti ničle spodnji 4 biti pa predstavljajo BCD kodo.

BCD kode spremenljivk ENA , DESET , STO , TISOČ sem nato primerjal z števili 0-9 in ko sem ugotovil s katerimi se ujemajo , sem jih prekodiral tako, da so bile primerne za vpis na 8-segmentni display.
 
 

Nazaj na osnovno stran