Sei sulla pagina 1di 2

Fig.

1 - Fluxograma

Microprocessadores e
Microcontroladores - Avaliao E1-U1

Prof G. Brelaz
UnP Eng. de Computao

Aluno.: _____________________________________________________
Turma: _____________ Data: _____/ _____/ _____

1. A Listagem 1 apresenta um programa que controla o brilho de um LED


atravs da variao do ciclo de trabalho (controle PWM) de um pino de
sada do 8051 em um kit de desenvolvimento.
A Fig.1 apresenta o fluxograma correspondente codificao e a Fig.2
mostra o circuito do Kit8051
As variveis (registradores) utilizadas so informadas no cabealho da
listagem. Complete as linhas de programao nos locais reservados com as
instrues, valores ou labels conforme necessrio. (7,0)

2. Qual a necessidade da instruo comentada como "Questo 2"? O que


ocorre se ela no for usada? (1,0)
__________________________________________________________
__________________________________________________________
Fig. 2- Hardware
3. Para que servem as instrues comentadas como "Questo 3"? O que
ocorreria se elas fossem retiradas do programa?(1,0)
__________________________________________________________
__________________________________________________________

4. Qual a utilidade das instrues comentadas como "Questo 4" para o


usurio? O que elas informam? (1,0)
__________________________________________________________
__________________________________________________________

Responda de forma curta e objetiva. Use apenas as linhas reservadas.


Respostas em grafite no sero consideradas.

Listagem 1

LOOP:

SETB

P2.6

; PROGRAMA EXP04 - KIT8051

SETB

P2.7

; Gera controle PWM na porta P2.0

MOV

R4,

#40h

;________________

; Controle pelos botoes S1 (P1.0) e S2 (P1.1)

JNB

P1.0,

DECR

;decrementa?

; Quando acionados ligam Led7 (P2.7) e Led6 (P2.6)

JNB

P1.1,

INCR

;incrementa?

TEMP:

DJNZ

R5,

;_Questo 3

; Frequencia PWM: 100Hz(aprox.)

DJNZ

R4,

$-2

;_Questo 3

; Ciclo de Trabalho: 1 a 100% de 1 em 1%

SJMP

LOOP

CLR

P2.6

CJNE

R6,

; --------------------------------------------

SJMP

TEMP

; R7=variavel PWM R6=SetPoint

; Temporizadores:

INCR:

TC0

; VETOR RESET
DEFSEG

SgABS,

SEG

SgABS

JMP

INICIO

ABSOLUTE
DECR:

TINT0:

0Bh

MOV

A,

DJNZ
DLG:

LIGA:
SAI:

R7,

R7
DLG

R6

;________________

TEMP

CLR

_______

; _Questo 4
;

INC

R6

;________________

;_Questo 2.

SJMP

TEMP

;-1 foram 100?

END

LIGA

;sim, vai ligar


;

SUBB

A,

JNZ

SAI

;no, retorna

SETB

P2.0

;sim, apaga LED

SJMP

SAI

;no, retorna

CLR

P2.0

MOV

R7,

;setpoint?

;100, liga LED


;reinicia 100
;ret da int

;
INICIO:

DEC
SJMP

TEMP

RETI

;limita em 1

R6,

SJMP

#_____h

$+5

CJNE

CLR

R6

;_Questo 4
#01h,

SJMP

;rot inicial

; INT TIMER 0
ORG

MOV

R7,

#_____h

;inicia com 100

MOV

R6,

#_____h

;setpoint=50%

MOV

IE,

#_____h

;habilita IRq TC0

MOV

TMOD,

#_____h

;TC0 no modo 2

MOV

TL0,

#_____h

;com valor 156

MOV

TH0,

#_____h

;para T=100us

SETB

______

;habilita TC0

#_____h, $+_____ ;limita em 99

Potrebbero piacerti anche