minicurso pic

Download Minicurso PIC

Post on 24-Jul-2015

75 views

Category:

Documents

7 download

Embed Size (px)

TRANSCRIPT

Minicurso

Introduo aos Microcontroladores PIC

Prof. M.Sc. Tcio Luiz de Souza Barbeiro http://docentes.unirp.edu.br/tacio

MotivaoDesenvolvimento de Sistemas Eletrnicos Microprocessados Embbeded Systems; Mercado de microcontroladores em expanso Novos chips e famlias; Estima-se que, em poucos anos, em mdia uma pessoa interagir com 300 dispositivos microcontroladores diariamente; Aplicao em diversas reas: Automao, Controle e Instrumentao de Processos, etc.

Fabricantes de MicrocontroladoresINTEL (80C51) - www.intel.com/design/MCS51/ MOTOROLA (HC908) - www.mot-sps.com MICROCHIP (PIC) - www.microchip.com TEXAS INSTRUMENTS (MSPs) - www.ti.com MITSUBISHI - www.mitsubishichips.com ATMEL - www.atmel.com PHILIPS - www.philips.com NATIONAL - www.national.com

IntroduoUm microcontolador um sistema computacional completo, no qual esto includos uma CPU (Central Processor Unit), memria, um sistema de clock, sinais de I/O (Input/Output), alm de outros possveis perifricos, tais como, mdulos de temporizao e conversores A/D entre outros, integrados em um mesmo componente (chip). As partes mais integrantes de qualquer computador, e que tambm esto presentes, em menor escala, nos microcontroladores so: Unidade Central de Processamento (CPU); Sistema de Clock para dar seqncia s atividades da CPU; Memria para armazenamento de instrues e manipulao de dados; Entradas para interiorizar na CPU informaes do mundo externo; Sadas para exteriorizar as informaes processadas pela CPU para o mundo externo; Programa (Software) para que o sistema faa alguma coisa til.

Estruturao InternaULA (Unidade Lgica Aritmtica); Memria de Programa Bus de 14 bits; Memria de Dados RAM Bus de 8 bits; Portas: PORTA, B, C e D Pinos de I/O; EEPROM (Memria de Dados No voltil); Timers: TIMER0, TIMER1 e TIMER2 Comparador - Mdulo CCP (Capture, Compare e PWM); Porta Serial USART; Circuitos Internos: Reset, Osciladores, Watchdog Timer (WDT), Power-up e Brown-out.

O PIC16F877Microcontrolador RISC de 40 pinos; Memria de Programa FLASH (8K de 14 bits); Memria de dados 368 bytes; Memria EEPROM 256 bytes; Freqncia de operao at 20MHz; 33 I/O (Entradas/Sadas) configurveis: PORT A: RA0 RA5 (6 PINOS) PORT B: RB0 RB7 (8 PINOS) PORT C: RC0 RC7 (8 PINOS) PORT D: RD0 RD7 (8 PINOS) PORT E: RE0 RE2 (3 PINOS); 14 Interrupes; 3 Timers; 2 Mdulos CCP (Capture/Compare/PWM); Comunicao Serial USART; 8 canais de entrada de conversores A/D de 10 bits.

Principais Caractersticas EltricasTemperatura de trabalho: -40 at +125 C C; Temperatura de Armazenamento: -65 at 150 C C; Tenso de Trabalho: 3.0Va 5.5V; Voltagem Mxima nos demais pinos (em relao ao Vss): -0.3V at (VDD + 0.3V); Dissipao mxima de potncia: 1.0 W; Corrente mxima de sada no pino Vss: 350 mA; Corrente mxima de sada no pino VDD: 250 mA; Corrente mxima de entrada de um pino: 25 mA; Corrente mxima de sada de um pino: 25 mA.

Pinagem do PIC 16F877

Descrio dos PinosNome PINOOSC1/CLKIN OSC2/CLKOUT MCLR/VPP 1 RA0/AN0 RA1/AN1 RA2/AN2/VREFRA3/AN3/VREF+ RA4/T0CKI RA5/SS/AN4 RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD

NPINO13 14 1 2 3 4 5 6 7 33 34 35 36 37 38 39 40

TIPOI O I/P I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O

DescrioEntrada para ceristal externo (fonte de clock) Sada para cristal exetrno MAster Clear (reset) externo. Lgica baixa para reset I/O digital bidirecional ou entrada analgica 0 I/O digital bidirecional ou entrada analgica 1 I/O digital bidirecional ou entrada analgica 2 ou tenso de referncia analgica negativa I/O digital bidirecional ou entrada analgica 3 ou tenso de referncia analgica positiva I/O digital bidirecional ou entrada de clock para contador TMR0 I/O digital bidirecional ou entrada analgica 4 ou slave select para a porta de comunicao serial sncrona I/O digital bidirecional ou entrada para interrupo externa I/O digital bidirecional I/O digital bidirecional I/O digital bidirecional ou entrada para programao em baixa tenso I/O digital bidirecional I/O digital bidirecional I/O digital bidirecional ou clock da programao serial (ICSP) I/O digital bidirecional ou dados da programao serial (ICSP)

Descrio dos PinosNome PINORC0/T1OSO/ T1CK1 RC1/T1OSI/ CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX//CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7

NPINO15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30

TIPOI/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O

DescrioI/O digital bidirecional ou sada para cristal esxterno para TMR1 ou entrada de clock para contador TMR1 I/O digital bidirecional ou entrada para cristal esxterno para TMR1 ou I/O para Capture, Compare, PWM 2 I/O digital bidirecional ou I/O para Capture, Compare, PWM 1 I/O digital bidirecional ou entrada de clock serial sncrono ou saida para os modos SPI e I2C I/O digital bidirecional ou entrada de dados SPI ou I/O de dados I2C I/O digital bidirecional ou sada de dados SPI I/O digital bidirecional ou Transmisso para comunicao USART assncrona ou via de clock para para comunicao USART sncrona I/O digital bidirecional ou Recepo para comunicao USART assncrona ou via de dados para para comunicao USART sncrona I/O digital bidirecional ou Porta paralela escrava I/O digital bidirecional ou Porta paralela escrava I/O digital bidirecional ou Porta paralela escrava I/O digital bidirecional ou Porta paralela escrava I/O digital bidirecional ou Porta paralela escrava I/O digital bidirecional ou Porta paralela escrava I/O digital bidirecional ou Porta paralela escrava I/O digital bidirecional ou Porta paralela escrava

Descrio dos PinosNome PINORE0/RD/AN5 RE1/WR/AN6 RE2/CS/AN7 VSS VDD

NPINO8 9 10 12,31 11,32

TIPOI/O I/O I/O P P

DescrioI/O digital bidirecional ou Controle de Leitura para a Porta paralela escrava ou entrada analgica 5 I/O digital bidirecional ou Controle de Escrita para a Porta paralela escrava ou entrada analgica 6 I/O digital bidirecional ou Select Control para a Porta paralela escrava ou entrada analgica 7 Referncia TERRA Alimentao Positiva (+5V)

LEGENDA:

I = Input (Entrada)

O = Output (Sada)

I/O = Input/Output (Entrada/Sada)

P = Power (Alimentao)

Parmetros de ConfiguraoTipo de Oscilador: 2 grupos: Internos e ExternosOscilador Interno: 32 KHz ou 4 MHz (Seleo por software) Osciladores Externos: - RC_CLKOUT: Para oscilador externo tipo RC com o pino 15 operando como CLKOUT, isto , com uma onda quadrada de da freqncia; - RC_I/O: Para oscilador externo tipo RC com o pino 15 operando como I/O (RA6); - INTOSC_CLKOUT: Para oscilador interno com o pino 15 operando como I/O (RA6); - EC_I/O: Para clock externo (circuito auto-oscilante) com o pino 15 operando como I/O (RA6); - XT: Para osciladores externos tipo cristal ou ressoadores; - HS: Para cristais ou ressoadores externos com frequencias elevadas (acima de 4 MHz); - LP: Para cristais ou ressoadores externos com baixas freqncias (abaixo de 200 KHz). Utilizado para minimizar consumo.

Parmetros de ConfiguraoWATCHDOG (WDT) um recurso disponvel no PIC que parte do princpio que todo sistema passvel de falha. Se todo sistema pode falhar, cabe ao mesmo ter recursos para que, em ocorrendo uma falha, algo seja feito de modo a tornar o sistema novamente operacional. Dentro do PIC existe um contador incrementado por um sinal de relgio (clock) independente. Toda vez que este contador extrapola o seu valor mximo retornando a zero, provocado a reinicializao do sistema (reset). Clear Watchdog: Se o sistema estiver funcionado da maneira correta, de tempos em tempos uma instruo denominada clear watchdog timer (CLRWDT) zera o valor deste contador, impedindo que o mesmo chegue ao valor mximo. Desta maneira o Watchdog somente ir "estourar" quando algo de errado ocorrer.

Parmetros de ConfiguraoPOWER UP TIMER: um temporizador que faz com que o PIC, durante a energizao (power up), aguarde alguns ciclos de mquina (72 ms) para garantir que todo o sistema perifrico (display, teclado, memrias, etc) estejam operantes quando o processamento estiver sendo executado. BROWN OUT DETECT: O Brown Out monitora a diferena de tenso entre VDD e VSS, provocando a reinicializao do PIC (reset) quando esta cai para um valor inferior ao mnimo definido em manual (4V tipco por mais de 100s). LOW VOLTAGE PROGRAM: Trata-se do sistema de programao do PIC (gravao da memria de programa) em baixa tenso: 5V. Normalmente essa programao habilitada por uma alta (13 V) no pino MCLR. CDIGO DE PROTEO: Para gravao em srie muito importante que esta opo esteja ativada, pois impedir que qualquer pessoa consiga ler o programa gravado dentro do PIC.

Linguagens de ProgramaoAssembly (Baixo Nvel): - Maior Eficincia; - Maior Velocidade de Execuo; - Alta Complexidade; - Baixa Portabilidade. Linguagem C (Alto Nvel): - Programao Estruturada (funes); - Maior velocidade na criao de novos projetos; - Maior Portabilidade; - Eficincia Considervel.

CompiladoresLinguagem de Programao Assembly: MPASM (Integrado ao MPLAB da Microchip) Linguagem de Programao C: CCS MicroC

Ambiente de Desenvolvimento MPLAB

Software Gratuito www.microchip.com; Linguagem de programao padro: Assembly; Gerenciamento de projetos; Compilao; Simulao; Emulao; Gravao do chip;

Desenvolvimento de SistemasEntende-se por sistema, mais especificamente sistemas eletrnicos microprocessados (embedded systems), ao conjunto formado pelo hardware com microprocessador ou microcontrolador mais perifricos, integrado ao software bsico que implementa as funes determinadas para a aplicao. O desenvolvimento de hardware executado por um engenheiro ou tcnico eletrnico que normalmente pesquisa, estuda e projeta os circuitos eletrnicos, de preferncia com componentes disponveis no mercado. Esta atividade depende basicamente de estudo, experincia acumulada e de componentes disponveis e, uma vez p