Escolar Documentos
Profissional Documentos
Cultura Documentos
Cap 04
Cap 04
Prentice Hall
Microcontroladores 8051
Captulo 4
Estratgias de elaborao de programas Fluxogramas Programas Simples:
Nome do programa Definio das condies iniciais Processamento Definio da sada do resultado Fim do programa
Prentice Hall
Microcontroladores 8051
Captulo 4
Nome do programa Definio das condies iniciais Processamento
sim: a condio foi satisfeira Bloco de tomada de deciso (?). Teste de uma varivel. no: a condio no foi satisfeita
Controle do loop
Fim do programa
Prentice Hall Microcontroladores 8051 3
Captulo 4
Exemplo de um programa simples:
Endereo 45h 5Ah 6Dh RAM Interna Contedo XXh + YYh
SOMA
Programa Fonte MOV A,45h MOV R0,5Ah ADD A,R0 MOV 6Dh,A Figura 8: Programa de adio usando a instruo ADD A,Rn.
Microcontroladores 8051 4
FIM
Prentice Hall
Captulo 4
SOMA
Programa Fonte
MOV A,45h ADD A,5Ah MOV 6Dh,A
Programa Fonte
Captulo 4
Exemplo de programa com loop:
RAM Interna Contedo XXh : : YYh qte de ns < 38h 1Bh elementos a serem analisados
endereo final
Figura 11: Desenho em forma de rascunho para ajudar no entendimento do que est sendo solicitado.
Prentice Hall
Microcontroladores 8051
Captulo 4
Num < 38h
(R0)#60h (R1)#1Bh (7BH)#00h
Figura 12: Fluxograma que calcula a quantidade de nmeros menores que 38h de um buffer de memria.
S
(C)=0 ? [(A)#38h ?]
N
(7Bh)(7Bh)+1 (R0)(R0)+1
(R1)(R1)-1 (R1)0 ?
N
Prentice Hall Microcontroladores 8051
FIM
Captulo 4
; Inicio do programa que calcula a qte de elementos < #38h MOV R0,#60h ;Endereo inicial do buffer de memria MOV R1,#1Bh ;Quantidades de elementos do buffer de memria MOV 7Bh,#00 ;Zera o contador que armazena a qte de num < #38h ADR2: CLR C ;Limpa o contedo do carry-bit MOV A,@R0 ;Armazena no (A) um elemento do buffer SUBB A,#38h ;Subtrai o (A) da constante #38h e define o flag (C) JNC ADR1 ;Se (C)=0 (A>=#38h) => (PC)=ADR1 [no soma um no (7Ah)] INC 7Bh ;Se (C)=1 (A<#38h), soma um no (7Bh) ADR1: INC R0 ;Aponta para a prxima posio de memria a ser analisada DJNZ R1,ADR2 ;Se a qte de elementos a serem analisadas 0, ento salta para ADR2 END ;Termina o programa se (R1)=0.
Prentice Hall
Microcontroladores 8051