• Nenhum resultado encontrado

MCLP 02 Conceitos Básicos

N/A
N/A
Protected

Academic year: 2021

Share "MCLP 02 Conceitos Básicos"

Copied!
52
0
0

Texto

(1)

Microcontroladores e CLPs

Engenharia da Computação

Conceitos Básicos

Edna Mie Kanazawa

ekanazawa@gmail.com

(2)

Conteúdo Programático

Teoria

– Fundamentos e arquitetura interna do

microcontrolador núcleo 8051. Utilização dos registradores de dados, registradores de

endereços (internos e externos) e flags.

– Estudo do Sistema de Memória. Espaços de endereçamento. Banco de Registradores especiais.

– Estudo dos Modos de Endereçamento. Conjunto de Instruções e Registradores de Funções

(3)

Teoria

– Instruções de transferência, lógicas, booleanas e aritméticas. Instruções de saltos condicionais e incondicionais. Algoritmos especiais para

operações aritméticas. Exercícios com estruturas de repetição.

– Utilização de Sub-rotinas e da Pilha.

– Análise da funcionalidade das Portas de entrada e saída paralelas. Aplicações com Portas de E/S.

(4)

Teoria

– Timers/Contadores e interface serial.

– Tratamento de Interrupção, modos e tipos. Aplicações usando Interrupções.

– Sistemas a reles e lógica de intertravamento. Controle sequencial com lógica de

intertravamento.

– Automação de Processos Industriais: aspectos da programação dos controladores programáveis.

(5)

Teoria

– Fundamentos de Linguagem C para microcontroladores.

– Análise de aplicabilidade das estruturas de seleção e repetição.

– Funcionalidade dos tipos de dados.

Implementação de funções com atendimento a interrupções.

(6)

Prática

– Análise do tutorial Instalador para simulador RIDE_8051

– Estudo da arquitetura interna do

microcontrolador 8051 (registradores disponíveis) e dos modos de endereçamento, utilizando o

software RIDE.

– Exercício sobre instruções aritméticas utilizando o

software RIDE.

– Exercício sobre instruções lógicas e de desvio utilizando o software RIDE.

(7)

Prática

– Exercício sobre instruções booleanas e uso de sub rotina, utilizando o software RIDE.

Exercício sobre manipulação de dados em

memória (interna e externa), utilizando o software RIDE.

– Utilização do kit didático Datapool ativando as portas de entrada/saída com chave e led.

Utilização do kit Datapool utilizando o teclado e as rotinas disponíveis no firmware.

(8)

Prática

Implementação de uma calculadora simples de 4 bits.

– Utilização do kit Datapool para implementação de contador decimal up-down de 8 bits por software (00 a 99 e 99 a 00) usando barra de leds.

– Utilização do kit Datapool para implementação de contador decimal up-down de 4 bits por hardware (0 a 9 e 9 a 0) usando CI 4518, decoder 9368 e

(9)

Prática

– Utilização do kit Datapool para implementação de

Timer de um segundo.

– Utilização do kit Datapool para comunicação serial com padronização RS232.

– Programação em Linguagem C para simulador RIDE_8051.

– Implementação de contador hexadecimal de 8 bits.

(10)

Bibliografia Básica

ZELENOVSKY, R.; MENDONÇA, A. Programação e

projeto com a família 8051. MZ, 2005, ISBN:

85-87385-12-7

NICOLOSI, D. E. C. Microcontrolador 8051 detalhado. Érica, 2000. ISBN 85-7194-721-X.

NICOLOSI, D. E. C.; BRONZERI, R. B. Microcontrolador

8051 com linguagem C. Érica, 2005. ISBN:

(11)

Bibliografia Complementar

NICOLOSI, D. E. C. Laboratório de microcontrolador família 8051. Érica,

2002, ISBN 85-7194-871-2.

GIMENEZ, S. P. Microcontroladores 8051. Prentice-Hall do Brasil, 2005, ISBN: 8587918281

CARNEIRO, K. P. M.; MOKARZEL, M. P. Internet embedded para

microcontroladores. Érica, 2004, ISBN: 85-365-0042-5

PRUDENTE, F. Automação industrial - PLC: teoria e aplicações. LTC, 2007. STALLINGS, W. Arquitetura e organização de computadores. Editora

Prentice Hall, 2002.

(12)

Conceitos Básicos

Bit – Abreviação de Dígito Binário em Inglês

(BInary digiT), que corresponde ao valor zero

(0) lógico ou ao valor um (1) lógico.

Byte – Representação numérica composta de

8 Bits. Pode representar números de 00h (0) a

FFh (255).

Informação Binária – conjunto formado por 1

ou mais Bytes.

(13)

Notação Hexadecimal - Notação para números

binários que utilizam 16 dígitos (0 a 9,

A,B,C,D,E,F) para representar um número

binário de 4 Bits. Assim, as 16 combinações

possíveis de 4 Bits são escritas com os dígitos

hexadecimais.

Uma letra h é usada para denotar que o

número escrito está em hexadecimal (Ex: 00h ,

3Fh)

(14)

• Registrador – conjunto de Flip-flops, geralmente do tipo D, que são interligados em paralelo. São responsáveis pelo armazenamento de uma informação binária.

• Dependendo do número de Flip-flops interligados, podem armazenar – 8 Bits (= 1 Byte), – 16 Bits (= 2 Bytes), – 32 Bits (= 4 Bytes), – 64 Bits (= 8Bytes) ou – 128 Bits (= 16 Bytes).

• Os registradores são memórias voláteis, ou seja, quando desenergizados perdem seu conteúdo.

(15)

Memória – local de armazenamento de

Informações Binárias.

Pode ser formada por circuitos

semicondutores, mídias magnéticas, mídias

ópticas, etc...

De certa forma, um Registrador pode ser

considerado uma memória que armazena

apenas uma informação binária por vez.

(16)

Computador – Unidade de processamento

que executa Instruções de um programa para

realizar alguma tarefa.

(17)

Instrução – define uma única ação que um

computador pode executar por vez.

As ações das instruções podem ser:

– leitura ou escrita de uma informação binária na memória,

– leitura ou escrita de uma informação binária em um registrador,

– operações lógicas entre informações binárias,

– operações aritméticas entre informações binárias, etc...

(18)

Programa – conjunto de Instruções arranjadas

de maneira organizada por um programador

com o objetivo de informar ao Computador

qual a tarefa que o mesmo deverá executar.

Os Programas, em geral, são armazenados na

(19)

Software – são os programas que são

carregados na memória do Computador para

serem executados (Ex: Windows, Office, C++,

Netscape, etc...).

(20)

Firmware – são os programas que já estão

previamente armazenados em uma memória

não volátil (ROM/PROM/EPROM/Flash) e que

permitem a operação fundamental de um

computador, inclusive a carga de Programas

(Software) na memória para serem

(21)

Hardware – são as partes eletrônicas,

eletro-mecânicas e ópticas de um computador.

(22)

• Microprocessador

– Circuito integrado (“chip”) capaz de executar instruções. – 1971 - Intel Corporation lançou no mercado o

microprocessador 4004 (3.000 transistores )

– O microprocessador é um dispositivo lógico programável em um único chip de silício, concebido sob a tecnologia VLSI (circuito integrado em alta escala).

– Age sob o controle de um programa armazenado em memória, executando operações aritméticas, lógica

booleana, tomadas de decisão, além de entrada e saída de dados, permitindo a comunicação com outros dispositivos periféricos.

(23)

Microprocessador

– Geralmente implementado em um único componente.

• unidade central de processamento – CPU; – Máquina seqüencial de uso geral, cujo

comportamento no tempo é determinado por um programa externo colocado em memória.

– Associado a CI’s periféricos, ele pode gerar: • microcomputadores e controles lógicos de uso

específicos

(24)

Unidades básicas de um Microprocessador:

– Unidade Lógica Aritmética (ULA) - responsável pela realização das operações lógicas e

aritméticas.

– Unidade de Controle (UC) - responsável pela decodificação e execução das instruções,

fornecendo os sinais de temporização adequados para as diversas partes do processador e do

próprio computador.

– Registradores - armazenamento da Informação Binária (dados, endereços e instruções).

(25)

Microcomputador

– Computador digital com velocidade e recursos limitados, e tipicamente é constituído por:

• unidade central de processamento – CPU; • memória;

• Circuitos de entrada entrada e saída saída.

– Suas aplicações são também limitadas quando comparadas às de um computador de maior porte.

(26)
(27)

Microcontroladores

– Possuem em um único componente:

• a unidade central de processamento • memória (ROM e RAM);

• periféricos dedicados (serial, paralela, timer, etc...). – Os microcontroladores apresentam:

• menor desempenho que os microprocessadores, • custo muito baixo (alguns dólares tipicamente),

• destinados a aplicações onde as dimensões, custo, tamanho e consumo do produto são muito

(28)

Tipos de microprocessadores por principais

áreas de atuação

*

Os sistemas de Processamento Digital de Sinais são na

verdade uma grande sub-área dos sistemas embarcados. Microprocessadores Sistemas computacionais de propósito geral

Microcontroladores Sistemas embarcados

(29)

• Na realidade os limites de aplicabilidade destes três componentes não são tão bem definidas como

mostra o quadro. Por exemplo:

– O projeto de um sistema embarcado que exija um complexo

tratamento matemático, mesmo que não envolva o processamento digital de sinais, pode ser melhor resolvido com um DSP do que com um microcontrolador.

– Em contrapartida, o projeto de um sistema de controle digital, mesmo envolvendo o processamento digital de sinais, sem grandes exigências de cálculo, pode ser melhor resolvido, com custos bem mais

(30)
(31)

Programação

Consiste na tradução do pensamento lógico

necessário para o cumprimento de

determinada tarefa, em uma sequencia de

comandos que podem ser interpretados e

executados por uma máquina

(32)

Procedimentos genéricos

• Exposição do problema – descrição do problema

• Análise da solução – elaboração das soluções, que melhor resolvem o problema

• Codificação da solução – descição sequencial passo a passo da solução, ou seja, desenvolver o algoritmo da solução

• Tradução do código – traduzir o algoritmo para um linguagem de programação

• Depuração (Debug) – processo de verificação e teste do

programa de forma a localizar e solucionar todas as eventuais falhas e erros de codificação que podem ocorrer nos

(33)

Artifícios para programação

Módulo ou função

Loops

(34)

Tradução

• Interpretadores

– São aquelas que a tradução da linguagem é feita em tempo real, durante a execução do programa.

– São lentas, pois a tradução ocorre a cada linha do programa – Exemplos: Basic, Java, Java Script, etc

• Compiladores

– São aquelas em que o processo de tradução (compilação) é feito

previamente e o código gerado pelo compilador (código de máquina) pode se carregado na memória e executado diretamente por ele.

(35)
(36)

Fluxograma

• Para a documentação lógica de um Programa em

Assembly utiliza-se um Fluxograma ou Diagrama de

Blocos.

• Cada bloco do Fluxograma equivale a um

sub-conjunto do Instruction Set do Microprocessador. • O Fluxograma é uma forma de se implementar

logicamente um programa, antes que o mesmo seja codificado na Linguagem Assembly do

(37)

• Linhas de Fluxo do Programa

– Mostram a seqüência de execução das Instruções.

– Cada Bloco do Fluxograma possui apenas uma linha de Fluxo de Entrada e uma ou duas de saída

• Bloco de Processo

– Equivalem às Instruções que realizam alguma operação do tipo:

• Movimento de Dados • Operação Aritmética • Operação Lógica

(38)

Bloco de Decisão

– Equivale às Instruções que decidem sobre o Fluxo do Programa.

– Se a função dentro do bloco for Verdadeira(V) o programa

continua abaixo, se for Falsa(F) o programa muda o fluxo.

(39)

Processo Pré-definido

– Equivale às Instruções que mandam executar uma Sub-rotina

armazenada em outro lugar da Memória.

– Observe que quando a sub-rotina termina, o fluxo do programa

(40)

Bloco de Início de Programa

– O Bloco de Início de Programa não equivale a uma Instrução específica do Instruction SET.

Bloco de Fim de Programa

– O Bloco de FIM equivale a uma instrução que termina o

Programa. É chamado de FIM

(41)

Exemplo de Fluxograma de um

Programa de Microprocessador

O programa deve Ler

um Dado da

memória, verificar se

é igual a zero. Se não

for zero, continua em

LOOP. Se for zero

(42)

Desenvolva um fluxograma para solução de

um problema simples: somar dois números (A

e B) e armazenar o resultado em C.

Desenvolva um fluxograma para solução de

um problema simples: contar de 0 a 10.

(43)

Respostas

1)

Início Lê o valor de A Lê o valor de B Soma A e B e Armazena o resultado em C Fim

(44)

2)

Início Contador = 0 Soma contador em 1 Contador = 10? Fim

(45)

Algebra booleana

• Proposições

– Afirmação verbal passível de ser classificada como verdadeira ou falsa

• Hoje é segunda feira? (proposição)

• Que dia é hoje? (não é uma proposição)

• Operadores lógicos relacionais

– E (conjunção) – a conjunção de 2 ou mais proposições será verdadeira somente se todas forem verdadeiras

– OU (disjunção) – a disjunção de 2 ou mais proposições será verdadeira se qualquer das proposições for verdadeira.

– NÃO – utilizado para negar uma determinada proposição, atribuindo sentido contrário a proposição inicial

(46)

Variáveis e dados

Variável

– Representação simbólica para elementos pertencentes a um determinado conjunto

– Armazenadas em memória da máquina (RAM) e

podem assumir qualquer valor dentre o conjunto de valores possíveis

– Podem ser:

• Numéricas – inteiras, reais ou ponto flutuante • caractere

• alfanuméricas • lógicas

(47)

Operadores

São elementos ou simbolos gráficos utilizados

para relacionar ou modificar um ou mais

dados ou variáveis

– Matemáticos – adição, subtração, etc – Relacionais – maior, menor, igual

– Lógicos – E, OU e Não

– Lógicos bit a bit – E, OU, Não, rotação de bit – Memória - =, &, *

(48)

Exercícios

Nas equações booleanas seguintes, quais

valores de A, B e C tornam R verdadeira?

– R=(A e B e C) • A=V, B=F, C=V • A=F, B=F, C=F • A=F, B=V, C=V • A=V, B=V, C=V

(49)

– R=((A e (não B)) ou C) • A=F, B=F, C=F

• A=F, B=F, C=V • A=F, B=V, C=F • A=V, B=F, C=F

– R=((não A) ou (não B) ou (não C)) • A=V, B=V, C=V

• A=F, B=F, C=F • A=V, B=F, C=F • A=V, B=V, C=F

(50)

– R=(A ou B) e (não C) • A=V, B=F, C=V

• A=F, B=F, C=V • A=F, B=V, C=F • A=V, B=V, C=F

(51)

• Supondo a afirmação: se não estiver chovendo e eu sair mais cedo do trabalho, iremos a praia. E

considerando A=Está chovendo? B=Eu sai mais cedo do trabalho? E C a resposta: Iremos a praia,

determine a equação booleana que descreve corretamente a afirmação inicial:

– A e B = C – A ou B = C – A e não B = C – Não A e B = C

(52)

Qual o tipo de variável necessário para

armazenar cada um dos seguintes dados?

– 150 – “Linguagem C” – 100,1 – 250 – “123” – V – -5 – F

Referências

Documentos relacionados

Este artigo descreve a atividade antiviral de dois extratos etanólicos de própolis de duas diferentes origens frente ao adenovírus canino tipo 2 CAV-2, calicivírus felino FCV e vírus

uma forma eficiente de realizar a interseção entre duas esferas e duas cascas esféricas no R 3 , desejamos investigar o efeito de acrescentarmos mais uma casca esférica extra

Após, consegui contrato pelo estado e fui trabalhar em São Vendelino, em um grupo escolar com um quinto ano, tendo 36 alunos, sendo que dois alunos eram mais

Consulte a Secção 11 para obter informações pormenorizadas sobre sintomas e efeitos na saúde.. Classificação conforme Regulamentação (EC) 1272/2008 [CLP/GHS] SECÇÃO

Para o HIDRALERTA utilizou-se uma série de dados de agitação marítima compreendidos entre 1979 e 2014 como input para o sistema, a fim de simular a ocorrência de

Rosa. Integrante do Projeto de Pesquisa “República e Democracia no Estado de Direito”.. Ao longo da História, houve sucessivas mudanças na organização

O desenvolvimento das interações entre os próprios alunos e entre estes e as professoras, juntamente com o reconhecimento da singularidade dos conhecimentos

Do projeto pedagógico foram extraídas treze competências, tomando como base, o método de Rogério Leme em sua obra: APLICAÇÃO PRÁTICA DE GESTÃO DE PESSOAS POR