Mokslo ir technologijų pasaulis

Duomenų išvedimas iš PIC16F84
Publikuota: 2007-07-10

Čia aprašomas kaip iš mikrovavdiklio išvesti signalą, bei pateikiamas MPLAB IDE programos virtualus "osciolografas", kuris leidžia atvaizduoti generuojamų signalų grafikus.

Mikrovaldiklio prievadai. Įvesties/išvesties prievadai Port A ir Port B turi atitinkamai išvadus RA0–RA4 ir RB0–RB7, skirtus stebėti ir valdyti prietaisams, kuriuos aptarnauja mikrovaldoklis. Kiekvienas mikrovaldiklio išvadas yra atskirai valdomas. Norint, kad Port A pirmas išvadas t.y. RA0 tarnautų kaip išėjimas reikia į TRISA įrašyti „0“, įrašius „1“ RA0 tarnauja, kaip įėjimas. Kad būtų galima įrašyti į TRIS A ar B reikia pereiti į pirma banką. Pavyzdžiui:

            bsf       STATUS,RP0                ;Pirmojo banko įjungimas
            bcf       TRISA,0                        ;RA0 nustatomas kaip išėjimas
            bcf       STATUS,RP0                ;Pirmojo banko įjungimas

Analogiškai nustatinėjami ir kiti išvadai

Portu išėjimų/įėjimų nustatymo pavyzdys

1 pav. RA0–RA4 ir RB0–RB7 nustatymo pavyzdys

Išvedamų signalų stebėjimui galima naudoti virtualiu MPLAB IDE oscilografu, kurį galima rasti  view>simulator logic analyzer , kurio įrankių juosto paaiškinimai yra pateikti pateiktas 2 paveikslėlyje.

 Virtualaus osciolografo paaiškinimai

2 pav.Virtualaus oscilografo įrankių juosta

            Atidarius simulator logic analyzer langą reikia įkelti planuojamus naudoti išvadus. Išvadų įkėlimas atliekamas channels šortuko pagalba, kur išmetamas configure chennals langas (pateiktas 3 pav.). Čia išrenkami norimi atvaizduoti išvadų kanalai ir perkeliami į selected Signal(s) langelį. Čia taip pat išrikiuojami išvadų pavadinimai pagal norima grafike signalų atvaizdavimo eiliškumą su Move Up ir Move Down šortukais. Tada spaudžiamas OK šortukas.

Kanalų įkėlimo langas

3 pav. Išvadų konfigūracijos langas

            Signalo generavimas. Duomenys priimami ir siunčiami per PORTA ir PORTB registrus. Kiekvienas registrų bitas atitinka mikrovaldiklio išvadą, pavyzdžiui: PORTA antras bitas atitinka RA2 išvada ir yra užrašomas PORTA,2.

            Atliekamas vieno impulso generavimas į RP0 mikrovaldiklio išvadą:

;Generuojamas vieno impulse signalas
            #include "p16f84a.inc"
            org 0x00                                    ;programos pradzia
            bsf STATUS,RP0                      ;Pirmojo banko ijungimas
            bcf TRISA,0                              ;RA0 nustatomas kaip isejimas
            bcf STATUS,RP0                      ;Pirmojo banko isjungimas
            bcf PORTA,0                            ;nustatomas RA0 isejime  loginis nulis
            nop                                           ;velinama vienas ciklas
            bsf PORTA,0                            ;nustatomas RA0 isejime  loginis vienetas
            nop                                           ;velinama vienas ciklas
            bcf PORTA,0                            ;nustatomas RA0 isejime  loginis nulis
            nop                                           ;velinama vienas ciklas
            end                                           ;programos pabaiga

Išėjime gauname:

Sugeneruotas vieno impulso grafikas

4 pav. Sugeneruotas vieno impulso signalas

            Po simuliavimo t.y. kai nubraižomas grafikas Simulator logic analyzer lange galima atlikti koregavimo veiksmus, pavyzdžiui: uždėti grafikui pavadinimą, pakeisti signalo pavadinimą, pakeisti nubrėžto signalo spalvą ir pan.