Capítulo 4

8
Prentice Hall Microcontroladores 8051 1 Capítulo 4 Capítulo 4 Fluxograma e programação em Fluxograma e programação em “Assembly” aplicados a família de “Assembly” aplicados a família de microntroladores MCS-51 da Intel microntroladores MCS-51 da Intel

description

Capítulo 4 Fluxograma e programação em “Assembly” aplicados a família de microntroladores MCS-51 da Intel. Nome do programa. Definição das condições iniciais. Figura 5 : Representação típica de um fluxograma de uma rotina de um programa simples. Processamento. Definição da saída do resultado. - PowerPoint PPT Presentation

Transcript of Capítulo 4

Page 1: Capítulo 4

Prentice Hall Microcontroladores 8051 1

Capítulo 4Capítulo 4

Fluxograma e programação em Fluxograma e programação em “Assembly” aplicados a família “Assembly” aplicados a família de microntroladores MCS-51 da de microntroladores MCS-51 da

IntelIntel

Page 2: Capítulo 4

Prentice Hall Microcontroladores 8051 2

Capítulo 4Capítulo 4 Estratégias de elaboração de programas Fluxogramas Programas Simples:

Nome do programa

Processamento

Fim do programa

Definição das condições iniciais

Definição da saída do resultado

Figura 5: Representação típica de um fluxograma de uma rotina de um programa simples.

Page 3: Capítulo 4

Prentice Hall Microcontroladores 8051 3

Capítulo 4 Capítulo 4

Figura 6: Representação típica de um fluxograma de uma rotina de um programa com loop.

Nome do programa

Processamento

Fim do programa

Definição das condições iniciais

Definição da saída do resultado

Bloco de tomada de decisão (?). Teste de uma

variável.

Se o teste for falso: processamento de certas informações (toma-se decisão)

não: a condição não foi satisfeita

sim: a condição foi satisfeira

Controle do loop

Page 4: Capítulo 4

Prentice Hall Microcontroladores 8051 4

Capítulo 4Capítulo 4Exemplo de um programa simples:

RAM InternaEndereço Conteúdo

45h XXh +

5Ah YYh

6Dh

SOMA

(A) (45h)(R0) (5Ah)

(A) (A) + (R0)(6Dh) (A)

FIM Figura 8: Programa de adição usando a instrução ADD A,Rn.

Programa Fonte

MOV A,45h MOV R0,5Ah ADD A,R0 MOV 6Dh,A

Page 5: Capítulo 4

Prentice Hall Microcontroladores 8051 5

Capítulo 4Capítulo 4

SOMA

(A) (45h)(R0) #5Ah

(A) (A) + ((R0))(6Dh) (A)

FIM Figura 10: Programa de adição usando a instrução ADD A,@Ri.

Programa Fonte

MOV A,45h MOV R0,#5Ah ADD A,@R0 MOV 6Dh,A

Figura 9: Programa de adição usando a instrução ADD A,direct.

SOMA

(A) (45h) (A) (A) + (5Ah)

(6Dh) (A)

FIM

Programa Fonte

MOV A,45h ADD A,5Ah MOV 6Dh,A

Page 6: Capítulo 4

Prentice Hall Microcontroladores 8051 6

Capítulo 4Capítulo 4Exemplo de programa com Exemplo de programa com looploop::

RAM InternaEndereço Conteúdo

endereço inicial 60h XXh 1Bh elementos: : a serem: : analisados

endereço final 7Ah YYh7Bh qte de n s < 38h

Figura 11: Desenho em forma de rascunho para ajudar no entendimento do que está sendo solicitado.

Page 7: Capítulo 4

Prentice Hall Microcontroladores 8051 7

Capítulo 4 Capítulo 4 Num < 38h

(R0)#60h(R1)#1Bh

(7BH)#00h

(C)#0b(A)((R0))

(A)(A)-(C)-#38h

(C)=0 ?[(A)#38h ?]

(7Bh)(7Bh)+1

(R1)(R1)-1(R1)0 ?

N

S

S

FIM

N

(R0)(R0)+1

Figura 12: Fluxograma que calcula a quantidade de números menores que 38h de um buffer de memória.

Page 8: Capítulo 4

Prentice Hall Microcontroladores 8051 8

Capítulo 4 Capítulo 4

; Inicio do programa que calcula a qte de elementos < #38hMOV R0,#60h ;Endereço inicial do buffer de memóriaMOV R1,#1Bh ;Quantidades de elementos do buffer de memóriaMOV 7Bh,#00 ;Zera o contador que armazena a qte de num < #38h

ADR2: CLR C ;Limpa o conteúdo do carry-bitMOV A,@R0 ;Armazena no (A) um elemento do bufferSUBB A,#38h ;Subtrai o (A) da constante #38h e define o flag (C)JNC ADR1 ;Se (C)=0 (A>=#38h) => (PC)=ADR1 [não soma um no (7Ah)]INC 7Bh ;Se (C)=1 (A<#38h), soma um no (7Bh)

ADR1: INC R0 ;Aponta para a próxima posição de memória a ser analisadaDJNZ R1,ADR2 ;Se a qte de elementos a serem analisadas é 0, então salta para ADR2END ;Termina o programa se (R1)=0.