75
www.m ackenzie.com.br APOSTILA MICROPROCESSADORES APLICAÇÃO PRIMEIRO SEMESTRE 2004

UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

  • Upload
    lyduong

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

www.mackenzie.com.br

APOSTILA MICROPROCESSADORES

APLICAÇÃO

PRIMEIRO SEMESTRE 2004

PROF. IVAIR REIS N. ABREUwww.ivair.com.br

Page 2: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

ÍNDICE

1) - REVISÃO DA ARQUITETURA DO MICROCONTROLADOR 8051 8

1.1) - Família de Microcontroladores INTEL MCS-51: 8

1.2) - Arquitetura do Microntrolador 8051: 81.2.1) - Pinagem: 91.2.2) - A memória RAM interna: 10

1.3) - Códigos de operação do microcontrolador 8051: 111.3.1) - Instruções de transferência de informação: 111.3.2) - Instruções Aritméticas: 121.3.3) - Instruções Lógicas: 131.3.4) - Instruções de Transferência de Controle: 141.3.5) - Instruções Booleanas: 15

1.4) – Projeto Básico de Controle: 16

1.5) – Exercício: 16

2) – LINGUAGEM ASSEMBLER ESTRUTURADA: 18

2.1) - Estrutura básica da Linguagem Assembler: 18

2.2) - Macros em Assembler: 18

2.3) - Técnicas para programação Assembler: 192.3.1) - Labels e utilização de EQUATES: 192.3.2) - Comentários: 202.3.3) - Salvamento de Registradores na Pilha: 222.3.4) - Utilização de Subrotinas: 222.3.5) - Organização do Programa: 232.3.6) - Erros mais comuns ocorridos na programação em Linguagem Assembler: 23

3) – INTERFACE PARA DISPLAY DE CRISTAL LÍQUIDO (L.C.D.): 253.1) - Display LCD programável: 25

3.2) – SISTEMA MÍNIMO TÍPICO: 25

3.2.1) – Sistema com o Display com endereçamento de memória: 26

3.2.2) – Sistema com Display controlado por Ports (sem memória externa): 26

3.3) – Rotinas Básicas: 273.3.1) – Rotina de Inicialização (CONFIG:) 273.3.2) – Rotina de Escrita na primeira ou segunda linha de um display a partir de uma tabela (ESCDSP:): 27

3.3) – Exercícios: 28

2

Page 3: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

4) – SISTEMA DE INTERRUPÇÃO, TEMPORIZAÇÃO E TECLADO MATRICIAL:32

4.1) - Sistema de Interrupção: 32

4.2) - Sistema de temporização: 32

4.3) – Rotina de Inicialização (CONFIG:) 33

4.4) – Exercícios de Interrupção / Temporização: 34

4.5) - Sistema de varredura de Teclado 34

4.6) – Rotinas Básicas: 354.6.1) – Rotina de Leitura de um teclado na rotina timer0 (LETEC:) 35

4.7) – Exercícios: 35

5) - SISTEMA DE COMUNICAÇÃO SERIAL 8051: 36

5.1) - Introdução e conceitos básicos: 365.1.1) - Comunicação Assíncrona: 365.1.2) - Comunicação Síncrona: 365.1.3) - Interface padrão RS-232: 375.1.4) - Sinais típicos de uma interface padrão serial: 37

5.2) – UART 8051 - Funcionamento básico: 38

5.3) – Sistema Mínimo RS232: 41

5.3) – Rotinas Básicas: 415.3.1) – Rotina de Inicialização (CONFIG:) 415.3.2) – Rotina de Transmissão de um byte (TX1:) 415.3.3) – Rotina de Transmissão de uma String (TXSERIAL:) 415.3.4) – Rotina de Recepção Serial (RXSERIAL:) 42

5.4) – Exercícios: 43

6) – CONVERSÃO ANALÓGICO / DIGITAL: 44

6.1 ) - Introdução: 44

6.2) – Conversor A/D ADC 0808 45

6.3) - Exercícios 46

6.3) – Rotinas Básicas: 466.3.1) – Rotina de Leitura (LEADC:) 46

6.4) – Exercícios: 46

7) – PROJETOS DE CONTROLE: 47

3

Page 4: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

8.1) - Tipo de variáveis: 48

8.2) - Declaração de Variáveis: 48

8.3) - Operadores: 488.3.1) - Operadores Aritméticos: 488.3.2 ) - Operadores Lógicos e Relacionais: 498.3.3) - Operadores Binários: Alteram bits em variáveis. 498.3.4) - Operadores de Matrizes (Arrays): 49

8.4) - Diretivas da linguagem C: 49

8.5) - Funções e declarações especiais: 49

8.6) - Formato básico de um programa em C: 50

8.7) - Tipos de Estruturas em C: 508.7.1) - Condicional IF: 508.7.2) - Condicional FOR 518.7.3) - Condicional WHILE 518.7.4) - Condicional DO / WHILE 528.7.5) - Condicional SWITCH 52

8.8) - Exemplo de utilização (exemplo 1 - pg 230 - Vidal) 53

8.9) - Utilizando o compilador uVision51 (Keil): 54

9) - PROCESSAMENTO DIGITAL DE SINAL 56

9.1) INTRODUÇÃO AO PROCESSAMENTO DIGITAL DE SINAIS 56

9.2) - Características da arquitetura de um circuito integrado dedicado a DSP: 57

9.3) - Conclusão: 61

ANEXO I 62

SEMINÁRIO DE MICROPROCESSADORES 62

Revisão: 05/02/2004

4

Page 5: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

PLANEJAMENTO DIDÁTICO PEDAGÓGICO DA DISCIPLINA MICROPROCESSADORES APLICAÇÃO - PRIMEIRO SEMESTRE 2004

CURSO SUPERIOR DE TECNOLOGIA ELÉTRICA

UNIDADE: F.C.IDISCIPLINA: Microprocessadores AplicaçãoPROFESSOR: Ivair Reis Neves AbreuDepartamento: EletrônicaETAPA: 6 CARGA HORÁRIA: 4 aulas teóricas SEMESTRE LETIVO:

primeiro

OBJETIVOS: o aluno deverá adquirir os conceitos básicos de sistemas com microcontroladores e processadores digitais de sinal ao nível de projeto físico e programação em linguagem de montagem (e máquina) para teste do sistema elaborado.

EMENTA:

- Revisão de Conceitos de Microprocessadores (Arquitetura e Linguagem Assembler) e Microcontrolador (família 8051) e periféricos.

- Linguagem estruturada e técnicas de programação com microcontroladores. Linguagem C aplicada a microcontroladores.

- Desenvolvimento de sistemas com microcontroladores: interface paralela centronics, controlador de grandezas analógicas (pressão, temperatura, etc.), coletor de dados e controle de circuitos de potência com PWM.

- Introdução a Processamento Digital de Sinais: arquitetura do TMS320, conjunto de instruções e projeto de filtros digitais.

METODOLOGIA

Aula expositiva com auxílio de recursos audiovisuais (principalmente retroprojetor). O aluno deverá constantemente participar através de aplicação de exercícios e projetos. Uma apostila envolvendo todos os pontos abordados servirá de apoio didático durante as exposições. Trabalhos levarão o aluno a refletir sobre pontos avançados não abordados diretamente na sala de aula.

CRITÉRIO DE AVALIAÇÃO

((P1 X 0,7) + (LAB X 0,2) + (T1 X 0,1)) x 0,6 + (P2 X 0,4)

P1 = primeira prova semestral -> DIA 16/04/2004 P2 = segunda prova semestral. -> SECRETÁRIA T1 = seminário Lab = laboratórioMédia >= 7 -> aluno aprovado

5

Page 6: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

5,5 <= média<6.9 -> aluno aprovado se frequencia > 80 %

BIBLIOGRAFIA

- APLICAÇÕES PRÁTICAS DO MICRONTROLADOR 8051. Vidal Pereira da Silva Jr. - Érica- DATABOOK EMBEDED APLICATIONS 8051. Intel.- THE 8051 FAMILY OF MICROCONTROLLERS. Richard H. Barnett. Prentice Hall.- THE 8051 MICROCONTROLLER. I. Schott Mackenzie. Prentice Hall.- Using the MCS-51 Microcontroller 8051. HANG, Han-Way, 2000. Ed. Oxford University- C and the 8051. SCHULTZ, Thomas, 2001. Ed. Prentice Hall- APOSTILA MICROPROCESSADORES APLICAÇÕES. Ivair Reis Neves Abreu

Internet:

www.microcontroller.comwww.8052.comwww.vidal.com.brwww.icmaster.comwww.microchip.comwww.ti.comwww.zilog.comwww.motorola.com.www.cypress.com

6

Page 7: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

1) - Revisão da Arquitetura do Microcontrolador 8051

1.1) - Família de Microcontroladores INTEL MCS-51:

Os principais recursos destes microcontroladores são:

- Memória de Programa de 4 kbytes: ROM (8051), EPROM (8751). Versão "romless" (8031).

- 256 bytes de RAM (registradores)- 4 ports (latchs bidirecionais programáveis) com 8

bits.- 2 temporizadores ("timers") de 16 bits- 1 unidade serial assíncrona (UART) "full-duplex".- 5 interrupções (2 externas, 2 "timers" e 1 "UART").- Oscilador interno para geração de temporização.- Acesso a até 64 Kbytes de RAM externa (dados) e 64

Kbytes de EPROM (programa) externa através do controle de 2 sinais de leitura (PSEN -> área de programa - RD -> área de dados). Esta estrutura é conhecida como 'arquitetura HARVARD'.

- 256 instruções otimizadas para controle.

1.2) - Arquitetura do Microntrolador 8051:

7

Page 8: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

Figura 1

1.2.1) - Pinagem:

- Vcc,Gnd: alimentação única de 5 V.

- X1-X2: conectada ao cristal externo (12 Mhz típico). O sistema de temporização interno divide a frequência do cristal por 12, proporcionando um ciclo típico de máquina de 1 mseg.

- RST: entrada de inicialização ativa em nível alto __ - EA ("external acess"): em nível baixo, desabita os 4

kbytes de memória de programa interna. Toda a busca de instrução é realizada externamente (através de uma EPROM). Em nível alto habilita a memória interna.

- ALE ("Address Latch Enable"): na utilização de memória de programa externa, este pino tem a função de indicar a presença de endereço (em nível alto) ou dado (em nível baixo) no barramento de endereço/dado multiplexado (AD0-AD7).

8

Page 9: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

____- PSEN ("Program Strobe Enable"): em nível baixo indica

leitura de uma instrução da área de programa. Normalmente ligado ao pino RD da memória de programa.

- Port P0 (P0.0-P0.7): seus 8 pinos podem ter dupla função. Se não houver memória externa, são utilizados como sinais de entrada/saída do "latch" bidirecional P0. Se houver memória externa, atua como 8 sinais multiplexados de dados/endereço (AD0-AD7). O sinal de ALE indica a condição deste barramento.

- Port P1 (P1.0-P1.7): 8 pinos de entrada/saída do "latch" bidirecional P1.

- Port P2 (P2.0-P2.7): seus 8 pinos também podem ter dupla função. Se não houver memória externa com mais de 256 endereços, são utilizados como sinais de entrada/saída do "latch" bidirecional P2. Se houver necessidade de endereçamento maior que 8 bits, atua como 8 sinais de endereço A8-A15.

- Port P3 (P3.0-P3.7): novamente, seus 8 sinais tem dupla função:

- P3.0: RxD (recepção serial) / port P3.0- P3.1: TxD (transmissão serial) / port P3.1- P3.2: INT0 (interrupção 0) / port P3.2- P3.3: INT1 (interrupção 1) / port P3.3- P3.4: T0 (entrada Timer 0) / port P3.4- P3.5: T1 (entrada Timer 1) / port P3.5- P3.6: WR (sinal de escrita da RAM externa)/port

P3.6- P3.7: RD (sinal de leitura da RAM externa)/port

P3.7

1.2.2) - A memória RAM interna:

- Área de Registradores R0-R7 (00-1FH): o 8051 possui 4 bancos de registradores selecionados através dos bits RS1 e RS0 do registrador PSW. Normalmente estes registradores armazenam endereços da área de rascunho (modo de endereçamento indireto).

- Área Booleana (binária) (20H-2FH): 16 bytes endereçados bit a bit (totalizando 128 bits). Pode-se acessar cada bit individualmente indicando uma determinada condição binária (por exemplo: a tecla A de um teclado foi acionada). Estes bits são acessados pelas instruções booleanas do 8051.

- Área de Rascunho (30H-7FH): memória de uso geral onde se localiza a pilha do sistema.

9

Page 10: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

- Área de Registradores Especiais (SFR) (80H-FFH): área onde se localiza todos os registradores com função especial. O número destes registradores varia de acordo com as funções disponíveis dentro do processador. Os registradores especiais mais comuns são:

- PO (80H): port P0.- P1 (90H).- P2 (A0H).- P3 (B0H).- ACC (E0H): acumulador.- B (F0H)- PSW (D0H): registrador de status- SP (81H): apontador de pilha- DPL (82H): byte menos significativo do

registrador DPTR.- DPH (83H): byte mais significativo do

registrador DPTR.- PCON (87H): registrador de controle de consumo

do 8051.- IE (A8H): registrador de habilitação do sistema

de interrupções.- IP (B8H): registrador indicador de prioridade do

sistema de interrupção.- TMOD (89H): registrador de modo dos timers.- TCON (88H): registrador de controle do timer 1- T2CON (C8H): registrador de controle do timer 2.- TL0 (8AH): byte inferior do timer 1.- TH0 (8CH): byte superior do timer 1.- TL1 (8DH): byte inferior do timer 2.- TH1 (8BH): byte superior do timer 2.

1.3) - Códigos de operação do microcontrolador 8051:

1.3.1) - Instruções de transferência de informação:

Conjunto de instruções com o objetivo de transferir ou carregar dados da área de memória/registradores. Normalmente são instruções voltadas para a área de RAM interna, havendo apenas 4 instruções que envolvem acesso a RAM externa.

- MOV destino,fonte ;transfere (copiando) o dado da fonte para o destino

- MOV A,Rn- MOV A,direto- MOV A,@Ri- MOV A,#dado

Ex.: MOV A,R7 ; copia o dado contido no registrador R7 para o Acumulador

10

Page 11: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

MOV A,40h ; copia o dado do endereço 40h da RAM interna ; para o acumulador

MOV A,P1 ; copia o dado do PORT 1 (registrador ;localizado na área SFR da RAM interna) para ;o acumulador

MOV A,@R0 ; copia o dado contido na área de RAM cuja o ; endereço esta em R0 para o acumulador

MOV A,#40h ; carrega o dado 40h no acumulador

- MOV Rn,A- MOV Rn,direto- MOV Rn,#dado- MOV direto,A- MOV direto,Rn- MOV direto,direto- MOV direto,@Ri- MOV direto,#dado- MOV @Ri,A- MOV @Ri,direto- MOV @Ri,#dado- MOV DPTR,#dado (16);carrega DPTR com dado de

;16 bits (pois a memória ;externa tem capac. de;64k)

- MOVC A,@A+DPTR ;leitura de tabela da ROM com endereço armazenado em A (offeset) + DPTR (início da tabela)

- MOVC A,@A+PC ;idem com end. inicial em PC- MOVX A,@Ri ;le dado de mem. ext.

;endereçado por Ri- MOVX A,@DPTR- MOVX @Ri,A- MOVX @DPTR,A ;escreve dado no acum. na

;memória ext.- XCH A,Rn ;troca dados do acum. com reg.- XCH A,direto- XCH A,@Ri- XCHD A,@Ri ;troca apenas nibble inferior

1.3.2) - Instruções Aritméticas:

- Instruções de Soma:

- ADD A,Rn ;Acum + Rn = Acum.- ADD A,direto- ADD A,@Ri- ADD A,#dado- ADDC A,Rn ;Acum + Rn + Carry = Acum.- ADDC A,direto- ADDC A,@Ri

11

Page 12: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

- ADDC A,#dado- ADDC A,Rn- INC A ;Acum+1 = Acum- INC Rn- INC direto- INC @Ri- INC DPTR

- Instruções de Subtração:

- SUBB A,Rn ;Acum - Rn = Acum.- SUBB A,direto- SUBB A,@Ri- SUBB A,#dado- DEC A ;Acum-1=Acum- DEC Rn- DEC direto- DEC @Ri

- Multiplicação: o resultado de 16 bits é armazenado no Acumulador (LSB) e no registrador B (MSB).

- MUL A,B ;multiplica dado de A por B

- Divisão: a parte inteira do resultado é armazenado no acumulador e o resto no registrador B

- DIV A,B ;divide A por B

- Ajuste decimal: soma o número 6 ao nibble superior a 9. Instrução para ajuste decimal.

- DA A

1.3.3) - Instruções Lógicas:

- Instruções AND:

- ANL A,Rn ;A ^ Rn = A- ANL A,direto- ANL A,@Ri- ANL A,#dado

- Instruções OU:

- ORL A,Rn ;A OU Rn = A- ORL A,direto- ORL A,@Ri- ORL A,#dado

- Instruções OU-EXCLUSIVO:

- XRL A,Rn ;A OU-EXC Rn = A- XRL A,direto

12

Page 13: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

- XRL A,@Ri- XRL A,#dado

- Rotação: divisão/multiplicação binária

- RR A ;rotaciona todo os bits do ;acumulador 1 posição para a ;direita. O bit 1 é deslocado para ;o oitavo bit

- RRC A ;o primeiro bit o acumulador é ;rotacionado para o carry e o bit ;deste para o oitavo bit do ;acumulador

- RL A ;idem a RR mas invertendo a direçao

- RLC A ;idem a RLC mas invertendo a dir.

- Complementação:

- CPL A ;complementa todos os bits do acum.- CLR A ;zera acumulador- SWAP A ;troca os nibbles do acumulador

1.3.4) - Instruções de Transferência de Controle:

- SJMP end(8) ;carrega PC com endereço de 8 bits- AJMP end(11);carrega PC com endereço de 11 bit- LJMP end(16);carrega PC com endereço de 16 bit- JMP @A+DPTR ;carrega PC com endereço (A+DPTR)- JNZ end(8) ;se Z=0, salta para endereço - JZ end(8) ;se Z=1, salta para endereço- ACALL end(11) ;salta para a subrotina de endereço

indicado. PCH->(SP+1), PCL->(SP+2) e SP->SP+2- LCALL end(16) ;idem com end. de 16 bits- RET ;resgata endereço da pilha,

retornando ao ponto da chamada de subrotina. SP->PCL, SP-1->PCH e SP=SP-2

- RETI ;retorno de subrotinas de interrupção.

- PUSH direto ;salva na pilha (SP+1) dado direto- POP direto ;resgata da pilha (SP-1) dado direto

- CJNE A,direto,end(8) ;se A direto, saltam- CJNE A,#dado,end(8) ;se A #dado, saltam- CJNE Rn,#dado,end(8) ;se Rn #dado, saltam- CJNE @Ri,#dado,end(8) ;se (Ri)#dado, saltam- DJNZ Rn,end(8) ;decrementa Rn. Se Rn0,

;retorna ao endereço- DJNZ direto,end(8) ;idem utilizando dado

;direto como contador.

13

Page 14: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

1.3.5) - Instruções Booleanas:

- CLR C ;zera bit Cy- CLR bit ;zera bit especificado- SETB C ;seta bit Cy- SETB bit ;seta bit especificado- CPL C ;complementa Cy- CPL bit ;complementa bit- ANL C,bit ;operação "and" entre o Cy e o bit- ANL C,/bit;operação "and" entre o Cy e o inverso

;do bit especificado- ORL C,bit ;operação "OU" entre o Cy e o bit- ORL C,/bit;operação "OU" entre o Cy e o inverso

;do bit especificado- MOV C,bit ;copia bit especificado para o Cy- MOV bit,C ;copia Cy para o bit- JNC end(8);salta para o endereço especificado se

;Cy é zero- JC end(8);salta para o endereço especificado se

;Cy é um- JB bit,end(8) ;salta para o endereço espec.

;se bit=1- JNB bit,end(8) ;salta para o endereço espec.

;se bit=0- JBC bit,end(8) ;salta e zera o bit se o mesmo

;estiver setado

14

Page 15: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

1.4) – Projeto Básico de Controle:

- Forno de Microondas com o 8031. - Saídas: 1 motor de prato

1 lâmpada1 válvula microondas1 bip (buzzer)

- Entradas: 1 chave liga/desliga1 chave da porta2 chaves gerais

- Firmware: Se a chave liga/desliga estiver acionada e a porta fechada ligar todas as saídas (menos o bip) por 1 minuto. Após este tempo, acionar o bip por 0,5 segundos e voltar ao ínicio do processo. Se a porta abrir durante o tempo de 1 minuto, desligar as saídas e esperar a porta fechar para finalizar processo.

1.5) – Exercício:

1) - Sistema de Automação de Iluminação de um escritório com o 8951 (www.atmel.com)- Saídas: 2 lâmpadas externas.

8 lâmpadas internas (1 para cada sala).

- Entradas: 1 sensor fotoelétrico para controle das lâmpadas externas.1 sensor de presença em cada sala.

- Firmware:lâmpadas externas-> ligar quando o sensor fotoelétrico estiver indicando escuro. lâmpadas internas -> ligar quando for detectada a presença de alguma pessoa na

saída. Desligar na ausência.

2) - Fazer um projeto com as seguintes características:

- 8751- Teclado 16 teclas- Comunicação serial RS232- Conversor A/D de 8 canais (ADC0808) -> 0-1fffh- Display 16x2 -> 2000h-3fffh- 1 chave liga/desliga- 1 solenóide- 1 lâmpada- 1 sensor fotoelétrico

Em relação da projeto físico acima, fazer os seguintes programas:

3) - Fazer um programa para o sensor controlar a lâmpada.

15

Page 16: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

Solução:

;*** PROGRAMA EXEMPLO - CONTROLE DO DE UMA LAMPADA ATRAVES DE UM SENSOR;*;* SENSOR = 1 -> LIGA A LAMPADA;* SENSOR = 0 -> DESLIGA A LAMPADA;*;***;*** DEFINICAO DOS LABELSCHAVE BIT P3.2SOLENOIDE BIT P3.3LAMPADA BIT P3.4SENSOR BIT P3.5PILHA EQU 60H;*** INICIO DO PROGRAMA

ORG 0JMP INICIO ;SALTA AREA DE INTERRUPCAOORG 30H

INICIO: MOV SP,#PILHACLR SOLENOIDECLR LAMPADA

LESENSOR: JB SENSOR,LIGALAMCLR LAMPADAJMP LECH

LIGALAM: SETB LAMPADAJMP LESENSOR

;***AREA DE SUBROTINA

;***AREA DE SUBROTINAS DE INTERRUPCAO

;***AREA DE TABELAS

END

4) - Fazer um programa para a chave controlar o solenóide

16

Page 17: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

2) – Linguagem Assembler Estruturada:

2.1) - Estrutura básica da Linguagem Assembler:

A linguagem Assembler relaciona estruturas mneumônicas e pseudo-instruções (diretivas) com códigos de operação (linguagem de máquina). Por ser uma representação direta dos códigos de operação do microprocessador, permite um total controle dos elementos físicos de um sistema microprocessado (acesso a registradores, posições absolutas de memória, controle de periféricos, etc.).

Campos básicos de uma linha de Linguagem Assembler:

LABEL CÓDIGO DE OPERAÇÃO OPERANDO COMENTÁRIOS

Exemplo: MOV A,B ;carrega A com B

Campo Label: rotula um endereço do programa com o objetivo de facilitar as instruções de salta do sistema (o compilador associa o nome do rótulo com o endereço absoluto). O label também é utilizado para nomear variáveis do sistema através da diretiva EQU (equate). O campo Label é separado do código de operação através de um caracter de espaço ou TAB.

Código de Operação: estruturas mneumônicas relacionada com o código de operação real.

Operando: contem informações de registros, valores numéricos, labels ou expressões numéricas que complementam o mneumônico.

Ex.:1) mov a,#05

2) VALOR_CTE equ 05...

add a,#VALOR_CTE

3) mov dptr,#04ffh + 1

4) mov a,#8 AND 1

Comentários: explicação de um procedimento com o objetivo de esclarecer o funcionamento de determinada parte do programa. Normalmente o comentário vem seguido do símbolo do ponto e vírgula.

2.2) - Macros em Assembler:

17

Page 18: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

Macros são estruturas do programa repetidas frequentemente. Estas rotinas podem ser chamadas por um nome e ao serem compiladas são substituídas pelo código. Exercem a mesma função das macros do Word, Excel, etc.

As macros são definidas no ASM51 da seguinte forma:

%*DEFINE (nome da macro) (estrutura da macro)

Exemplo:

%*DEFINE(PUSH_DPTR) (PUSH DPH PUSH DPL )

ROTINA: %PUSH_DPTR

No programa .LST aparece a estrutura:

ROTINA: PUSH DPHPUSH DPL

2.3) - Técnicas para programação Assembler:

É importante adotar um claro e consistente estilo na programação em linguagem Assembler. Este procedimento é fundamental particularmente quando se trabalha em equipe, pois os diversos programadores precisam estar sincronizados na forma de trabalho. Adotando-se alguns procedimentos básicos para a execução do trabalho facilita não apenas o trabalho em equipe como a programação de um único programador, pois agiliza a produção e possíveis correções do programa.

Normalmente estes procedimentos são padronizados por processos de controle de qualidade que as empresas ou programadores adotam.

2.3.1) - Labels e utilização de EQUATES:

A utilização de expressões identificadores de endereços das linhas de programação (seguida de : ) ou de números / endereços (com EQU) facilitam a documentação e compreensão do programa, agilizando a programação e principalmente o reparo / manutenção do sistema. A substituição do valor real do Label (variável / endereço) é providenciada pelo processo de compilação. Deve-se procurar utilizar nomes dos labels que sejem mneumônicos para as funções realizadas.

Ex.:

18

Page 19: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

PILHA EQU 60HTIMEH0 EQU 30H ;TEMPO DE 10 MSEG NO TIMER0TIMEL0 EQU 0C0HPROG_IN EQU 10000010B ;PROGRAMA IEPROG_T0 EQU 00000001B ;PROGRAMA TMOD

ORG 0RESET0: JMP INICIO

ORG 0BHJMP LE_IO

ORG 30HINICIO: MOV SP,#PILHA

MOV IE,#PROG_INTMOV TMOD,#PROG_T0MOV TH0,#TIMEH0MOV TL0,#TIMEL0SETB TR0CALL INICIA_DSP...

;SUBROTINAS;INICIALIZA DISPLAY LCDINICIA_DSP: ....

RET

;SUBROTINA INTERRUPCAOLE_IO: ...

RETI

2.3.2) - Comentários:

As linhas de comentários, normalmente precedidas por ponto e vírgula, devem ser utilizadas para indicar, ao programador, as funções básicas da rotina em questão e de determinadas instruções. Seu uso não deve ser indiscriminado (indicando situações obvias e redundantes) mas sim esclarecer a função das rotinas comentadas. As estruturas de decisão (utilizando JZ, JNZ, CJNZ, DJNZ, etc) devem sempre estar objetivamente comentadas.

Os programadores e empresas mais capacitadas normalmente estabelecem formatos para os comentários, de tal forma a padronizar a documentação. Um exemplo é sempre existir um comentário no início do programa descrevendo a função do programa de forma genérica, as interrupções utilizando, histórico de alterações, datas, programadores envolvidos, pendências, etc. Cada subrotina deve ser acompanhada de um cabeçalho contendo:

- Descrição objetiva da rotina.

19

Page 20: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

- Parâmetros de entrada- Parâmetros de saída- Registradores alterados / utilizados

Exemplo:

;***********;* ROTINA EXEMPLO - F.C.I MACKENZIE;*;* Data Início: 01/03/2000;* Programadores: José, João e Maria;* Descrição: esta rotina tem como função exemplicar a forma de documentação ;*;* Histórico de Alterações:;* 01/03 -> inicio da programação.;*;* Pendências:;* - Melhorar rotina de cálculo do CheckSun;*;************;***;* ÁREA DE LABELS;***

...

...;*** INÍCIO DAS SUBROTINAS

;*** ROTINA DE ESCRITA NO DISPLAY;*;* DESCRIÇÃO: rotina com a função de escrever os dados da memória pré-estabelecida no DSP;*;* Parâmetros de Entrada: End. 50h-5fh -> primeira linha DSP;* Parâmetros de Saida: ;* Registradores alterados: Acc, DPTR, R0;*;* Histórico de alteração:;* Início: 01/03/2000;*;***

ESCR_DSP: ...RET

2.3.3) - Salvamento de Registradores na Pilha:

20

Page 21: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

Para a correta estruturação do programa é fundamental garantir que uma subrotina não venha a interferir o funcionamento de outras rotinas no programa. Esta transparência é garantida pelo controle dos registradores alterados na rotina e seu devido salvamento na pilha quando não se tratar de registradores utilizados para passagem de parâmetros de saída. Portanto, é necessário a utilização das instruções PUSH e POP para garantir a integridade dos registradores alterados.

Exemplo:

;*** SUBROTINA DE RECEPÇÃO SERIAL;*;* Descrição: rotina acessada pela interrupção serial. Le SBUF, carregando o dado no endereço 30H se ;* o mesmo for diferente de 00.;* Registradores de Entrada: SBUF;* Registradores de Saída: 30H;* Registradores alterados: ACC, PSW

LESERIAL: PUSH ACCPUSH PSW

MOV A,SBUFCJNE A,#00,CONT1MOV 30H,A

CONT1: POP PSWPOP ACCRETI

2.3.4) - Utilização de Subrotinas:

O princípio básico da programação estruturada e bem feita é a divisão do programa em subrotinas, dividindo a solução para facilitar a obtenção do algoritmo de cada parte do programa. A divisão do programa também auxilia na divisão de tarefas e procedimentos de testes de cada parte do programa. A idéia básica é a mesma quando temos um grande problema para resolver e o dividimos para facilitar a solução final.

O conceito de subrotina também está ligado ao fato de muitas vezes possuirmos estruturas repetitivas no programa (por exemplo: diversas vezes temos a necessidade de escrever mensagens no display). Se colocamos estas estruturas em sub-rotinas e a acessamos todas as vezes que necessitamos desta função, é claro que existirá uma grande economia de códigos de programação.

As subrotinas podem estar ligadas ao sistema de interrupção. Neste caso, sua função está ligada diretamente a característica da própria interrupção. Ex.: a interrupção serial está ligada a função de receber e transmitir dados seriais.

No planejamento do programa devemos dividir o programa em rotina principal, subrotinas de interrupção e subrotinas genéricas. Cada um destes blocos poderão ser criados e testados separadamente (inclusive com auxílio de programas de LINK / LOCATE), existindo no final apenas um teste final interligando todas as rotinas.

21

Page 22: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

2.3.5) - Organização do Programa:

Normalmente os programas são ordenados da seguinte forma:

- Comentário Inicial- Área de Labes (equates)- Vetores e chamada de Interrupção- Programa Principal (normalmente em loop)- Área de Subrotinas genéricas.- Área de Subrotinas de interrupção.- Área de tabelas (DB, DW, etc.)

O algoritmo do programa deverá ser estruturado baseado na ordem acima.

2.3.6) - Erros mais comuns ocorridos na programação em Linguagem Assembler:

- Saídas de subrotinas com saltos: a única forma de saída da subrotina é através de instruções RET ou RETI. A utilização de JMPs ou qualquer outro tipo de instrução de desvio fará o programa se perder, ou os endereços de retorno armazenados na pilha estarão perdidos.

- Esquecimento de indicar a área de pilha: todo o programa necessita ser começado através da definição clara da área de pilha (instrução MOV SP,#PILHA).

- Memória insuficiente para a pilha: a utilização de um grande número de subrotinas "aninhadas" (subrotinas dentro de subrotinas), pode levar ao "estouro" da área da memória reservada para a pilha.

- Salvamento e Resgate da Pilha: todo o salvamento de registradores na pilha (com PUSH) deve ser resgatado no final da rotina (com POP). Lembrar que a pilha trabalha na estrutura do último dado salvo ser o primeiro a ser resgatado (FirsInLastOut - FILO).

- Registradores alterados em subrotinas: todos os registradores destruídos em subrotinas que possam ser utilizados em outras rotinas devem ser salvos na pilha para garantir a transparência do programa.

- Inversão dos registradores nas instruções; é bastante comum a troca de registradores em instruções MOV.

Ex.: deseja-se mover o dado do acumulador para o registrador R0 utlizando MOV A,R0

- Não inicialização de ponteiro de memórias: quando utilizamos endereçamento indireto (com @) e não inicializamos o ponteiro.

Ex: mov @r0,A ;o acumulador é deslocado para qual endereço?

- Não inicialização de registradores e memória RAM: o programa sempre deve colocar os registradores e área de RAM com dados conhecidos e controlados.

22

Page 23: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

- Utilização invertida da condição de salto: erro bastante comum e que provoca a inversão das condições de saida. A simulação do programa é necessária para se precaver deste tipo de erro.

Ex: Saltamos quando o bit é alto (JB) e deveria ser baixo (JNB).

- Não parada do programa ou falta de retorno: todo o programa principal deve ser cíclico (loop) e jamais invadir a área de subrotinas. Toda a subrotina deve prever o retorno ao programa que a chamou (através de RET ou RETI)

23

Page 24: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

3) – Interface para Display de Cristal Líquido (L.C.D.):

3.1) - Display LCD programável:

A figura a seguir mostra os principais controles destes tipos de displays:

Arquitetura básica dos displays L.C.D.

C/D = 1 -> indica dado em ASCII a ser escrito no display C/D = 0 -> indica controle (inicialização e endereço do

caractere no display)

Principais controles de inicialização utilizados:

- Configura display para 1 linha (8 bits) -> 30H- 2 linhas (8 bits) -> 38H- Display ativado com cursor fixo -> 0EH- Display ativado com cursos intermitene -> 0CH- Cursor apagado -> 08H- Mensagem com deslocamento à esquerda -> 07H- Mensagem com deslocamento à direita -> 05H- Cursor com deslocamento à esquerda -> 04H- Cursor com deslocamento à direita -> 06H- Limpa display e retorna o cursor -> 01H- Desloca somente cursor à esquerda -> 10H- Desloca somente cursor à direita -> 14H

3.2) – Sistema Mínimo Típico:

24

Page 25: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

3.2.1) – Sistema com o Display com endereçamento de memória:

3.2.2) – Sistema com Display controlado por Ports (sem memória externa):

25

Page 26: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

3.3) – Rotinas Básicas:

3.3.1) – Rotina de Inicialização (CONFIG:)

Rotina para inicializar o display com 2 linhas, deslocamento da esquerda para direita, sem cursor e limpeza do display

;sub-rotina de configuração do sistema – display – chama tabela de configuração do display

config:MOV DPTR,#0000 ;COLOCA END.A0 (C/D) = 0 -> CONTR.MOV A,#38H ;2 LINHASMOVX @DPTR,ACALL TEMPO15 ;ESPERA 15 MSEG. MOV A,#08H ;SEM CURSORMOVX @DPTR,ACALL TEMPO15MOV A,#05H ;DESLOCAMENTO A DIREITAMOVX @DPTR,ACALL TEMPO15MOV A,#01HMOVX @DPTR,ACALL TEMPO15...

3.3.2) – Rotina de Escrita na primeira ou segunda linha de um display a partir de uma tabela (ESCDSP:):

Rotina que envia para o display uma sentença endereçada. Forneçe endereço da primeira ou segunda linhas

mov r0,#80h ;primeira linha (para segunda linha seria 0C0h)mov dptr,#linha1 ;endereça a linha superior do displaycall ESCDSP...

;subrotinasESCDSP:

push accpush pswmov 31h,dph ;salva ponteiro da linhamov 32h,dplmov 30h,#00 ;inicializa ponteiromov dptr,#0000 ;controle do displaymov a,R0 ;endereço da primeira/segunda linhamovx @dptr,acall tempo15

retesc:

26

Page 27: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

mov a,30hmov dph,31h ;recupera endereço da sentençamov dpl,32hmovc a,@a+dptr ;le tabelacjne a,#0ff,salta1 ;verifica fim da tabelajmp fimesc

salta1:mov dptr,#0001 ;dado do displaymovx @dptr,acall tempo15 ;espera 15 mseginc 30h ;incrementa ponteiro jmp retesc

fimesc:pop pswpop accret...

;tabelalinha1: db ' LINHA SUPERIOR ',0FFH

3.3) – Exercícios:

1) – Escrever o seu nome na primeira linha e o seu código de matrícula na segunda linha

2) – Idem para:

" TECNOLOGIA " " MACKENZIE "

3) – Alternar na primeira display, com intervalo e 1 segundo, as mensagens na primeira linha "POR FAVOR" e na segunda linha "INSIRA CARTÃO"

4) – Fazer um programa para controle de um reservatório de líquido, com sensor de nível baixo e sensor de nível alto.

;*** CONTROLE DE NÍVEL EM UM RESERVATÓRIO;*;* PROGRAMADORES: ALUNOS 6B;* DATA: 09/03/2001;* VERSA0: 1.0;* HISTÓRICO: 09/03 -> VERSAO INICIAL;*;* PENDENCIAS:;*;* DESCRITIVO:;* SENSOR ATIVADO=0;* SENSOR DESLIGADO=1;*

27

Page 28: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

;* --------------------- TEMOS 4 SITUACOES PARA CONTROLE:;* | D | - SITUACAO A: SENSOR 2=DESLIGADO, LIGAR MOTOR E ;* |______ SENSOR 1 ESPERAR SENSOR 1 ATIVADO (TANQUE ENCHENDO);* | | - SITUACAO B: SENSOR 2=ATIVADO, SENSOR 1 DESATIVADO;* | B C | MOTOR ATIVADO, ESPERA SENSOR 1=ATIVADO, DESLIGA ;* | | O MOTOR (TANQUE ENCHENDO);* |______ SENSOR 2 - SITUACAO C: IGUAL A SITUACAO B, MAS COM MOTOR;* | A | DESLIGADO. ESPERA SENSOR 2 DESATIVADO. LIGA MOTOR;* --------------------- TANQUE ESVAZIANDO;* - SITUACAO D: SENSOR1 E 2 ATIVADO: DESLIGA MOTOR E;* ESPERA SITUACAO C. TANQUE ESVAZIANDO;* FORAM CRIADAS 2 SUBROTINAS: UMA PARA O TANQUE ENCHENDO E OUTRA PARA ;* TANQUE ESVAZIANDO;* MENSAGENS NO DISPLAY:;* - INICIO POR 5 SEGUNDOS: CONTROLE ;* RESERVATORIO;* - TANQUE ENCHENDO (SITUACAO B): RESERVATORIO;* VAZIO;* - TANQUE ESVAZIANDO (SITUACAO C): RESERVATORIO;* CHEIO;* DEBOUCED DE 0,5 SEGUNDOS NOS SENSORES;***;***AREA DE LABELSSENSOR1 BIT P3.2 ;SENSOR DE NIVEL ALTOSENSOR2 BIT P3.4 ;SENSOR DE NIVEL BAIXOMOTOR BIT P1.0 ;MOTOR OU ELETROVALVULAPILHA EQU 60H;***INICIO DO PROGRAMA

ORG 0JMP INICIO

;***VETORES DE INTERRUPCAOORG 30H

INICIO: MOV SP,#PILHACALL CONFIG ;INICIALIZA DISPLAYCLR MOTOR

;* MENSAGEM INICIALMOV R0,#80HMOV DPTR,#MSG_CONTCALL ESCDSPCALL TEMPO5S ;ESPERA 5 SEGUNDOSMOV R0,#0C0HMOV DPTR,#MSG_RESERCALL ESCDSPCALL TEMPO5S ;ESPERA 5 SEGUNDOS

;* IDENTIFICA SITUACAO INICIAL E CHAMA SUBROTINASLESEN2: JB SENSOR2,DEB1

CALL TEMPO05 ;ESPERA 0,5 SEGUNDOSJB SENSOR2,DEB1JMP LESEN1 ;SENSOR2=ATIVADO, VERIFICA SENSOR 1

DEB1: CALL TEMPO05JNB SENSOR2,LESEN2JMP TIPO_B ;SENSOR 2=DESATIVADO -> ENCHE TANQUE

;* ANALISA SENSOR1LESEN1: JB SENSOR1,DEB2

CALL TEMPO05 ;ESPERA 0,5 SEGUNDOS

28

Page 29: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

JB SENSOR1,DEB2JMP TIPO_C ;SENSOR1=ATIVADO -> ESVAZIA

DEB2: CALL TEMPO05JNB SENSOR2,LESEN1JMP TIPO_B ;SENSOR 2=DESATIVADO -> ENCHE TANQUE

;* TANQUE ENCHENDO – LOOP PRINCIPALTIPO_B: CALL ENCHE_TQTIPO_C: CALL ESVAZIA_TQ

JMP TIPO_B;*** SUBROTINAS;* SUBROTINA DE ENCHIMENTO DO TANQUE;*;* DESCRITIVO:;* - MENSAGEM;* - LIGA MOTOR;* - ESPERA SENSOR 1 ATIVADO;*;* PARAMETRO DE ENTRADA: -;* PARAMETRO DE SAIDA: -;* REGISTRADORES ALTERADOS: DPTR;*;***ENCHE_TQ: PUSH DPH

PUSH DPLSETB MOTOR

;MENSAGEM RESERVATORIO ENCHENDOMOV R0,#80HMOV DPTR,#MSG_RESERCALL ESCDSPCALL TEMPO5S ;ESPERA 5 SEGUNDOSMOV R0,#0C0HMOV DPTR,#MSG_ENCHCALL ESCDSP

;MONITORA SENSOR 1 PARA SAIRLESEN1A: JB SENSOR1,LESEN1A

CALL TEMPO05 ;ESPERA 0,5 SEGUNDOSJB SENSOR1,LESEN1A

;SENSOR 1 ATIVADO , SAIPOP DPLPOP DPHRET

;* SUBROTINA DE ESVAZIAMENTO DO TANQUE;*;* DESCRITIVO:;* - MENSAGEM;* - DESLIGA MOTOR;* - ESPERA SENSOR2 DESATIVADO;*;* PARAMETRO DE ENTRADA: -;* PARAMETRO DE SAIDA: -;* REGISTRADORES ALTERADOS: DPTR;*;***ESVAZIA_TQ: PUSH DPH

PUSH DPL

29

Page 30: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

CLR MOTOR;MENSAGEM RESERVATORIO ENCHENDO

MOV R0,#80HMOV DPTR,#MSG_RESERCALL ESCDSPCALL TEMPO5S ;ESPERA 5 SEGUNDOSMOV R0,#0C0HMOV DPTR,#MSG_ESVACALL ESCDSP

;MONITORA SENSOR 2 PARA SAIRLESEN2A: JNB SENSOR1,LESEN2A

CALL TEMPO05 ;ESPERA 0,5 SEGUNDOSJNB SENSOR1,LESEN2A

;SENSOR 2 DESATIVADO , SAIPOP DPLPOP DPHRET

;*** SUBROTINA DE TEMPO 5 SEGUNDOSTEMPO5S:

RET;*** SUBROTINA DE TEMPO 0,5 SEGUNDOSTEMPO05:

RET;*** SUBROTINA DE CONFIGURACAO DO DISPLAYCONFIG:

RET;*** SUBROTINA DE ESCRITA DO DISPLAYESCDSP:

RET;*** TABELA DE MENSAGENSMSG_CONT: DB 'CONTROLE ',0FFHMSG_RESER: DB 'RESERVATORIO ',0FFHMSG_ESVA: DB 'ESVAZIANDO ',0FFHMSG_ENCH: DB 'ENCHENDO ',0FFH

END

5) – Idem para um reservatório de apenas um sensor de nível alto. Indicar reservatório cheio e reservatório vazio no display

30

Page 31: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

4) – Sistema de Interrupção, Temporização e Teclado Matricial:

4.1) - Sistema de Interrupção:

O microcontrolador 8051 possui 5 interrupções, com a prioridade mais alta podendo ser programada pelo registrador IP. O nível de prioridade 'default' e os vetores de interrupção são apresentados abaixo:

IE0 (interrupção externa 0) -> 0003HTF0 (interrupção do timer 0) -> 000BHIE1 (interrupção externa 1) -> 0013HTF1 (interrupção do timer 1) -> 001BHSRT (interface serial) -> 0023H

- Registrador de habilitação do sistema de interrupção: _________________________________________

IE: | EA | x | x | ES | ET1 | EX1 | ET0 | EX0 |

EA: em nível baixo, desabilita todas as interruçõesES: em nível baixo, desabilita interrupção serialET1: em nível baixo, desabilita interrupção do timer 1EX1: em nível baixo, desabilita interrupção externa 1ET0: em nível baixo, desabilita interrupção do timer 0EX0: em nível baixo, desabilita interrupção externa 0

- Registrador do nível de prioridade: ________________________________________

IP: | x | x | x | PS | PT1 | PX1 | PT0 | PX0 |

PS: em nível alto, interrupção serial prioridade PT1:em nível alto, interrupção timer 1 prioridade

PX1:em nível alto, interrupção externa 1 prioridade PT0:em nível alto, interrupção timer 0 prioridade

PX0:em nível alto, interrupção externa 0 prioridade

4.2) - Sistema de temporização:

O microcontrolador da família 8051 possui 2 timers de 16 bits. Seu número programado é incrementado por pulsos externos (dos pinos Tin1 e Tin2) ou pelo clock interno de 1/12 fcristal. Quando o número do timer chega a zero, a interrupção respectiva (TF0 - end. 000bH ou TF1 - end. 001bH) é acionada.

Registradores do sistema de temporização:

- Registrador TH0 e TL0: registradores de 8 bits do timer 0 localizado na área de registradores especiais (SFR) que somados formam o contador de 16 bits.

31

Page 32: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

- Registrador TH1 e TL1: registradores de 8 bits do timer 1 localizado na área de registradores especiais (SFR) que somados formam o contador de 16 bits.

- Registrador de modo: ---------------------- ----------------------

TMOD: | GATE | C/T | M1 | M0 | GATE | C/T | M1 | M0 | ---------------------- ----------------------

TIMER 1 TIMER 0

GATE: utilizado quando se deseja um controle do timer externo através do pino externo INT0 ou INT1 (dependendo do timer utilizado). Quando este bit está em 1 e o pino INT externo está setado, o bit TR1 do registrador TCON controla o funcionamento do timer.

- C/T: em nível alto, coloca o timer como contador dos

pulsos da entrada Tin1 (externa). Em nível baixo, o timer é acionada pelo sinal de frequência 1/12 do oscilador interno.

M1 M0 : controla modo de operação do timer

0 0 -> possuiu um divisor de 5 bits e um contador de 8 bits

0 1 -> sem divisor, possuiu contador de 16 bits1 0 -> contador de 8 bits (TH). O byte TL é

recarregado a cada ciclo em TH1 1 -> para timer.

- Registrador de controle ______________________________________________ ----------------------------------------------

TCON: | TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0| ----------------------- ----------------------

TF0: bit de status. Em nível alto indica overflow do timer 0.TR0: em nível alto habilita o funcionamento do timer 0.

Precisa ser setado para o timer operar.IE0: bit de status. Em nível alto indica que houve

pulso na entrada do pino Tin0.IT0: em nível alto indica pulso positivo na entrada do

pino Tin0. Em nível baixo indico pulso negativo.

4.3) – Rotina de Inicialização (CONFIG:)

CONFIG:

;INICIALIZAÇÃO DO DISPLAY...

;INICIALIZAÇÃO DO TIMER / INTERRUPÇÃOMOV IE,#10001111B ;HABILITA TIMERS E INTER. EXT.

32

Page 33: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

MOV IP,#00000100B ;PRIORIDADE PARA TIMER0MOV TH1,#TIMER1H ;PARTE ALTA DO TIMER1MOV TL1,#TIMER1L ;PARTE BAIXAMOV TH0,#TIMER0H ;PARTE ALTA DO TIMER0MOV TL0,#TIMER0L ;PARTE BAIXAMOV TMOD,#00100001B;TIMER1->8BITS,TIMER0->16 BITSSETB TR0SETB TR1

RET

4.4) – Exercícios de Interrupção / Temporização:

1) – Calcular os valores da parte baixa e alta do timer 0 para 30 mseg para um cristal de 12 Mhz

2) – Idem para o timer 1, tempo de 50 mseg., cristal de 1 Mhz

3) – Fazer um programa para ler a posição externa 4000H e guardá-la no endereço 50h interno a cada interrupção externa 0

4) – Gerar um sinal quadrado de 1 kHz no port P1.0 (cristal de 12Mhz).

4.5) - Sistema de varredura de Teclado

As teclas estão localizadas na intersecção de linhas (ports de saída) e colunas (ports de entrada). Ao acionar uma determinada tecla, o sinal da linha é colocado na coluna para ser lida. Um sistema de varredura (com frequência superior da frequência de toque das teclas) garante um sinal em nível alto (ou baixo) durante um pequeno período suficiente para ser reconhecido pelo port de entrada em caso de acionamento de alguma tecla.

Figura: teclado de 16 teclas com varredura matricial

33

Page 34: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

4.6) – Rotinas Básicas:

4.6.1) – Rotina de Leitura de um teclado na rotina timer0 (LETEC:)Rotina ligada a interrupção do timer (0 ou 1) temporizada para um tempo menor

que a frequência da digitação (típico valor < 100mseg). Guardar as teclas digitadas nas posições booleanas (20.0 a 2f.7). Teclado telefônico (4 linhas x 3 colunas)

1 2 3

4 5 6

7 8 9

* 0 #

Tempo de 50 mseg (12 Mhz) ->

4.7) – Exercícios:

1) - Fazer a tecla * ligar uma lâmpada em P1.0 e a tela # desligar a lâmpada

34

Page 35: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

5) - Sistema de Comunicação Serial 8051:

5.1) - Introdução e conceitos básicos:

A comunicação serial proporciona a comunicação entre 2 pontos ou uma rede de pontos através de um número reduzido de vias (2 vias no caso da comunicação full-duplex ou 1 via no caso da comunicação half-duplex, rede de fibras óticas, cabo coaxial utilizado em redes padrão ETHERNET). A comunicação serial proporciona maior economia a infraestrutura de transferência de dados (menor número de vias nos cabos, menor número de canais nos repetidores de linha, etc.), maior imunidade a ruidos, maior alcance. Apresenta como desvantagem básica a menor velocidade de processamento (variando de 300 b.p.s - baunds até redes de alta velocidade de 100 Mbits/seg) em se comparando com a velocidade de transferência paralela interna dos computadores (através dos barramentos internos).

Para baixas velocidades, podemos subdividir a comunicação serial em comunicação assíncrona e síncrona:

5.1.1) - Comunicação Assíncrona:

A comunicação assíncrona envia dados de início (start bit) e fim de transmissão (stop bit). Bits de paridade são opcionais. Apesar da simplicidade e alta utilização é utilizada apenas em sistemas de baixa velocidade, devido a perda de rendimento introduzido pelos sinais START BIT, STOP BIT e PARIDADE.

Figura 11 - Estrutura básica da comunicação assíncrona

Os dispositivos seriais programáveis presentes dentro de chips dedicados ou microcontroladores recebem o nome de UART (UNIDADE ASSÍNCRONA DE RECEPÇÃO TRANSMISSÃO)

5.1.2) - Comunicação Síncrona:

Na comunicação síncrona a transmissão de um bloco de caracter com adição de controles apenas no início e final do

35

Page 36: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

bloco. O número de blocos transmitidos varia bastante. Um caracter de CHECK-SUM garante a integridade da comunicação. Um protocolo padrão garante a qualidade e integridade da comunicação (através de comandos como NACK e ACK)

Figura 12 - Estrutura básica de comunicação síncrona.

Os dispositivos seriais programáveis assíncronos/síncronos presentes dentro de chips dedicados ou microcontroladores recebem o nome de USART (UNIDADE SÍNCRONA / ASSÍNCRONA DE RECEPÇÃO TRANSMISSÃO)

5.1.3) - Interface padrão RS-232:

Segue orientação V.24 da CCITT. Aumenta a imunidade a ruído incrementando os níveis de tensão dos bits 0 e 1 transmitidos.

Sinal RS232 - Alta imunidade a ruído

Figura 13 - Sinais padrão TTL e RS-232

A implementação mais comum é realizada através de line-drivers integrados (como os chips 1488 - TTL/RS232 e 1489 - RS323/TTL).

5.1.4) - Sinais típicos de uma interface padrão serial:

36

Page 37: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

Os sinais mais comuns encontrados em comunicação serial assíncrona é mostrado abaixo. Uma aplicação típica desta configuração é implementada na comunicação computador/MODEM (interface utilizada para modulação/demodulação para comunicação na rede telefônica).

- TXD: transmissão de dados.- RXD: recepção de dados.- RTS (request to send): sinal de saída de propósito

geral. Normalmente ativo em 0, tem como principais aplicações validar dados trasmitidos (como um sinal STROBE) ou determinar se o sinal é de transmissão ou recepção nas comunicações full-duplex.

- CTS (clear to send): sinal de entrada como resposta ao sinal RTS, indicando entendimento do sinal RTS. Em muitos sistemas, este sinal necessita estar em 0 para funcionamento do sistema.

- DTR (data terminal ready): sinal de saída de propósito geral.

- DSR (data set ready): sinal de entrada de propósito geral.

- CD (carrier detect): sinal de entrada indicando que a portadora foi detectada pelo modem.

Muitos dos sinais de propósito acima tem suas funções ligadas ao protocolo.

5.2) – UART 8051 - Funcionamento básico:

O port serial do microcontrolador 8051 é full-duplex, ou seja, pode-se transmitir e receber uma comunicação simultaneamente. Como existe um buffer de recepção (SBUF) é possível esperar-se a leitura deste buffer sem a perda do próximo dado de recepção. Este mesmo buffer SBUF é utilizado para a transmissão de dados.

O port serial opera de 4 modos:

- Modo 0: comunicação serial de 8 bits (sem START e STOP BIT). Bit LSB é o primeiro. Baud-rate fixo em 1/12 da frequência do cristal.

- Modo 1: comunicação serial de 10 bits (com START e STOP BIT). Na recepção, o STOP BIT vai para o RB8 do registrador SCON se SM2=0. Baud-rate programável de acordo com carga do timer 1.

- Modo 2: comunicação serial de 11 bits (com START, STOP BIT e PARIDADE). O bit de paridade é programável através do bit TB8 de SCON. Na recepção, o bit de paridade é guardado em RB8 de SCON. O baud rate é programável pelo bit SMOD do registrador PCON. Com SMOD=0, baud rate é 1/64 da freqüência

37

Page 38: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

do cristal. Com SMOD=1, baud-rate é 1/32 da freqüência do cristal.

- Modo 3: idem ao modo 2, mas com baud-rate programável pelo timer 1.

A comunicação serial do 8051 trabalha basicamente com 3 registradores:

- Registrador PCON: registrador com o bit SMOD e bits para gerenciamento de energia nas versões CMOS

PCON: SMOD - - - GF1 GF2 PD IDL

SMOD: nos modos 1,2 e 3 de operação do SBUF, SMOD=1 divide a taxa de transmissão binária.

GF1 e GF2: bits genéricos.PD e IDLE: gerenciam modos de economia de energia.

PD suspende por completo as operações do processador (voltando apenas com o reset) e o modo IDLE deixa ativados apenas os periféricos internos (timer, uart, interrupções, etc.) representando uma economia de energia de 85%. Sai do modo IDLE através de interrupções ou reset.

Ex.: 1) - Colocar o processador em modo IDLE.

MOV PCON,#00000001B

2) - Colocar o processador em modo POWER DOWN

- Registrador SBUF: registrador armazenador do dado de transmissão e recepção.

- SCON: registrador de controle serial:

SM0 SM1 SM2 REN TB8 RB8 TI RI

SM0 - SM1: modo de operação 0 0 modo 0 0 1 modo 1 1 0 modo 2 1 1 modo 3

38

Page 39: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

SM2: no modo 1, se SM2=1, RI não será ativado se não for recebido o STOP BIT. Se SM2=0, RI será sempre ativado e RB8 recebe o STOP BIT. No modo 2/3, se SM2=1, RI não será ativado se o bit de paridade for 0. Se SM2=0, RI é sempre ativado, independente do bit de paridade. No modo 0, SM2=0 sempre.

REN: em nível alto habilita recepção.TB8: armazena programação dos bits de paridade dos

modos 2 e 3.RB8: nos modos 2/3, armazena o bit de paridade

recebido. No modo 1, se SM2=0, RB8 armazena o STOP BIT sendo utilizado por rotinas de correção de erro. No modo 0, RB8 não é utilizado.

TI: bit indicador de dado transmitido. Necessita ser limpo por software.

RI: bit indicador de dado recebido. Necessita ser limpo por software.

Nos modos 1 e 3, há a necessidade de utilizar-se o timer 1 para a geração do baud-rate. O timer 1 deve ser programado para o modo de autocarregamento, visto no estudo dos timers. O valor de carga em função do cristal é fornecido no manual (onde temos a fórmula de cálculo para outros cristais) e reproduzida abaixo:

smod Taxa = 2 x (freq. cristal)

---- -------------- 32 12 x (256 - TH1)

Tabela de configuração do TIMER1

Baud-rate fcristal Carga do timer

19,2 k 11.059 Mhz FD h ( SMOD = 1)9,6 k 11.059 Mhz FD h ( SMOD = 0)2,4 k 11.059 Mhz F4 h ( SMOD = 0)1,2 k 11.059 Mhz E8 h ( SMOD = 0)

Exemplo:

1) - Programar o registrador SCON e o TIMER 1 para 8 bits de dado, sem paridade, habilitacao de RX e baud-rate de 9600 baunds. Supor a utilização de cristal de 11.059 Mhz

39

Page 40: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

MOV TH1,# 0FD h ;carrega cristal 1 com reloadMOV TMOD,# 0010XXXXb ; programa timer 1 c/ reloadMOV TCON,# 010X0000b ;roda timer 1MOV IE,# 10011XXXb ;habilita inter. serial e t1MOV PCON,#00000000B ;SMOD = 0MOV SCON, # 01010000b ;modo 1 e rx habilitado

2) - Idem para 8 bits, sem paridade, habilitação RX e baud-rate de 2400 baunds.

5.3) – Sistema Mínimo RS232:

5.3) – Rotinas Básicas:

5.3.1) – Rotina de Inicialização (CONFIG:)

CONFIG: .... ; INICIALIZACAO DE OUTROS PERIFÉRICOSMOV IE,#10011XXXB ;INICIALIZA INTERRUPCAO SERIAL E TIMER1MOV TMOD,#0010XXXXBMOV TH1,#0FDH ;9600 BAUNDSMOV TL1,#0FDHMOV PCON,#10000000BMOV SCON,#01010000B

...

5.3.2) – Rotina de Transmissão de um byte (TX1:)

;*** TX DADO DO ACUMULADORTX1:

MOV SBUF,AJNB TI,$ ;AGUARDA FIM DE TXCLR TIRET

5.3.3) – Rotina de Transmissão de uma String (TXSERIAL:)

40

Page 41: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

Rotina que transmite serialmente uma sentença endereçada. Fornece endereço da expressão a ser transmitida

mov dptr,#string1 ;endereça string a ser transmitidacall txserial...

;subrotinastxserial:

push accpush pswpush 30hmov 30h,#00 ;ponteiro

retx: mov a,30hmovc a,@a+dptr ;le tabelacjne a,#0ff,salta1 ;verifica fim da tabelajmp fimtx

salta1:call tx1 ;tx stringinc 30h ;incrementa ponteiro jmp retx

fimesc:pop 30hpop pswpop accret...

;tabelastring1: db " EXEMPLO DE TX ",0FFH

5.3.4) – Rotina de Recepção Serial (RXSERIAL:)

;*** AGUARDA RX, SETA FLAGRX, GUARDA EM BUFRXRXSERIAL:

JNB RI,$ ;ESPERA RXMOV A,SBUFMOV BUFRX,ACLR RISETB FLAGRXRET

;*** INTERRUPCAO SERIAL – VERIFICA SE TX OU RX

ORG 23HJMP TRATASERIAL...

TRATASERIAL:

41

Page 42: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

PUSH ACCJB TI,SALTA ;VERIFICA SE TX

;TRATA RXMOV A,SBUFMOV BUFRX,ASETB FLAGRXCLR RIJMP FIMTRATA

SALTA: CLR TICLR RISETB FLAGTX ;INDICA TX FINALIZADA

FIMTRATA: POP ACCRETI

5.4) – Exercícios:

1) – Escrever o dado Rx no display.

2) - Ligar uma lâmpada localizada em P1.0 se houver recepção da letra A e desligar a lâmpada se receber a letra B

42

Page 43: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

6) – Conversão Analógico / Digital:

6.1 ) - Introdução:

Sinal Analógico (não discreto) -> Sinal Digital (discreto)

Fatores para conversão:

- Número de bits de conversão: determina o número de valores discretos da conversão -> 2n

- Valor de Referência: determina o valor máximo de conversão (fundo escala do valor analógico deve ser ajustado para este valor)

- Freqüência de Amostragem: determina o período entre duas amostras. Pelo Teorema de Nyquest, a freqüência de amostragem é no mínimo 2 vezes a freqüência máxima do sinal.

fa = 2 x fmax

- Resolução: determina o valor analógico máximo em relação ao fundo escala

V = Vmax / 2n

Ex: Para um valor Vmax = 5V, n=12 bits, qual a resolução do sinal?

V = Vmax / 2n

V= 5 / 4096 = 1,22 mV

Exemplos:

1) - Termômetro :0 - 100 CVref = 2,5 Vn = 8 bits

Qual a resolução em temperatura, considerando que 100 C é equivalente a 2,5 V?Se aumentar o número de bits para 10 bits, qual a nova resolução?Se aumentar a Vref = 5 V e 10 bits, qual a nova resolução?

2) - Qual a freqüência de amostragem no canal de telefonia?

43

Page 44: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

6.2) – Conversor A/D ADC 0808

download -> http://www.national.com/ads-cgi/viewer.pl/ds/AD/ADC0808.pdf

Sistema Mínimo 8031 / ADC0808 (endereço 2000H - 3FFFH)

6.3) - Exercícios

1) - Projetar um circuito com as seguintes características:

44

Page 45: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

- 8031- Eprom 2764- LCD (end. 0-1fffh)- Serial RS232- Conversor ADC0808 (end. 2000h-3fffh) com 8 sensores de temperatura.- 1 ventilador (port p1.1)- 1 aquecedor (port p1.2)- Firmware ligando o ventilador se o terceiro sensor indicar o valor maior que 80h e ligar o aquecedor se o valor for menor que 30h.

2) -Idem para a leitura dos outros 7 sensores.

6.3) – Rotinas Básicas:

6.3.1) – Rotina de Leitura (LEADC:)

6.4) – Exercícios:

45

Page 46: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

7) – Projetos de Controle:

- Monitoramento de pressão de 8 tanques através de sensores lidos pelo ADC 0808 (endereço 2000H-3fffh). Ler ADC através de TO. Se algum valor maior ou igual a 80H, ligar rele e escrever no display SOBRE-PRESSÃO NO TANQUE X.- Watch Dog resetável a cada segundo.- Chip relógio (end. 4000h-5fffh) com registros de unidade de segundo (end. 0) a dezena de ano tratado através de interrupção externa (IE0). Armazenar os registradores na memória RAM interna.- Memória RAM 32K (end. 8000h-ffffh).- Teclado Matricial telefônico (armazenar flag das teclas na área booleana). Tratar teclado através de TO (temporização de 40 mseg.)- Display (end. 0-1fffh).- Transmitir os dados da RAM se receber a string @01.

46

Page 47: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

8) - Linguagem C para Programação de Microcontroladores

Bibliografia:

- JUNIOR, Vidal Pereira. Aplicações Práticas do Microcontrolador. Editora Érica- SCHULTZ, Tom. C and the 8051. Vol. 1. Prentice Hall- SCHULTZ, Tom. C and the 8051. Vol. 2. Prentice Hall- PANBOUKIAN, Sergio. C++ Builder para Universitários. Editora Páginas e Letras.

8.1) - Tipo de variáveis:

- char -> 8 bits- int -> 16 bits- float -> 32 bits- double -> 64 bits- void -> sem valor numérico

As denominações de variáveis acima podem ser expressões modificadoras -> long, short, signed e insigned

Ex: signed char -> variáveis com sinal de 8 bits (1 bit para sinal) -> -127 a +127long int -> variáveis dobradas int -> 32 bits

8.2) - Declaração de Variáveis:

- Comentários inicializados e finalizados com /* e */- Letras maiúsculas e minúsculas são diferentes.- Todas as variáveis são finalizadas com ;- Pode-se declarar várias variáveis na mesma linha.

Ex: unsigned float teste, b, soma; /* declaração das variáveis teste, b e soma de 32 bits */

8.3) - Operadores:

8.3.1) - Operadores Aritméticos:

'-' '+' '*' '/''% ' (resto em uma divisão)'--' decremento'++' incremento

Ex: a = b / c;c++ ; /* c=c+1 */

47

Page 48: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

8.3.2 ) - Operadores Lógicos e Relacionais:

'>' '<' '>=' '<=''= =" (igual)'!=' (diferente)'&&' (and)'||' (or)'!' (inversão)

8.3.3) - Operadores Binários: Alteram bits em variáveis.

'&' (AND), '| ' (OR), '^' (XOR), '~' (inversão), >> (desloc. direita), << (desloc. esquerda)

8.3.4) - Operadores de Matrizes (Arrays):

Define uma matriz de 0 a x elementos. Estrutura -> nome [ponteiro], onde o ponteiro indica o valor a ser buscado na tabela.

Ex: unsigned int matriz (5); /*a matriz definida tem 6 elementros */........x = matriz (2) /* x = terceiro valor da matriz */

8.4) - Diretivas da linguagem C:

#define <nome> <sequencia> /* faz o papel da direta EQUATE no Assembler*/

Ex:#define pilha 70h#define inicio_par TMOD = 0x11; IE = 0x82 /* inicio_par representam a inicializacao */

#include <arquivo> /*o arquivo é incluído no programa em questão */

Ex:#include <8051.H>

8.5) - Funções e declarações especiais:

cos(x)sin (x)sqrt (x)pow (x,y) /* x elevado a potencia y */log10(x)

48

Page 49: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

8.6) - Formato básico de um programa em C:

O formato do programa em linguagem C segue uma estrutura simples: sempre possui um programa em loop principal e todas as declarações são cercadas por { .

declarações /* declarações de variáveis */

main () /* rotina principal obrigatória */{

declarações /* declarações do programa principal */}

rotina1 /* sub-rotinas */{

declarações}.............rotina N{

declarações}

8.7) - Tipos de Estruturas em C:

As diversas declarações possíveis podem ser dividas em alguns tipos:

8.7.1) - Condicional IF:

Testa uma condição, realizando-a se verdadeira. Caso contrário, ou sai da estrutura ou executa a declaração contida na estrutura 'else'

if (estrutura de teste){

declarações /* para uma declaração simples não é necessário { }}

else /* não obrigatório */{

declarações}

Ex:

if (teste = = a+b){

c = 1;d = ++;

49

Page 50: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

}else

c = 2;

Podemos ter estrutura de if dentro de outras estruturas condicionais (if aninhados)

Ex:

if (a = = 5)teste = 1;

elseif (a = = 7)teste = 2;else

if (a = = 9){

teste = + +;a = - - ;

}

8.7.2) - Condicional FOR

Realiza uma determinada operação enquanto uma determinada condição não for atendida.

for (inicialização; condição; incremento) /*se não for colocado nada, loop infinito */

{declaração /* se houver apenas 1 declaracao não é necessário { } */

}

Ex:

for (a=2; a < 101; a++){

teste = teste + a;resultado = ++;

}

for ( ; ; ){

motor = desligado;}

8.7.3) - Condicional WHILE

50

Page 51: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

Realiza uma operação enquanto uma determinada condição estiver sendo atendida.

while (condição) /* se a condição for 1, o condicional é infinito */{

declaração /* se houver apenas uma declaração não é necessário {} */}

Ex:

soma = 0;a = 0;while (a < 101)

{soma = soma + a;a++;

}

8.7.4) - Condicional DO / WHILE

Estrutura que realiza uma declaração enquanto houver alguma condi;cão seja atendida.

do{

(declaração);}

while (condição)

Ex:

do{ b=++;

motor = ligado;}

while (chave = ligada)

8.7.5) - Condicional SWITCH

Testa uma variável e executa um grupo de declarações testando uma condição particular.

switch (variável){

case constante1:{

51

Page 52: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

(declarações)break;

}case constante2:{

(declarações)break;

}case constante3:{

(declarações)break;

}}

8.8) - Exemplo de utilização (exemplo 1 - pg 230 - Vidal)

1) - Rotacionar 8 leds do port P1 para esquerda ou para a direita dependendo de uma chave (P3.5) com intervalo de 1 segundo.

; programa em Assembler - pg 172 - VidalLED0 BIT P1.0LED1 BIT P1.1LED2 BIT P1.2LED3 BIT P1.3LED4 BIT P1.4LED5 BIT P1.5LED6 BIT P1.6LED7 BIT P1.7CH1 BIT P3.5

ORG 0INICIO: MOV TMOD,#00010000 MOV TCON,#00 ;desliga T1 MOV P1,#00 ;desliga leds MOV A,#01ESP: LCALL DELAY JNB CH1,INV RL A SJMP ESPINV: RR A SJMP ESP

;subrotina de tempo de 1 seg. utilizando o

/* Programa em linguagem C - pg 230*/#include <at89x52.h> /*biblioteca 8051*/#define led0 P1_0#define led1 P1_1#define led2 P1_2#define led3 P1_3#define led4 P1_4#define led5 P1_5#define led6 P1_6#define led7 P1_7#define ch1 P3_5unsigned char contador;unsigned char saida;

/* inicio do programa */void main (){ TMOD = 0x10; TCON = 0; led0 = 0; led1 = 0; led2 = 0; led3 = 0; led4 = 0; led5 = 0;

52

Page 53: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

timer T1;clock de 12 Mhz

DELAY: MOV RO,#20REP: MOV TH1,#3CH MOV TL1,#0AFH SETB TR1 JNB TF1,$ ;aguarda interrupcao CLR TF1 DJNZ R0,REP CLR TR1 RET

END

led6 = 0; led7 = 0; saida = 1; while (1) /*loop eterno */ { P1 = saida; delay(); if (ch1 == 1) { saida = saida <<1; if (saida == 0) saida = 1; } else { saida = saida > > 1; if (saida == 0) saida = 0x80; } }}/* subrotinasdelay (){ for (contador = 0;contador < 14; contador++) { TH1 = 0x3C; TL1 = 0xAF; TR1 = 1; while (!TF1) /*AGUARDA TF1=1*/ TF1 = 0; } TR1 = 0;}

8.9) - Utilizando o compilador uVision51 (Keil):

- Descompactar arquivo C51eval.zip no diretório c:\keil- No diretório \bin -> arquivo Uvw51e.exe (aplicativo a ser executado) arquivo Uvwin -> help- No diretório \INC -> bibliotecas

- Editar o arquivo abrindo o arquivo novo (por exemplo TESTE.C)- Abrir um projeto novo (Project -> New Project -> TESTE.PRJ)

53

Page 54: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

Source Files -> ADD (TESTE.C)- Compilar -> Project -> Build Project

-> se não houver erros -> teste.hex

54

Page 55: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

9) - Processamento Digital de Sinal

9.1) INTRODUÇÃO AO PROCESSAMENTO DIGITAL DE SINAIS

Supressores de eco, eliminadores de interferências, detecção de incêndios florestais, análise de imagens de satélites metereológicos, estudo de dados sísmicos, acompanhamento de testes nucleares ou simplesmente análise de parâmetros vocais para identificação ou reconhecimento de voz. Estas são algumas aplicações possíveis do Processamento Digital de Sinais (DSP).

DSP diz respeito a representação de sinais através de uma seqüência numérica/simbólica e o seu posterior processamento para estimar parâmetros do sinal original e/ou modificá-lo. Este processamento é normalmente realizado com o auxílio de algoritmos matemáticos, o qual o mais comum é a soma de produtos, representada pela fórmula:

nVout = ai.bi (1.1)

ionde ai e bi representam coeficientes numéricos de

uma seqüência qualquer de dados obtida de uma determinada entrada amostrada e Vout é a saída processada.

Apesar de ser uma ferramenta que ficou mais conhecida recentemente com o aperfeiçoamento da integração em alta escala dos circuitos integrados e o aperfeiçoamento de algoritmos numéricos, o DSP teve suas origens nos séculos XVII e XVIII com o desenvolvimento de análises numéricas tais como interpolação, integração e diferenciação. Podemos dizer que até recentemente o processamento de sinais elétricos era basicamente analógico, com algumas honrosas exceções, datadas da década de 50, onde dados geofísicos eram gravados em fitas magnéticas para um posterior processamento em computadores digitais cujo tamanho em nada lembram os modernos "laptops" ou "notebooks" presentes em nossa vida cotidiana. Durante este período, os computadores digitais foram mais uma alternativa para a simulação e aperfeiçoamento de sistemas analógicos, com a conversão analógico/digital, processamento e conversão digital/analógica final. Este processo foi muito comum na implementação dos primeiros codificadores de voz (VOCODERS) pelos Laboratórios Bell e Lincon (M.I.T.), onde as simulações computacionais foram fundamentais no ajuste dos filtros necessários para sua execução.

Apesar desta predominância dos sistemas analógicos, o processamento digital lentamente começou a diferenciar-se,

55

Page 56: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

principalmente com o aumento da complexidade dos algoritmos. Rotinas para filtros homomórficos ou a análise cepstral foram desenvolvidos apesar de não serem praticáveis pela ainda incipiente tecnologia dos semicondutores. Estes novos algoritmos se mostravam bastante úteis nos sistemas de remoção de eco ou de compressão de voz. A grande dificuldade na implementação das técnicas citadas na época era o cálculo da Transformada de Fourier, praticamente impossível com os computadores analógicos. Este problema foi minimizado em meados da década de 60, com o desenvolvimento de uma classe de algoritmos conhecida como Transformada Rápida de Fourier (FFT). A grande vantagem destas rotinas era a redução do tempo de processamento, fator fundamental para os sistemas computacionais lentos e caros da época. Outro fator introduzido pela FFT foi sua concepção de tempo discreto, ao contrário dos sistemas de tempo contínuo vigentes, auxiliando em muito o desenvolvimento dos algoritmos puramente digitais, diminuindo aquela impressão que o DSP era simplesmente uma aproximação dos sistemas analógicos.

Mas mesmo com estes aperfeiçoamentos, a velocidade ainda era o grande obstáculo, principalmente para aplicações que exigiam tempo real de processamento como os sistemas de reconhecimento do voz.

A grande mola propulsora do DSP foi o desenvolvimento da técnica de fabricação de circuitos integrados a partir da década de 70. O surgimento de circuitos integrados em alta escala (LSI) permitiu a implementação de processadores digitais inteiros em um único chip. Circuitos integrados especializados na execução de algoritmos aritméticos possibilitaram a implementação de aplicações em tempo real.Algoritmos para filtros digitais com taxas de amostragens na faixa de megahertz tornaram-se práticos. Processamento de voz e imagens em tempo real já tornou-se possível. Outras áreas começaram a ser bastante beneficiadas, como a de telecomunicações, aumentando a economia e flexibilidade tanto nos sistemas de chaveamento como transmissão.

Passaremos a analisar os requisitos básicos de um circuito integrado dedicado a realizar operações de DSP, diferenciando-se desta forma dos microprocessadores de uso geral do mercado. Utilizaremos como exemplo o DSP TMS320C25 da Texas Instruments, a despeito de existir um grande número de fabricantes no mercado tais como a Analog Devices, AT&T, Motorola e NEC, etc.

9.2) - Características da arquitetura de um circuito integrado dedicado a DSP:

56

Page 57: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

Os chips dedicados a funções que envolvam DSP apresentam algumas características comuns que passaremos a analisar:

9.2.1) - Arquitetura Harvard: em contraste com a arquitetura "von Neumann", que apresenta um único espaço de memória para códigos de operação e dados, os sistemas baseados na arquitetura Harvard possuem duas estruturas separadas de memória para os códigos do programa e para os dados. Apesar disto exigir um controle maior por parte do processador (pois passam a existir dois controles de barramentos de endereço e dois controles de barramentos de dados), o poder de processamento torna-se muito mais poderoso e principalmente mais rápido, fatores decisivos na execução dos algoritmos numéricos existentes nas aplicações dos DSPs.

9.2.2) - Unidades para multiplicação e deslocamento separadas da unidade lógica aritmética principal: devido a necessidade de realizar operações de multiplicação e deslocamentos nos algoritmos numéricos, existem unidades separadas para a realização destas operações, otimizando-as. Devido a natureza repetitiva destas operações, um sistema de prevenção de "estouro" (overflow) do resultado é necessário.

9.2.3) - Flexibilidade e rapidez na execução das instruções: além de unidades separadas para realização de algoritmos numéricos, é necessário a realização destas operações em ciclos de busca ("fetch") curtos, decodificação e execução otimizados de forma a diminuir o tempo de execução das instruções e aumentando consequentemente a velocidade do sistema. Alguns processadores DSP realizam instruções inteiras aritméticas em um único ciclo de máquina. Outros, como é o caso do TMS320C25, utilizam uma estrutura denominada "pipeline", onde em um único ciclo de clock são realizadas simultaneamente o ciclo de busca de uma determinada instrução, o ciclo de decodificação da instrução anterior e o ciclo de execução de outra instrução.

9.2.4) - Operações de "loop" incondicional e condicional: algoritmos repetitivos envolvendo operações lógica/aritméticas constituem uma das principais estruturas utilizadas nos programas de aplicativos de DSPs. Estas estruturas, do tipo "If ... Then" ou "For ... Next", necessitam de instruções de salto incondicional ou condicional que dependem de determinadas condições contidas principalmente nos registradores de "status" do processador,

57

Page 58: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

tais como condição de estouro (OVM)), "carry" (C), zero (Z) ou teste/controle (TC).

Como já ressaltado, o circuito integrado DSP TMS320C25 será utilizado como exemplo ilustrativo das características descritas acima. Este circuito integrado faz parte da segunda geração de DSPs da Texas, apresentando como principais características: ciclo de instrução de até 100 ns (para clock de 40 MHz), 544 posições de 16 bits de RAM interna, 4048 posições de 16 bits de ROM interna, 128 K/16 bits de acesso de memória de programa/dados externa e acumulador principal de 32 bits. A figura 1 nos mostra um diagrama em blocos da arquitetura interna do chip em questão.

Figura 1

Com o auxílio desta ilustração analisaremos a seguir as características gerais fornecidas acima que possibilitam o TMS320C25 desempenhar-se bem em situações críticas como em tempo real nos aplicativos com DSPs.

58

Page 59: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

Pode-se observar a existência dos sinais PS e DS, responsáveis pelo controle da natureza do barramento de dados e controle. Com o sinal PS em nível baixo, temos o caracterizado o acesso à memória de programa. Já com o sinal DS em nível baixo temos o controle da memória de dados, caracterizando a arquitetura Harvard explicada no item 2.1).

A figura 2 nos mostra um detalhamento maior da unidade aritmética do TMS320C25. Pode-se observar unidades independentes para multiplicação, com a presença de um registrador temporário de 16 bits (TR) e um registrador de de produto (PR) de 32 bits para armazenamento do resultado. Temos também uma unidade de deslocamento (bloco "Scaling Shifter") com capacidade também de 16 bits. Finalmente a figura mostra a unidade aritmética principal (ALU) com capacidade de 32 bits, acumulador principal composto de 2 registradores de 16 bits (ACCH e ACCL), bit carry (C) e dois registradores especiais para execução de rotações para a esquerda (SFL) e direita (SFR), dotando desta forma o sistema com uma grande capacidade de processamento aritmético, conforme indicado no item 7.2.2).

figura 2

Como já foi ressaltado, para agilizar a execução das instruções, o TMS320C25 utiliza a operação "pipeline", representada na figura 3. Pode-se observar a execução

59

Page 60: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

simultânea de busca, decodificação e execução de 2 ou 3 instruções simultaneamente, aumentando grandemente a velocidade de execução das rotinas.

figura 3

Finalmente, o TMS320C25 é dotado de uma série de instruções de salto condicional e incondicional viabilizando a execução de estruturas com "loops", tão fundamentais nas rotinas de DSP, tornando-as mais simplificadas e menores.

9.3) - Conclusão:

Apesar do grande avanço que sistemas baseados em D.S.P. sofreram com o desenvolvimento da integração em alta escala produzindo chips específicos , tais como o analisado neste artigo, e com algoritmos numéricos mais poderoso, não se vê saturação nas aplicações deste sistemas. Nos próximos anos a área de telecomunicações, de processamento de imagem e som e sistemas de controle serão ainda muito beneficiadas, proporcionando economia e flexibilidade aos sistemas citados.

7.4) - Bibliografia para P.D.S.:

- DISCRETE-TIME SIGNAL PROCESSING. Oppenhein e Schafer. Prentice Hall,1989

- A SIMPLE APPROACH TO DIGITAL SIGNAL PROCESSING. Marven, Craing e Ewers Gillian. Wiley Interscience.

60

Page 61: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

- DIGITAL SIGNAL PROCESSING A LABORATORY APPROACH USING PC-DSP. Alkin, Oktay. Prentice Hall

- DIGITAL SIGNAL PROCESSING APPLICATIONS WITH THE TMS320 FAMILY. Texas Instruments.

ANEXO ISEMINÁRIO DE MICROPROCESSADORES

Em grupos de até 5 alunos, preparar um seminário em Power Point contendo os itens mínimos abaixo do microcontrolador escolhido:

- HISTÓRICO DO FABRICANTE- CARACTERISTICAS BÁSICAS- ARQUITETURA BÁSICA- MAPEAMENTO DA MEMÓRIA INTERNA/EXTERNA- DESCRIÇÃO BÁSICA DOS REGISTRADORES DE CONTROLE (TIMER,

INTERRUPÇÃO, SERIAL, WATCH-DOG, ETC.)- CONJUNTO DE INSTRUÇÕES MOSTRANDO O SIGNIFICADO BÁSICO

DAS MESMAS.- APLICAÇÃO MOSTRANDO O SISTEMA MÍNIMO E UM PROJETO

EXEMPLO TÍPICO COM PROGRAMA EM ASSEMBLER.- ENTREGAR UMA APOSTILA COM ENCADERNAÇÃO SIMPLES COM AS

INFORMAÇÕES ACIMA E UMA CÓPIA DO DOWN-LOAD DO SITE DA INTERNET DA ARQUITETURA E DO CONJUNTO DE INSTRUÇÕES.

- ENTREGAR PARA OS ALUNOS UMA FOLHA COM O RESUMO DO SEMINARIO, MOSTRANDO AS CARACTERÍSTICAS DO PROCESSADOR.

LISTA DE MICROCONTROLADORES:MICROCHIP (WWW.MICROCHIP.COM)1. PIC12C5082. PIC16F6283. PIC16C924

TEXAS INSTRUMENTS (www.ti.com)7. MSP430F135

MOTOROLA ( WWW.MOTOROLA.COM ) 8. 68HC059. 68HC11

NATIONAL (www.national.com)10. COP8

CYPRESS (www.cypress.com

61

Page 62: UNIVERSIDADE MACKENZIEmeusite.mackenzie.com.br/ivair/download/amapl2004_s1.doc  · Web viewAula expositiva com auxílio de recursos audiovisuais ... Os principais recursos destes

MICROPROCESSADORES - VOL. II IVAIR REIS N. ABREU

11. PSOC

62