Microcontrolador PIC 16F877

Documentos relacionados
Microcontrolador PIC 16F877

Arquitetura de Computadores. Prof. João Bosco Jr.

Sistemas Microcontrolados. Período Aula 4. 1 Saulo O. D. Luiz

5. Conjunto de Instruções do MCU PIC

Introdução aos Microcontroladores PIC

Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná

PIC. PeripheralInterface Controller. Prof. EngºespLuiz Antonio Vargas Pinto Prof. Vargas

Curso PIC 1 Desbravando o PIC. Eng. Diego Camilo Fernandes Labtools Mosaico Didactic Division

Acetatos de apoio às aulas teóricas

1.1. Microprocessadores e microcontroladores Sistemas genéricos e sistemas dedicados. 2. Microcontrolador PIC:

01. Identifique o conjunto de portas de entrada A e o conjunto de portas B na figura abaixo.

Registros do 16F628A. Prof. Luiz Antonio Vargas Pinto Prof. Vargas

ARQUITETURA DE PROCESSAMENTO

BANKSEL ADCON1 clrf ADCON1 bsf ADCON1,ADFM ; seta AD para VCC, GND e entradas analogicas, setando o bit ADFM configura como justificado a direita

MICROCONTROLADORES PIC PRIMEIROS PASSOS

DOUGLAS DAL POZZO DIEGO VITTI

Introdução à Organização de Computadores. Aula 8

Aula 4 Conjunto de Instruções do Microprocessador 8085 Grupo Aritmético

PIC16F628a. Pinagem do PIC16F628a:

Plano de Trabalho Docente 2017 Ensino Técnico

SEMINÁRIO ASSEMBLY: Arquitetura PIC

MICROCONTROLADORES - PIC 16F84/16F84A/16F628/16F628A

Programação Daniel Corteletti Aula 3 Parte III Página 1/7

Índice. Dia 05 de fevereiro de Apresentação Dia 12 de fevereiro de

CONJUNTO DE INSTRUÇÕES

Conjunto de Instruções e Modelos de Arquiteturas

Sequencial Supermáquina (TEMPORIZAÇÃO SIMPLES)

SEL0338 Tópicos Especiais em Sistemas Digitais

Utilize o programa fonte em linguagem assembly abaixo para responder as questões seguintes.

Índice. Dia 05 de fevereiro de Apresentação Dia 12 de fevereiro de

José Augusto Fabri. Assembly Básico

1. Microcontrolador PIC. 1.1 Introdução

Disciplina: Arquitetura de Computadores

2.5 - Instruções Lógicas do ULA

7. Técnicas de Programação

Sistemas Microcontrolados

Neander - características

Conjunto de Instruções e Modelos de Arquiteturas

1.1 Noções básicas sobre interrupções em Microcontroladores

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios

Interrupção Externa. Capítulo 1. Noções básicas sobre interrupções em Microcontroladores PIC

6. Estrutura do Programa em Assembly

Construção de Robôs Jogadores de Futebol (2ª Parte)

Organização de Computadores

Interrupção. Prof. Adilson Gonzaga

Prof. Adilson Gonzaga

Microprocessadores. Cap. 4 Assembly

Microprocessadores. Organização de Memória

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

Sistemas Microprocessados. sato<at>utfpr<dot>edu<dot>br

MÓDULO. Conjunto de Instruções do 8086/88 Aritméticas, lógicas, deslocamento e rotação M 02

Assembly Sintaxe do Assembly. Instruções que afectam Flags. Aplicações de Microprocessadores 2006/2007

Curso de Programação PIC Prof. Msc. Engº Getúlio Teruo Tateoki

MODELAGEM DO PIC16F84 PARA PROJETO DE SISTEMAS EMBUTIDOS BASEADOS EM MICROCONTROLADOR

Aula 14 Funcionamento de Processadores (Visão específica)

FACULDADE LEÃO SAMPAIO

Marcelo Fernandes Valter Rodrigues de Jesus Junior. Thermal Control

PIC16F84 Profº MSc.Engº Getúlio Teruo Tateoki

Prof. Adilson Gonzaga

SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES

Temporização Interrupções. Prof: Evandro L. L. Rodrigues. Rotinas de Atraso

Aula 10 Microcontrolador Intel 8051 Parte 2

Microprocessadores 1º Ano - LECOM. Universidade do Minho Dept. De Electrónica Industrial

SEL-614 MICROPROCESSADORES E APLICAÇÕES. Adilson Gonzaga

Arquitetura de Computadores Conceitos Fundamentais. Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016

Fundamentos de Microprocessadores 2006/2007 1º Ano Eng. Electrotécnica (Bolonha) 1º Exame (14/07/2007)

ELE Microprocessadores I

Estrutura Básica de um Computador

A arquitectura IA32. A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador.

Símbolos e abreviaturas utilizadas na descrição das instruções

Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina. Temporização Interrupções Rotinas de Atraso

29/03/2017. Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina

MEC MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DO ESPÍRITO SANTO

7. PROGRAMANDO O MICROCONTROLADOR. Microcontroladores - Prof: Demantova

C:\seminario\guiao_aluno\trab9\trab9p2\trab9VoltUart.asm

Departamento de Sistemas de Computação - SSC. Sistemas Digitais. 2 o Semestre Projeto CPU. Data da apresentação: 26/27 de outubro

Microprocessadores 1º Ano - LECOM

Organização e Arquitetura de Computadores INTRODUÇÃO

Fundamentos de Microprocessadores ENGENHARIA ELECTROTÉCNICA

Departamento de Sistemas de Computação - SSC. SSC-110 Elementos de lógica digital I SSC-111 Laboratório de elementos de lógica digital I.

Disciplina de. Organização de Computadores Digitais

UM COMPILADOR PORTUGOL-ASSEMBLY PARA MICROCONTROLADOR

Sistemas Digitais e Microcontrolados

Programação de Microprocessadores. Programação de Microprocessadores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Sistemas de Computação. Seção Notas. Endereçamento de Memória. Notas. Oitava Aula. Haroldo Gambini Santos. 3 de setembro de 2009.

PRÁTICAS. Microcontroladores: (LT36D) Prof: DaLuz. Práticas - 2º sem Microcontroladores LT36D - 26/04/ :56 1/16

UNIVERSIDADE FEDERAL DE SÃO JOÃO DEL-REI - UFSJ DEPARTAMENTO DE ENGENHARIA ELÉTRICA - DEPEL INTRODUÇÃO AOS MICROCONTROLADORES PIC

Arquitetura de Computadores. Ciclo de Busca e Execução

Fundamentos de Microprocessadores ENGENHARIA ELECTROTÉCNICA

Placa McLab1 Upgrade PIC16F84A p/ PIC16F62x

Professor: Dr. Rogério Rodrigues de Vargas.

CAPÍTULO 2 MICROCONTROLADOR PIC16F84 CAPÍTULO INTRODUÇÃO CISC, RISC APLICAÇÕES

Curso de Microcontroladores PIC 16F84A

As 5 partes fundamentais. Linguagem de Programação Pinagem Características Elétricas Ambiente de Desenvolvimento Integrado - IDE

C:\seminario\guiao_aluno\trab6\trab6.asm

MICROCONTROLADORES. PIC16F87x

Universidade de São Paulo

ção de Computadores I

OMPLAB é um programa para PC, que roda sobre a

Universidade Federal de Uberlândia Faculdade de Computação. Representação e aritmética binária

Transcrição:

Microcontrolador PIC 16F877 Parte 2 Instruções de ADD, SUB e DECF

Instruções Aritméticas (ADD) : ADDLW k Descrição: Soma uma constante k é somada com W Operação: w = w + k Limites: 0 a 255 Nro de Ciclos: 1 Registros afetados: C, DC e Z (STATUS) MOVLW.10 W = 10 ADDLW.19 w = 10 + 19 = 29 EX: Sabendo que media vale 10 implemente a seguinte equação Valor = 3 + media

EX: Sabendo que media vale 10 implemente a seguinte equação Valor = 3 + media MOVLW.10 ; w = 10 MOVWF media ; media = w = 10 (está na memória) ADDLW.3 ; w = w + 3 = 10 + 3 = 13 MOVWF Valor

Instruções Aritméticas (ADD) : ADDWF f,d Descrição: Valor de W é somado com o valor de f e é armazenado em d. Se d=0 resultado em W Se d=1 resultado em f Se d for omitido assume-se 1 como valor default. Operação: d = w + f Limites: 0 a 127 Nro de Ciclos: 1 Registros afetados: C, DC e Z (STATUS) MOVLW.10 w = 10 MOVWF AUX AUX = w = 10 MOVLW.19 w = 19 ADDWF AUX,0 w = w + AUX = 19 + 10 = 29 ADDWF AUX,1 AUX = w + AUX = 29 + 10 = 39

Microcontrolador PIC 16F877 Registradores de função Especial STATUS (03h, 83h, 103h e 183h) mostra o estado a ULA Bit7 Seleciona banco de memória p/ endereçamento indireto BIT6..5 Selecionam banco de memória para endereçamento direto 00 Bank0 01 Bank1 10 Bank2 11 Bank 3 Bit4 Indica que houve um estouro do Watchdog timer (WDT) 1 = depois da energização 0 = ocorreu estouro do WDT Bit3 0 = indica que está no modo de baixo consumo SLEEP Bit2 Flag de zero Z 0 = a última operação realizada na ULA não foi zero 1 = a última operação realizada na ULA foi zero Bit1 Carry/Borrow ou estouro de nibble na ultima operação da ULA. 1 = indica que houve estouro de nibble (bit3) Bit0 Carry ou estouro de byte na ultima operação da ULA. 1 = indica que houve estouro de byte (bit 7)

Exemplo de Instruções de dados (MOV e ADD): Código em C NA = 3; NB = 6; NC = 4; Soma = NA+NB+NC Código em Assembler MOVLW.3 w = 3 MOVWF NA NA = w MOVLW.6 w = 6 MOVWF NB NB = w MOVLW.4 w = 4 MOVWF NC NC = 4 MOVF NA,w w = NA (3) ADDWF NB,w w = w + NB (w = 3+6 = 9) ADDWF NC,w w = w + NC (w = 9+4 = 13) MOVWF SOMA SOMA = w (SOMA = 13)

Exemplo de Instruções de dados (MOV e ADD): Exercício : Escrever o seguinte código NA = 2 NB = 3 NC = 7 ND = 1 Soma = NA + NC Soma2 = NB + ND Total = Soma + Soma2

Instruções Aritméticas (SUB) : SUBLW k Descrição: Subtrai o W de uma constante k Operação: w = k - w Limites: 0 a 255 Nro de Ciclos: 1 Registros afetados: C, DC e Z (STATUS) MOVLW.10 W = 10 SUBLW.19 W = 19 10 = 9 MOVWF valor valor = W = 9 ADDWF valor valor = W + valor = 9 + 9 = 18 SUBLW.1 W = 1-9 = 248 (-8) 256 8 = 248 Atenção verificar o carry do status

Microcontrolador PIC 16F877 Registradores de função Especial STATUS (03h, 83h, 103h e 183h) mostra o estado a ULA Bit0 Carry ou estouro de byte na ultima operação da ULA. 0 = indica que não houve um estouro 1 = indica que houve estouro de byte (bit 7) No caso da função SUB o Carry trabalha com a lógica invertida: 0 = Negativo o resultado 1 = Positivo o resultado

Instruções Aritméticas (SUB) : MOVLW.10 W = 10 SUBLW.19 W = 19 10 = 9 c = 1 MOVWF valor valor = W = 9 ADDWF valor valor = W + valor = 9 + 9 = 18 SUBLW.1 W = 1-9 = 248 (-8) c = 0 256 8 = 248 SUBLW.240 W = 240 248=248 (-8) c = 0 ADDLW.20 W = 248 + 20 = 12 (268 256) NOP NOP C = 0 indica que o resultado foi negativo

Instruções Aritméticas (SUB) : SUBWF f,d Descrição: Subtrai W do valor de f, colocando o resultado em d. Operação: d = f - w Se d=0 w = f - w Se d=1 f = f - w Se d for omitido assume-se 1 como valor default. Nro de Ciclos: 1 Registros afetados: C, DC e Z (STATUS) MOVLW.10 W = 10 MOVWF AUX AUX = 10 MOVLW.19 W = 19 SUBWF AUX,0 W = 10-19 = 247 (-9) 256-9 (C=0) SUBWF AUX,1 AUX = 10 247 = 19 (-237) 256-237 = 19(C=0)

Exemplo de Instruções de dados (MOV e SUB): NA = 10 NB = 20 RES = NB - NA Código em Assembler MOVLW.10 w = 10 MOVWF NA NA = w MOVLW.20 w = 20 MOVWF NB NB = w MOVF NA,w w = NA SUBWF NB,w w = NB - w MOVWF RES RES = w??????

Exemplo de Instruções de dados (MOV, ADD e SUB ): Exercício : Escrever o seguinte código NA = 2 NB = 3 NC = 7 ND = 1 Soma= NA - NC - ND + NB Soma2= NB + ND Total = Soma + Soma2

Instruções aritmética: (DEC) DECF f,d Descrição: Decrementa em uma unidade o registro da posição de memória f. O resultado é guardado no conforme o destino d (0=W e 1=f). Operação: d = f - 1 Nro de Ciclos: 1 Registros afetados: Z (STATUS) MOVLW.2 W = 2 MOVWF AUX AUX = W = 2 DECF AUX,W W = AUX 1 = 2 1 = 1 SUBLW.1 W = 1 - W = 1 1 = 0

Instruções de Salto (DEC E GOTO): DECFSZ f,d Descrição: Decrementa (DEC) o registro f em uma unidade guardando o resultado no destino d (W ou F), e salta se ele for zero (Z). O teste é realizado após o decremento. Operação: d = f - 1 Nro de Ciclos: 2 Registros afetados: Nenhum INICIO: MOVLW.100 W = 100 MOVWF AUX AUX = w = 100 LOOP: DECFSZ AUX,1 AUX = AUX 1 = 100 1 até 0 GOTO LOOP Se não for zero vai para loop Se for Zero, pula próxima linha MOVLW 0x44 W = 44h = 68 GOTO INICIO Volta para posição INICIO.