1 / 13

Capítulo 5

Capítulo 5 Sub-rotinas e Estruturação da Linguagem de Programação “Assembly” aplicadas a família de microcontroladores MCS-51 da Intel. Capítulo 5. Definição de sub-rotina Programa Principal : instrução 1 : instrução N

candy
Download Presentation

Capítulo 5

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Capítulo 5Sub-rotinas e Estruturação da Linguagem de Programação “Assembly” aplicadas a família de microcontroladores MCS-51 da Intel Microcontroladores 8051

  2. Capítulo 5 • Definição de sub-rotina Programa Principal: • instrução 1 • : • instrução N • rotina que calcula uma expressão matemática(tamanho de 60 bytes, por exemplo) • instrução N+1 • : • instrução M • rotina que calcula uma expressão matemática(tamanho de 60 bytes, por exemplo) • instrução M+1 • : • instrução O • rotina que calcula uma expressão matemática(tamanho de 60 bytes, por exemplo) • etc… • END Microcontroladores 8051

  3. Capítulo 5 Sub-rotina: End1: sub-rotina que calcula uma expressão matemática (tamanho de 60 bytes, por exemplo) RET Programa Principal: ProgP: instrução 1 : instrução N Chamada a sub-rotina que calcula uma expressão matemática (ACALL end1/LCALL end1 – 2 ou 3 bytes) instrução N+1 : instrução M Chamada a sub-rotina que calcula uma expressão matemática (ACALL end1/LCALL end1 – 2 ou 3 bytes) instrução M+1 : instrução O Chamada a sub-rotina que calcula uma expressão matemática (ACALL end1/LCALL end1 – 2 ou 3 bytes) etc… END Microcontroladores 8051

  4. Capítulo 5 Área de memória de programa 1; Área de Memória de Programa das "Sub-rotinas" ; Sub-rotina 1: endereço inicial da sub-rotina 1: instrução 1 : instrução N RET ; Sub-rotina M: endereço inicial da sub-rotina M: instrução 1 : instrução N RET Área de memória de programa 2; Área de Memória de Programa do “Programa Principal” endereço inicial do programa principal: instrução 1 : ;chamada a "sub-rotina 1" ACALL/LCALL endereço inicial da sub-rotina 1 ;chamada a "sub-rotina 2" ACALL/LCALL endereço inicial da sub-rotina 2 : ;chamada a "sub-rotina M" ACALL/LCALL endereço inicial da sub-rotina M ; instrução K END Microcontroladores 8051

  5. Capítulo 5 • Vantagens da utilização de sub-rotinas: • Princípio de funcionamento de uma sub-rotina: • Mas, como uma sub-rotina fisicamente é executada pelo microprocessador ? • Pilha (LIFO – Last-In, First-Out) RAM Endereço Conteúdo 07h ((SP))  (SP) = 07h 08h : Cresce  Decresce : 7Fh Figura 4: Representação esquemática da pilha (LIFO) após um sinal de reset. Microcontroladores 8051

  6. Capítulo 5 Microcontroladores 8051

  7. Capítulo 5 Microcontroladores 8051

  8. Capítulo 5 Microcontroladores 8051

  9. Estruturação da Linguagem Assembly Descrição e Definição das Sub-rotinas Início do programa: Inicialização das variáveis e programação do hardware Loop do programa principal: - processamento/instruções de chamadas a sub-rotinas; - instrução de "jumper" incondicional para o início do Loop do programa principal (gerenciamento e controle de 24 horas por dia). Capítulo 5 Microcontroladores 8051

  10. Capítulo 5 Microcontroladores 8051

  11. Capítulo 5 • Metodologia sistemática de implementação de projeto de programa; • Para um projeto completo constituído de muitas funções ou tarefas, a solução é facilmente implementada através da divisão do projeto completo em pequenos módulos (simples sub-rotinas) que são responsáveis por tarefas específicas e bem definidas; • Tempo de implementação é extremamente reduzido, pois somente é necessário definir as diferentes tarefas (sub-rotinas) que o projeto deve executar e essas tarefas devem ser chamadas no loop do programa principal de forma organizada e seqüencial; • Alta confiabilidade na implementação das sub-rotinas; • Tempo de desenvolvimento reduzido; • Tempo de simulação reduzido; • Tempo de emulação reduzido; • Tempo de manutenção reduzido; • Projeto modular; • Flexibilidade na implementação de novas características ao produto final através da inserção e retiradas dos módulos que compõem o projeto do programa; • Inserção dos módulos já implementados em bibliotecas de sub-rotinas. Na implementação de novos projetos as mesmas podem ser utilizadas imediatamente; • Fácil manutenção pois quando ocorrer um problema, o mesmo pode ser diretamente analisado na sua respectiva sub-rotina. Microcontroladores 8051

  12. SUB1: Qte de Nums = FFh (R0)#60h (R1)#05h (65h)#00h Programa Principal (C)#0b (A)((R0)) (A)(A)-(C)-#0FFh (PSW)  #00h (SP)  #70h Chama sub-rotina SUB1 S (A)0 ? [(A) #0FFh ?] N Fim (65h)(65h)+1 (R0)(R0)+1 S (R1)(R1)-1 (R1)0 ? N RET Capítulo 5 Microcontroladores 8051

  13. Capítulo 5 Microcontroladores 8051

More Related