Programexempel 1 AND-funktionen



Relevanta dokument
SKAPA DET FÖRSTA PROJEKTET I mikrobasic PRO for AVR

Laboration 3 i Digital- och Mikrodatorteknik. Utvecklingssystemet MPLAB IDE Grundläggande assemblerprogrammering för PIC

NetBeans 5.5. Avsikt. Projektfönster

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010

'HOWHQWDPHQ 6\VWHPNRQVWUXNWLRQ

NetBeans 7. Avsikt. Projektfönster

Så här skriver du ditt första program i C++

Lösningsföslag till Exempel på tentamensuppgifter i Digitalteknik I

Eclipse. Avsikt. Nu ska ett fönster liknande figuren till höger synas.

Programmering i maskinspråk (Maskinassemblering)

Föreläsningsanteckningar till Konstruktionsmetoder

Steg 1 Minnen, mappar, filer Windows 7

Steg 16 Video Debut video capture Video pad editor Windows 7/8

Programmering i maskinspråk (Maskinassemblering)

Välj bort om du vill. 96 Internet och e-post. 2. Mail-programmet finns i datorn. 1. Skriv mail i sökrutan. Windows Live Mail i Aktivitetsfältet.

Flödesschema som visar hur man använder Quartus II.

Steg 1 Minnen, mappar, filer Windows 10

Laboration D164. ELEKTRONIK Digitalteknik. Digitalteknik med enchipsdatorer

Övningsuppgifter i Mikrodatorteknik för U2

Steg 1 Minnen, mappar, filer Windows 8

Lab1 Introduktion. 1 Syfte. 2 Innehåll Win32API Skapa trådar Kritiska sektioner Mailslothantering. 3 Förberedelse & Tips

Handhavande manual problemhantering

#include <pic.h> #include <sys.h> char LEFT,RIGHT,MOTORHASTIGHET;

I.site Webbsidesverktyg handledning

Installation av datafil för lokal lagring av e-post i Microsoft Outlook 2016

Juni 2003 PlanCon Viewer Handledning PlanCon PROJEKT

Ansvarig lärare: Olof Andersson, Telefon (besöker skrivsalen)

Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa.

Verktyg och Utvecklingsmiljö. Föreläsning 2 Eclipse

Kom igång. Readyonet Lathund för enkelt admin. Logga in Skriv in adressen till din webbsida följt av /login. Exempel:

Verktyg och Utvecklingsmiljö. Jochim von Hacht

Beställning till Diakrit

Laboration 0. Enhetsbokstaven anges med ett kolon efter och man läser ofta ut detta, exempelvis C:(sekolon).

Högskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

Komponenter med COM (och COM+/VC++ 7.0)

batklubben.eu s hemsida

Läsa dokument/information i advantum

Men banners kan också placeras i composerblock samt på nyhets- och artikelsidor. Du kan skapa en banner i vilken editor som helst i EpiServer CMS 5.

Datorteknik 1 (AVR 1)

Figur 1 Skalprogrammets meny

Det finns en handledning till kortet på hemsidan. AVR STK500.

[ HUR DU UPPDATERAR FÖRSTASIDAN PÅ OTHELLO.NU ]

Manual Produktion av presentationssynkar med PowerPoint och Producer

Egna genvägar. Subhashish Pradhan T.C. Hollingsworth Översättare: Stefan Asserhäll

TeamViewer Installation och användning

E-post. A. Windows Mail. Öppna alternativ. Placera ikonen på skrivbordet.

SKAPA DET FÖRSTA PROJEKTET I mikrobasic PRO for PIC

Installationsanvisning för Su Officemallar 2007 För PC Word och PowerPoint

Laboration 10 - Eclipse

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT

Ja, men resultatet blir inte lika bra. Det är att skapa genvägsikoner. Se anvisningar nedan:

Instruktion till. PigWin PocketPigs. Del 1 - Installation

Låt "Personlig mappfil för Office Outlook (.pst)" vara markerad. Klicka på OK

Simulering med ModelSim En kort introduktion

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...

M7005 och IBR Användarhandbok

Flytt av. Vitec Mäklarsystem

DIGITALTEKNIK. Laboration D164. Logiska funktioner med mikroprocessor Kombinatoriska funktioner med PIC16F84 Sekvensfunktioner med PIC16F84

Word Grunderna 1. Om du kan det allra enklaste i Word, hoppa över uppgifterna A-E.

Guide till att använda Audacity för uttalsövningar

CE_O3. Nios II. Inför lab nios2time

På servern För att registrera och köra en Topocad 17 nätverkslicens krävs att man installerar den senaste Licensservern

Manual för Typo3 version 4.2

Instruktioner för att kunna programmera på skolans datorer

1(15) Bilaga 1. Av Projekt Neuronnätverk, ABB Industrigymnasium, Västerås Vt-05

AVR Studio 4 Och AVRFLASH

Realtidsprogrammering. En introduktion Implementering (med exempel från PIC)

Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

Diabetes.se CMS guide för föreningar. Senast uppdaterad:

Tjörn. Handläggare: Peter Olausson, webbmaster Datum: Tjörn Möjligheternas ö

Bygg din egen verktygslåda till PC-DMIS. Workshop, PC-DMIS dagar 2015

Se till att posten är i Ändringsläge. Gå till rullgardinsmenyn under Föremål och välj Lägg in bild.

Handbok för Nero ImageDrive

Programmering. Scratch - grundövningar

Datum Den första bilden i installationsprogrammet visar vilken version det är. Klicka på Nästa eller tryck Enter för att fortsätta.

Programutveckling med Java Development Kit. (JDK 1.1.x) och Programmers File Editor (PFE 7.02)

Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8)

Introduktion till Matlab

TUTORIAL 3: ATT STARTA ETT NYTT PROJEKT, IMPORTERA ELLER DIGITALISERA MATERIAL, SAMT SORTERA DET.

Grund. Markera Användaren och välj Användarinställningar till vänster i Grids utforskare. Välj Talinställningar

Umgås på nätet KAPITEL 6. Chatta via webbläsaren

INSTALLATION AV VITEC MÄKLARSYSTEM

Manual till Båstadkartans grundläggande funktioner

Att använda Fraps. Victoria Johansson & Stefan Lindgren. Humanistlaboratoriet, Lunds universitet it-pedagog@humlab.lu.se, stefan.lindgren@humlab.lu.

Personalsupport. Medicinska fakulteten, Lunds universitet. Textredigeraren. Moodle version 2.7.1

Administration av lagets arbetsrum lathund

ANVÄNDARBESKRIVNING FÖR PERSONAL

Introduktion till syntesverktyget Altera Max+PlusII

Snabbguide till First Class

Exportera datafiler från Ladok Nouveau för att bearbeta dem i Excel och använda som kopplingsinstruktioner i Word.

För att kunna använda SmartPigs i WinPig.Net måste du köra WinPig.net med administratörsrättigheter. Gör så här:

Win95/98 Nätverks Kompendium. av DRIFTGRUPPEN

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2

AVRStudio på tre minuter. Micke Josefsson, 2005

INSTALLATIONSGUIDE PC

Code-Lite tutorial ( /RoJ)

Besvara de elektroniska frågorna (se kurshemsidan). Läs kapitel i kursbok.

Introduktion till xdigiflex-simulatorn

Novaschem Integration. Procapita Education Grundskola

Ladda upp filer fra n PLC till PC

Transkript:

Utdrag ur "Logiska funktioner med mikroprocessor" s.10 ff. Reviderat 121105 Håkan Joëlson... Programexempel 1 AND-funktionen Uppgift: Realisera en 2-ingångars AND-grind med PIC16F84A. I detta exempel ska varje moment i en lämplig arbetsmetodik och utformning av dokumentation gås igenom. 1. SPECIFICERA UPPGIFTEN Realisera en två-ingångars AND-grind. Sanningstabell a b f 0 0 0 0 1 0 1 0 0 1 1 1 Schemasymbol a b & f 2. RITA ETT FULLSTÄNDIGT KOPPLINGSSCHEMA /I häftet visas här ett allmänt kopplingsschema generellt för de flesta uppgifterna i häftet. (Se texten precis ovanför bilden på s.7.) Detta är inte lämpligt. Rita specifikt kopplingsschema för specifik uppgift. / Utsignalerna kopplas via lysdioder och skyddsmotstånd till jord. I ett kopplingsschema behöver endast de anslutningar som används i uppgiften redovisas. 3. SKRIV KÄLLKOD Utvecklingsprogrammet MPLAB är omfattande och innehåller många delar. Punkterna nedan tar upp några av de delar man kan ha mest nytta av i detta grundläggande kursavsnitt. Vägledningen är mycket handfast just för detta exempel. Den som är van vid Windows-program för sådana här sysslor kan modifiera åtgärderna. Ofta kan man göra exakt samma saker på olika sätt; här beskrivs en väg. I många åtgärder finns valfrihet - tex när det gäller val av namn - vilket blir aktuellt när man ger sig på andra uppgifter. Här används skrivkonventionen att ange steg i menyvalen med >-tecknet, tex View>Toolbars>Project Manager betyder att man går till View i övre menyn och sedan till Toolbars och Project Manager i successiva undermenyer. Vissa knappar och val kommer presentera sig på svenska eller något annat språk, beroende på vilka grundinställningar man har i Windows på sin dator. Här visas svenska. För det mesta.

1. Skapa en katalog där du vill ha dina filer med hjälp av Utforskaren i Windows. (Detta kan också göras i ett senare steg.) 2. Starta MPLAB. 3. I övre menyn gå till Project>Project Manager. Klicka Nästa. Välj PIC16F84A i rullgardinsmenyn i dialogrutan som öppnas. Klicka Nästa. 4. En ny dialogruta öppnas, förhoppningsvis med ett innehåll som liknar detta: Om verktygen MPASM, MPLINK och MPLIB inte syns, kontrollera att Microcip MPASM Toolsuite har valts som Active Toolsuite, och om det behövs klicka på Browse för att leta efter sökvägen till MPAsmWin.exe. Klicka Nästa. 5. I MPLAB 7: Skriv Uppgift1 som Project Name. Klicka på Browse, markera din "utgångsmapp", något i stil med: Klicka Skapa ny mapp, skriv Uppgift1, se till att den är markerad och klicka OK.

I MPLAB 8: Klicka på Browse vid Create New Project File, gå till "utgångsmapp", skapa ny mapp Uppgift1: Gå till den och fyll i Uppgift1 som projektnamn under File name och spara: Ta för vana att alltid skapa en ny katalog för varje nytt projekt. Klicka Nästa. 6. Nästa steg, Step Four, i Wizard kan hoppas över denna gång, dvs klicka Nästa. En sammanfattande dialogruta visas. Klicka Slutför. 7. Välj File>New. Ett [tomt] fönster öppnas i MPLAB. Det är den inbyggda editorn. Det är en slags enkel ordbehandlare, med speciella egenskaper, som bl.a. passar för att skapa textfiler som accepteras som assemblerkod och kan bearbetas av assemblerprogrammet. Det finns en mängd finesser såsom förgmärkning av reserverade ord och debughjälp. Mata in följande kod i editor- fönstret: LIST P=PIC16F84A ;Väljer processor #INCLUDE P16F84.INC ;Fördefinierade registerdefinitioner ORG 0 ;Startar på adr 0 vid reset BSF STATUS, RP0 ;Väljer minnesbank 1 CLRF TRISA ;Hela Port A utgång MOVLW 0xFF MOVWF TRISB ;Hela Port B ingång BCF STATUS,RP0 ;Åter till Bank 0 ;Huvudprogram MAIN MOVLW 0x03 ;Ladda W med 0x03 SUBWF PORTB, W ;Subtrahera PORTB med W:s innehåll 0X03 BTFSC STATUS,2 ;Testa om result 0 eller 1

GOTO ETTST ;Om testet gav 1 => Ettställ PortA, bit 0 BCF PORTA,0 ;Om testet gav 0 => Nollställ PortA, bit 0 GOTO MAIN ;Kolla en gång till ETTST BSF PORTA,0 ;Ettställ PortA, bit 0 GOTO MAIN ;Kolla en gång till END 8. Välj File>Save, bläddra fram till din katalog om det behövs (borde vara där redan), skriv filnamnet UPPGIFT1.ASM i rutan File Name och spara. Observera hur kodtexten "färgläggs". MPLAB uppfattar den nu som assemblerkod. Några kommentarer till källkoden på föregående sida 0x LIST P=PIC16F84A Väljer processor. betyder att det efterföljande numeriska värdet är ett hexadecimalt värde. #INCLUDE P16F84.INC Säger till assemblatorn att i sin bearbetning av kodtext inkludera innehållet i en fil som innehåller alla vanliga registerdefinitioner (ett antal s.k. EQU-definitioner). Bl.a. definieras att PORTA ligger på adress 0x0005. Include-filen kan uteslutas men då måste man definiera all använda "registernamn" själv eller använda den exakta adressen i koden. ORG 0 BSF STATUS,RP0 BCF STATUS,RP0 MAIN * * /div programkodrader/ * GOTO MAIN END 4. Assemblera koden Säger till assemblatorn att programkoden ska programmeras in i kapseln med start på adressen efter ORG. Den adressen kan i princip vara godtycklig. Här är den 0x00, vilket är praktiskt, eftersom resetvektorn (något som pekar dit där processorn ska börja köra efter strömpåslag) pekar på adressen 0. Väljer minnesbank 1 där PortA s datariktningsregister TRISA finns. Åter till bank 0 där de flesta arbetsregisterna finns som man behöver under normal körning av sitt program. Detta skapar en evig slinga som processorn kör i all evinnerlig tid tills man stänger av den. Måste finnas i slutet i varje källkodsfil. Assemblering kallas det steg då vi gör om assemblerkoden till maskinkod, dvs de kombinationer av 1:or och 0:or som datorn kan förstå. Dessutom bestäms var i processorns minnesområden olika delar såsom programkod, funktioner och variabler ska hamna. Allt detta görs av en programmodul som kallas assemblator. 1. Först måste källkodsfilen kopplas till projektet. I normalfallet syns Project manager-fönstret. Det kan annars tas fram genom att välja View>Toolbars>Project Manager. Högerklicka på Source Files och välj Add files...

Se till att du är i projektets arbetskatalog Uppgift1, markera filen Uppgift1.asm och klicka Öppna. Nu dyker Uppgift1.asm under Source Files. 2. Välj Project>Build All. (Samma kommando kan anropas med knappen i övre verktygsremsan eller med kortkommando Ctrl+F10.) Lycklig blir man när man nederst i meddelandefönstret kan läsa: BUILD SUCCEEDED: I detta fallet har det dykt upp några varningar. "Register in operand not in bank 0..." har ingen praktisk betydelse. Den typen av varning försvinner om man i huvudet i koden (tex som tredje rad) skriver in raden: errorlevel -302 Om assembleringen misslyckades, måste man felsöka. Dubbelklicka på en varning eller ett felmeddelande för att hamna i källkoden på den rad felmeddelandet genererades. Räkna med att felmeddelanden inte sällan kuggar fel. Assemblatorn granskar syntaxen i kodtexten enligt bestämda regler för hur kodtext får se ut och försöker sen tolka avvikelser utifrån stela listor över kända fel. I praktiken kan felet rätt ofta ligga någonstans ovanför den rad som felmarkerats. Försök korrigera felet och assemblera igen. 5. Simulering Simulering kallas det när man testkör sitt program virtuellt i datorn. Se till att en Avlusare är aktiv. Välj Debugger>Select Tool>MPLAB SIM. En grön pil dyker upp i kod-fönstret. Pilen markerar den kommandorad som står i tur att utföras. Ett antal knappar dyker också upp i verktygsraden. (Motsvarande funktioner finns även under menyn Debugger.) Man kan tex köra sitt program rad för rad, hoppa i och ur subrutiner, starta om, mm. Ingångarnas nivåer kan styras i det fönster som öppnas med Debugger>Stimulus Controller>New Scenario (i MPLAB 7) resp. Debugger>Stimulus>New Workbook flik Asynch (i MPLAB 8). I fönstret kan man lägga in vilka [ingångs]bitar man vill påverka signalvärdena på. Klicka på översta radens ruta Pin/SFR. Nu kan du i en rullgardinsmeny välja vilken specifik bit du vill ettställa eller nollställa. Klicka på rutan Action på samma rad. Ett användbart val är här Toggle, som gör att man enkelt kan växla fram och tillbaka mellan etta och nolla. Detta gör man genom att klicka på Fire-knappen längst till vänster på den raden.

Välj View>Special Function Registers för att få upp ett fönster där du kan följa värdena i arbetsregisterna. Under menyn View kan man välja ytterligare fönster för att följa innehållet i minnena, etc. Stega igenom programmet och studera hur W och portarna ändras vid olika värden på RB0 och RB1. Observera också hur programpekaren PC pekar på nästa instruktion som ska verktällas. Vi ska använda PC senare så det är viktigt att förstå dess funktion....