A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

INTRODUÇÃO: MICROCONTROLADORES. MICROCONTROLADOR X MICROPROCESSADOR Baixa capacidade de processamento Freq. Operação em MHz Custo de USD 7,00 a 30,00.

Apresentações semelhantes


Apresentação em tema: "INTRODUÇÃO: MICROCONTROLADORES. MICROCONTROLADOR X MICROPROCESSADOR Baixa capacidade de processamento Freq. Operação em MHz Custo de USD 7,00 a 30,00."— Transcrição da apresentação:

1 INTRODUÇÃO: MICROCONTROLADORES

2 MICROCONTROLADOR X MICROPROCESSADOR Baixa capacidade de processamento Freq. Operação em MHz Custo de USD 7,00 a 30,00 Aplicações mais restrita Alta capacidade de processamento Freq. Operação em GHz Custo de USD 200,00 Aplicações mais genéricas

3 O QUE É UM MICROCONTROLADOR? Componente integrado que contém em um único dispositivo todos os circuitos necessários para realizar um sistema digital completo e programável. COMPONETES INTERNOS DO MICROCONTROLADOR CONVERSOR AD RAM MEMÓRIA DE PROGRAMA OSCILADO INTERNO TEMPORIZADORES COMUNICAÇÃO SERIAL PORTAS DE I/O CPU

4 RECURSOS DO PIC 16F877 33 portas configuráveis (entradas/saídas) 15 interrupções Memória de programa de 8 K word Memória E2PROM (não volátil) 256 bytes Memória RAM com 368 bytes 3 timers (2x8 bits e 1x16 bits) Comunicações seriais: 8 Conversor analógico de 10 bits 2 comparadores analógicos 2 módulos CCP: Capture, compare e PWM

5 PARTES DE UM MICROCONTROLADOR REGISTRADOR Circuito eletrônico que memoriza (armazena) o estado de um byte, no qual será realizada a leitura/escrita nesse registrador.

6 REGISTRADOR DE FUNÇÃO ESPECIAL – SFR- Special function register Circuitos eletrônicos que controlam outros blocos menores, sendo responsáveis pelo funcionamento do microcontrolador (AD, TRISA, TRISB).

7 PORTAS DE ENTRADA/SAÍDA (I/O) Conexão física entre a CPU e o mundo exterior, podendo ser acessado para leitura ou escrita de um valor nesses pinos. Valor 0 – 0 volts Valor 1 – 5 volts

8 MEMÓRIA Circuito eletrônico utilizado para armazenar dados. Onde cada endereço de memória corresponde a uma posição. Podendo ser lido ou escrito os dados nessas posições.

9 CPU- UNIDADE CENTRAL DE PROCESSAMENTO Monitora e controla todos os processos dentro do microcontrolador. ULA- Unidade lógica e Aritmética responsável pelas operações lógicas e aritméticas. Decodificador de instrução- Reconhece as instruções de programa e faz funcionar os outros circuitos ACUMULADOR- É um registrador SFR responsável pela operação da ULA. Armazena todos os dados que são usados para executar uma operação, além dos resultados.

10 OSCILADOR Normalmente é utilizado um cristal de quartzo, para ter uma oscilação estabilizada. Sendo que os pulsos gerados pelo oscilador, possibilitam a operação síncrona de todos os circuitos do microcontrolador. As instruções não são executadas pelo frequência do oscilador, mas, algumas vezes mais lento, já que cada instrução é executada em vários passos.

11 TEMPORIZADOR E CONTADORES Para medir o tempo entre dois eventos, basta contar os pulsos enviados pelo oscilador. Clock_int = Clock_ext/4 Tempo_clock_interno = 1/Clock_int

12 FLUXOGRAMA AULA 2

13 DEFINIÇÃO É uma representação gráfica de um determinado processo, geralmente apresentado utilizando figuras geométricas normalizadas.

14 SÍMBOLOS UTILIZADOS NOS FLUXOGRAMAS Início / Fim do programa Decisão: Indica desvio na sequência lógica de execução do programa Processamento: qualquer operação com alteração do conteúdo de uma variável Linhas de fluxo: Indica a sequência das etapas e a direção do fluxo

15 EXEMPLO 1 Fazer um fluxograma para o seguinte processo. Ao pressionar um chave uma vez, acende-se um led, ao pressionar essa chave novamente, desliga esse led.

16 EXEMPLO 1 Fazer um fluxograma para o seguinte processo. Ao pressionar um chave uma vez, acende-se um led, ao pressionar essa chave novamente, desliga esse led.

17 AULA 3 INSTRUÇÕES UTILIZADAS NO MICROCONTROLADOR

18 TRASFERÊNCIA DE DADOS INSTRUÇÃODESCRIÇÃOFLAG AFETADO MOVLW kMove literal para WW = K- MOVWF fMove W para ff =W- MOVF f,dMove f para dd = fz CLRWLimpa WW =0z CLRF fLimpa ff =0z SWAPF f,dInverte o conteúdo entre as partes alta e baixa e guarda o resultado em d f(3:0),(7:4)=F(7:4),(3,0) f = registro entre 0 a 127 (posição de memória) w = registrador work (trabalho) b = bit utilizado pela operação (0 a 7) k = constante entre 0 a 255 d = resultado da operação d = 0, resultado é armazenado em w d = 1, resultado é armazenado no próprio registrador

19 LÓGICAS E ARITMÉTICAS INSTRUÇÃODESCRIÇÃOFLAG AFETADO ADDLW kAdiciona literal a WW= k + WC,DC,Z ADDWF f,dAdiciona W a f e guarda em dd=W + fC,DC,Z SUBLW kSubtrai W de literalW=k - WC,DC,Z SUBWF f,d Subtrai W de f e guarda em dd=k - WC,DC,Z ANDLW kLógica “E” entre k e WW=K AND WZ ANDWF f,dLógica “E” entre f e W e resultado é guardado em dd= f AND WZ IORLW kLógica “OU” entre k e WW=K OU WZ IORWF f,dLógica “OU” entre f e W e o resultado é guardado em dd=K OU WZ XORLW kLógica “OU EXCLUSIVO” entre k e WW=K XOR WZ XORWF f,dLógica “OU EXCLUSIVO” entre f e W, resultado em dd=f XOR WZ INCF f,dIncrementa ff=f +1Z DECF f,dDecrementa ff=f -1Z RLF f,dRotaciona f 1 bit para a esquerda, resultado em dC RRF f,dRotaciona f 1 bit para a direita, resultado em dC COMPF f,dComplementa f (porta lógica NOT), resultado em dZ

20 RLF e RRF

21 DIRECIONAMENTO DO PROGRAMA INSTRUÇÃODESCRIÇÃOFLAG AFETADO BTFSC f,dTesta o bit do registrador e pula a próxima linha se ele for zero Salta se f(b) = 0 BTFSS f,dTesta o bit do registrador e pula a próxima linha se ele for 1 Salta se f(b) = 1 DECFSZ f,dDecrementa f, e pula próxima linha se der zerod=f – 1 Salta se f(b) = 0 INCFSZ f,dIncrementa f e pula a próxima linha de ser zerod=f + 1 Salta se f(b) = 0 GOTO RVai para a rotina RR  PC CALL RExecuta a subrotina R (retorna uma linha abaixo ao encontrar o comando RETURN, RETLW) PC  TOS R  PC RETURNRetorno de subrotinaTOS  PC RETLW kRetorno com literal em WK  W TOS  PC RETFIERetorno de interrupçãoTOS  PC 1  GIE

22 OPERAÇÕES SOBRE BITS INSTRUÇÃODESCRIÇÃOFLAG AFETADO BCF f,d Limpa o bit d do registrador fd=0- BSF f,dSeta o bit d do registrador fd=1- OUTRAS INSTRUÇÕES INSTRUÇÃODESCRIÇÃOFLAG AFETADO NOP Nenhuma operação (perde um ciclo de máquina) CLRWDTLimpa o temporizador do watchdog WDT=0 TO=1 PD=1 TO, PD SLEEPModo de economia de energiaWDT=0 TO=1 PD=0 TO, PD

23 EXEMPLOS TRASFERÊNCIA DE DADOS SINTAXE: MOVLW K ---------------------------------------------------- MOVLW B'00001001' ---------------------------------------------------- ANTES DA INTRUÇÃO W=? APÓS A INSTRUÇÃO W=00001001 SINTAXE: MOVWF f ---------------------------------------------------- MOVWF OPTION ---------------------------------------------------- ANTES DA INSTRUÇÃO W=0x9 ANTES DA INSTRUÇÃO OPTION=? ---------------------------------------------------- APÓS A INSTRUÇÃO W=0x9 APÓS A INSTRUÇÃO OPTION=0X9 SINTAXE: MOVF f,d ---------------------------------------------------- MOVF TRISA,0 ---------------------------------------------------- ANTES DA INSTRUÇÃO TRISA=0x7 ANTES DA INSTRUÇÃO W=0x9 ---------------------------------------------------- APÓS A INSTRUÇÃO TRISA=0x7 APÓS A INSTRUÇÃO W=0x7 Move valor para W Move o conteúdo do W para registrador f Move o conteúdo do registrador para W MOVLW K k  W MOVWF f w  f MOVF f,d f  W

24 SINTAXE: SWAPF f,d ----------------------------------------------------------------- SWAPF PORTB ----------------------------------------------------------------- ANTES DA INSTRUÇÃO PORTB=B'00001001' ----------------------------------------------------------------- APÓS A INSTRUÇÃO PORTB=B'10010000' EXEMPLOS TRASFERÊNCIA DE DADOS SINTAXE: CLRW --------------------------------------------- CLRW --------------------------------------------- ANTES DA INTRUÇÃO W=? --------------------------------------------- APÓS A INSTRUÇÃO W=0x00 SINTAXE: CLRF f -------------------------------------------------------- CLRF PORTA -------------------------------------------------------- ANTES DA INTRUÇÃO PORTA=? -------------------------------------------------------- APÓS A INSTRUÇÃO PORTA=?=0x00

25 EXEMPLOS LÓGICAS E ARITMÉTICAS SINTAXE: ADDLW k ---------------------------------------------------- MOVLW.12 ADDLW.6 ---------------------------------------------------- ANTES DA INTRUÇÃO W=? APÓS A INSTRUÇÃO W=00010010

26 MAPA DE MEMÓRIA E REGISTRADORES ESPECIAIS AULA 5

27 MAPA DE MEMÓRIA

28 ORGANIZAÇÃO DA MEMÓRIA SELEÇÃO DO BANCO DE MEMÓRIA

29 REGISTRADOR TRISA e PORTA TRIS serve para configurar um pino como entrada/saída 0 = Output (saída) 1 = Input (entrada)

30 REGISTRADOR TRISA e PORTA # DEFINE BANK1BSF STATUS,RP0 BANK1 MOVLW B'xxx10x01' MOVWF TRISA CONFIGURAÇÃO: BANK1 PROGRAMA: BANK0


Carregar ppt "INTRODUÇÃO: MICROCONTROLADORES. MICROCONTROLADOR X MICROPROCESSADOR Baixa capacidade de processamento Freq. Operação em MHz Custo de USD 7,00 a 30,00."

Apresentações semelhantes


Anúncios Google