Laboration nr2 med enchipsdatorn PIC-16F877

Relevanta dokument
Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010

General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18

Övningsuppgifter i Mikrodatorteknik för U2

'HOWHQWDPHQ 6\VWHPNRQVWUXNWLRQ

INGENJÖRSHÖGSKOLAN INGENJÖRSHÖGSKOLAN

Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: Tid: 14:00-18:00.

CE_O3. Nios II. Inför lab nios2time

Föreläsningsanteckningar till Konstruktionsmetoder

Datorteknik TSIU02 Kursinformation

Kontrollskrivning Mikrodatorteknik CDT S2-704

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

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

Laboration Datorteknik TSIU02 2. I/O-programmering

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Tentamen Enchipsdatorer med tillämpningar. Lösningar och kommentarer

Grunderna i stegkodsprogrammering

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

CPU. Carry/Borrow IX. Programräknare

Programexempel 1 AND-funktionen

Laboration Datorteknik D 3. Digitalur

Digitala System: Datorteknik ERIK LARSSON

LABORATION DATORKONSTRUKTION TSEA83 UART. Namn och personnummer. Version: (OS)

Construction of a laboration card with the PIC-processor

Läs igenom hela laboration 5 innan du börjar beskriva instruktionsavkodaren i VHDL!

Systemkonstruktion SERIEKOMMUNIKATION

Laboration Datorteknik TSIU02/TSEA28 3. Digitalur

Övning2 Datorteknik, HH vt12 - Programmering

Systemkonstruktion LABORATION REALTIDSPROGRAMMERING

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

CE_O2. Nios II. Subrutiner med mera.

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

PROTOTYPUTVECKLING AV DIGITALT

Styrteknik: MELSEC FX och numeriska värden

Processor pipelining genom historien (Intel i9-intel i7)

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Dataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte

Laboration 4: Knappstuds Drivrutiner för att eliminera störningar.

Laboration D164. ELEKTRONIK Digitalteknik. Digitalteknik med enchipsdatorer

KALKYLATOR LABORATION4. Laborationens syfte

Laboration Datorteknik TSIU02/TSEA28 3. Digitalur

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT

Laboration 2 i Datorteknik- Assemblerprogrammering II

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning...

LABORATION. Datorteknik Y

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

7) Beskriv tre sätt att överföra parametrar mellan huvudprogram och subrutin.

Hantering av hazards i pipelines

I denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal.

Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion.

DEC Alpha instruktions Arkitektur

Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP.

Tentamen i EIT070 Datorteknik

Exempeltentamen Datorteknik, EIT070,

Datorsystemteknik DAV A14 Föreläsning 1

Digital- och datorteknik

Sekvensnät i VHDL del 2

0.1. INTRODUKTION Instruktionens opcode decodas till en språknivå som är förstålig för ALUn.

Microprocessor / Microcontroller. Industrial Electrical Engineering and Automation

Microprocessor / Microcontroller

LABORATION DATORTEKNIK D. Pipelining. Namn och personnummer. Version: (OS,OVA,AN)

Det finns en hemsida. Adressen är

Laborationshandledning

TDDC77 Objektorienterad Programmering

Datorteknik. Tomas Nordström. Föreläsning 6. För utveckling av verksamhet, produkter och livskvalitet.

LABORATION. Datorteknik Y

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Uppgift 1: a) u= a c + a bc+ ab d +b cd

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

LABORATION. Datorkonstruktion D

Föreläsning 1: Intro till kursen och programmering

Tentamen Enchipsdatorer med tillämpningar. Lösningar och kommentarer

Digital- och datorteknik

Laboration i digitalteknik Introduktion till digitalteknik

HF0010. Introduktionskurs i datateknik 1,5 hp

PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION

LABORATION. Datorteknik Y

Introduktion till programmering och Python Grundkurs i programmering med Python

Mål. Datorteknik. Introduktion. Innehåll. Verklig situation - pappaledighet. Introduktion (forts)

Stack och subrutiner Programmeringskonventionen

Institutionen för elektro- och informationsteknologi, LTH

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

LABORATION. Datorteknik Y Datorkonstruktion D

Tentamen i Robotteknik MPR211, 12 mars 1999

Laboration D184. ELEKTRONIK Digitalteknik. Sekvensnät beskrivna med VHDL och realiserade med PLD

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Datorteknik TSIU02 Lab 2 Morsesändare v0.7

Datorarkitekturer med operativsystem ERIK LARSSON

Datorsystemteknik DVGA03 Föreläsning 8

LiTH Lab1: Asynkron seriell dataöverföring via optisk länk Laboration 1. Asynkron seriell dataöverföring via optisk länk

Tentamen PC-teknik 5 p

LABORATION DATORTEKNIK Y,C,I DATORTEKNIK D

IE1205 Digital Design: F6 : Digital aritmetik 2

Polling (cyklisk avfrågning) Avbrott

Föreläsning 2. Operativsystem och programmering

Datorsystemteknik DAV A14 Föreläsning 1

(2B1560, 6B2911) HT08

"Crash Course in Programming"

INTRODUKTIONSKURS Sport-Ident Degerfors OK

VHDL och laborationer i digitalteknik

Transkript:

Laboration nr2 med enchipsdatorn PIC-16F877 Inledning Målet med laborationen är främst att bli bekant med skift-, villkorliga- och ovillkorligaoperationer samt hur man strukturerar enklare flödesscheman. Vidare behandlas även det kanske viktigaste registret, w-registret. Laborationshandledningen är tänkt att användas tillsammans med kompendiet Lär Dig Använda PIC-16F877. Teori Läs sidorna 27-34 och 40-42 i kompendiet Lär Dig Använda PIC-16F877 innan du börjar med förberedelseuppgifterna. Förberedelseuppgifter Frågorna besvaras på separat blad och lösningsförslagen lämnas välskrivna till laborationsassistenten vid laborationstillfället. Eventuella sidhänvisningar gäller (om ej annat anges) kompendiet Lär Dig Använda PIC-16F877. 1. a) Sätt dig in i programmet lab2_s1.asm (Se bilaga1), så att du förstår hur det fungerar. b) Har du lagt märket att include direktivet användes i början av programmet? Vad har det för uppgift? 2. a) Hur fungerar instruktionerna bcf resp. bsf? b) Vad skiljer w-registret från de andra registren? c) Vad finns i PORTC när instruktionen nedan utförts? clrf PORTC d) Skriv de instruktioner som behövs för att gör alla bitar i PORTC till ingångar? e) Omvandla talet B 10010011 till hexadecimalt. f) Vad kallas de fyra fälten i texteditorn? g) Antag att PORTC innehåller D 44. Vilket binärt tal finns i PORTC resp. w-registret efter att instruktionen nedan exekverats? comf PORTC.0 h) När används instruktionen call och vilken instruktion måste alltid stå sist i en subrutin? 1

3. a) Vilken instruktion kan användas om man vill multiplicera ett binärt tal med två? b) Hur fungerar instruktionerna rlf resp. rrf och var sparas resultatet? c) Förklara hur btfsc resp. btfss instruktioner fungerar? d) Förklara hur decfsz instruktioner fungerar? 4. Kommentar: Hur lång tid tar det för en instruktion att exekveras? Alla instruktioner tar en klockcykel att utföra utom hoppinstruktioner som tar två. Kristallocillatorns frekvens (den på labkortet): f osc = 19,6608 MHz. Processorn klockas dock med frekvensen: f clk = Detta ger klockcykeltiden: T clk = f clk f osc 4 1 = 0,203 µs. = 4,9152 MHz. a) Studera Subrutinen: Wait i programmet lab2_s1.asm och förklara kort hur den fungerar. b) I kommentarfältet i subrutinen saknas förklaringar på några rader, skriv dem själv! c) Vilken ändring måste göras för att subrutinen skall ta 0,5s istället för 0,125s? 5. a) Rita först flödesschema till huvudprogrammet lab2_s1.asm. Tips: Se bilaga 2. b) Rita sedan flödesschema till endast Subrutinen: Wait. 6.* a) Då instruktionerna rlf och rrf används talar man om att skiftet sker via en Carry-bit vad innebär detta och var finns denna bit? b) Vilket register och vilka bitar påverkas då man använder assemblerdirektivet banksel? c) Om direktivet nedan exekveras hur sätts bitarna i frågan ovan? banksel TRISA d) Om resultatet av en aritmetisk eller logisk operation är lika med noll påverkas en bit i samma register som ovan. Vilken bit och hur? e) Vad står opcode för? 7.* I program lab2_s2.asm (Se bilaga 1) är några i instruktioner ersatta med frågetecken. Sök och lägg till de instruktioner som gör att programmet fungerar enligt beskrivningen på programbladet. 8.** I det sista programmet lab2_s3.asm (Se bilaga 1) fattas hela huvudprogrammet. Skriv huvudprogrammet så att funktionen blir enligt beskrivningen på programbladet. Tips:Gör bittest på Carry-biten! 2

Materiel Hårdvara: MPLAB-ICD Mjukvara: MPLAB-IDE 5.7 Genomförande 1. Låt laborationsassistenten kontrollera lösningsförslagen till förberedelseuppgifterna. 2. Du skall nu testa (simulera, programmera ) programmet lab2_s1.asm genom att följa anvisningarna Steg för steg med MPLAB-IDE på sidan 52 och framåt i kompendiet. OBS! Glöm ej att skapa några mappar att spara dina källfiler och projekt i innan du öppnar programmet MPLAB-IDE, se sidan 52. 3.* Om du hinner. Testa den kompletterade versionen av lab2_s2.asm som du gjorde i förberedelseuppgift 7*. 4.** Om du hinner. Testa nu den kompletterad versionen av lab2_s3.asm som du gjorde i förberedelseuppgift 8**. 3

Bilaga 1 Programexempel

Bilaga 2 Att skriva program Kopior ur: Systemuppbyggnad och programmering Liber teknikutbildning (Sid. 49-51)