MICROCONTROLADORES
Perifricos
Prof. Carlos Henrique Barriquello barriquello@gmail.com
Objetivos
Compreender como feita a interface entre microcontrolador e o mundo externo
Microcontroladores
Tema e contedo
UNIDADE 3 MODOS DE ENTRADA E SADA
3.1 3.2 3.3 3.4 Modos de I/O. Barramento. Dispositivos perifricos. Interrupes.
Microcontroladores
Displays (mostradores)
Display de 7 segmentos
Uso em mostradores numricos e alfanumricos
Microcontroladores
Displays (mostradores)
Microcontroladores
Displays (mostradores)
Cada segmento controlado por um pino
Microcontroladores
Sinal de clock
O mdulo interno de gerao de clock (ICG) utilizado para gerar o clock do microcontrolador
Microcontroladores
Sinal de clock
Vrias possibilidades de fonte primria para o clock:
Cristal ou ressonador entre 32 kHz e 100 kHz Cristal ou ressonador entre 1 MHz e 16 MHz Clock Externo Gerador de referncia interna
A configurao padro do modulo ICG utiliza a referncia interna de clock. Possui FLL (Frequency-locked loop) para gerar clock de barramento entre 4 MHz e 25 MHz
Microcontroladores 8
Sinal de clock
Configurao
Microcontroladores
Sinal de clock
Microcontroladores
10
Temporizador (TPM)
Existem trs funes principais para o mdulo temporizador de um microcontrolador:
Estouro de Tempo Modo Captura de Entrada PWM (Modulao por largura de pulso)
Microcontroladores 11
Estouro de Tempo
Esta funo do perifrico de temporizao possibilita criar tempos determinados para um certa tarefa ser realizada.
Ex: Contagem de tempo de um relgio, atualizao de display, varredura de portas, etc
A configurao dessa funo realizada atravs dos registradores TPMxSC, TPMxMODH e TPMxMODL.
Alguns microcontroladores possuem mais de um mdulo temporizador. Neste caso, o X deve ser substitudo pelo nmero do mdulo TPM. Ex.: TPM1SC, TPM2SC,
Microcontroladores 12
Estouro de Tempo
Registradores TPMxSC, TPMxMODH e TPMxMODL.
Microcontroladores
13
Estouro de Tempo
Registrador TPMxSC
Estouro de Tempo
Registradores TPMxMODH e TPMxMODL.
O valor contado fica armazaenado em TPMxCNT (TPMxCNTH:TPMxCNTL)
Microcontroladores
Estouro de Tempo
Exemplo
Microcontroladores
16
PWM
Modulao por largura de pulso:
Razo cclica: razo entre tempo que o sinal permanece alto (lgico 1) pelo tempo total de um perodo
Microcontroladores 17
PWM assimtrico
TPWM
Perodo
Comparador Contador
Sinal de sada
Microcontroladores
18
PWM simtrico
TPWM
Sinal de sada
Interrupes
Microcontroladores
19
PWM
Exemplos de aplicaes:
Controle de intensidade (ex.: brilho de um LED) Sintetizao de sinais analgicos (ex.: um sinal senoidal) Controle de mquinas, motores, conversores, etc...
Microcontroladores
20
PWM
Princpio: Variao do valor mdio de tenso
Microcontroladores
21
PWM
Frequncia do PWM perodo de contagem
Canais de PWM
Microcontroladores
22
Canais de PWM
Microcontroladores
23
Configurao de PWM
Microcontroladores
24
Configurao de PWM
Microcontroladores
25
Registradores de PWM
Registradores do temporizador:
Controle : TPMxSC Contador : TPMxCNT Perodo (mdulo) : TPMxMOD
Microcontroladores
26
Captura de entrada
Neste modo, quando ocorre uma borda de descida, borda de subida ou ambas (dependendo da configurao), o microcontrolador copia o contedo do registrador de contagem TPMxCNTH:TPMxCNTL para os registradores do canal, TPMxCnVH:TPMxCnVL Exemplos de aplicao: Decodificao de tempos em controles RF, determinao de velocidade atravs de sensores na roda, etc.
Microcontroladores 27
Captura de entrada
Um evento de captura de entrada seta o bit CHnF e pode, opcionalmente, gerar uma interrupo.
Microcontroladores
28
Teclado
As chaves mecnicas normalmente apresentam a configurao demonstrada ao serem conectadas ao pino de um microcontrolador
Microcontroladores 29
Teclado
O resistor de pull-up fora um nvel lgico alto no pino do microcontrolador configurado como entrada. Caso este resistor no seja utilizado, o pino do microcontrolador fica sujeito a rudos.
Microcontroladores 30
Teclado
Microcontroladores
31
Teclado
Teclado
Microcontroladores
33
Teclado
Microcontroladores
34
Teclado
Microcontroladores
35
Teclado
Microcontroladores
36
Teclado
As chaves mecnicas esto sujeitas a vibraes que podem resultar em mltiplos sinais de acionamento falsos.
Microcontroladores 37
Teclado
Usando um temporizador possvel filtrar as falsas interrupes !!!! (deboucing)
Microcontroladores
38
Teclado
Microcontroladores
39
Teclado matricial
Microcontroladores
40
Teclado matricial
Microcontroladores
41
Teclado matricial
Microcontroladores
42
Teclado matricial
Microcontroladores
43
Teclado matricial
Microcontroladores
44
Microcontroladores
45
Microcontroladores
46
Microcontroladores
47
Em um conversor A/D, entra um sinal analgico e sai um sinal digital, a cada intervalo fixo de tempo.
Microcontroladores 48
Microcontroladores
52
Microcontroladores
53
Microcontroladores
54
Microcontroladores
55
Microcontroladores
57
Microcontroladores
58
Microcontroladores
59
Microcontroladores
60
Microcontroladores
62
Microcontroladores
63
Registradores
Status and control register, ADCSC1 Status and control register, ADCSC2 Data result registers, ADCRH and ADCRL Compare value registers, ADCCVH and ADCCVL Configuration register, ADCCFG Pin enable registers, APCTL1, APCTL2, APCTL3
Microcontroladores 64
COCO (Conversion Complete Flag) AIEN (Interrupt Enable) ADCO (Continuos Conversion Enable) ADCH (Input Channel Select)
Microcontroladores 65
Microcontroladores
66
Microcontroladores
67
Microcontroladores
68
Microcontroladores
69
Microcontroladores
70
Microcontroladores
71
Microcontroladores
72
Microcontroladores
73
O protocolo das UARTs define que cada mensagem (quadro) inicia um bit de incio (start bit) e termina com um bit de fim (stop bit)
Microcontroladores 75
Microcontroladores
76
Microcontroladores
77
78
Microcontroladores
79
Microcontroladores
81
Microcontroladores
82
Programando a SCI
Os mdulos SCI do HCS08 possuem 8 registradores.
2 reg. para configurar baudrate (SCIxBDH, SCIxBDL) 3 reg. de configurao de opes (ex.: interrupes, erros, ...) (SCIxC1, SCIxC2) 2 reg. de estado (ex.: flags) (SCIxS1, SCIxS2) 1 reg. de dados (SCIxD) (escrita p/ TX e leitura p/ RX)
Microcontroladores
83
Programando a SCI
Para configurar baudrate (SCIxBDH, SCIxBDL)
Microcontroladores
84
Programando a SCI
Para configurar o baudrate, 13 bits (SCIxBDH[12:8], SCIxBDL[7:0]) definem o valor de BR que ser usado como divisor do clock de barramento.
Microcontroladores
85
Programando a SCI
Dicas:
BR = 0, desabilita o mdulo SCI Dificilmente iremos conseguir baudrates exatos. Porm, existe uma tolerncia de at 3,5% no baudrate gerado. Com o intuito de minimizar os erros de TX/RX interessante evitar erros maiores que 2% no baudrate.
Microcontroladores 86
Microcontroladores
88
Microcontroladores
89
Microcontroladores
90
Microcontroladores
91
Microcontroladores
92
Microcontroladores
93
Microcontroladores
94
Tabela ASCII
95
http://pessoal.utfpr.edu.br/gustavo/
Tutorial para programao de microcontroladores Freescale HCS08 baseado no MC9S08AW60.