Rezolvari Probleme SI Tabby v2

Post on 18-Dec-2015

248 views 7 download

description

Rezolvari Probleme SI Tabby v2

Transcript of Rezolvari Probleme SI Tabby v2

Probleme:1. S se conecteze la un microcontroler 80C51 16 Ko memorie EPROM, 16 Ko memorie RAM i nc 16 Ko memorie RAM din care se poate executa i program. Se vor folosi circuite de 16 Ko.

a) Cate lini de adresa folosim?16 Ko= => 14 lini de adresa =>

b) Spatiul de memorare pentru fiecare circuit?EPROM 0000H 3FFFHRAM 4000H 7FFFHRAMP 8000H BFFFH

c) Harta Memoriei

A15A14A13A12A3A2A1A0

0000010101010101

0011010101010101

1100010101010101

d) Schema

1. S se conecteze la un microcontroler 80C51 32 Ko memorie EPROM, 32 Ko memorie RAM i nc 32 Ko memorie RAM din care se poate executa i program. Se vor folosi circuite de 32 Ko.

a) Cate lini de adresa folosim?32 Ko= => 15 lini de adresa =>

b) Spatiul de memorare pentru fiecare circuit?EPROM +RAM 0000H 7FFFHRAMP 8000H FFFFH

c) Harta Memoriei

A15A14A13A12A3A2A1A0

0001010101010101

1101010101010101

d) Schema

1. S se conecteze la un microcontroler 80C51 32 Ko memorie EPROM, 64 Ko memorie RAM i nc 32 Ko memorie RAM din care se poate executa i program. Se vor folosi circuite de 32 Ko. a) Cate lini de adresa folosim?32 Ko= => 15 lini de adresa =>

b) Spatiul de memorare pentru fiecare circuit?EPROM 0000H 7FFFHRAMP 8000H FFFFHRAM

c) Harta Memoriei

A15A14A13A12A3A2A1A0

0001010101010101

1101010101010101

d) Schema

1. S se conecteze la un microcontroler 80C51 64 Ko memorie EPROM, 32 Ko memorie RAM i nc 32 Ko memorie RAM din care se poate executa i program. Se vor folosi circuite de 32 Ko. a) Cate lini de adresa folosim?32 Ko= => 15 lini de adresa =>

b) Spatiul de memorare pentru fiecare circuit?EPROM 0000H 7FFFHRAMP+RAM 8000H FFFFH

c) Harta Memoriei

A15A14A13A12A3A2A1A0

0001010101010101

1101010101010101

d) Schema

1. S se conecteze la un microcontroler 80C51 32 Ko memorie EPROM, 64 Ko memorie RAM i nc 64 Ko memorie RAM din care se poate executa i program. Se vor folosi circuite de 32 Ko.

a) Cate lini de adresa folosim?32 Ko= => 15 lini de adresa =>

b) Spatiul de memorare pentru fiecare circuit?EPROM+RAM 0000H 7FFFH RAMP 8000H FFFFH

c) Harta Memoriei

A15A14A13A12A3A2A1A0

0001010101010101

1101010101010101

d) Schema

1. S se construiasc un program care s afieze pe LCD-ul LM016L, textul LCD. Cod:

18

org 0000MOV A,#38H ; initializare LCD 2 linii, matrice 5x7ACALL COMMAND ; apeleaza subrutina commandACALL DELAY ; apeleaza subrutina delayMOV A,#0EH ; comanda display on, cursor blinkingACALL COMMANDACALL DELAY

; secventa cod comanda Clear LCDMOV A,#01H ; comanda Clear LCDACALL COMMAND ; apel secventa COMMANDACALL DELAY ; apel secventa DELAY

; secventa cod comanda shift cursor rightMOV A,#06H ; comanda shift cursor rightACALL COMMAND ; apel secventa COMMANDACALL DELAY ; apel secventa DELAY

; secventa cod comanda cursorul la inceputul primei liniiMOV A,#80H ; comanda cursorul la inceputul primei liniiACALL COMMAND ; apel secventa COMMANDACALL DELAY ; apel secventa DELAY

MOV A,#'L' ;ACALL data1ACALL DELAY

MOV A,#'C' ;ACALL data1ACALL DELAY

MOV A,#'D' ;ACALL data1ACALL DELAY

HERE: JMP HERECOMMAND: MOV P3,A ; Trimite comanda la LCDCLR P2.4 ; RS=0 pentru comandaCLR P2.5 ; R/W=0 pentru scriereSETB P2.3; E=1 pentru puls HCLR P2.3 ; E=0 pentru puls H-to-LRET

data1: MOV P3,A ; Scrie data1 la LCDSETB P2.4 ; RS=1 pentru data1CLR P2.5 ; R/W=0 pentru scriereSETB P2.3 ; E=1 pentru puls HCLR P2.3 ; E=0 for H-to-L pulseRET

DELAY: MOV R2,#50D1: MOV R3,#0FFHD2: DJNZ R3,D2DJNZ R2,D1RETEND

1. S se construiasc un program care s afieze pe primul rnd al LCD-ului LM016L textul LCD, iar pe rndul urmtor LM016L.Desenul ca la problema 6. Cod:

org 0000

MOV A,#38H ; initializare LCD 2 linii, matrice 5x7ACALL COMMAND ; apeleaza subrutina commandACALL DELAY ; apeleaza subrutina delayMOV A,#0EH ; comanda display on, cursor blinkingACALL COMMANDACALL DELAY

; secventa cod comanda Clear LCDMOV A,#01H ; comanda Clear LCDACALL COMMAND ; apel secventa COMMANDACALL DELAY ; apel secventa DELAY

; secventa cod comanda shift cursor rightMOV A,#06H ; comanda shift cursor rightACALL COMMAND ; apel secventa COMMANDACALL DELAY ; apel secventa DELAY

; secventa cod comanda cursorul la inceputul primei liniiMOV A,#80H ; comanda cursorul la inceputul primei liniiACALL COMMAND ; apel secventa COMMANDACALL DELAY ; apel secventa DELAY

MOV A,#'L' ;ACALL data1ACALL DELAY

MOV A,#'C' ;ACALL data1ACALL DELAY

MOV A,#'D' ;ACALL data1ACALL DELAY

; secventa cod comanda cursorul la inceputul primei liniiMOV A,#0C0H ; comanda cursorul la inceputul primei liniiACALL COMMAND ; apel secventa COMMANDACALL DELAY ; apel secventa DELAY

MOV A,#'L' ;ACALL data1ACALL DELAY

MOV A,#'M' ;ACALL data1ACALL DELAY

MOV A,#'0' ;ACALL data1ACALL DELAY

MOV A,#'1' ;ACALL data1ACALL DELAY

MOV A,#'6' ;ACALL data1ACALL DELAY

MOV A,#'L' ;ACALL data1ACALL DELAY

HERE: JMP HERECOMMAND: MOV P3,A ; Trimite comanda la LCDCLR P2.4 ; RS=0 pentru comandaCLR P2.5 ; R/W=0 pentru scriereSETB P2.3 ; E=1 pentru puls HCLR P2.3 ; E=0 pentru puls H-to-LRET

data1: MOV P3,A ; Scrie data1 la LCDSETB P2.4 ; RS=1 pentru data1CLR P2.5 ; R/W=0 pentru scriereSETB P2.3 ; E=1 pentru puls HCLR P2.3 ; E=0 for H-to-L pulseRET

DELAY: MOV R2,#50D1: MOV R3,#0FFHD2: DJNZ R3,D2DJNZ R2,D1RET

END

1. S se realizeze comanda motorului pas cu pas unipolar n regim de semipas (schem + cod C + cod asamblare + comentarii) a) Schemab) Cod C

#include#define stepper P1void delay();void main(){while(1){stepper= 0x08;delay;stepper = 0x0C;delay();stepper=0x04;delay();stepper=0x06;delay();stepper=0x02;delay();stepper=0x03;delay();stepper=0x01;delay();stepper=0x09;delay();}}void delay(){unsigned char i,j,k,l;for(i=0;i