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

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

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010

Övningsuppgifter i Mikrodatorteknik för U2

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Tentamen i Digital Design

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

Lösningsförslag till tentamen i Digitalteknik, TSEA22

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

Tentamen i Digitalteknik TSEA22

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

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

Kontrollskrivning Mikrodatorteknik CDT S2-704

'HOWHQWDPHQ 6\VWHPNRQVWUXNWLRQ

A-del motsvarande KS1

Tenta i Digitalteknik

Digital- och datorteknik

Digital- och datorteknik

Digital- och datorteknik

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

Tentamen med lösningar för IE1204/5 Digital Design Torsdag 15/

Det finns en hemsida. Adressen är

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D

Tentamen EDAA05 Datorer i system

Tentamen i Digitalteknik, EITF65

Laboration i digitalteknik Introduktion till digitalteknik

Tentamen IE Digital Design Måndag 23/

Tenta i Digitalteknik

IE1204/IE1205 Digital Design

TENTAMEN. Datorteknik. D1/E1/Mek1/Ö Hjälpmedel: Häfte" ARM-instruktioner", A4-format, 17 sidor. Maxpoäng: 60p

Tentamen i IE1204/5 Digital Design måndagen den 15/

Tentamen i IE Digital Design Fredag 21/

EDA451 - Digital och Datorteknik 2010/2011. EDA Digital och Datorteknik 2010/2011

LV6 LV7. Aktivera Kursens mål:

Tentamen i Digitalteknik, TSEA22

Försättsblad till skriftlig tentamen vid Linköpings Universitet

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

ALU:n ska anslutas hur då?

TENTAMEN. Datorteknik. D1/E1/Mek1/Ö Hjälpmedel: Häfte "ARM-instruktioner", A4-format, 17 sidor. Maxpoäng:

Datorarkitektur I. Tentamen Lördag 10 April Ekonomikum, B:154, klockan 09:00 14:00. Följande gäller: Skrivningstid: Fråga

Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden

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

Tentamensskrivning 11 januari 2016

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Försättsblad till skriftlig tentamen vid Linköpings universitet

Tenta i Digitalteknik

Extrauppgifter för CPU12

Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK.

Institutionen för systemteknik, ISY, LiTH. Tentamen i. Tid: kl

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

IE1204/5 Digital Design typtenta

F5 Introduktion till digitalteknik

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

Laboration D164. ELEKTRONIK Digitalteknik. Digitalteknik med enchipsdatorer

Tentamen IE Digital Design Fredag 15/

Vad är en UART? Universal Asynchronous Receiver Transmitter parallella seriella parallell åttabitars signal mest signifikant bit

Tentamen med lösningar i IE Digital Design Fredag 21/

Tentamen med lösningar i IE1204/5 Digital Design Måndag 27/

Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik

Omtentamen IE Digital Design Måndag 14/

Tentamen i Digitalteknik 5p

Minnen delas in i två huvudgrupper, permanenta och icke permanenta. Non-volatile and volatile.

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

Digitalteknik och Datorarkitektur

Tentamen med lösningar IE Digital Design Måndag 23/

Omtentamen med lösningar i IE1204/5 Digital Design Fredag 10/

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

Tentamen i IE1204/5 Digital Design onsdagen den 5/

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013

Tentamen i IE1204/5 Digital Design Torsdag 29/

Tentamen IE Digital Design Fredag 13/

IE1204/5 Digital Design typtenta

Exempel 3 på Tentamen

Läsminne Read Only Memory ROM

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

IE1205 Digital Design: F9: Synkrona tillståndsautomater

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

Laboration D181. ELEKTRONIK Digitalteknik. Kombinatoriska kretsar, HCMOS v 2.1

Lösningar till tentamen i EIT070 Datorteknik

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

Repetition och sammanfattning av syntes och analys av sekvensnät

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

Grundläggande Datorteknik Digital- och datorteknik

Laborationshandledning

Tentamen. EDA432 Digital- och datorteknik, It DIT790 Digital- och datorteknik, GU. Onsdag 12 Januari 2011, kl

TSEA22 Digitalteknik 2019!

Digital elektronik CL0090

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

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

Digital- och datorteknik

Tentamen IE1204 Digital Design Måndag 15/

Tentamen i Digitalteknik, EIT020

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.

Digital- och datorteknik

EDA215 Digital- och datorteknik för Z

Repetitionsfrågor inför tentamen

Digital elektronik CL0090

Tentamen i EDA320 Digitalteknik för D2

Digital- och datorteknik

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

Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.

Transkript:

DIGITAL- OCH MIKRODATORTEKNIK, U2 11-01-12 09.00 13.00 Tillåtna hjälpmedel: Instruktionslista PIC16F877A Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien Fullständiga lösningar skall inlämnas. Konstruktionerna skall ritas om inget annat anges. Minimalitet krävs, om inget annat anges. Program kommenteras väl. Skriv namn på alla inlämnade blad. Skrivningsformuläret skall inlämnas. Maxpoäng: 60 För godkänt (betyg 3) krävs För betyg 4 krävs För betyg 5 krävs 24 p 36 p 48 p Frågor under tentamen: Börje Dellstrand tel. 167122 0702-986358 Lycka till! Bilaga: STATUS-registret ASCII-koden 1

Uppgift 1 (5p) a) Skriv som ett hexadecimalt tal 9010. 0.5p b) Skriv som ett binärt tal C5A16. 0.5p c) Skriv talet -7310 som ett binärt tal på 2-komplementform med 8 bitars 1p representation. d) Realisera funktionen f = a b + b c med NOT, AND och OR. 1p Inga inverterade signaler finns tillgängliga. e) Realisera funktionen OR, dvs. f = a + b med endast 2-ingångars NAND.1p Inga inverterade signaler finns tillgängliga. f) Förenkla uttrycket a + bc + bc + a b + a b så långt det är möjligt. 1p Uppgift 2 (6p) Funktionen U är given. x 3 x 2 x 1 x 0 U 0 0 0 0 0 Konstruera U med: 0 0 0 1 0 0 0 1 0 0 a) ett minimalt NAND-grindnät 0 0 1 1 0 (insignalernas inverser antas tillgängliga) 0 1 0 0 0 0 1 0 1 1 b) två st 3/8 AVK (74LS138) plus en valfri grind 0 1 1 0 0 (fullständig inkoppling visas) 0 1 1 1 1 Bonus 1p om uppgiften löses med en 3/8 AVK 1 0 0 0 1 plus en valfri grind 1 0 0 1 0 1 0 1 0 1 c) en 8/1 MUX plus ev. en inverterare 1 0 1 1 1 1 1 0 0 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 Uppgift 3 (5p) Konstruera en tillståndsmaskin som ger utsignal u = 1 för varje följd 11 hos insignalen x. Obs! Överlappning accepteras ej! Ex: x 1 1 0 1 1 1 0 1 1 1 1 0... u 0 1 0 0 1 0 0 0 1 0 1 0... Vid realiseringen används D-vippor samt NAND-grindar. 2

Uppgift 4 (4p) Analysera den klockade synkrona sekvenskretsen med D-vippor enligt schemat nedan, genom att rita tillståndsgrafen. U D D Uppgift 5 (4p) Konstruera med hjälp av räknare av typ 74LS163 och valfria grindar a) en modulo 120-räknare (120 tillstånd). Valfri tillståndskod får användas. Efter 120 steg ska utsignalen UT =1 under 1 CP. b) en modulo 6-räknare (6 tillstånd) med räknesekvensen 1, 2, 3, 4, 5, 6, 1, 2,... Räknarna ska vara försedda med räknevillkor, insignalen R. Då R=0 ska räknaren stå stilla och då R=1 ska framstegning ske på varje klockpuls. Räknarna ska vara konsekvent synkroniserade. Rita konstruktionerna. 3

Uppgift 6 (6p) 6.1 Vad blir resultatet då instruktionen ANDLW 0x34 har utförts? Arbetsregistret w innehåller från början det binära talet 0010 0010. w innehåller a) 0x20 b) 18 (decimalt) c) 0xEE d) 0xFC 6.2 PortC har insignalen 0x34. Vad blir då utsignalen till PortB efter det att följande program körts? MOVF PORTC,W IORLW 0XF0 MOVWF TEMP RLF TEMP MOVF TEMP,W MOVWF PORTB 6.3 Ange vilken/vilka bit/ar av C och Z i statusregistret STATUS som sätts då följande programsekvens utförs. Anta att bitarna är nollställda från början. MOVLW 0X3F a) ingen bit ADDLW 0XC1 b) Z-biten c) C-biten d) Z-biten och C-biten 6.4 Vilken instruktion ettställer de två MSB i arbetsregistret w utan att övriga bitar påverkas? a) IORLW 0XF0 b) IORLW 0X0F c) ANDLW 0XE0 d) ANDLW 0X0E e) IORLW 0XC0 f) ANDLW 0XC0 g) IORLW 0X3F h) ANDLW 0X3F 6.5 Vilket minne används för att lagra program i PIC 16F877A? a) DRAM b) SRAM c) FLASH d) EEPROM Uppgift 7 (3p) Bilden nedan visar en ström av bitar som skickas med seriell kommunikation i pilens riktning (biten längst till höger når mottagaren först). Själva värdet (ASCII-tecknet) är 7 bitar och till det kommer startbit, stoppbit och paritetsbit (udda paritet). Med hjälp av paritetsbiten kan mottagaren se om värdet har överförts korrekt 1 1 1 0 1 1 1 0 1 0 0 a) Har värdet överförts korrekt? Motivera väl! b) Vilket tecken är det som överförts? Se bilaga. 4

Uppgift 8. (2 p) En microcontroller kan byggas upp på olika sätt. Vad innebär det att en microcontroller är uppbyggd enligt Harward-arkitektur resp. von Neuman-arkitektur? Förklara kortfattat skillnaden. Uppgift 9. (3p) Vilket adressrum gäller för den minneskrets som ansluts till kontakten SELECT? Svara med lägsta och högsta adress och adressrummets storlek (hexadecimal form). Uppgift 10 (2p) Beskriv ingående begreppet handskakning, ange när det används och hur det går till. Rita gärna figur. Uppgift 11 (3p) En microcontroller måste kunna kommunicera med yttre enheter. Programmerad IN/UT-- kommunikation (polling) och avbrottsstyrd IN/UT-kommunikation (interrupt) är två vanliga sätt som används. Förklara de två sätten samt ange för- och nackdelar med respektive metod. Skillnaden mellan metoderna ska klart framgå. Uppgift 12 (2p) Skriv en subrutin, som avgör om ett tal som finns lagrat i filregister TMP är jämnt eller udda. Om talet är udda ska innehållet i TMP vara oförändrat, om talet är jämnt ska 0 placeras i TMP. 5

Uppgift 13 (4p) Skriv ett väl kommenterat program i PIC-assembler, som bestämmer hur många bitar i minnescell 0x20 (INDATA) som antar värdet 1. Placera resultatet i minnescell 0x21 (UTDATA). Uppgift 14 (4p) a) Vilket av följande påståenden är sant om nedanstående subrutin: COMPARE MOVF 0x20,0 SUBWF 0x21,0 Ledning: subwf f,d ger BTFSS STATUS,C C=1 om differensen>=0 CALL SUBRUT C=0 om differensen<0 RETURN 1. om innehållet på minnesadressen 0x20 > innehållet på minnesadressen 0x21 anropas subrutinen subrut 2. om innehållet på minnesadressen 0x20 > innehållet på minnesadressen 0x21 anropas inte subrutinen subrut 3. om innehållet på minnesadressen 0x20 > värdet 0x21 anropas subrutinen subrut 4. om hexadecimala värdet 0x20 < 0x21 anropas subrutinen subrut b) Skriv ett program som räknar antalet negativa tal (MSB = 1) i tabellen TABELL t ex 0XD7, 0XF3, 0X1A, 0XA7, 0X8D, 0X13, 0XCA och 0X27. Placera antalet negativa tal på adressen NEG i minnet. TABELL ADDWF PCL,1 ;(PC)+(W)-->(PC) RETLW 0XD7 ;NR 0 RETLW 0XF3 ;NR 1 RETLW 0X1A ;NR 2 RETLW 0X0A ;NR 3 RETLW 0X08 ;NR 4 RETLW 0X13 ;NR 5 RETLW 0XCA ;NR 6 RETLW 0X27 ;NR 7 6

Uppgift 15 (7p) a) Skriv en SUBRUTIN med namnet JFR i assemblerspråket för PIC. Subrutinen skall jämföra innehållet i filregistret X med två värden i filregistret enligt: Filregister HIGH1: övre gräns OBS! Övre gräns är alltid större LOW1: undre gräns än undre gräns X: aktuellt värde RESULT: Filregistret RESULT ska avspegla resultatet av jämförelsen enligt: 7 6 5 4 3 2 1 0 RESULT: X X bit 7 = 1 om undre gräns < (X) övre gräns 0 annars bit 6 = 1 om (X) undre gräns 0 om (X) > övre gräns bit 5 till bit 0 spelar ingen roll Dvs - bit 7 = 1 anger att (X) är INOM gränser och då har bit 6 ingen betydelse. - bit 7 = 0 anger att (X) är UTANFÖR gränser och då avspeglar bit 6 hur. b) Skriv ett assemblerprogram MAIN som använder subrutinen JFR i a) för att jämföra ett 8-bitars värde (t ex en temperatur) som finns lagrat i filregistret på adressen X mot en övre gräns (för hög temperatur) och en undre gräns (för låg temperatur). Värdet för övre respektive undre gräns finns lagrat i minnesorden med adresserna HIGH1 respektive LOW1 (se ovan). Beroende på resultatet av jämförelsen ska bit 3 i PORTB (värme till/från) påverkas enligt: - värdet > övre gräns bit 3 nollställes (värme från) - värdet undre gräns bit 3 ettställes (värme till) - värdet ligger inom gränser bit 3 oförändrad OBS! Övriga bitar i utporten får ej påverkas! 7

8

9