• Nenhum resultado encontrado

Microcontroladores. 1 Microprocessadores x Microcontroladores Microprocessadores: Microcontroladores: 2 Microcontrolador x DSP

N/A
N/A
Protected

Academic year: 2021

Share "Microcontroladores. 1 Microprocessadores x Microcontroladores Microprocessadores: Microcontroladores: 2 Microcontrolador x DSP"

Copied!
52
0
0

Texto

(1)

Microcontroladores

1 – Microprocessadores x Microcontroladores

1.1 - Microprocessadores:

1.2 - Microcontroladores:

2 – Microcontrolador x DSP

3 – Fabricantes e Famílias

4 – Microchip

5 – Microcontrolador PIC 16F84

5.1 – Principais Características

5.2 – Descrição Geral

5.3 – Arquitetura

5.4 – Pinagem

5.5 – Memória

5.6 – Registradores

5.7 – Set de Instruções

5.8 – Projeto de Hardware simples para teste

5.9 – Exemplo de Programação

6 –Motorola/Freescale

7 – MC68HC908QT1

7.1 – Descrição Geral

7.2 – Diagrama em Blocos

7.3 – Pinagem

7.4 – Memória

7.5 – Registradores

7.6 – Set de Instruções

7.7 – Projeto de Hardware simples para teste

7.8 – Exemplo de Programação

(2)

2

1 - Microprocessadores x Microcontroladores

1.1 – Microprocessadores:

Exemplo

Z-80 – 8 bits

8086 – 16 bits

Pentium – 32 bits

Aplicação

Utilização como CPU em microcomputadores de

uso geral ou específicos.

(3)

1.1 – Microprocessadores:

Arquitetura Interna

Microcontroladores

Registradores

Uso

Geral

Uso

Específico

PC,SP,IR

ALU

Controle

(4)

4

1.1 – Microprocessadores:

Arquitetura Microcomputador

Microcontroladores

Mem

RAM

Mem

PROM

Circuitos de

Interface

Teclado

Vídeo

CPU

B. dados

B. endereço

B. Controle

Microprocessador

(5)

1.1 – Microprocessadores:

(6)

6

1.1 – Microprocessadores:

(7)

1.1 – Microprocessadores:

(8)

8

1.1 – Microprocessadores:

(9)

1.2 – Microcontroladores

Exemplos

Microchip – PIC – 16F84/ 16F877

Motorola –

MC68HC908QT1

Intel –

8031 / 8051

Aplicação

Utilização como CPU em sistemas embutidos,

embarcados - sistemas dedicados.

(10)

10

1.2 – Microcontroladores

Arquitetura Interna

Microcontroladores

Controle

ALU

Mem.

Programa

Mem.

Dados

RAM

Mem.

Dados

E

2

PROM

A/D

D/A

I/O

Digital

Controle

Interrupção

Timer

Watch

Dog

(11)

1.2 – Microcontroladores

-

Características:

A/D

D/A

I/O serial

USB

Ambiente de Programação

Linguagens disponíveis

Emulador

Gravador / Programador

Possibilidade de gravação na placa aplicativa

(12)

12

1.2 – Microcontroladores

Arquitetura de Sistemas

Circuito V/F

Circuito Robô

Microcontroladores

(13)

2 – Microcontrolador x DSP

2.1 – Principais Características dos Microcontroladores

Memória de programa – Flash / EPROM / E2PROM

Memória de dados volátil – RAM

Memória de dados não volátil – E2PROM

RISC e CISC – set de instruções

Timers / Contadores

Interrupções

PWM

I/O Digital

A/D

D/A

2.2 – Principais Características dos DSP´s

Características similares aos microcontroladores porem

com arquitetura voltada para processamento de sinais

tipicamente

implementação

de

filtros

ativos

e

implementação de algoritmos de controles em poucas

instruções.

(14)

14

3 - Fabricantes e Principais Famílias

Intel

8051, MCS 51, MCS 96

Phillips

LPC700, LPC900, LPC2000

Texas

TMS370, MSP430

Motorola

68HCXX, 683XX, MPC500

Microchip

PIC12CXXX, PIC16FXXX

Microcontroladores

(15)

4 – Microchip

Empresa

Empresa dedicada a desenvolver microcontroladores MCU de

8-bit e memórias.

As PICs combinam alta performance, baixo custo e reduzido

tamanho, acarretando em ótima relação custo benefício.

A Microchip fabrica mais de 100 milhões de PICs por ano,

especialmente

para

periféricos

de

computadores,

automação de escritórios, sistema de controle de

automóveis, sistemas de segurança e aplicações em

telecomunicações.

• Produtos

- PICmicro® Microcontrollers

- dsPIC® Digital Signal Controllers

- Analog & Interface Products

- Serial EEPROMS

- Pb-Free Information

- Battery Management

- Radio Frequency Devices

- KEELOQ® Authentication Products

(16)

16

4 – Microchip

Familia de microcontroladores PIC:

PIC 16FXXX

(17)

5 – Microcontrolador PIC 16F84

5.1 - principais caracteristicas

(18)

18

5 – Microcontrolador PIC 16F84

5.2 - Descrição geral

– Arquitetura RISC

– 8 níveis de STACK

– Barras de instrução e dados separados.

• Instrução – 14-bit, Dados – 8-bit

– A família PIC16CXX utiliza a arquitetura Harvard, onde

programa e dados são acessados de memórias diferentes

por barramentos diferentes.

– Utiliza PIPELINE (FETCH junto com execução) → um ciclo

de máquina para cada instrução.

– 16F84 → Memória para Programa –

1K x 14-bit

Memória RAM –

68 Bytes

Memória EEPROM –

64 Bytes

– Acesso direto e indireto a memória.

– Todos os registradores (incluindo PC) são mapeados na

RAM.

– 4 formas de CLOCK, RC, LP, XTAL, HS HICH SPEED

CRISTAL.

– Memória FLASH → permite que o dispositivo seja usado

para protótipo e produção. É possível programar sem

remover da aplicação. (?)

– Baixo custo, baixo consumo, alta performance, flexibilidade

de I/O → Aplicável em controle de velocidade de motores,

transmissor e receptor de freqüências, códigos de

segurança, etc.

– Software → MACRO-ASSEMBLER, C E FUZZY LOGIC

(19)

Microcontroladores

5 – Microcontrolador PIC 16F84

(20)

20

5 – Microcontrolador PIC 16F84

5.4 - Pinagem

(21)

5 – Microcontrolador PIC 16F84

5.5 - Memoria

– PC de 13-bit porém memória de apenas 1K (0-3FF)

• RESET-PC = 0H

INTERRUPÇÃO-PC = 04H

• 0H GO TO 100

; Vá para 100 (end. Interrupção)

• 04H

;Início INT.

• 100H

;Início do programa.

– O PIC16CXX não possui STACK POINTER e sim um stack

de 8 níveis. O operador deve “gerenciar” um máximo de 8

CALL´s ou INT´s.

– Memória de Dados:

• 2 Bancos selecionados por RP1 (sempre em 0) e RP0

• Memória RAM – 0CH e 4FH.

(22)

22

Microcontroladores

5 – Microcontrolador PIC 16F84

5.5 - Memoria

Memória de dados com SFR e RAM de uso geral no PIC16F84

(23)

23

Microcontroladores

5 – Microcontrolador PIC 16F84

(24)

24

5 – Microcontrolador PIC 16F84

5.6 - Registradores

Status

(25)

5 – Microcontrolador PIC 16F84

5.6 - Registradores

Option

(26)

26

5 – Microcontrolador PIC 16F84

5.6 - Registradores

Intcon

(27)

5 – Microcontrolador PIC 16F84

5.6 - Registradores

fusiveis

(28)

28

5 – Microcontrolador PIC 16F84

5.7 – Set de instruções

(29)

5 – Microcontrolador PIC 16F84

5.7 – Set de instruções

(30)

30

5.8 – Exemplo de HARDWARE para teste

Microcontroladores

(31)

5.8 – Exemplo de HARDWARE para teste

Microcontroladores

(32)

32

5.8 – Exemplo de HARDWARE para teste

Microcontroladores

(33)

33

5.9 – Exemplo de SOFTWARE

5.9.1 Rotina de tempo

Microcontroladores

;======================================================================== ; Progrma exemplo 1 para o livro "Microntroladores PIC"

;

; Objetivo: Estudar rotina de tempo baseada em software ; Funcionamento: Pisca o led 7 a cada 250ms

; Agosto/97

;======================================================================== __16F84

list p=16F84 ;processador 16F84

radix dec ;define padrao DECIMAL para valores sem ;identificação

include <P16F84.INC> ;Anexa o arquivo que contem as definições do 16F84

;...

; Tabela de definições de RAM e constantes.

W equ 0 ;referencia a W

Led7 equ 7 ;led 7 esta em RB7

tempo equ 0CH ;variavel tempo RAM 0CH. (primeira posição) X equ 0DH

Y equ 0EH

;---Memoria de Programa---

org 0 ;define inicio do trecho a seguir em 000

goto inicio ;desvia para o programa principal onde inicia pelo ;ajuste dos registros de controle.

;Este desvio tem por objetivo deixar o endereço ;004 para a rotina de interrupção.

;...INICIO DA ROTINA DE INTERRUPCAO... org 4

nop ;primeira instrucao da interrupcao

(34)

34

5.9 – Exemplo de SOFTWARE

5.9.1 Rotina de tempo (Cont.)

Microcontroladores

;...INICIO DO PROGRAMA...

inicio: ;este endereco eh o primeiro apos a interrupcao movlw B’00000000’ ;W=0

movwf INTCON ;INTCON=0. Nenhuma interr habilitada bsf STATUS,RP0 ;seleciona banco 1 para option e tris movlw B’11011111’ ;

movwf OPTION_REG ;Registro OPTION ajusta timer 0 clock interno e ;prescaler para watchdog (nao usamos)

movlw B’11111111’ ;W=255

movwf TRISA ;TRISA=ffH. PORTA toda entrada movlw B’00000000’ ;W=0

movwf TRISB ;TRISB=0. PORTB toda saida bcf STATUS,RP0 ;volto ao banco 0. Padrao do reset ;... principal: ;inicio do programa principal

bcf PORTB,Led7 ;fazendo PORTB pino 7 = 0 acendo o Led 7

call ms250 ;espera 250ms

bsf PORTB,Led7 ;fazendo PORTB pino 7 = 1 apaga o Led 7

call ms250 ;espera 250ms

(35)

5.9 – Exemplo de SOFTWARE

5.9.1 Rotina de tempo (Cont.)

Microcontroladores

;...Rotina de tempo de 250ms... ms250: ; -0 CALL para a rotina leva 2us.

movlw 250 ; +1

movwf tempo ; +1 total 1 = 4us ms250a:

movlw 248 ; +1

movwf X ; +1 total 2 = 2us ms250b:

nop ; 1

decfsz X ; 1 248x4us + (1us nop + 2us quando decfsz da 0) goto ms250b ; 2 da um tempo total 3 = 995us

decfsz tempo ; 1 1us pq tempo > 0 + 2us goto da um total 4 = 3us goto ms250a ; 2 250x(total 2 + total 3 + total 4) + 2us quando

; tempo = 0 = total 5 = 250.002us return ;delay = total 1 + total 5 + 2us return = 250.008us END ;fim do program fonte

Sobre a rotina de tempo

:

(36)

36

5.9 – Exemplo de SOFTWARE

5.9.2 Rotina de deslocamento

Microcontroladores

;========================================================================= ; Progrma exemplo 2 para o livro "Microntroladores PIC"

;

; Objetivo: Estudar instrucoes de deslocamento ; Funcionamento: Pisca os leds 7 a 0, neta ordem, e repete.

; OS LEDS ASCENDEM EM 0. VER ESQUEMA

; Agosto/97

;========================================================================= __16F84

list p=16F84 ;processador 16F84

radix dec ;define padrao DECIMAL para valores sem ;identificação

include <P16F84.INC> ;Anexa o arquivo que contem as definições do 16F84 ;...

; Tabela de definições de RAM e constantes.

W equ 0 ;referencia a W

tempo equ 0CH ;variavel tempo RAM 0CH. (primeira posição) DT1 equ 0DH ;variavel auxiliar para tempo

X equ 0EH Y equ 0FH

;---Memoria de Programa---

org 0 ;define inicio do trecho a seguir em 000 goto inicio ;desvia para o programa principal. ;...INICIO DA ROTINA DE INTERRUPCAO...

org 4

nop ;primeira instrucao da interrupcao

(37)

37

5.9 – Exemplo de SOFTWARE

5.9.2 Rotina de deslocamento (Cont.)

Microcontroladores

;...INICIO DO PROGRAMA...

inicio: ;este endereco eh o primeiro apos a interrupcao movlw B’00000000’ ;W=0

movwf INTCON ;INTCON=0. Nenhuma interr habilitada clrf PORTA ;inicializa portas A e B.

clrf PORTB

bsf STATUS,RP0 ;seleciona banco 1 para option e tris movlw B’11011111’ ;

movwf OPTION_REG ;Registro OPTION ajusta timer 0 clock interno e ;prescaler para watchdog (nao usamos)

movlw B’11111111’ ;W=255

movwf TRISA ;TRISA=ffH. PORTA toda entrada movlw B’00000000’ ;W=0

movwf TRISB ;TRISB=0. PORTB toda saida bcf STATUS,RP0 ;volto ao banco 0. Padrao do reset ;...

principal: ;inicio do programa principal

movlw 255 ;W=11111111

movwf X ;X = W = 11111111

bcf STATUS,C ;bit Carry = 0 repete:

rrf X ;desloca o valor em X para a direita. ;o bit 0 vai ao Carry e o Carry vai ao bit 7. btfss STATUS,C ;se C = 1 pula prox inst.

goto principal ;Quando Carry = 0 acabou de deslocar 8 vezes. ;reinicia

(38)

38

5.9 – Exemplo de SOFTWARE

5.9.2 Rotina de deslocamento (Cont.)

Microcontroladores

movf X,W ;W = valor em X que sera escrito no PortB. ;ver instrucao MOVF f,d. Se d=0 escreve em W. ;Como atribuimos a W o valor 0, o compilador ;enxerga a instrucao como MOVF X,0

escreve;

movwf PORTB ;PORTB = W = X call ms250 ;espera 250 ms

goto repete ;Se Carry = 1 ainda não deslocou 8 vezes ;efetua novo deslocamento

;...Rotina de tempo de 250ms... ms250: ; -0 CALL para a rotina leva 2us.

movlw 250 ; +1

movwf tempo ; +1 total 1 = 4us ms250a:

movlw 248 ; +1

movwf Y ; +1 total 2 = 2us ms250b:

nop ; 1

decfsz Y ; 1 248x4us + (1us nop + 2us quando decfsz da 0) goto ms250b ; 2 da um tempo total 3 = 995us

decfsz tempo ; 1 1us pq tempo > 0 + 2us goto da um total 4 = 3us goto ms250a ; 2 250x(total 2 + total 3 + total 4) + 2us quando

; tempo = 0 = total 5 = 250.002us return ;delay = total 1 + total 5 + 2us return = 250.008us END ;fim do program fonte

(39)

6 – Motorola / Freescale

Microcontroladores

A Freescale, empresa a qual pertence a Motorola, é uma uma

gigante do mercado de semicondutores cuja a produção tem

o foco em produtos que atendam as indústrias automotivas e

de comunicação.

A empresa produz uma enorme gama de famílias de chips, que

incluem microcontroladores de 8 e 16-bit,

microprocessadores, DSPs, memórias, sensores e muitos

outros.

Algumas Famílias de produtos:

- HC08;

- HCS12;

- ColdFire;

- PowerPC;

- ARM;

(40)

40

7 – MC68HC908QT1

7.1 – Descrição Geral

Microcontroladores

• Tensões de operação: 5-V and 3-V (VDD)

• Oscilador interno ajustável

• In-system FLASH programming

• 128 bytes de RAM interna

• 48 bytes of user-defined vectors, located in FLASH

• 416 bytes of monitor read-only memory (ROM)

• 1536 bytes of FLASH program and erase routines, located in

ROM

• TIM (timer interface module) de 2 canais de 16-bit

• 5 linhas bidirecionais de I/O e uma de apenas entrada:

– Duas compartilhadas com os canais do Timer

– Uma compartilhada com IRQ externo

– Alta capacidade de fornecimento de corrente em todos os

pinos das portas

– Todas os pinos das portas podem ir para Three-state

• Power-on reset

• Pullups internos em IRQ e RST para reduzir o número de

componente externos

• Registradores de I/O mapeados em memória

• MC68HC908QT1 está disponível nos seguintes pacotes:

– 8-pin PDIP

– 8-pin SOIC

(41)

7 – MC68HC908QT1

7.2 – Diagrama em Blocos

(42)

42

7 – MC68HC908QT1

7.3 – Pinagem

(43)

7 – MC68HC908QT1

7.4 – Memória

(44)

44

7 – MC68HC908QT1

7.5 – Registradores de Configuração

Microcontroladores

Os Registradores podem habilitar ou desabilitar as seguintes

opções:

• Stop mode recovery time (32 × BUSCLKX4 cycles or

4096 × BUSCLKX4 cycles)

• STOP instruction

• Computer operating properly module (COP)

• COP reset period (COPRS): 8176 × BUSCLKX4 or 262,128 ×

BUSCLKX4

• Low-voltage inhibit (LVI) enable and trip voltage selection

• OSC option selection

• IRQ pin

• RST pin

(45)

7 – MC68HC908QT1

7.6 – Set de Instruções

(46)

46

7.6 – Set de Instruções (cont.)

(47)

7.6 – Set de Instruções (cont.)

(48)

48

7.6 – Set de Instruções (cont.)

(49)

7.6 – Set de Instruções (cont.)

(50)

50

7.6 – Set de Instruções (cont.)

(51)

Microcontroladores

7 – MC68HC908QT1

(52)

52

Microcontroladores

7 – MC68HC908QT1

7.8 – Exemplo de Programa

/*Arquivo Events.C*/

/*Including used modules for compilling procedure*/ #include "Cpu.h"

#include "Events.h" #include "LED.h" #include "Timer.h"

/*Include shared modules, which are used for whole project*/ #include "PE_Types.h" #include "PE_Error.h" #include "PE_Const.h" #include "IO_Map.h" /* ** =================================================================== ** Event : Timer_OnInterrupt (module Events)

**

** From bean : Timer [TimerInt] ** Description :

** When a timer interrupt occurs this event is called (only ** when the bean is enabled - "Enable" and the events are ** enabled - "EnableEvent"). ** Parameters : None ** Returns : Nothing ** =================================================================== */ void Timer_OnInterrupt(void) { if (PTA == 0) { PTA |= 2; } else { PTA &= ~2; } }

Referências

Documentos relacionados

1º – O Trabalho de Conclusão de Curso é um componente curricular obrigatório do Curso de Graduação em Nutrição da Faculdade de Ciências da Saúde (FS) da

As informações contidas são especificadas para esse material designado, não sendo, portanto válidos para materiais obtidos de misturas, combinações ou processos, a menos que

O mapeamento da curva de carga é fundamental para o planejamento estratégico de distribuição de energia, pois a partir deste é possível conhecer o perfil da demanda

“O Renegade diesel é um oceano azul para nós, onde navegamos so- zinhos, sem concorrência no Brasil nesse tamanho de veículo”, diz Sérgio Ferreira, diretor-geral da Jeep

MINI PACKS DE VIAGEM Rosa: Champô+Gel Banho o +Amaciador+Loção Corporal/ oral/ Aloe Vera: Champô+Gel Banho+Amaciador+Loção Corporal/ oral// Mel de Manuka:

De modo a remover esta deficiência, vamos adicionar um bloco que contém várias localizações de memória e que, de um lado, está ligado ao bus de dados e do outro às linhas de

Desta forma, objetivou-se com a realização deste trabalho analisar a qualidade da água do lago Igapó II da cidade de Londrina-PR, segundo os parâmetros cor

Este trabalho tem como objetivo a implementação de estratégias metodológicas para o estudo de comportamentos sociais em animais modelo de autismo, bem como, caracterizar, por meio