Mikroprocesorių laboratorinis darbas Nr.1 Duomenų įrašymas į RAM atmintį tiesioginiu ir netiesioginiu adresavimo būdu Darbo tikslas: Susipažinti su MPLAB IDE programiniu paketu, naudojant MPLAB IDE v7.22 programos paketą. Taip pat susipažinti su duomenų įrašymo būdais Darbo uždaviniai: 1. Išmokti MPLAB aplinkoje sukurti naują projektą reikalingą programos sudarymui ir jos modeliavimui; 2. Išmokti tiesiogiai adresuoti MV PIC16F84A RAM; 3. Išmokti netiesiogiai adresuoti MV PIC16F84A RAM; 4. Išmokti modeliuoti MPLAB aplinkoje sudarytas programas. Teorinė dalis: 1. Naujo projekto sudarymas. Norėdami sudaryti naują projektą MPLAB aplinkoje galite naudotis projekto sudarymo ir transliavimo įrankių juosta, kuri pavaizduota 1 paveiksle arba MPLAB programos meniu punktu Project>. 1 pav. Projekto sudarymo ir transliavimo įrankių juosta Pastaba. Paleidus pirmą kartą MPLAB IDE programą, patartina naudoti projektui sukurti, bei konfigūracijos nustatymams atlikti, vykdant Project>Project wizard.... . Atidarius Project wizard nustatymo lauką, išmetamas pasisveikinimo langas, kuris yra pavaizduotas 2 paveikslėlyje. Paspaudus Next ikoną pereinama prie mikrovaldiklių išrinkimo lango (3 pav.) kur išsirenkamas PIC16F84A mikrovaldiklis. Paspaudus Next ikoną pereinama prie konfigūracijos lango, kuris yra pavaizduotas . Nesant aktyviems MLAB IDE darbinėms programos failams esantys Toolsuite contens laukelyje jie yra aktyvuojasi paspaudus Browse... ikoną ir išrenkamas C:\Program Files\Microchip\MPASM Suite\MPASMWIN.EXE. Suaktyvinus darbinės programos failus ir paspaudus Next ikoną pereinama prie naujo projekto sukūrimo ir išsaugojimo lango, kuris yra pavaizduotas 5 paveikslėlyje. Projekto pavadinimas turėtų būti konkretus ir aiškus. Pavadinime nenaudoti tarpelio. Projekto failai turėtų būti saugomi ne per toli nuo pagrindinių darbinės programos failų, kitaip programa gali nepasiekti ir simuliavimo metu mesti klaidą pavyzdžiui: Source file path exceeds 62 characters 2 pav. Project wizard pasisveikinimo langas 3 pav. Mikrovaldiklių išrinkimo langas 4 pav. Konfigūracijos langas 5 pav. Naujo projekto sukūrimo ir išsaugojimo langas Įrašius projekto vardą ir priskyrus jam saugojimo katalogą spaudžiamas Next ikonas po kurio pereinama prie failų atrinkimo lango, kuris yra pateiktas 6 paveikslėlyje. Čia galima pasirinkti iš anksčiau buvusių projektų reikiamus failus ir perkelti į kuriamą projekto katalogą. Jeigu mums nėra reikalingų failų spaudžiamas Next ir Finsh ikonai. 6 pav. Failų atrinkimo langas Toliau yra sukuriamas teksto rašymo failas vykdant File>New ir vykdant File>Save As, įvesta programos tekstą išsaugoti sudarytame kataloge kaip asemblerinę rinkmeną (Assembly source files), prieš tai suteikus jai pavadinimą, pavyzdžiui kaip rinkmena LAB1_1.asm. Sudarytame projekte darbinės aplinkos lange Source File šakoje (7 pav.) įtraukiama rinkmena LAB1_1.asm. Vykdant dešiniuoju pelės klavišu spustelėjus ant Source File šakos ir pasinaudojus add file komanda įtraukiama išsaugota LAB1_1.asm rinkmena. Šioje šakoje gali būti tik viena rinkmena. Taip pat Header File šakoje įtraukiama PIC16F84A biblioteka, vykdant dešiniuoju pelės klavišu spustelėjus išsirenkamas Add File> ir kataloge C:\Program Files\Microchip\MPASM Suite surandama rinkmena P16F84A.INC 7 pav. Projekto LAB1_1 darbinės aplinkos langas 2. Programos modeliavimas. Norėdami atlikti sudarytos programos modeliavimą MPLAB aplinkoje galite naudotis programos modeliavimo įrankių juosta, kuri pavaizduota 8 paveiksle, arba MPLAB programos meniu punktu Debugger. Kad ši įrankių juosta pasirodytų MPLAB programos lange pirmiausia reikia užkrauti simuliatorių (programos modeliavimo įrankį). Tai galima padaryti iš MPLAB meniu pasirinkus Debugger>Select Tool>2 MPLAB SIM . 8 pav. Programos modeliavimo įrankių juosta Prieš modeliavimą turite nustatyti kelis modeliavimo parametrus susijusius su MV PIC16F84A. Šie parametrai nustatomi iš MPLAB meniu pasirinkus Debugger>Settings.... Pagrindiniai nustatymai pavaizduoti 9 ir 10 paveiksluose. 9 pav. Modeliavimo sulėtinimo parametrų nustatymas 10 pav. MV kvarcinio rezonatoriaus dažnio nustatymas Programos modeliavimo rezultatus leidžia stebėti daugelis priemonių. Jas galima pasirinkti iš MPLAB meniu View>. Kai kurios šių priemonių aprašytos ir atvaizduotos 11 pav. 11 pav. Modeliavimo rezultatų stebėjimo priemonės Mikrovaldikliuose RAM atmintis yra suskirstyta į atskiras dalis, tai: specialios ir bendros paskirties registrus. Standartinė RAM atminties struktūra yra pateikta 12 paveikslėlyje. Specialios paskirties registruose vykdomi mikrovaldiklio darbui, bei ryšiui tarp aparatūrinės ir programinės dalies valdyti, o bendros paskirties registruose saugomi duomenys. 12 pav. Standartinė RAM atminties struktūra 3. Tiesioginis adresavimas. Tiesioginis adresavimas vykdomas taip: Norimus įrašyti duomenis į atminties ląstelę įrašome į darbinį registrą, o ląstelės adresas į kurią bus rašomi duomenys nustatomas duomenų rašymo metu į ląstelę. Tiesioginio adresavimo blokinė diagrama pateikta 13 paveikslėlyje. 13 pav. Tiesioginio adresavimo blokinė diagrama. Sukurtoje rinkmenoje LAB1_1.asm duomenų įrašymas į RAM atmintį tiesioginio adresavimo būdu, atliekama sekančiai: ;******1 laboratorinis darbas***************************** ;******grupe Vardas Pavarde ****************************** ;Tiesioginiu budu duomenu irasymas i RAM atminti ;mikrovaldiklis PIC16F84A taktinis daznis 4MHz #include "p16f84a.inc" org 0x00 ;vektoriaus numetimas movlw 0x11 ;i darbini registra (W) irasomas skaicius 0x11 movwf 21h ;is W irasomas skaicius i isrinkta registra 21h end ;programos pabaiga Nuspaudus kompiliavimo ikoną (build all) arba vykdant Project>Build All sukompiliuojama į rinkmeną LAB1_1.hex. Norint matyti kaip įrašomi duomenys pajungiami langai: View>Special Function Register, kur matomas darbinis registras (WREG) ir View>File Registers, kur matomi RAM atminties ląstelės. 4. Netiesioginis adresavimas. Netiesioginis adresavimas vykdomas taip: Pasinaudojus darbinius registru duomenys, kuriuos norima įrašyti į RAM ląstelę įrašomos į INDF registrą. RAM ląstelės adresas į kurią bus įrašomi duomenys įrašomas į FSR registrą. 14 pav. Netiesioginio adresavimo blokinė diagrama INDF ir FSR registrai yra skirti netiesioginiam adresavimui. INDF adresas fiziškai neegzistuoja. Kreipiantis į šį registrą ištiktųjų kreipiamasi į registrą, kurio adresas ištikrųjų yra įrašytas FSR registre. Rašymas netiesioginiu būdu atliekamas taip: į FSR registrą įrašomas skaičius kuris nurodo į kokią atminties ląstelę bus rašomi duomenys. Po to į INDF registrą rašo duomenys kurie bus saugomi ląstelės atmintyje. Sukurtoje rinkmenoje LAB1_2.asm atliekamas duomenų įrašymas į RAM atmintį netiesioginio adresavimo būdu, atliekama sekančiai: ;******1 laboratorinis darbas***************************** ;******grupe Vardas Pavarde ****************************** ;Netiesioginiu budu duomenu irasymas i RAM atminti ;mikrovaldiklis PIC16F84A taktinis daznis 4MHz #include "p16f84a.inc" org 0x00 ;vektoriaus numetimas movlw 0x11 ;i W irasomas skaicius 0x11 movwf FSR ;nustatomas adresas i kuri bus rasoma movlw 0x21 ;i W irasomas skaicius 0x21 movwf INDF ;irasomi duomenys i isrinkta adresa 0x21 end ;programos pabaiga Naudojamų pagrindinių direktyvų paaiškinimai: #include – papildomos rinkmenos iškvietimo komanda. Šia komanda iškviečiama rinkmena, kuri tampa programos teksto dalimi, t. y. toks rinkmenos iškvietimas yra analogiškas šioje rinkmenoje esančio programos teksto kopijavimui ir įkėlimui i #INCLUDE direktyvos vieta. Ši direktyva dažnai naudojama iškviesti rinkmenai, aprašančiai specifinius MV kintamuosius. Pavyzdžiui, rinkmena, aprašanti specifinius MV PIC16F84A kintamuosius, yra iškviečiama šia programos teksto eilute: #INCLUDE
Šį darbą sudaro 1123 žodžiai, tikrai rasi tai, ko ieškai!
★ Klientai rekomenduoja
Šį rašto darbą rekomenduoja mūsų klientai. Ką tai reiškia?
Mūsų svetainėje pateikiama dešimtys tūkstančių skirtingų rašto darbų, kuriuos įkėlė daugybė moksleivių ir studentų su skirtingais gabumais. Būtent šis rašto darbas yra patikrintas specialistų ir rekomenduojamas kitų klientų, kurie po atsisiuntimo įvertino šį mokslo darbą teigiamai. Todėl galite būti tikri, kad šis pasirinkimas geriausias!
Norint atsisiųsti šį darbą spausk ☞ Peržiūrėti darbą mygtuką!
Mūsų mokslo darbų bazėje yra daugybė įvairių mokslo darbų, todėl tikrai atrasi sau tinkamą!
Panašūs darbai
Atsisiuntei rašto darbą ir neradai jame reikalingos informacijos? Pakeisime jį kitu nemokamai.
Pirkdamas daugiau nei vieną darbą, nuo sekančių darbų gausi 25% nuolaidą.
Išsirink norimus rašto darbus ir gauk juos akimirksniu po sėkmingo apmokėjimo!