Você está na página 1de 26

Microcontroladores e CLPs

Prof. Paulo Eugenio UNIP Sorocaba Agosto-2010 Aula 1


06/08/2010 1

Plano de Ensino
Ementa: - Conhecimentos gerais sobre microprocessadores e interfaces com circuitos; - Controladores Lgicos Programveis (CLP): noes e aplicaes. Objetivos: - Proporcionar aos alunos condies para: . Conhecer a arquitetura bsica dos microprocessadores. . Conhecer e aplicar as linguagens de alto nvel para microprocessadores. . Conhecer os principais circuitos usados com microprocessadores.
06/08/2010 2

Plano de Ensino
Objetivos (cont): . Conhecer as principais interfaces entre microprocessadores e os circuitos. . Efetuar projetos com a utilizao de CLPs

06/08/2010

Plano de Ensino (Cont.) Contedo programtico: Programao de microprocessadores - Conceito de linguagem de programao - Programas fonte e objeto - Assembler e C Conjunto de instrues - Descrio das instrues - Sintaxe
06/08/2010 4

Plano de Ensino (Cont.) Contedo programtico: Utilizao do kit LABTOOLS:


Desenvolvimento de programas em linguagem ASSEMBLY. Desenvolvimento de programas em linguagem C. Desenvolvimento de projetos e implementaes utilizando entradas e sadas digitais, botes, teclados, LEDs, displays LCDe Interface serial.
06/08/2010 5

Plano de Ensino (Cont.) Contedo programtico: Controlador Lgico Programvel (CLP) - Noes - Aplicaes em automao industrial

06/08/2010

Plano de Ensino (Cont.)

Bibliografia - Bsica - OSBORNE, Adam. Microprocessadores. McGraw Hill. - ZUFFO, J.A. Fundamentos da arquitetura e organizao dos microprocessadores. Edgard Blcher.

06/08/2010

Plano de Ensino (Cont.)

Bibliografia - Complementar: - DIAS, W.A. 8086/8088. Makron Books. - TOKHEIN, R.L. Introduo aos microprocessadores. Makron Books. - ZUFFO, J.A. Sistemas eletrnicos digitais. Edgard Blcher.

06/08/2010

Critrio de Avaliao
1.o Bimestre:
Prova 70% , Exerccios + Relatrio 30%.

2.o Bimestre:
Prova 50%, Exerccios + Relatrio 50%

O relatrio deve ser apresentado no final da aula prtica com chamada nominal.
06/08/2010 9

Reviso microprocessador
Prof. Paulo Eugenio UNIP - Sorocaba

06/08/2010

10

Estrutura de microprocessador

06/08/2010

11

Sistema microprocessado

06/08/2010

12

Arquitetura tpica de um computador

CPU: componente ativo que controla a operao dos outros elementos atravs dos barramentos de endereos, dados e controle.
06/08/2010 13

Arquitetura tpica de um computador


Memria -arranjo linear de clulas unitrias de armazenamento. Cada clula possui um endereo e um contedo. A memria utilizada para armazenar instrues e operandos. Interface de E/S -permite a troca de informaes com o mundo exterior. Responsvel pela compatibilizao eltrica e temporal computador/mundo exterior. Barramento de Dados -transporta dados (instrues ou operandos) de/ou para a CPU Barramento de Endereos -indica o endereo de memria ou de E/S que est sendo acessado para uma escrita (envio de informao pela CPU) ou leitura (recebimento de informao pela CPU). Barramento de Controle -contm sinais de controle para permitir a comunicao organizada entre CPU, Memria e E/S. Sinais tpicos do barramento de controle, incluem: Sinal de Leitura, Sinal de Escrita
06/08/2010 14

Linguagem de programao

Prof. Paulo Eugenio UNIP - Sorocaba

06/08/2010

15

Programao de baixo nvel


O aprendizado da programao de baixo nvel (em linguagem de mquina ou linguagem de montador) de qualquer mquina passa pelo entendimento / aprendizado:
da organizao dos registradores internos CPU; da organizao da memria e forma de acesso; do conjunto de instrues; de ferramentas de apoio programao
06/08/2010 16

Ferramentas de apoio programao de baixo nvel Montador

Montador ou Assembler um programa para a converso da linguagem nativa de uma mquina expressa em um formato mnemnico para o formato executvel (a denominada linguagem de mquina).
06/08/2010 17

Ex. Programa fonte Inicio programa


;************************************** ;* ENTRADAS * ;************************************** #DEFINE BOTAO_0 PORTB,0 ; ESTADO DO BOTO 0 ; 1 -> LIBERADO ; 0 -> PRESSIONADO ;************************************** ;* CONSTANTES INTERNAS * ;************************************** FILTRO_TECLA EQU .200 ; FILTRO P/ EVITAR RUIDOS DOS BOTES ;************************************** ;* SADAS * ;************************************** #DEFINE BUZZER PORTA,5 ; SADA PARA BUZZER

org 0
GOTO ..............
06/08/2010

; start code at 0
Start ; PULA PARA
18

Ex. Programa fonte loop principal


************************************** ;* VARREDURA DOS BOTES E LEDS * ;* LOOPING PRINCIPAL * ;************************************** VARRE CLRWDT BTFSS BOTAO_0 GOTO TRATA_BOTAO_0 BTFSS BOTAO_1 GOTO TRATA_BOTAO_1 BTFSS BOTAO_2 GOTO TRATA_BOTAO_2 BTFSS BOTAO_3 GOTO TRATA_BOTAO_3 MOVLW MOVWF GOTO VARRE 06/08/2010 FILTRO_TECLA FILTRO_BOTOES ; LIMPA WATCHDOG TIMER ; O BOTO 0 ESTA PRESSIONADO ? ; SIM - PULA P/ TRATA_BOTAO_0 ; NAO ; O BOTO 1 ESTA PRESSIONADO ? ; SIM - PULA P/ TRATA_BOTAO_1 ; NAO ; O BOTO 2 ESTA PRESSIONADO ? ; SIM - PULA P/ TRATA_BOTAO_2 ; NAO ; O BOTO 3 ESTA PRESSIONADO ? ; SIM - PULA P/ TRATA_BOTAO_3 ; NAO ; CARREGA NO WORK O VALOR DE FILTRO_TECLA ; SALVA EM FILTRO_BOTOES ; RECARREGA FILTRO P/ EVITAR RUIDOS NOS BOTES ; VOLTA PARA VARRER TECLADO 19

Ex. Programa fonte sub-rotina


......... ; ************************* TRATAMENTO DO BOTO 0 *************************** TRATA_BOTAO_0 MOVF FILTRO_BOTOES,F BTFSC STATUS,Z ; FILTRO J IGUAL A ZERO ? (FUNO JA FOI ; EXECUTADA?) GOTO VARRE ; SIM - VOLTA P/ VARREDURA DO TECLADO ; NO DECFSZ GOTO CALL BEEP1 GOTO VARRE FILTRO_BOTOES,F ; FIM DO FILTRO ? (RUIDO?) VARRE ; NAO - VOLTA P/ VARRE ; SIM - BOTO PRESSIONADO ; CHAMA A ROTINA DE BEEP1 ; VOLTA P/ VARREDURA DOS BO

06/08/2010

20

10

Rtulo, instruo/diretiva e comentrio


Rtulo: Texto (seqncia de caracteres) que serve de referncia simblica a um endereo (ou valor). Instruo/diretiva: No campo instruo/diretiva podemos ter uma instruo de mquina no formato mnemnico (por exemplo: MOVLW .240) ou um diretiva de montador (pseudo-instruo) Comentrio: Texto utilizado pelo programador para documentar o programa. ignorado pelo Montador. Diretivas de Montador ou Pseudo-Instrues: So instrues para o montador -no de mquina, e serve para controlar o trabalho do montador. No so convertidas para um cdigo de mquina executvel.

06/08/2010

21

Exemplo de diretivas
EQU(equate)
associa um rtulo a um valor. Facilita a leitura e manuteno do programa.

ORG (origin)
Define um novo valor para o contador de posio (location counter). O contador de posio mantm o registro do endereo de memria (posio na memria) onde o prximo item (por exemplo, instruo) do programa deve ser armazenado.

END (end)
Indica ao montador o final do cdigo fonte
06/08/2010 22

11

Microcontralador PIC

Prof. Paulo Eugenio UNIP - Sorocaba

06/08/2010

23

Microcontroladores PIC
Tipicamente os microcontroladores se caracterizam por incorporarem internamente cpu, memrias de programa e dados e vrios perifricos como timers, watchdog timers, comunicao serial, conversores analgicos digitais, geradores de PWM, etc. Fazendo com que a aplicao final fique extremamente compactada.
06/08/2010 24

12

Estrutura do microcontrolador

06/08/2010

25

Microchip
A Microchip uma empresa norte americana, fundada em 1989, com sede na cidade de Chandler, Arizona (oeste dos E.U.A.). Esta empresa desenvolve, fabrica e comercializa microcontroladores (PIC), memrias seriais (I2C e SPI), produtos para segurana (Keeloq), identificadores por RF (RFID), conversores A/D, circuitos integrados de superviso (Bronw out) e amplificadores operacionais.
06/08/2010 26

13

Famlia dos Microcontroladores PIC


A Microchip uma precursora no uso da tecnologia RISC em microprocessadores. O nome RISC a abreviao de Reduced Instruction Set Computer (computador com conjunto de instrues reduzido).
06/08/2010 27

Arquitetura Harvard Conceito de registrador arquivo Todas as instrues com palavras simples Palavra de instruo longa (LWI - Long Word Instruction) Arquitetura de instrues em "Pipeline" Instrues de apenas um ciclo de mquina Conjunto de instrues reduzido
06/08/2010 28

Caractersticas da tecnologia RISC

14

Arquitetura Von Newmann X Harvard


Diferente da arquitetura Von Newmann, a estrutura RISC baseada na arquitetura Harvard que possui um barramento para dados e outro para o programa, e tem como caractersticas, tamanhos diferenciados entre barramento de dados e de programa, permitindo que em uma nica palavra, est a instruo e o operando. Existem modelos de PIC onde o barramento de dados de 8 bits e o de programa de 12 bits. Com isso conseguimos compactar o cdigo e execut-lo em alta velocidade.
06/08/2010 29

Arquitetura VonNewmann X Harvard

06/08/2010

30

15

Arquitetura Von Newmann


Na arquitetura Von Newmann tradicional utiliza o mesmo barramento para memria de programa e dados.
06/08/2010 31

Arquitetura Harvard
Na arquitetura Harvard utiliza um barramento para memria de programa e um para memria de dados.

06/08/2010

32

16

Sistema de clock
A entrada de clock (pino OSC1 CLKIN) internamente dividida por quatro para gerar quatro clocks em quadratura sem sobreposio, nomeados Q1, Q2, Q3, e Q4. Internamente o contador de programa PC incrementado em Q1, e a instruo retirada da memria de programa e colocada no registrador de instrues em Q4. Ela decodificada e executada durante o ciclo seguinte de Q1 at Q4.
06/08/2010 33

Sistema de clock

06/08/2010

34

17

Fluxo de Instruo/ Pipeline


Um ciclo de instruo consiste de quatro ciclos Q (Q1, Q2, Q3, Q4). A busca e execuo so feitas em linha, de tal forma que a busca leva um ciclo de instruo e a execuo leva outro ciclo. Contudo, devido caracterstica de "Pipeline", cada instruo executada efetivamente em um ciclo, pois simultaneamente ocorrem as execues de uma instruo e a busca a instruo seguinte. Se a instruo causa a alterao no contador de programa, ento dois ciclos so necessrios para completar a instruo.
06/08/2010 35

Fluxo de Instruo/ Pipeline

06/08/2010

36

18

Palavra de Instruo Longa


A arquitetura com barramentos separados para instrues e dados permitem larguras de barramento diferentes. Com isso o barramento de instrues otimizado para uma palavra de comprimento nica. O nmero de bits do barramento de instrues depende de quantas instrues so implementadas e do nmero de registradores disponveis em cada famlia de microcontrolador.
06/08/2010 37

Microcontrolador PIC 18F452

Prof. Paulo Eugenio UNIP - Sorocaba

06/08/2010

38

19

Microcontrolador PIC 18F452


32K x 8 bits de memria flash; 1536 x 8 bits de memria RAM; 256 x 8 bits de memria EEPROM; Pilha implementada por hardware com 8 nveis (at 8 chamadas de rotinas aninhadas) 5 Portas de E/S (Portas A, B, C, D, E) ; 18 fontes de interrupo (internas e externas); 2 mdulos de Captura/Comparao/PWM; Conversor A/D de 10 bits com entradas multiplexadas;
39

06/08/2010

Microcontrolador 18F452
Porta serial sncrona com SPI (master mode) e I2C (master/slave); Timer/Counter programvel e um Watchdog Timer embutidos, este com seu prprio oscilador, para aplicaes de Tempo Real crticas; Recursos de hardware para proteo de cdigo, modo de operao com baixo consumo de energia (sleep), programao "in-circuit", alta corrente de sada para LEDs (25 mA), power-on-reset, power-up timer, etc

06/08/2010

40

20

Pinagem (DIP)

06/08/2010

41

Pinagem (PLCC)

06/08/2010

42

21

Pinagem (TQFP)

06/08/2010

43

Caractersticas eltricas bsicas PIC 18F452


Faixa de Alimentao: 2 a 5,5 volts tpico 5 volts Consumo de corrente:
1) < 1,6 mA a 5 volts a 4 MHz 2) 25 uA a 3 volts a 32 KHz 3) 2 uA em stand by

06/08/2010

44

22

Arquitetura Interna do PIC18F452

06/08/2010

45

Conjunto de Instrues 8FXX2

06/08/2010

46

23

Conjunto de Instrues 8FXX2

06/08/2010

47

Conjunto de Instrues 8FXX2

06/08/2010

48

24

Conjunto de Instrues 8FXX2

06/08/2010

49

Conjunto de Instrues 8FXX2

06/08/2010

50

25

Conjunto de Instrues 8FXX2

06/08/2010

51

Obrigado!

06/08/2010

52

26

Você também pode gostar