Introdução

Referências

    Calendário Avaliação Microcontrolador Manuais Instalar Code Warrior Tutorial Code Warrior Debug Code Warrior Comentários nos programas

Experimento 1

    Roteiro 1 Programa LED RGB

Experimento 2

    Roteiro 2 Programa 8 LEDs Programa Push Buttons Macros GPIO Programação com GPIO

Experimento 3

    Roteiro 3 ARM Cortex Programa em Assembly Programa Misto ARM e C

Experimento 4

    Roteiro 4 Acessos à memória Visualização no osciloscópio Programa Misto ARM e C

Experimento 5

    Roteiro 5 Display LCD Caracteres especiais

Experimento 6

    Roteiro 6 Comunicação Serial Tutorial Terminal Configuração UART0 Distribuição do Clock

Experimento 7

    Roteiro 7 Conversão ASCII Acesso em vetores - C Funções LCD e UART

Experimento 8

    Roteiro 8 Esclarecimentos Questões Funções LCD e UART

Experimento 9

    Roteiro 9 Leitura dos botões Controlador NVIC Esclarecimentos Funções LCD e UART

Experimento 10

    Roteiro 10 Buffer Circular Conversão ASCII Esclarecimentos Funções LCD e UART

Experimento 11

    Roteiro 11 PWM e Módulo TPM

Experimento 12

    Roteiro 12 Input Capture

Experimento 13

    Roteiro 13 Conversor AD

Projeto

    Roteiro do projeto

EA871 - Laboratório de Programação Básica de Sistemas Digitais

Programa do Curso - Calendário

Critério de Avaliação

Instalação do Code Warrior

Orientação de comentários

Manuais e Referências

Shield, Freedom, MCU, Cortex M0+

CodeWarrior - Como executar o seu primeiro programa

Tutorial para depuração com breakpoints e monitoramento de variáveis e memória

Roteiro 1 - Introdução, programa de piscar LEDs Verde e Vermelho

Programa Piscar LED Vermelho do LED RGB

Roteiro 2 - GPIO - acender 8 LEDs e ler 3 botões de pressão

Programa para a leitura dos 3 botões de pressão

Programa para acendimento dos 8 LEDs vermelhos

MKL25Z4.h Definições da GPIO

GPIO - Princípios e programação

Roteiro 3 - Introdução ao assembler do KL25 - instruções Thumb - ARM-Cortex-0

ARM Cortex M0+

Programa em Assembly - Pisca LED vermelho

Programa "pisca LED R" misto C e Assembly -- referência para os experimentos 3 e 4

Roteiro 4 - Assembly - Ciclos e execução das instruções

Exemplo de análise de acessos memória de programa em ASM

Como visualizar o clock e onda quadrada no osciloscópio

Roteiro 5 - Display LCD

Funcionamento da interface com display LCD

Display LCD – Criando caracteres especiais

Roteiro 6 - UART

Comunicação Serial Assíncrona - Conceitos Básicos

Tutorial sobre como configurar o terminal

Configuração da UART0 do KL25

Distribuição clock do KL25

Roteiro 7 - Cronômetro - impressão de variável inteira

Conversão inteiro (com sinal) para ASCII

Cuidado com acessos de escrita fora de vetores e strings.

Organização das funções do LCD e UART

Roteiro 8 - Interrupção Systick

Cronômetro com SysTick - Esclarecimentos

Perguntas para estudo

Roteiro 9 - Interrupções Receptor UART0 e Systick para leitura chaves por máquina de estado

Organizando a interrupção SysTick para leitura dos 3 botões de pressão

Controlador NVIC e Interrupção UART0 - conceitos

Roteiro 10 - Buffer Circular - Interrupção TX UART0 - Produtor Consumidor

Buffer circular de transmissão - Processos produtor - consumidor - condição de corrida

Melhorando conversão inteiro para ASCII

Roteiro 11 - PWM - controle do motor

Módulo TPM - Timer e PWM

Roteiro 12 - Input Capture

Input Capture - Principio de funcionamento

Roteiro 13 - Conversor AD - Voltímetro

Funcionamento do conversor AD

Roteiro do Projeto Final