Pic16f628a

Disponível somente no TrabalhosFeitos
  • Páginas : 5 (1092 palavras )
  • Download(s) : 0
  • Publicado : 15 de outubro de 2011
Ler documento completo
Amostra do texto
Interrupções do PIC16F628A
Microprocessadores Prof. Gabriel

Introdução:
• Uma interrupção é uma maneira de interromper o programa; • Isto é utilizado geralmente quando estamos aguardando que algo aconteça, mas não queremos ficar esperando; • Quando uma interrupção acontece, podemos então paralisar o programa e atender a interrupção através de uma rotina específica; • Um exemplo, é oteclado, o qual não sabemos o instante em que uma tecla será pressionada.

Interrupções existentes no PIC 16F628A:
• Existem 10 tipos de interrupções no PIC 16F628A:
• Interrupção de estouro no Timer 0 (TMR0 – 8 bits); • Interrupção através do pino RB0; • Interrupção externa por mudança de estado nos pinos RB4, RB5, RB6 e RB7;

• Interrupção de estouro do Timer 1 (TMR1 – 16 bits); • Interrupçãopor estouro do TIMER2 (TMR2 – 8 bits); • Interrupção de final de escrita na EEPROM; • Interrupção de comparador; • Interrupção de fim de recepção de dados na USART; • Interrupção de fim de transmissão de dados pela USART; • Interrupção de CCP (capture, compare, pulse).

Flags (sinalização da interrupção)
• Como qualquer interrupção habilitada provoca o desvio do programa para o endereço 04h damemória de programa, existe um bit que é setado automaticamente para cada interrupção ocorrida. • Este bit deve ser zerado na sub-rotina de interrupção .

INTCON
(end.0B, 8B, 10B e 18Bh)
7 GIE 6 PIEE 5 TOIE 4 INTE 3 RBIE 2 T0IF 1 INTF 0 RBIF

bit 7: GIE: Chave geral das interrupções; bit 6: PIEE: Chave interm. das int. dos periféricos; bit 5: TOIE: Chave individual do TMR0; bit 4: INTE:Chave individual da externa em RB0; bit 3: RBIE: Chave individual por mudança de estado; bit 2: TOIF: Flag da int. por estouro do TMR0; bit 1: INTF: Flag da int. externa em RB0; bit 0: TOIF: Flag da int. por mudança de estado.

PIE1 (end. 8Ch)
7 6 5 4 3 2 1 0 EEIE CMIE RCIE TXIE CCP1IE TMR2IE TMR1IE

bit 7: EEIE: Chave ind. de fim de escrita na EEPROM; bit 6: CMIE: Chave ind. dos comparadores;bit 5: RCIE: Chave ind.de fim de recepção; bit 4: TXIE: Chave ind.de fim de transmissão; bit 3: -; bit 2: CCP1IE: Chave ind. do CCP; bit 1: TMR2IE: Chave individual do TMR2; bit 0: TMR1IE: Chave individual do TMR1;

PIR1 (end. 0Ch)
7 6 5 RCIF 4 TXIF 3 2 1 0 EEIF CMIF CCP1IF TMR2IF TMR1IF

bit 7: EEIF: Flag ind. de fim de escrita na EEPROM; bit 6: CMIF: Flag ind. dos comparadores; bit 5:RCIF: Flag ind.de fim de recepção; bit 4: TXIF: Flag ind.de fim de transmissão; bit 3: -; bit 2: CCP1IF: Flag ind. do CCP; bit 1: TMR2IF: Flag individual do TMR2; bit 0: TMR1IF: Flag individual do TMR1;

1) Interrupção de Timer 0:
• No PIC 16F628A, existe um contador interno de 8 bits, denominado TMR0 (Timer 0), que quando estoura ( de 0xFF vai para 0x00), pode gerar uma interrupção; • Ela podeser utilizada por exemplo para contagem de tempo, gerando intervalos de tempo mais precisos; • O TMR0 pode ser incrementado internamente pelo sinal de clock, ou externamente, contando pulsos ocorridos no pino RA4.

Hardware do timer 0:

OPTION_REG
(end. 81 E 181H)
7 /RBPU 6 INTEDG 5 T0CS 4 T0SE 3 PSA 2 PS2 1 PS1 0 PS0

bit 7: /RBPU (“PORTB Pull-up Enable”):; bit 6: INTEDG (“Interrupt EdgeSelect”); bit 5: T0CS (“TMR0 Clock Source Select”); bit 4: T0SE: “TMR0 Source Edge Select” ; bit 3: PSA: Prescaler Assignment bit; bit 2 a 0: PS2:PS0: bits de seleção da taxa do Prescaler.

OPTION_REG (end. 81 E 181H)
7 /RBPU 6 INTEDG 5 T0CS 4 T0SE 3 PSA 2 PS2 1 PS1 0 PS0 bit 7: /RBPU (“PORTB Pull-up Enable”):
bit de habilitação dos resistores de pull-up do PORTB 1 = desligados. 0 = ligadosby port latch values

bit 4: T0SE: “TMR0 Source Edge Select”
Bit de seleção da borda do sinal de clock 1 = Incremento na borda positiva de RA4/T0CKI 0 = Incremento na borda negativa de RA4/T0CKI

bit 6: INTEDG (“Interrupt Edge Select”):
bit de seleção da borda do pino RB0/INT 1 = Interrupção na borda de subida 0 = Interrupção na borda de descida

bit 3: PSA: Prescaler Assignment bit
Bit...
tracking img