microcontroladores

Post on 05-Jan-2016

243 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Microcontroador picaxe

TRANSCRIPT

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

Telecomunicações e Redes

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).

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

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

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

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

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

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

Estrutura de um microcontrolador

Cperiféricos periférico

s

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”

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

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)

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

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

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

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

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)

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

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

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

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

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;

}

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)

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).

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.

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.

top related