Escolar Documentos
Profissional Documentos
Cultura Documentos
Agenda
Introduo Osciladores Funes de Atraso Ciclo de Clock Calculando Ciclo de Instruo Biblioteca Delay.h
Introduo - Delays
Na programao de Microcontroladores muitas vezes necessrio criar funes para contagem de tempo.
Qual componente ligado ao Microcontrolador gera a base de tempo do processador? Sua frequncia conhecida?
Introduo - Delays
Na programao de Microcontroladores muitas vezes necessrio criar funes para contagem de tempo.
Qual componente ligado ao Microcontrolador gera a base de tempo do processador? Sua frequncia conhecida?
Osciladores
Os microcontroladores necesssitam de uma fonte de clock para que posssam processar informaes, sendo a velocidade de processamento proporcional a frequncia fornecida pela fonte de clock; A CPU do microcontrolador do PIC18 suporte trs fontes de clock, cuja seleo feita atravs dos bits OSCCON<1:0>, os quais permitem as seguintes configuraes; OSCCON<1:0> = 1x : oscilador interno OSCCON<1:0> = 10 : oscilador TIMER 1 OSCCON<1:0> = 00 : oscilador primrio
Oscilador Interno
Existem duas fontes de clock associadas ao bloco do oscilador interno; A principal sada desse oscilador um clock de 8MHz (INTOSC), que pode ser usado diretamente para fornecer sinal de clock para a CPU, ou ento pode ser derivado em outras frequncias conforme tabela;
Oscilador Interno
OSCCON<6:4> 111 110 101 100 011 010 001 000 DESCRIO 8 MHz (INTOSC) 4 MHz (INTOSC) 2 MHz (INTOSC) 1 MHz (INTOSC) 500 KHz (INTOSC) 250 KHz (INTOSC) 125 KHz (INTOSC) 31 KHz (INTOSC | INTRC)
Oscilador Secundrio
O TIMER 1 pode operar em dois nveis de consumo, sendo modo de baixo consumo (low-power) ou em um nvel de consumo maior que low-power; Exemplo: #pragma config LPT1OSC = ON // LP #pragma config LPT1OSC = OFF
Oscilador Primrio
O microcontrolador PIC suporta diversos tipos de osciladores externos, e dentre os mais conhecidos esto HS, XT, intRC e EC. HS (High Speed); XT (Xtal); intRC (Internal Resistor e Capacitor); EC (External Oscilator);
Um problema que necessita de contagem de tempo: Ex: Seu projeto precisa ter um LED que fica piscando numa frequncia 2 Hz, ou seja, uma vez a cada segundo.
TCY = 4 * (1/Fckl) = 4 * Tckl TCY = 4*(1/48MHz) = 83,33*10-9 = 83,33ns FCY = Fckl/4 = 48MHz/4 = 12*106 instrues por segundo FCY = 12 MIPS(Instructions Per Second)
C:\mplabc18\h
C:\mplabc18\doc
Biblioteca delays.h
Tem as seguintes caractersticas:
Base de tempo de um ciclo de instruo (TCY Time of Instruction Cycle); No Kit: 1 TCY 83,33ns. Funes Disponveis:
Biblioteca delays.h
Biblioteca delays.h
Biblioteca delays.h
Qual o nmero mximo de ciclos de instruo para gerar uma espera ocupada atravs da biblioteca C18 delays.h?
Biblioteca delays.h
Qual o nmero mximo de ciclos de instruo para gerar uma espera ocupada atravs da biblioteca C18 delays.h? void Delay10KTCYx(0): //atraso de 2.560.000 ciclos
Biblioteca delays.h
Qual o nmero mximo de ciclos de instruo para gerar uma espera ocupada atravs da biblioteca C18 delays.h? void Delay10KTCYx(0): //atraso de 2.560.000 ciclos Qual o tempo equivalente a esse delay?
Biblioteca delays.h
Qual o nmero mximo de ciclos de instruo para gerar uma espera ocupada atravs da biblioteca C18 delays.h? void Delay10KTCYx(0): //atraso de 2.560.000 ciclos Qual o tempo equivalente a esse delay? 2.560.000*83,33ns=213,33ms
Biblioteca delays.h
Qual o nmero mximo de ciclos de instruo para gerar uma espera ocupada atravs da biblioteca C18 delays.h? void Delay10KTCYx(0): //atraso de 2.560.000 ciclos Qual o tempo equivalente a esse delay? 2.560.000*83,33ns=213,33ms Se eu precisar de mais tempo... O que posso fazer?
Biblioteca delays.h
Qual o nmero mximo de ciclos de instruo para gerar uma espera ocupada atravs da biblioteca C18 delays.h? void Delay10KTCYx(0): //atraso de 2.560.000 ciclos Qual o tempo equivalente a esse delay? 2.560.000*83,33ns=213,33ms Se eu precisar de mais tempo... O que posso fazer? Chamar a funo vrias vezes!!!
Perguntas