Microcontroladores

25
Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 1 de 35 de 35 Telecomunicações e Redes Microcontroladores

description

Microcontroador picaxe

Transcript of Microcontroladores

Page 1: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 11 de 35 de 35

Telecomunicações e Redes

Microcontroladores

Page 2: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 22 de 35 de 35

O que é um Microcontrolador?

Circuito integrado em alta escala (VLSI) que incorpora a maior parte dos elementos que constituem um controlador e se destina a uma determinada tarefa.Costuma estar incorporado no dispositivo que controla (controlador embebido - embedded controller).

Page 3: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 33 de 35 de 35

indústria informática (periféricos: rato, teclado,...)

electrodomésticos (fornos, máq. lavar, vídeos, etc)

sistemas AVACs

telecomunicações

indústria automóvel

Aplicações

Page 4: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 44 de 35 de 35

Um microcontrolador dispõe normalmente dos seguintes elementos:

processador ou CPU

memória de dados (RAM)

memória de programa (ROM/PROM/EPROM/EEPROM)

linhas de entrada/saída (E/S) programáveis

Constituição

Page 5: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 55 de 35 de 35

módulos de controlo de periféricos (portos série, paralelo,USB,I2C,etc.)

gerador de impulsos de relógio

temporizadores

cão-de-guarda (watchdog)

conversores A/D e D/A

comparadores analógicos

Constituição

Page 6: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 66 de 35 de 35

Diferença entre microprocessador e microcontrolador

o microprocessador é um sistema aberto

constrói-se um computador com as características desejadas juntando os módulos necessários

o microcontrolador é um sistema fechado

contem um computador completo e as suas prestações limitadas não se podem modificar

Page 7: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 77 de 35 de 35

Estrutura de um microprocessador

bus de controle

P

Memória controlador 2controlador 1

bus de endereçosbus de dados

periféricos periféricos

Page 8: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 88 de 35 de 35

Estrutura de um microcontrolador

Cperiféricos periférico

s

Page 9: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 99 de 35 de 35

Arquitectura interna

de um microprocessador

UCPMemória

Instruções

+

dadosbus de dados e

instruções

bus comum de endereços

8

Arquitectura “von Neumann”

ou “Princeton”

Page 10: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 1010 de 35 de 35

Arquitectura interna

de um microcontrolador

arquitectura “Harvard”

UCP

Memória de

dados

512 x 8bus de dados

bus de endereços de dados

8

Memória de

Instruções

1 K x 14

9

bus de endereços de instruções

10

14

bus de instruções

Page 11: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 1111 de 35 de 35

Arquitectura interna

de um microcontrolador

RISC - Reduced Instruction Set Computer (35 no 16F84)

versus

CISC - Complex Instruction Set Computer (+150 no 8086)

Page 12: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 1212 de 35 de 35

Pipelining (Segmentação)

1 ciclo 1 ciclo 1 ciclo 1 ciclo 2 ciclos

Busca 1ª

Bus 1ªSa

Exec. 1ª

Exec 1ªSa

Busca 2ª Exec. 2ª

Busca 3ª Exec 3ª

Busca 4ª 1ª instrução MOVLW F5h

2ª instrução MOVWF PA

3ª instrução CALL SAL

4ª instrução MOVLW F6h

Page 13: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 1313 de 35 de 35

Arquitectura interna

de um microcontrolador

Memória de Programa

Tipologia

PROM (Programmable Read Only Memory)

EPROM (Electrically PROM)

OTP (One Time Programmable)

EEPROM (Electrically Erasable PROM)

FLASH

Page 14: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 1414 de 35 de 35

Arquitectura interna

de um microcontrolador

Memória de Dados

SRAM (Static RAM)

EEPROM

Page 15: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 1515 de 35 de 35

Arquitectura interna

de um microcontrolador

Linhas de E/S para os controladores de periféricos

Page 16: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 1616 de 35 de 35

Arquitectura interna

de um microcontrolador

Outros Recursos

circuito de relógio

temporizadores

cão-de-guarda (watchdog)

conversores A/D e D/A

comparadores analógicos

sistema de protecção contra falhas de alimentação

estado de repouso (sleep)

Page 17: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 1717 de 35 de 35

Arquitectura interna

de um microcontrolador

Programação

linguagem assembly

linguagens HLL

Pascal

Basic

JAL

C

Page 18: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 1818 de 35 de 35

Primeiro programa - somar

Memória

de dados

Estado

Somador

WMUX

OP1 OP2

Código Instrução (literal)

8

8

8

8

1CarryFC

ALU

8

8

Page 19: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 1919 de 35 de 35

Primeiro programa - somar

LIST P = 16F84 ; indica o modelo de PIC

; directiva ao assemblador

OPERANDO1 EQU 0x0c ;define posição do operando 1

OPERANDO2 EQU 0x0d ;define posição do operando 2

RESULTADO EQU 0x0e ;define posição do resultado

ORG 0 ;indica ao assemblador o

;endereço de memória de ;programa onde se situa a

;próxima instrução

Page 20: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 2020 de 35 de 35

Primeiro programa - somar

movlw 05 ; 5 W

movwf OPERANDO1 ; W operando1

movlw 02 ; 2 W

movwf OPERANDO2 ; W operando2

movfw OPERANDO1 ; operando1 W

addwf OPERANDO2, 0 ; W + operando2 W

movwf RESULTADO ; W resultado

END ; directiva de fim de programa

Page 21: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 2121 de 35 de 35

Primeiro programa - somar

#pragma chip PIC16F84

void main( void ){int *operando1, *operando2,*resultado;

operando1 = 0x0c;operando2 = 0x0d;resultado = 0x0e;

*operando1 = 5;*operando2 = 2;*resultado = operando1+operando2;

}

Page 22: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 2222 de 35 de 35

Registo de Estado

STATUS_REG (Endereço 03h, 83h)

IRP RP1 RP0 TO# PD# Z DC C

07

C - Carry (e-vai-um do bit mais pesado)

1 : carry produzido pelo mais mais pesado do resultado (addwf, addlw)

0 : não houve carry

C actua como sinalizador de empréstimo no caso da subtracção com as instruções subwf e sublw (neste caso se C=1 não há empréstimo e se C=0 há empréstimo)

Page 23: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 2323 de 35 de 35

Registo de Estado

DC - Carry do 4º bit

Tem o mesmo significado do Carry mas referindo-se ao bit 4.

Importante nas operações em BCD.

Z - Zero

1: O resultado de uma operação lógico-aritmética foi 0.

0: O resultado de uma operação lógico-aritmética não foi 0.

PD# - Power Down

1: É colocado a 1após a a ligação da alimentação do microcontrolador ou por execução das instruções clrwdt e sleep.

0: É colocado a 0 quando há transbordo do cão-de-guarda (watchdog).

Page 24: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 2424 de 35 de 35

Registo de Estado

DC - Carry do 4º bit

Tem o mesmo significado do Carry mas referindo-se ao bit 4.

Importante nas operações em BCD.

Z - Zero

1: O resultado de uma operação lógico-aritmética foi 0.

0: O resultado de uma operação lógico-aritmética não foi 0.

PD# - Power Down

1: É colocado a 1 após a a ligação da alimentação do microcontrolador ou por execução da instrução clrwdt.

0: É colocado a 0 quando da execução da instrução sleep.

Page 25: Microcontroladores

Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores Pág. Pág. 2525 de 35 de 35

Registo de Estado

TO# - Time Out

1: É colocado a 1 após a a ligação da alimentação do microcontrolador ou por execução das instruções clrwdt e sleep.

0: É colocado a 0 quando há transbordo do cão-de-guarda(watchdog).

RP1 - RP0: Selecção do banco de registos por endereçamento directo

Como o PIC16F84 só tem dois bancos apenas utiliza o bit RP0,

RP0=1 acede ao banco 1 RP0=0 acede ao banco 0

IRP - Selecção do banco em endereçamento indirecto

Não é utilizado no PIC16F84 e deve ser mantido a 0.