A maior rede de estudos do Brasil

Grátis
143 pág.
Apostila sobre microcontroladores ATMEGA

Pré-visualização | Página 29 de 29

1. Compile com a máxima otimização possível. 
2. Use variáveis locais sempre que possível. 
3. Use o menor tipo de dado possível, unsigned se aplicável. 
4. Se uma variável não local é referenciada somente dentro de uma função, ela deve ser 
declarada como static. 
5. Junte variáveis não-locais em estruturas, se conveniente. Isto aumenta a possibilidade de 
endereçamento indireto sem recarga de ponteiro. 
6. Para acessar memória mapeada, use ponteiros. 
7. Use for(;;){ } para laços infinitos. 
8. Use do{ } while(expressão) se aplicável. 
9. Use laços com contadores decrescentes e pré-decrementados, se possível. 
10. Acesse a memória de I/O diretamente (não use ponteiros). 
11. Use macros ao invés de funções para tarefas que produzem menos que 2-3 linhas de código 
em assembly. 
12. Evite usar funções dentro de interrupções. 
 
Reduzindo o tamanho da memória RAM necessária 
 
1. Todas as constantes e literais devem ser colocados na memória flash. 
2. Evite usar variáveis globais. Empregue variáveis locais sempre que possível. 
 
 
 
5. DISPLAY DE CRISTAL LÍQUIDO 16x2 - CONTROLADOR HD44780 
 
 
PINAGEM 
 
 
 
 
 
135 
 
CÓDIGOS DE INSTRUÇÕES 
 
 
DETALHAMENTO DAS INSTRUÇÕES 
 
136 
 
ENDEREÇO DOS SEGMENTOS 
 
 
CONJUNTO E CÓDIGO DOS CARACTERES 
 
 
6. ERROS DA USART NO ATMEGA8 
 
137 
 
ERRO MÁXIMO RECOMENDADO 
 
 
 
ERROS DEVIDO À FREQUÊNCIA DE OPERAÇÃO 
 
 
138 
 
 
 
7. TABELAS DE CONVERSÃO – CHAR – DEC – HEX - BIN 
 
139 
 
 
	Apostiva_AVR.pdf
	1.1 OS PODEROSOS µCONTROLADORES AVR
	1.2 A FAMÍLIA AVR
	2. O ATMEGA
	2.1 AS MEMÓRIAS
	2.1.1 O STACK POINTER
	2.2 DESCRIÇÃO DOS PINOS
	2.3 SISTEMA DE CLOCK
	2.4 O RESET
	2.5 GERENCIAMENTO DE ENERGIA E O MODO SLEEP
	3. COMEÇANDO O TRABALHO
	3.1 CRIANDO UM PROJETO NO AVR STUDIO
	3.2 SIMULANDO NO PROTEUS (ISIS)
	4. PORTAS DE ENTRADA E SAÍDA (I/Os)
	4.1 LENDO UM BOTÃO E LIGANDO UM LED
	4.2 ACIONANDO DISPLAYs DE 7 SEGMENTOS
	4.3 ACIONANDO LCDs 16x2
	5. INTERRUPÇÕES
	5.1 INTERRUPÇÕES EXTERNAS
	6. GRAVANDO A EEPROM
	7. TECLADO MATRICIAL
	8. TEMPORIZADORES/CONTADORES
	8.1 TEMPORIZADOR/CONTADOR 0
	8.2 TEMPORIZADOR/CONTADOR 2
	8.3 TEMPORIZADOR/CONTADOR 1
	9. MULTIPLEXAÇÃO (VARREDURA DE DISPLAYs)
	10. DISPLAY GRÁFICO (128x64 pontos)
	11. GERANDO FORMAS DE ONDA
	11.1 DISCRETIZANDO UM SINAL
	11.2 MODULAÇÃO POR LARGURA DE PULSO – PWM
	12. SPI
	12.1 GRAVAÇÃO IN-SYSTEM DO ATMEGA
	13. USART
	14. TWI (TWO WIRE SERIAL INTERFACE) – I2C
	14.1 REGISTRADORES DO TWI
	14.2 USANDO O TWI
	14.3 I2C VIA SOFTWARE SOMENTE
	15. COMUNICAÇÃO 1 FIO (VIA SOFTWARE) 
	16. COMPARADOR ANALÓGICO 
	16.1 MEDINDO RESISTÊNCIA E CAPACITÂNCIA
	17. CONVERSOR ANALÓGICO-DIGITAL
	18. GRAVANDO O ATMEGA8
	19. CONCLUSÕES
	20. BIBLIOGRAFIA