Beruflich Dokumente
Kultur Dokumente
Ouro Preto - MG
2013
INSTITUTO
FEDERAL
RIO GRANDE
DO SUL
e-Tec Brasil
Indicao de cones
Os cones so elementos grficos utilizados para ampliar as formas de
linguagem e facilitar a organizao e a leitura hipertextual.
Ateno: indica pontos de maior relevncia no texto.
e-Tec Brasil
e-Tec Brasil
Tecnologia da Informtica
Sumrio
Palavra do professor-autor
Apresentao da disciplina
11
Projeto instrucional
13
15
15
17
21
21
23
27
27
3.2 Memria
28
3.3 Registradores
28
31
3.5 Temporizadores
32
35
35
4.2 PWM
36
37
4.4 USART
37
41
41
42
45
45
46
46
47
e-Tec Brasil
49
51
51
59
59
Aula 9 Programao C
9.1 Linguagem de alto nvel
65
65
65
9.3 Programas em C
68
Aula 10 Programao C II
10.1 Conversor A/D do microcontrolador PIC12F675
10.2 Programa exemplo A/D
e-Tec Brasil
49
49
75
75
75
Referncias
79
Currculo do professor-autor
80
Palavra do professor-autor
Prezado estudante,
com enorme satisfao que lhe apresentamos a disciplina de Microcontroladores do seu curso de Automao Industrial. Este trabalho fruto de nossa
longa experincia no trato com os microcontroladores, seja como professor,
seja como desenvolvedor de equipamentos que utilizam essa maravilha da
moderna microeletrnica. Os microcontroladores tm enorme aplicao em
nosso dia a dia e, muitas vezes, nem nos damos conta de que o equipamento
que estamos utilizando possui um microcontrolador. Citamos como exemplo os
aparelhos de DVD, televiso, forno de micro-ondas, geladeira, porto eletrnico, sistemas eletro/eletrnicos de automveis e at o nosso carto de crdito
com chip. Se naqueles equipamentos de uso dirio os microcontroladores
j se fazem presente, imagine como eles esto embutidos em praticamente
todas as aplicaes eletrnicas dentro de uma indstria.
Ao longo do curso voc ser capaz de constatar por si s uma enorme gama
de aplicaes. Para encerrar esta conversa, lembre-se: se voc chegou at este
ponto, poder ir muito mais longe, para alm deste curso. O mundo precisa
de uma pessoa como voc, que corre atrs de seus objetivos, que busca
aprender e aperfeioar-se cada vez mais. Conte com toda a nossa equipe
para apoi-lo e esteja certo de que voc ir superar as suas diculdades. Um
forte abrao dos professores.
Ronaldo Trindade e dilus Penido
e-Tec Brasil
Apresentao da disciplina
Nesta disciplina de Microcontroladores vamos percorrer juntos um universo
novo de aplicaes da microeletrnica. At aqui, voc j teve a oportunidade
de conhecer e estudar os diversos componentes eletrnicos, tais como: diodos,
transistores e circuitos integrados.
Voc tambm j sabe que os componentes eletrnicos so interligados para
formar circuitos, os quais desempenham funes especcas e, na eletrnica
digital, pde estudar como os circuitos executam funes lgicas (AND, OR,
XOR, NOT) em suas mais variadas combinaes.
Acontece que quando a complexidade de um circuito aumenta muito (em
termos das diversas funes a serem executadas), muitas vezes, torna-se
invivel a produo de tal circuito.
Nesse ponto mais fcil e mais barato utilizar um circuito que possa ser programado (o microcontrolador) e, utilizando-se corretamente os seus terminais
de entrada e de sada, executar internamente as funes desejadas atravs
de um software.
A proposta desta disciplina , ento, ensin-lo a programar um microcontrolador de forma que ele possa executar as funes a ele designadas.
Para atingir o nosso objetivo, estudaremos a estrutura interna de um microcontrolador, suas funes internas, seus perifricos associados, seus registradores,
temporizadores, pinos de entrada/sada e demais perifricos de interface com
o mundo exterior.
software
Termo ingls que designa o
conjunto de instrues capazes
de serem interpretadas e
executadas por um determinado
processador de dados. Software
tambm conhecido como
programa de computador.
11
e-Tec Brasil
Palavra instrucional
Projeto
do professor-autor
Disciplina: Microcontroladores (carga horria: 75h).
Ementa: Introduo aos microcontroladores. Programao Assembler para
microcontroladores. Programao C para microcontroladores. Aplicaes de
microcontroladores.
AULA
OBJETIVOS DE
APRENDIZAGEM
MATERIAIS
CARGA
HORRIA
(horas)
Ambiente virtual:
plataforma Moodle.
Apostila didtica.
Recursos de apoio: links,
exerccios.
07
Descrever as caractersticas do
PIC12F675.
Ambiente virtual:
plataforma Moodle.
Apostila didtica.
Recursos de apoio: links,
exerccios.
07
Ambiente virtual:
plataforma Moodle.
Apostila didtica.
Recursos de apoio: links,
exerccios.
07
4. Hardware do
microcontrolador II
Ambiente virtual:
plataforma Moodle.
Apostila didtica.
Recursos de apoio: links,
exerccios.
08
5. Set de instrues
Ambiente virtual:
plataforma Moodle.
Apostila didtica.
Recursos de apoio: links,
exerccios.
08
6. Interrupes
Ambiente virtual:
plataforma Moodle.
Apostila didtica.
Recursos de apoio: links,
exerccios.
08
7. Programao
Assembly
Ambiente virtual:
plataforma Moodle.
Apostila didtica.
Recursos de apoio: links,
exerccios.
08
1. Conhecendo os
microcontroladores
2. Os
microcontroladores
da famlia PIC
3. Hardware do
microcontrolador
13
e-Tec Brasil
AULA
e-Tec Brasil
OBJETIVOS DE
APRENDIZAGEM
MATERIAIS
CARGA
HORRIA
(horas)
8. Programao
Assembly II
Ambiente virtual:
plataforma Moodle.
Apostila didtica.
Recursos de apoio: links,
exerccios.
08
9. Programao C
Ambiente virtual:
plataforma Moodle.
Apostila didtica.
Recursos de apoio: links,
exerccios.
07
10. Programao
C II
Ambiente virtual:
plataforma Moodle.
Apostila didtica.
Recursos de apoio: links,
exerccios.
07
14
Aula 1 Conhecendo os
microcontroladores
Objetivos
Conhecer os fundamentos e as principais arquiteturas dos microcontroladores.
15
e-Tec Brasil
e-Tec Brasil
16
Microcontroladores
Atualmente, os
principais fabricantes de
microcontroladores so:
Intel
http://www.intel.com
Zilog
http://www.zilog.com
National
http://www.national.com
Microchip
http://www.microchip.com
Motorola
http://www.motorola.com
Analog Devices
http://www.analog.com/
microconverter
17
e-Tec Brasil
a) Memria.
b) Unidade de controle.
c) Unidade Lgica e Aritmtica (ULA).
d) Registradores.
e) Perifricos de entrada e sada.
Conforme pode ser observado na Figura 1.4, no existe separao entre dados
e programa, uma vez que h uma nica rea de memria. Dessa forma, o
processador deve executar uma nica ao por vez: ou acessa os dados ou
executa uma instruo.
Na arquitetura Harvard (Figura 1.5) observamos dois barramentos distintos:
um para acessar a memria de dados e outro para acessar a memria de
programas. Dessa forma, o processador pode buscar e executar uma instruo
ao mesmo tempo em que acessa a memria de dados para ler ou para gravar
algum valor. Veja a Figura 1.5; nela possvel observar o barramento de
dados (Data Bus), em vermelho, partindo da memria RAM e seguindo at a
e-Tec Brasil
18
Microcontroladores
Resumo
Nesta aula, voc aprendeu que um microcontrolador um computador em
miniatura, dentro de um nico chip, capaz de executar funes especficas
atravs de um programa (software).
Aprendeu tambm as duas arquiteturas de construo de microcontroladores
e a diferena que existe entre ambas.
19
e-Tec Brasil
Atividades de aprendizagem
1. Como atividade de aprendizagem desta aula, procure identicar nos equipamentos eletroeletrnicos de sua casa aqueles que utilizam microcontroladores. Aps, faa uma lista dos mesmos e envie-as para a plataforma.
2. Responda tambm s seguintes questes:
a) Quais as principais diferenas entre um microcontrolador e um microprocessador?
b) Quais as principais vantagens da arquitetura Harvard?
Dica
Consulte a bibliograa disponvel no polo e contedos disponibilizados na internet.
e-Tec Brasil
20
Microcontroladores
Aula 2 Os microcontroladores da
famlia PIC
Objetivos
Descrever as caractersticas do PIC12F675.
21
e-Tec Brasil
interrupo por variao de sinal nos pinos; memria flash de alta persistncia,
podendo ser regravado at 100.000 vezes, e ciclo de escrita na memria EEPROM
de at um milho de vezes, com reteno na memria acima de 40 anos.
Low power features caractersticas de baixa potncia, tais como: consumo
de corrente em modo de espera de 1 nA quando alimentado com 2 V e
corrente de operao de 100 uA com clock de 1 MHz.
e-Tec Brasil
22
Microcontroladores
23
e-Tec Brasil
e-Tec Brasil
24
Microcontroladores
Resumo
Nesta aula, voc conheceu um pouco sobre a famlia de microcontroladores PIC,
em especial a do PIC12F675, bem como duas aplicaes prticas envolvendo
esse microcontrolador.
Atividades de aprendizagem
1. Quem o fabricante do PIC12F675?
2. Quantas instrues Assembly o PIC possui?
3. Qual o consumo de corrente do PIC no clock de 1 MHz?
4. Qual a faixa de tenso de alimentao do PIC?
5. Qual a resoluo (em bits) do conversor A/D do PIC?
6. Quantos temporizadores o PIC12F675 possui?
7. Nos circuitos apresentados, qual a funo do LED heart beat?
8. Nos circuitos apresentados, qual deles utiliza o conversor A/D?
9. Nos circuitos apresentados, qual deles utiliza a interrupo externa?
10. Descreva, sucintamente, outra aplicao de uso do PIC12F675.
25
e-Tec Brasil
27
e-Tec Brasil
3.2 Memria
O PIC12F675 possui dois tipos de memria: memria de programa com 1024
palavras (words) de 8 bits, e memria de dados, com 64 bytes de RAM esttica
e 128 bytes de EEPROM.
A memria de programa onde ca armazenado o programa gravado no PIC
e que ser executado to logo o mesmo seja ligado na alimentao.
Na memria de dados, armazena-se as variveis do programa, ou at 128
bytes de dados na memria EEPROM, que sero mantidos mesmo que o
circuito seja desligado da alimentao.
3.3 Registradores
Os registradores (SFR Special Function Regiters) so posies da memria que
recebem nomes especcos e tm funo bem denida: guardar a congurao
e o estado de funcionamento atual do PIC.
Normalmente, cada bit do registrador tem uma funo especca. Assim,
temos um registrador para denir se as portas so de entrada ou de sada,
ativar e desativar interrupes, apresentar o estado da CPU, etc.
Os principais registradores do PIC12F675 e seus respectivos endereos, em
hexadecimal, so:
a) TMR0 (01H) armazena a contagem do timer. Sempre que este contador chegar a zero e o INTCON estiver ativado, a interrupo de timer 0 ser ativada.
e-Tec Brasil
28
Microcontroladores
29
e-Tec Brasil
e-Tec Brasil
30
Microcontroladores
31
e-Tec Brasil
3.5 Temporizadores
Os temporizadores tm ampla aplicao, pois permitem a marcao precisa
de intervalos de tempo. O PIC12F675 possui dois temporizadores: um de 8
bits (timer 0) e um de 16 bits (timer 1).
O timer 0 conta de 0 a 255 (8 bits) e o timer 1 conta de 0 a 65535 (16 bits).
Sempre que o timer atingir sua contagem mxima e ns adicionarmos mais
uma unidade, ele retornar a zero; quando isso acontece, falamos que houve
um estouro ou transbordamento do timer. Neste momento, a interrupo
associada ao timer acionada, caso a mesma esteja habilitada.
Como cada incremento do timer gasta, exatamente, um ciclo de mquina,
possvel inicializar o timer com o valor adequado a fim de produzir a contagem
de tempo que se deseja.
Por exemplo, se desejarmos contar 100 s, podemos inicializar o timer 0
com 156 (256 - 100) para um ciclo de mquina de 1 s. Quando o timer 0
atingir 255 e tentar passar para 256, ele retornar a zero e ter se passado
exatamente 100 incrementos de 1 s, totalizando 100 s.
e-Tec Brasil
32
Microcontroladores
Resumo
Nesta aula, voc iniciou o aprendizado sobre o hardware interno do PIC12F675,
conheceu a pinagem do mesmo e aprendeu sobre a memria, os temporizadores e os registradores internos desse microcontrolador.
Atividades de aprendizagem
1. Quantos pinos de I/O o PIC12F675 tem disponvel?
2. Em qual pino do PIC12F675 devemos ligar um sinal que produza interrupo externa?
3. Quantos conversores A/D existem no PIC12F675?
4. Quais pinos do PIC12F675 podem ser utilizados como entrada de converso A/D?
5. Qual o registrador utilizado para denir se um pino de entrada ou de
sada no PIC12F675?
6. Qual o registrador utilizado para ativar/desativar as interrupes no
PIC12F675?
7. Quantos e quais os temporizadores do PIC12F675?
8. O que acontece quando a contagem de um timer atinge o seu limite?
9. Qual deve ser o valor inicial de um timer de 16 bits para contar o intervalo
de tempo de 1 ms com ciclo de mquina de 1 s?
33
e-Tec Brasil
Aula 4 Hardware do
microcontrolador II
Objetivos
Conhecer o hardware interno do microcontrolador PIC12F675.
4.1 Comparadores
O mdulo comparador consiste em um circuito de comparador analgico
(Figura 4.1) que pode ter suas entradas e sua sada acessadas pelos pinos do
PIC. controlado pelo registrador CMCON que permite desligar ou ligar os
pinos do comparador aos pinos externos do PIC (5, 6 e 7).
A sada do comparador vai ao nvel alto sempre que o valor da entrada no
inversora for maior que o valor da entrada inversora.
Atravs do registrador VRCON podemos ajustar o nvel de tenso de referncia
a ser aplicada entrada inversora do comparador.
35
e-Tec Brasil
4.2 PWM
O mdulo PWM (Pulse-Width Modulation Modulao por Largura de Pulso)
no existe no PIC12F675, entretanto, devido sua importncia e considerando
que so encontrados nos PICs de maior nmero de pinos, ns iremos estud-lo.
O mdulo PWM consiste em um oscilador de onda retangular onde se fixa a
frequncia e se alterna o ciclo ativo (duty cycle), conforme ilustrado na Figura 4.2.
Normalmente, os PICs possuem o PWM com ajuste da largura de pulso de 10 bits
(210 = 1.023), ou seja, podemos ajustar o nvel alto, desde zero (sada desligada)
at 1.023 que representa o mximo do sinal (sada ligada continuamente).
Atravs do PWM podemos gerar um sinal contnuo (por meio da filtragem
ou da integrao) a partir de um sinal digital pulsado.
O valor mdio de sada vale:
e-Tec Brasil
36
Microcontroladores
4.4 USART
O mdulo USART (Universal Synchronous Asynchronous Receiver Transmitter
Transmissor/Receptor Universal Sncrono e Assncrono), utilizado para a comunicao serial, tambm no est presente no PIC12F675 (neste caso, devemos
implementar a comunicao serial por software), porm, o assunto ser abordado
devido sua importncia e sua existncia em vrios microcontroladores.
Esse mdulo implementa todo o protocolo lgico de comunicao pela porta
serial RS-232 com o microcomputador. Para o protocolo fsico devemos utilizar
um conversor de nveis (como o MAX232), uma vez que o PIC fornecer nveis
de tenso de 0 V a 5 V e a RS-232 trabalha com nveis de +15 V a -15 V. A
Figura 4.4 ilustra alguns desses elementos.
37
e-Tec Brasil
Resumo
Com esta aula, voc concluiu o aprendizado sobre o hardware interno do
PIC12F675. Conheceu a utilizao do comparador interno, da modulao por
largura de pulso (PWM), do conversor A/D e da comunicao serial.
Atividades de aprendizagem
1. Quando que a sada do comparador vai ao nvel alto?
2. Qual o registrador responsvel pelo ajuste da tenso de refernciadocomparador?
3. Descreva, sucintamente, o funcionamento do PWM.
4. Cite uma aplicao do PWM.
5. Quantos conversores A/D o PIC12F675 possui?
e-Tec Brasil
38
Microcontroladores
39
e-Tec Brasil
41
e-Tec Brasil
e-Tec Brasil
42
Microcontroladores
BCF (bit clear le) ajusta o bit b do registrador f para nvel baixo (0).
BSF (bit set le) ajusta o bit b do registrador f para nvel alto (1).
BTFSS (bit teste le, skip se set) testa o bit b do registrador f e no executa a prxima instruo se ele estiver em nvel baixo (1).
43
e-Tec Brasil
RETLW retorno de uma sub-rotina com o carregamento de uma constante k de 8 bits (literal) no registrador W.
XORLW executa a operao ou exclusivo (xor) lgica entre o contedo do registrador W e uma constante k de 8 bits (literal).
Resumo
Nesta aula, voc conheceu o conjunto de instrues Assembly do PIC12F675,
bem como a forma que elas so estruturadas e agrupadas para facilitar a
memorizao.
Atividades de aprendizagem
1. Onde so realizadas as operaes lgicas e aritmticas do PIC12F675?
2. Qual o principal registrador do PIC12F675?
3. Quem gerencia os perifricos do microcontrolador?
4. Quais so os grupos de instrues Assembly do PIC12F675?
5. Quantas so as instrues Assembly do PIC12F675?
e-Tec Brasil
44
Microcontroladores
Aula 6 Interrupes
Objetivos
Compreender a funo das interrupes em um microcontrolador.
Conhecer as interrupes disponveis no microcontrolador PIC12F675.
Aula 6 - Interrupes
45
e-Tec Brasil
e-Tec Brasil
46
Microcontroladores
Resumo
Nesta aula, voc estudou a funo das interrupes em microcontroladores e
conheceu tambm quais so as interrupes disponveis no PIC12F675.
Atividades de aprendizagem
1. Para que utilizamos as interrupes em um microcontrolador?
2. Qual registrador utilizado como chave geral de interrupo no PIC12F675?
3. O que acontece quando o ag INTCON.INTF estiver em 1 no PIC12F675?
4. Como se ativa a interrupo externa no PIC12F675?
5. Qual interrupo utilizada para se vericar o trmino de converso do
conversor A/D no PIC12F675?
Aula 6 - Interrupes
47
e-Tec Brasil
49
e-Tec Brasil
(www.microchip.com) para a plataforma Windows. Instale-o em seu computador e experimente-o. As Figuras 7.1 e 7.2 apresentam o ambiente de
desenvolvimento (IDE) descrito anteriormente.
e-Tec Brasil
50
Microcontroladores
51
e-Tec Brasil
e-Tec Brasil
52
Microcontroladores
53
e-Tec Brasil
Neste bloco, inclumos um arquivo externo, neste caso, o arquivo p12f 675.
inc que contm os nomes dos registradores do microcontrolador em uso.
e-Tec Brasil
54
Microcontroladores
Congurao
;CONFIGURAO DO MODO DE FUNCIONAMENTO
CONFIG _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF &
MCLR_OFF & _CPD_OFF & _CP_OFF &
Neste bloco, conguramos os fuses internos do microcontrolador que funcionam como chaves internas, as quais podem ser ligadas ou desligadas, como
por exemplo:
7.4.1.2 Variveis
;DEFINIO DOS NOMES E ENDEREOS DAS VARIVEIS UTILIZADAS NO
PROGRAMA
CBLOCK 0x0C ; endereo inicial da memria de usurio
TEMP1 ; contador para o delay de 1 ms;
TEMP500 ; contador para o delay de 500 ms
ENDC ; fim do bloco de memria de variveis
Aqui, declaramos endereo inicial para a criao das variveis, bem como a
denio das mesmas.
55
e-Tec Brasil
7.4.1.5 Inicializao
;INICIALIZAO DO PROGRAMA
BCF LED_VD ; apaga o LED verde
BCF LED_AM ; apaga o LED amarelo
BCF LED_VM ; apaga o LED vermelho
e-Tec Brasil
56
Microcontroladores
57
e-Tec Brasil
Resumo
Nesta aula, voc aprendeu sobre a programao Assembly do PIC12F675
atravs de um exemplo comentado.
Atividades de aprendizagem
1. Qual a linguagem que o microprocessador entende?
2. O que Assembly?
3. O que faz o comando NOP?
4. Como se implementa um loop innito em Assembly?
5. Como se efetua a chamada de uma sub-rotina em Assembly?
6. Como se efetua o retorno de uma sub-rotina em Assembly?
e-Tec Brasil
58
Microcontroladores
59
e-Tec Brasil
e-Tec Brasil
60
Microcontroladores
TRATA_TMR1:
BCF PIR1,T1IF
; executa comandos para tratamento
; da interrupo de timer 1
GOTO FIM_INT
TRATA_INT: ; tratamento da interrupo externa
BCF INTCON,INTIF
BSF LED_VM ; acende o LED vermelho
GOTO FIM_INT
;DEFINIO DAS ENTRADAS DIGITAIS
#DEFINE Chave_1 GPIO, 2; Pino 5
#DEFINE Chave_2 GPIO, 3; Pino 4
;DEFINIO DAS SADAS DIGITAIS
#DEFINE LED_VD GPIO, 5 ; Pino 2
#DEFINE LED_AM GPIO, 4 ; Pino 3
#DEFINE LED_VM GPIO, 1 ; Pino 6
;DEFINIO DO SELETOR DO BANCO DE MEMRIA
#DEFINE Banco STATUS, RP0 ; bit RP0 do registrador STATUS (SFR)
;CONFIGURAO DOS SFRs
BSF Banco ; seleo do Banco 1 da Memria
MOVLW B00000001 ; modo analgico/digital dos pinos de I/O
MOVWF ANSEL
MOVLW B00001101 ; direo dos pinos de I/O digitais
MOVWF TRISIO
BCF Banco ; seleo do Banco 0 da Memria
MOVLW B00000111 ; desativao do comparador de tenso
MOVWF CMCON
MOVLW B10010000 ; ativa interrupes GIE e interrupo externa INTE
MOVWF INTCON
;INICIALIZAO DO PROGRAMA
BCF LED_VD ; apaga o LED verde
BCF LED_AM ; apaga o LED amarelo
BCF LED_VM ; apaga o LED vermelho
61
e-Tec Brasil
e-Tec Brasil
62
Microcontroladores
8.1.2.1 Variveis
;DEFINIO DOS NOMES E ENDEREOS DAS VARIVEIS UTILIZADAS NO
PROGRAMA
CBLOCK 0x0C ; endereo inicial da memria de usurio
TEMP1 ; contador para o delay de 1ms;
TEMP500 ; contador para o delay de 500ms
W_TEMP ; para salvar W
STATUS_TEMP ; para salvar STATUS
ENDC ; fim do bloco de memria de variveis
63
e-Tec Brasil
TRATA_TMR1:
BCF PIR1,T1IF ; executa comandos para tratamento da interrupo de
timer 1
GOTO FIM_INT
TRATA_INT: ; tratamento da interrupo externa
BCF INTCON,INTIF
BSF LED_VM ; acende o LED vermelho
GOTO FIM_INT
Resumo
Nesta aula, voc expandiu os seus conhecimentos sobre programao Assembly
atravs da utilizao da interrupo externa do PIC12F675.
Atividades de aprendizagem
1. Qual a importncia do uso das interrupes em um microcontrolador?
2. Qual registrador utilizado como chave de interrupo externa no
PIC12F675?
3. Por que necessrio salvar o contexto do programa antes de atender
uma interrupo?
4. O que se deve fazer ao trmino do atendimento de uma interrupo?
e-Tec Brasil
64
Microcontroladores
Aula 9 Programao C
Objetivos
Conhecer a linguagem C aplicada ao microcontrolador.
Estudar as aplicaes da linguagem C para o microcontrolador
PIC12F675.
Aula 9 - Programao C
65
e-Tec Brasil
== igual.
!= diferente.
e-Tec Brasil
66
Microcontroladores
void main(void){
int a;
a = 5;
if (a > 0){
printf(a positivo);
} else if (a == 0){
printf(a nulo);
} else {
printf(a negativo);
}}
9.2.3.1 For
For (varivel = valor_inicial; condicao_envolvendo_variavel; incremento/decremento de var)
{
comandos...
}
Exemplo
for(int i=0; i <= 10; i++) {
printf(i=,i);
}
Aula 9 - Programao C
67
e-Tec Brasil
9.2.3.3 Do while
do
{
comandos...
/*Lembre-se que os comandos devem, de alguma forma, alterar condio*/
} while (condio);
Exemplo
int i=1;
do{
printf(i=,i);
i++;
}while(i <= 10);
9.3 Programas em C
Conforme fizemos quando estudamos Assembly, desenvolveremos alguns
programas, agora em linguagem C, com o intuito de ilustrar e de melhor
entender as estruturas da linguagem.
e-Tec Brasil
68
Microcontroladores
Neste bloco, temos a incluso dos arquivos contendo as denies dos registradores do PIC12F675. Temos, tambm, a denio da frequncia de clock
(4 MHz) e a denio dos fuses internos do PIC.
Aula 9 - Programao C
69
e-Tec Brasil
Neste bloco, denimos os nomes das variveis que sero usados na denio
da direo dos pinos de entrada e de sada.
e-Tec Brasil
70
Microcontroladores
Aula 9 - Programao C
71
e-Tec Brasil
Resumo
Nesta aula, voc aprendeu sobre a linguagem C aplicada aos microcontroladores e conheceu tambm as aplicaes especficas da linguagem C para
o PIC12F675.
Atividades de aprendizagem
1. Como associamos nomes aos pinos do PIC em C?
2. Em C, como denimos se um pino do PIC entrada ou se sada?
e-Tec Brasil
72
Microcontroladores
Aula 9 - Programao C
73
e-Tec Brasil
Aula 10 Programao C II
Objetivos
Conhecer o conversor analgico digital (A/D) do microcontrolador
PIC12F675.
Estudar a utilizao prtica do conversor A/D do microcontrolador
PIC12F675.
Aula 10 - Programao C II
75
adc
Designao de conversor
analgico digital, obtida das
iniciais da expresso em ingls
analog-to-digital converter.
e-Tec Brasil
e-Tec Brasil
76
Microcontroladores
if (V < 409) compara valores para determinar o LED que ser ativado.
Aula 10 - Programao C II
77
e-Tec Brasil
Resumo
Nesta aula voc aprendeu a utilizar o conversor A/D do PIC12F675.
Atividades de aprendizagem
1. Qual a diferena prtica entre converso A/D de 8 bits e de 10 bits?
2. No PIC12F675, qual o comando utilizado para denir se um pino entrada analgica?
3. No PIC12F675, qual o comando utilizado para selecionar o canal de entrada para o conversor A/D?
4. Qual o comando utilizado para efetuar a leitura do valor armazenado
no conversor?
e-Tec Brasil
78
Microcontroladores
Referncias
LAVNIA, D. J. de S.; NICOLS, C. Conectando o PIC Recursos avanados. rica: So
Paulo, 2002.
MICROCHIP TECHNOLOGY INC. Disponvel em: <http://www.microchip.com>. Acesso
em: 20 out. 2011.
PEREIRA, F. Microcontroladores PIC Tcnicas avanadas. rica: So Paulo, 2002.
PEREIRA, F. Microcontroladores PIC Programao em C. rica: So Paulo, 2003.
ZANCO, Wagner da Silva. Microcontroladores PIC Tcnicas de software e hardware
para projetos de circuitos eletrnicos. rica: So Paulo, 2006.
WIKIPEDIA. Disponvel em: <http://pt.wikipedia.org/wiki/Intel_8051>. Acesso em: 20
out. 2011.
79
e-Tec Brasil
Currculo do professor-autor
dilus de Carvalho Castro Penido natural de Belo Horizonte-MG, iniciou a
sua formao tcnica com o curso de Eletrnica no Colgio Tcnico do Centro
Pedaggico (COLTEC) da Universidade Federal de Minas Gerais (UFMG), em
1989. Graduou-se em Engenharia Eltrica pela Pontifcia Universidade Catlica de Minas Gerais (PUC-MG), em 1996 e concluiu, em 2008, o Curso de
Especializao em Projeto de Circuitos Integrados pela Universidade Federal
de Minas Gerais (UFMG). Atualmente est concluindo o Curso de Mestrado
em Sustentabilidade Socioeconmica e Ambiental pela Universidade Federal
de Ouro Preto (UFOP).
Desde 1997 desenvolve suas atividades profissionais como docente em vrias
instituies de formao tcnica e superior, com atuao constante na capacitao e na qualificao de profissionais nas reas de Eletrotcnica, Eletrnica
e Automao. A partir de 2008, passou a atuar como professor do Curso
Tcnico em Automao Industrial do Campus Ouro Preto do Instituto Federal
de Minas Gerais (IFMG).
e-Tec Brasil
80
Microcontroladores