Aula 3 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.

Slides:



Advertisements
Apresentações semelhantes
Microcontroladores Uma visão geral.
Advertisements

Arquitetura e organização de computadores
Arquitetura e organização de computadores.
Barramentos Introdução.
Técnicas para operações E/S
Meu primeiro programa em ARDUINO
Chip-Select e Controle de Interrupção
Sistemas Embarcados Microcontroladores PIC
Sistemas Embarcados Microcontroladores PIC
Arquitetura dos Microprocessadores 8086 e 8088
Configuração de Periféricos
Método texto-gráfico de representação do raciocínio.
Professor: Carlos Roberto da Silva Filho, M. Eng.
Sistemas Digitais Microprocessados
Sistemas Digitais Microprocessados
AULA – RTC – Real Time Counter
Watchdog Timer O WDT causa um reset quando há falha no software ou no hardware (travamento); Está sempre habilitado e opera de maneira independe da CPU;
DSP – TMS320LF2407A.
INTRODUÇÃ A COMPUTAÇÃO ENG. CIVIL
HARDWARE do CLP Os controladores lógicos programáveis são equipamentos com uma aplicação muito vasta dentro dos diversos processos de automação. Desta.
Introdução à Programação
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte III Jadsonlee da Silva Sá
PIC16F877A - Parte II Jadsonlee da Silva Sá
Conversor A/D – PIC16F877A Jadsonlee da Silva Sá
PROGRAMAÇÃO I UNIDADE 1.
Prof. José Bezerra de Menezes Filho
AUTOMAÇÃO INDUSTRIAL.
Introdução aos Sistemas Microcontrolados
POLIMIG Curso Técnico em Informática Disciplina: Hardware
Sistemas Operacionais
CEFET-PBProf. José B. Menezes Filho1 MICROCONTROLADORES Prof. José Bezerra de Menezes Filho CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DA PARAÍBA DA PARAÍBA.
Módulo Timers - PIC16F877A Jadsonlee da Silva Sá
Técnico em Informática
PIC Peripheral Interface Controller
Programação de PIC em C Exposição das funções básicas para
Microcontroladores PIC
Arquitetura 8051 Disciplina: Microcontroladores Prof. Remy Eskinazi
Termômetro Digital com PIC e LM35
Hardware Description Language Aula 8 –Verilog HDL
Microprocesadores x Microcontroladores
Hardware Description Language Aula 9 –Verilog HDL Prof. Afonso Ferreira Miguel, MSc.
8088 Assembly Software Básico Mitsuo Takaki.
Automação e Instrumentação módulo 16A
Módulo CCP Jadsonlee da Silva Sá
VERILOG Monitoria Infra-Estrutura de Hardware Álvaro João – ajss Húgaro Bernardino – hbb Fred Rabelo - ferrf Leonardo Leandro – lsl2 Jéssica de.
Engenharia de Sistemas Embarcados Aula 9: Salvo RTOS.
Engenharia de Sistemas Embarcados Aula 5: Um Conjunto Básico de Ferramentas.
Arquitetura de Computadores Processadores 2 Waldemiro Arruda.
SENAI - CURSO SUPERIOR DE TECNOLOGIA EM MECATRÔNICA INDUSTRIAL
Arquitetura de Microcomputadores
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.
Funcionamento interno do computador
Arquitetura de computadores
FLIP-FLOPs.
Prof. André Luis Roland Tancredo Engenheiro da Computação e Pesquisador em Desenvolvimento Tecnológico para Semicondutores pelo CNPq Especialista em Microeletrônica.
Introdução ao Processamento Vetorial
Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI
Por Cássio Mello e André Luis.  É a parte inteligente do circuito, onde sinais de controle serão recebidos e enviados e o processamento será efetuado.
Microcontroladores Sistemas Digitais Microprocessados (SDM) Temporizadores MTIM (8 bits) Profa. Ana T. Y. Watanabe ou
Aula 9 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.
Aula 7 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.
Aula 04: Aprendendo sobre o PWM do arduíno e Ponte H
Clique para editar o título Arduino seu primeiro microcontrolador PMR
Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI
MAPA DE MEMÓRIA E REGISTRADORES ESPECIAIS AULA 5.
DsPIC – Aula 3 Prof. Ricardo Teixeira Especialização em Sistemas Embarcados POLI – UPE.
Aula 8 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.
Aula 12 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.
Aula 5 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI.
Transcrição da apresentação:

Aula 3 Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI

Clock

Configurações do oscilador #FUSES INTRC – Não necessita de componentes externos. – Utiliza o gerador de clock interno. – Baixa precisão. – É possível utilizar a diretiva #use delay com os seguintes valores: 31KHz, 125KHz, 250KHz, 500KHz, 1MHz, 2MHz, 4MHz e 8MHz. Ex.: #use delay(clock= )

Configurações do oscilador #FUSES XT – Utiliza componentes externos (cristal e capacitores). – Mais rápido que o INTRC. – Maior precisão por utilizar o cristal. – Para cristais até 4Mhz. #FUSES HS – Utiliza componentes externos (cristal e capacitores). – Alta velocidade (HS = high speed) – Maior precisão por utilizar o cristal. – Para cristais até 20Mhz. Cristal de 16 MHz

Configurações do oscilador Disposição do cristal e dos capacitores – Capacitores cerâmicos (não polarizados). – O cristal deve ficar conectado aos pinos 14 (OSC1) e 13 (OSC2).

Ciclo de máquina do PIC18 (Instruction Cycle) O clock do sistema é internamente dividido por 4. Cada instrução de máquina consiste em 4 Q-cycles (Q1 à Q4). A busca da instrução ocorre em 1 Q-cycle e a execução em outro. Datasheet PIC18 Instruction Cycle

Ciclo de máquina do PIC18 (Instruction Cycle) Com o uso de pipeline cada instrução é executada em 1 Q-cycle. Observe a imagem. A instrução 1 (MOVLW) é carregada no Tcy0 executada no Tcy1. A instrução seguinte é carregada no Tcy1 e executada no Tcy2. Assim a execução sempre* ocorre a cada TcyX. Datasheet PIC18 Instruction Cycle

Tempo de execução das instruções

Observação No CCS podemos utilizar diferentes bases para representar um valor numérico como: binária, octal, decimal e hexadecimal. – Binário: 0b – Octal: 0173 – Decimal: 123 – Hexadecimal: 0x7B No CCS podemos escrever o número como quisermos, o compilador se encarrega de entender. – dados = 0b x ;

Portas de Entrada e Saída

O PIC18F4550 contém 5 portas – Porta A e Porta B com 8 bits; – Porta C com 7 bits, RC3 não está disponível; – Porta D e Porta E: 4 bits; É possível acessar cada bit de cada porta individualmente. No chip físico nem sempre estes bits estão dispostos de forma linear. – Ex.: a Porta E é composta pelos pinos 8,9,10 e 1.

Portas de Entrada e Saída Modos de Entrada e Saída – O compilador disponibiliza 3 formas de entrada diferentes: #use standard_io (port): modo automático, as funções de output e input alteram a direção do pino. #use fixed_io (port_outputs = pinos) : modo manual, a direção do pino fica fixa. #use fast_io (port): você pode mudar manualmente utilizando a função set_tris_x(porta).

Portas de Entrada e Saída Funções de saída: – output_x (int valor), onde x representa a porta (a, b, c, d ou e). – output_low (PIN_Px), coloca o bit especificado por PIN_Px em nível baixo (0). Px é a letra da porta e o respectivo bit (A0, B1 etc.) – output_high (PIN_Px), coloca o bit especificado por PIN_Px em nível alto (1). Px é a letra da porta e o respectivo bit (A0, B1 etc.) – output_toggle(PIN_Px), alterna o estado, alto e baixo do bit. – output_bit( PIN_Px, bit), altera o pino Px para o valor de bit.

Portas de Entrada e Saída Funções de entrada: – input_x (), lê a porta representa por x (a, b, c, d ou e). – intput(PIN_Px), lê o pino especificado. – Intput_state(PIN_Px), lê o pino especificado sem mudar a direção.

Registradores TRIS Cada porta possui um registrador TRIS associado a ela O nome TRIS vem de Tri-state em alusão às portas de 3 estados (alto, baixo e desconectado) Os bits de cada registrados TRIS configuram o bit da porta respectiva como entrada ou saída. Para setar o valor do registrador, por exemplo da porta B, usamos set_tris_b (0b ), os 4 primeiros bits estão definidos como entrada(1) e o resto como saída (0).

Temporização

Funções de atraso Não são precisas São criadas a partir de instruções asm – delay_cycles(int8 count) count – constante de 1 a 255 Espera count ciclos de máquina – delay_us(int16 time) Time – 0 a Espera time microsegundos – delay_ms(int16 time) Time – 0 a Espera time milisegundos

Observação! As funções de atraso são a pior forma possível de se contar ou esperar algum tempo! Para gerar o atraso o compilador cria um loop de NOPs para executar tantas vezes quanto necessários para gerar o delay. Suponha um delay_ms(100). Com um clock de 20 MHz o ciclo dura 0,2 us. E assim, 100 ms / 0,2 us = ciclos. São desperdiçados ciclos! Como contar o tempo de forma correta?

Módulo TIMER0 (8 ou 16 bits) Comumente conhecido como RTCC (Real Time Counter Clock). Temporização sem comprometer o processamento do microcontrolador. Incrementado pelo clock interno ou pelo pino externo T0CKI (Timer zero clock input), pino RA4. Datasheet Timer0 Operation

Módulo TIMER0 - Prescaler Datasheet Timer0 Operation Diminui a velocidade do TIMER. Configurado no registrador T0CON nos bits PSA e T0PS2:T0PS0 e vai de 1:2 áté 1:256. Pode ser alterado em tempo de execução.

Ocorre quando há a contagem do TIMER0 no registrador TRM0 chega ao valor máximo. Este valor depende do modo de operação. Em 8 bits o valor é 0xFF e em 16 bits 0xFFFF. A interrupção do TIMER0 pode ser habilitada ou não definindo o valor do bit TRM0IE (INTCON ). Este estouro seta (1) o bit TRM0IF (INTCON ). Mesmo que a interrupção esteja desligada é possível olhar TRM0IF (timer zero interruption flag) e saber se ocorreu um estouro. Módulo TIMER0 - Interrupção

Como calcular o tempo de interrupção?

Configurando TIMER0 no CCS #include #FUSES NOMCLR, NOWDT, NOBROWNOUT, NOLVP #use delay(crystal= ) #INT_TIMER0 void interrupcao_timer0 () { clear_interrupt(INT_TIMER0); output_toggle(PIN_B0); } void main() { enable_interrupts(GLOBAL); enable_interrupts(INT_TIMER0); // habilita a interrupção do TIMER0. setup_timer_0(RTCC_INTERNAL|RTCC_8_BIT|RTCC_DIV_32); //420 ms while(TRUE){ //TODO: User Code }

Circuito de Reset O pino Master Clear Reset permite a criação de uma forma de reset via hardware. O pino é ativo em 0, isto é, quando seu nível for zero estará em modo reset. É preciso que utilizar o fuse MCLR.

Compilador CCS C

Criando um Projeto no CCS Wizard para ajudar a preparar as configurações inicias. Possibilidade de selecionar entre os microcontroladores compatíveis. Várias possibilidades de configuração de A/D, Timers, clock etc.