+ All Categories
Home > Documents > Aplicatii Practice ale Microcontrolerelor timer.pdf · Facultatea de Electronica, Telecomunicatii...

Aplicatii Practice ale Microcontrolerelor timer.pdf · Facultatea de Electronica, Telecomunicatii...

Date post: 27-Oct-2019
Category:
Upload: others
View: 30 times
Download: 1 times
Share this document with a friend
11
Aplicatii Practice ale Microcontrolerelor
Transcript
Page 1: Aplicatii Practice ale Microcontrolerelor timer.pdf · Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 2 • Configurarea unui bloc intern TIMER. • Lucrul

Aplicatii Practice ale Microcontrolerelor

Page 2: Aplicatii Practice ale Microcontrolerelor timer.pdf · Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 2 • Configurarea unui bloc intern TIMER. • Lucrul

Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 2

• Configurarea unui bloc intern TIMER. • Lucrul cu blocul TIMER in intrerupere.

Cuprins Lab. 3

Page 3: Aplicatii Practice ale Microcontrolerelor timer.pdf · Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 2 • Configurarea unui bloc intern TIMER. • Lucrul

Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 3

Arhitectura PIC16F887

PO

RTU

RI

PWM

ADC

EEPROM

SPI/I2CUARTTIMER

Page 4: Aplicatii Practice ale Microcontrolerelor timer.pdf · Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 2 • Configurarea unui bloc intern TIMER. • Lucrul

Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 4

TMR 0 TMR 1 TMR 2

TIMERE PIC16F887

EXT OSCILATOR

INT OSCILATOR

Page 5: Aplicatii Practice ale Microcontrolerelor timer.pdf · Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 2 • Configurarea unui bloc intern TIMER. • Lucrul

Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 5

Inspire

Page 6: Aplicatii Practice ale Microcontrolerelor timer.pdf · Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 2 • Configurarea unui bloc intern TIMER. • Lucrul

Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 6

Registrii asociati blocului TIMER 1

T1CON

TMR1L

TMR1H

PIR1

PIE1

INTCON

CM2CON1

T1CON

Registru configurare Timer

Registru configurare Oscilator

OSCCON

TMR1IE

TMR1IF

GIE PEIE

Page 7: Aplicatii Practice ale Microcontrolerelor timer.pdf · Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 2 • Configurarea unui bloc intern TIMER. • Lucrul

Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 7

TMR1ON

Registrii asociati blocului TIMER 1

T1CON

TMR1ON

TMR1ON

TMR1CS

TMR1CS

TMR1CS

T1SYNC

T1SYNC

T1SYNC

T1OSCEN

T1OSCEN

T1CKPS

T1CKPS

T1CKPS

TMR1GE

TMR1GE

TMR1GE

T1GINV

T1GINV

T1GINV

T1OSCEN

PIC16F887

Page 8: Aplicatii Practice ale Microcontrolerelor timer.pdf · Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 2 • Configurarea unui bloc intern TIMER. • Lucrul

Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 8

Configurare TIMER 1 in intrerupere

activare TMR1

setare oscilator

setare prescaler

setare frecventa

T1CON

OSCCON

Ex: Calculul valorii variabilei de preincarcare

𝑭𝑶𝑺𝑪 = 𝟒𝑴𝑯𝒛

𝑭𝑻𝑴𝑹 =𝟒𝑴𝑯𝒛

𝟒= 𝟏𝑴𝑯𝒛

Frecventa Oscilator (OSCCON)

𝑻𝑻𝑴𝑹 =𝟏

𝑭𝑻𝑴𝑹=

𝟏

𝟏𝑴𝑯𝒛= 𝟏𝒖𝒔

Perioada de incrementare

𝒗𝒂𝒓𝒊𝒂𝒃𝒊𝒍𝒂𝒑𝒓𝒆𝒂𝒏𝒄𝒂𝒓𝒄𝒂𝒓𝒆_𝑻𝑴𝑹 = 𝟔𝟓𝟓𝟑𝟓 − 𝒙

Variabila de preincarcare

din T1CON bitul TMR1CS

Intarzierea doritaactivare intrerupere

PIE1

Stergere flag

PIR1

0000 0000 . 0000 0000

0000 0000 . 0000 0001

0000 0000 . 0000 0010

0000 0000 . 0000 0011

1111 1111 . 1111 1110

1111 1111 . 1111 1111

TMR

1L

TMR

1H

TMR1IF=1

“1” logic

0

Page 9: Aplicatii Practice ale Microcontrolerelor timer.pdf · Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 2 • Configurarea unui bloc intern TIMER. • Lucrul

Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 9

Configurare TIMER 1 in intrerupere

0000 0000 . 0000 0000

0000 0000 . 0000 0001

1111 1111 . 1111 1111

TMR1IF=1

TMR

1H

𝟏𝒖𝒔

Perioada de incrementare

0000 0000 . 0000 0000

0000 0000 . 0000 0001

0000 0000 . 0000 0010

𝑽𝑷_𝑻𝑴𝑹

Variabila de preincarcare

0000 0000 . 0000 0011

1111 1111 . 1111 1111

𝒙Intarziere dorita

TMR1IF=1

TMR1L

TMR1H

Page 10: Aplicatii Practice ale Microcontrolerelor timer.pdf · Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 2 • Configurarea unui bloc intern TIMER. • Lucrul

Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 10

Exemplu software TIMER 1 in intrerupere#include <xc.h> #define _XTAL_FREQ 8000000__PROG_CONFIG (1, 0x3FE4);__PROG_CONFIG (2, 0x1EFF);unsigned int a;#define LED RB0 void config_uc ()

{OSCCON = 0x73; //8MHzANSELB = 0x00;TRISB = 0x00;T1CON = 0x11;TMR1IE = 1;PEIE = 1;GIE = 1;

}//end configvoid main (void)

{config_uc ();while(1)

{// tai la

}//end while}//end main

void interrupt timer(void) {

TMR1IF = 0; TMR1H = 0xFC; // 65535us-1000us = 64535us = FC17TMR1L = 0x17;LED = !LED; // blinking led – 1ms ON / 1ms OFF

}//end interrupt

#include <xc.h> #define _XTAL_FREQ 8000000__PROG_CONFIG (1, 0x3FE4);__PROG_CONFIG (2, 0x1EFF);unsigned int a;#define LED RB0 void config_uc ()

{OSCCON = 0x73; //8MHzANSELB = 0x00;TRISB = 0x00;

}//end configvoid main (void)

{config_uc ();while(1)

{for (a=0; a<100;a++);LED = !LED; // blinking led

}//end while}//end main

PIC16LF1937

LED = 1; // blinking led – 1ms ON__delay_ms(1);LED = 0; // blinking led – 1ms OFF__delay_ms(1);

Intarzierea dorita preincarcare

Page 11: Aplicatii Practice ale Microcontrolerelor timer.pdf · Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 2 • Configurarea unui bloc intern TIMER. • Lucrul

Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei - Iasi 11

1. Sa se creeze o aplicatie (SW) folosind microcontrolerul PIC16LF1937 in care un led sa se aprinda si sa se stinga la un interval de 1 secunda.Sa se verifice timpul de switching si cu ajutortul osciloscopului.

Exercitii


Recommended