rprokopovic - pic sim ide

Upload: lazo-todorovic-

Post on 18-Jul-2015

96 views

Category:

Documents


0 download

TRANSCRIPT

Elektronski fakultet u Niu Katedra za elektroniku Predmet: Mikroprocesorski sistemi prof. dr Mile Stojev

SIMULACIJA PIC MIKROKONTROLERA PREKO SOFTVERA PIC SIMULATOR IDE

Student:

Ranko Prokopovi 10609

UVOD

Misao vodilja autora ovog seminarskog rada bila je da studentima priblii program PIC Simulator IDE, koji je razvio Vladimir oo iz Zemuna. U pitanju je simulator velikog broja mikrokontrolera 12F i 16F serija. Detaljnije informacije o pomenutom programu su dostupne na sajtu http://www.oshonsoft.com/pic.html, a koriste ga brojni renomirani koledi i fakulteti. U radu je dat kratak opis mikrokontrolera PIC16F877, pregled menija PIC Simulator IDE, kao i nekoliko primera koji pokazuju mogunosti ovog softvera Na kraju je dato nekoliko zadataka za studente, koje treba reavati na laboratorijskim vebama

Mikrokontroler PIC16F877

PIC16F877 je Microchip-ov 8-bitni CMOS mikrokontroler baziran na ash tehnologiji RISC arhitektura omoguuje odvojene magistrale 8-bitnih podataka i 14bitne programske memorije Jezgro mikrokontrolera PIC16F877 proizvodi se u 40-pinskom (DIP) ili u 44-pinskim kuitima (QFP i PLCC)

Mikrokontroler PIC16F877

Na narednom slajdu je data ema arhitekture mikrokontrolera PIC16F877 Mogu se uoiti standardne komponente: Flash programska memorija 8 kilorei RAM (File Registers) 368 bajtova Aritmetiko-logika jedinica (ALU) Akumulator (Working Register) Hardverski magacin (Stack) sa 8 nivoa EEPROM memorija podataka 256 bajtova Razne periferne jedinice (portovi, tajmeri, A/D konvertor, USART,...)

Arhitektura mikrokontrolera PIC16F877

Mikrokontroler PIC16F877

PIC16F877 podrava tehniku prekida (eng. interrupts). Postoji ukupno 14 izvora prekida, to spoljanjih, to unutranjih Ono to mikrokontrolere izdvaja od ostalih procesora jeste prisustvo raznih specijalnih kola koja se trebaju izboriti sa potrebama realtime aplikacija Meu ponuenim karakteristikama postoji mogunost izbora etiri tipa oscilatora, mogunost upotrebe Power-up (PWRT) i Oscilator Start-up (OST) tajmera, te eventualno korienje Power-on (POR) i/ili Brown-out (BOR) reseta Spreavanje zalaska programa u mrtve petlje pomae upotreba Watchdog tajmera (WDT)

Mikrokontroler PIC16F877

Zatitu kda od neeljenog itanja prua opcija code protection Za ureaje sa baterijskim napajanjem interesantna mogunost je Sleep Mode Napajanje se dovodi na pinove VDD, a masa na pinove VSS. Noice OSC1 i OSC2 slue za prikljuenje oscilatorskih komponenti. Osim za reset-kolo pin 1 (MCLR/VPP) ima ulogu u toku procesa programiranja mikrokontrolera. Ostalih 33 pina predstavljaju I/O linije. Oni su grupisani u pet portova (PORT A, B, C, D i E) Na kraju ovog uvoda treba napomenuti da su Microchip PIC mikrokontroleri dominantni u odnosu na konkurentne relativno visokom strujom koju moe propustiti I/O pin (25 mA)

Mikrokontroler PIC16F877

Strukturu memorije kod PICmicro mikrokontrolera ine tri odvojena bloka: Programska memorija Memorija podataka EEPROM memorija podataka Odvojeno od navedenih memorijskih blokova egzistira zasebna struktura magacin (stack), koja se sastoji od osam 13-bitnih registara

Mapa pogramske memorije

Mikrokontroler PIC16F877

PIC16F877 mikrokontroleri imaju 13-bitni programski broja (PC) koji moe da adresira memorijski prostor od 8k programskih rei od 14 bita Memorija za podatke je izdeljena u vie celina banki (eng. banks), a sastoji se od registara opte namene (General Purpose Registers) i registara specijalne funkcije (Special Function Registers)

Mikrokontroler PIC16F877

Programski broja (PC) odreuje adresu instrukcije u programskom eu koja e sledea biti pribavljena STATUS registar je veoma bitan i zato je predvieno da se moe adresirati iz bilo koje banke. On pokazuje status aritmetiko-logike jedinice, reset status mikrokontrolera i sadri bite za selekciju banki internog RAM-a Registar OPTION_REG se koristi za konguraciju preskalera za tajmer 0 ili Watchdog, za upravljanje tajmerom 0, selekciju ivice okidanja eksternog interapta, te za omoguenje Pull-up otpornika na portu B. INTCON je registar za manipulisanje sistemom prekida mikrokontrolera

Mikrokontroler PIC16F877

Za vezu mikrokontrolera sa svetom oko sebe zadueni su ulazno/izlazni portovi Ima ukupno pet I/O portova i oni su oznaeni sa A, B, C, D i E Portovi su nejednakih irina, tako port E ine 3 pina, port A ine 6 pinova, a portove B, C i D ine 8 pinova Svaki port poseduje odgovarajui registar (PORTX) preko kojeg se programski pristupa I/O pinovima Tajmeri se koriste za merenje vremena i brojanje eksternih dogaaja. Ugraena su tri tajmerska modula (TMR 0,1,2) od kojih svaki ima svoje specinosti.

Mikrokontroler PIC16F877

CCP moduli - CCP je skraenica za Compare/Capture/PWM. PIC16F877 poseduje dva ovakva modula koji mu pomau da se lake nosi sa raznim zahtevima real-time aplikacija. Ostale periferije: SSP modul (Synchronous Serial Port) - slui za komunikaciju sa serijskim EEPROM-ima, pomerakim registrima, displejdrajverima, A/D konvertorima, itd. Ovaj modul moe raditi u jednom od dva moda: Serial Peripheral Interface (SPI) ili InterIntegrated Circuit (I2C) USART (Universal Synchronous Asynchronous Receiver Transmiter) slui za povezivanje sa personalnim raunarom, ali to nije njegova jedina mogunost primene. PSP (Parallel Slave Port). On slui da se PIC16F877 direktno povee na 8-bitnu magistralu podataka drugog mikroprocesora

Asembler za PIC mikrokontrolere

Asemblerske instrukcije se izvravaju tokom etiri taktna intervala, izuzev instrukcija grananja ije izvravanje traje due. Primera radi, ako interni oscilator mikrokontrolera radi na frekvenciji 4 MHz, izvrenje standardne instrukcije traje 1s. S obzirom da mikrokontroleri serije PIC16Fxxx imaju RISC arhitekturu, operiu sa svega 35 asemblerskih instrukcija koje moemo podeliti u pet grupa: instrukcije koje operiu sa podacima aritmetiko-logike instrukcije instrukcije koje operiu sa bitovima instrukcije koje upravljaju tokom programa ostale instrukcije.

PIC Simulator IDE

PIC Simulator IDE je aplikacija koju koriste projektanti u razvoju sistema sa PIC mikrokontrolerima, a karakterie je njena laka upotreba u WINDOWS okruenju. Pomenuta aplikacija ima integrisan simulator (emulator), BASIC kompajler, asembler, disasembler i debager.

Glavni aplikacioni prozor prikazuje statuse svih internih registara datog mikrokontrolera, instrukciju koja je poslednja izvrena i instrukciju koja e se sledea izvriti, taktni ciklus i broja instrukcija kao i realno vreme trajanja simulacije.

PIC Simulator IDE

Izgled glavnog aplikacionog prozora

PIC Simulator IDEFILE MENI

Komande ovog menija su: Clear memory resetovanje simulatora i postavljanje u poetno stanje Load program uitavanje programskog fajla (HEX) Save memory uvanje podataka iz memorija (FLASH i EEPROM)

PIC Simulator IDESIMULATION MENI

Komande ovog menija su: Start otpoinje simulaciju Step izvravanje simulacije korak po korak Stop zaustavlja simulaciju

PIC Simulator IDERATE MENI

Komande ovog menija predstavljaju brzine izvravanja simulacije -Step by step korak po korak (instrukcija po instrukcija) -Slow vreme izmeu dve instrukcije je 1500 ms -Normal vreme izmeu dve instrukcije je 250 ms -Fast vreme izmeu dve instrukcije je 50 ms -Extremely fast vreme izmeu dve instrukcije je suvie malo tako da brzina simulacije zavisi od brzine rada raunara -Utimate (No refresh) glavni prozor simulatora se ne osveava pa se tako znaajno uveava brzina simulacije

PIC Simulator IDETOOLS MENIOvaj meni sadri puno pomonih alatki koje su znaajne za simulaciju rada jednog mikrokontrolera Neke od njih su: Program Memory Editor, EEPROM Memory Editor, Microcontroller View, Disassembler, Breakpoints Manager, Assembler, BASIC Compiler, 8 x LED Board, Oscilloscope, 7-Segment LED Displays Panel, LCD Module

PIC Simulator IDEOPTIONS MENI

Ovaj meni nudi dodatne opcije koje vam omoguuju da simulaciju podesite po potrebi

Tu je naravno i HELP meni koji slui za pomo u nekim trenucima kada vam je to potrebno

Primeri

U ovom seminarskom radu je obraeno nekoliko primera. Podeljeni su u grupe: Elementarni primeri (ukupno 8) sabiranje i oduzimanje dva broja, upis broja na odreenu lokaciju, zamena vrednosti dva broja i slino Jednostavni primeri (ukupno 3) broja, upis podataka u EEPROM memoriju, A/D konverzija napona Napredniji primeri (ukupno 3) izraunavanje izraza, upis i itanje podataka iz EEPROM-a, prikazivanje A/D konverzije na LCD displeju Dopunski primeri (ukupno 4) IF i FOR petlje, primena kanjenja

Laboratorijske vebe

Takoe su dati zadaci za studente koje oni treba da reavaju na asovima laboratorijskih vebiOvi zadaci su predvieni za lako i brzo reavanje, i veoma su slini kao primeri obraeni u tekstu

Zakljuak

U prethodnom tekstu ovog seminarskog rada je opisan softver PIC Simulator IDE, koji slui za simulaciju veeg broja PIC mikrokontrolera 12F i 16F serija. Najpre je detaljno opisano 8 primera u asembleru, da bi kasnije bilo detaljno opisano i ilustrovano 6 primera sa mikrokontrolerom PIC16F877 Primeri su savim dovoljni da se savlada sutina programiranja i simulacije mikrokontrolera korienjem softvera PIC Simulator IDE

Literatura

PIC16F877, Microchip, sajt http://www.microchip.com PIC Simulator IDE, sajt http://www.oshonsoft.com/pic.html Instrukcije u PIC BASIC-u, sajt http://milan.milanovic.org/skola Instrukcije u asembleru za PIC, sajt http://mikroe.com

CVPrezime: Ime: Adresa stanovanja: E-mail adresa: Brano stanje: Datum roenja: Nacionalnost: Prokopovi Ranko Moe Pijade 5/11, Vladiin Han [email protected] Neoenjen 08.01.1982. godine Srbin

Obrazovanje:Kompletna ili stepenovana diploma: Vozaka dozvola: Poznavanje jezika Poznavanje operativnih sistema i programskih paketa Posebna interesovanja Sposobnosti Napomene

Gimnazija Jovan Skerli Vladiin HanIV stepen B kategorija Engleski (dobro) WINDOWS XP, PIC Simulator IDE Pretraivanje Interneta, itanje strune literature, automobili i tehnika Radoznalost, preduzimljivost, snalaljivost Nosilac Vukove diplome u osnovnoj i srednjoj koli.