Sie sind auf Seite 1von 5

UNIVERSIDADE FEDERAL DE SANTA CATARINA – UFSC

DEPARTAMENTO DE AUTOMAÇÃO E SISTEMAS – DAS


DISCIPLINA: INFORMÁTICA INDUSTRIAL I – DAS5305

Linguagem C: Roteiro de Experiência 1

1. Introdução
1. Visão geral do Kit

O kit a ser utilizado nas experiências


consiste na placa de desenvolvimento
PIC18F (Fig. 1), cabo para gravação/
comunicação serial e fonte de
alimentação.

A placa possui um microcontrolador


PIC18F5550, já provido de alimentação e
circuito oscilador, conectado a vários
dispositivos de entrada e saída.

Os principais dispositivos presentes no


kit são:
Fig. 1. Placa de desenvolvimento PIC18F

 Visor LCD 16X2 com iluminação de fundo;


 4 mostradores de 7 segmentos;
 Relógio RTC DS1307 que permite desenvolvimento de aplicações com atraso ou
temporizadores com intervalos de ms, seg, min, hora, dia, mês e ano
 Memória EEPROM I2C 24C04 de 4 kbits para você salvar suas tabelas ou dados
do seu programa;
 Alarme sonoro acionado via PWM;
 Conector para depuração ICD2;
 Teclas de interrupção INT0, INT1, INT2 acionadas via botões
 12 teclas matriciais e 4 teclas ligadas diretamente aos pinos do PIC;
 Resistência de aquecimento e sensor de temperatura LM35, ideal para você ler e
medir a temperatura ambiente ou do aquecedor.
 16 LEDs ligados aos PORT do PIC;
 Trimpots utilizados para simular a entrada de sensores no conversor analógico /
digital (AN0 e AN1 );
 Canal de comunicação serial RS232 e Canal serial emulada via software;
 Canal de comunicação RS485;
 Canal de comunicação USB 2.0;
 Ventoinha para simulação e testes de aplicações com PWM e sensor infravermelho
para leitura de rotação;
 5 portas de expansão (PORTA, PORTB, PORTC, PORTD e PORTE +VCC, e
GND);
 2 reles independentes NA/NF;
 Circuito de RESET manual;
Para definir se um dado dispositivo será utilizado ou não, utiliza-se as chaves DIP
devidamente etiquetadas (Fig. 2a).

Como a porta serial é utilizada tanto para gravação quanto para comunicação, a chave
PROG/RUN é utilizada para alternar entre estes modos (Fig. 2b).

Fig. 2. (a) Chaves DIP (b) Chave PROG/RUN

Para maiores detalhes sobre a placa e a conexão dos seus periféricos consulte a
documentação disponível em:
http://www.das.ufsc.br/~werner/das5305/kit/

2. Visão geral do PIC18F4550

Observer na Fig. 3 a pinagem do PIC18F450 que é utilizado no kit. Observando as


conexões com os periféricos.

Fig. 3. Pinagem do PIC18F4550

Na Fig. 4 observa-se o mapa de memória de programa que ilustra como é divida a


memória entre espaço de programa, dados e outros. E na Fig. 5 o mapa de registradores
de funções especiais é apresentado, através dele podemos verificar em que posição da
memória são armazenados os registradores especiais, como por exemplo o TRISB que
ocupa o endereço 0x0F93.
Fig. 4. Mapa de memória de programa

Fig. 5. Mapa de registradores de funções especiais


Abaixo temos um trecho de um cabeçalho contendo as referências aos endereços dos
registradores para um pic da série 16. O cabecalho do pic correspondente deve ser
inserido no código de forma que o copilador faça a referência correta entre o símbolo e o
seu respectivo endereço.

/* bank 1 registers */
static unsigned char bank1 OPTION @ 0x81;
static volatile unsigned char bank1 TRISA @ 0x85;
static volatile unsigned char bank1 TRISB @ 0x86;
static volatile unsigned char bank1 TRISC @ 0x87;

/* TRISB bits */
static volatile bank1 bit TRISB7 @ (unsigned)&TRISB*8+7;
static volatile bank1 bit TRISB6 @ (unsigned)&TRISB*8+6;
static volatile bank1 bit TRISB5 @ (unsigned)&TRISB*8+5;
static volatile bank1 bit TRISB4 @ (unsigned)&TRISB*8+4;
static volatile bank1 bit TRISB3 @ (unsigned)&TRISB*8+3;
static volatile bank1 bit TRISB2 @ (unsigned)&TRISB*8+2;
static volatile bank1 bit TRISB1 @ (unsigned)&TRISB*8+1;
static volatile bank1 bit TRISB0 @ (unsigned)&TRISB*8+0;

2. Instalação
Para facilitar a instalação, os instaladores para os programas citados nesta seção estão
disponíveis na página:

http://www.das.ufsc.br/~werner/das5305/microControladores/PIC/MPLAB/

Além deste local, os programas também podem ser encontrados nas páginas dos
respectivos fornecedores, apresentadas em cada seção, de forma gratuita.

Apesar dos programas serem nativos para sistemas operacionais da série MS-Windows,
é possível instalar e executar a IDE MPLAB e o compilador C18 em GNU/Linux utilizando
a implementação livre da API do MS-Windows chamada wine (no entanto o programa
para a gravação do PIC ainda não foi testado).

1. Instalar o ambiente de desenvolvimento - MPLAB (http://www.microchip.com )

Seguir os procedimentos de instalação padrão.

2. Instalar o compilador C - C18 (http://www.microchip.com )

Seguir os procedimentos de instalação padrão, até o instante onde é apresentada a


janela: “Configuration Options”, onde devem ser selecionadas as opções:

 “Add MPLAB C18 to PATH environment variable”


 “Add MPASM to PATH environment variable”
 “Add header file path to MCC_INCLUDE environment variable”
 “Modify PATH and MCC_INCLUDE for all users”

E, em seguida:
 “Update MPLAB IDE to use this MPLAB C18”
 “Update MPLAB IDE to use this MPLINK linker, MPLIB Librarian, and MPASM
Assembler”
 “Place link to documentation for this compiler in MPLAB IDE Help Topics”
 “Perform MPLAB IDE updates for all users”

Continuar com os procedimentos de instalação, aceitando as opções-padrão.

3. Instalar o gravador de PIC - “gravadorPICgenios” (CD de instalação do kit)

Seguir os procedimentos de instalação padrão.

3. Atividades
1. Criar projeto.

Após iniciar o MPLAB, selecione no menu “Project → Project Wizard...”, clicando em


“Next” para prosseguir. Selecione no campo “Device” o dispositivo correto (no caso o
PIC18F4550). Ao prosseguir, escolha o compilador de C “Microchip C18 Toolsuite” no
campo “Active Toolsuite”. Continue a geração do projeto, definindo o local desejado para o
arquivo de projeto (e adicionando arquivos se desejado).

2. Obter o arquivo fonte com funções pré-definidas e compilar.

A partir da página:

http://www.das.ufsc.br/~werner/das5305/microControladores/PIC/MPLAB/

Baixar os arquivos “funcoesBase.zip” para a pasta desejada e adicioná-los ao projeto.

Selecione no menu do programa “Project → Build All (Ctrl+F10)” ou clique no botão


correspondente na barra de ferramentas.

3. Gravar código na placa.

A partir do WinPic800 selecione o arquivo .hex gerado pelo processo de compilação. Após
isso coloque a chave PROG/RUN no modo PROG (led vermelho). Finalmente grave o
arquivo .hex no pic clicando no menu “Device → Program All”.

4. Rodar programa-exemplo.

Após a gravação, mude o modo de operação apertando a chave PROG/RUN de forma


que o LED RUN fique aceso. É possível reiniciar a execução do programa utilizando a
chave RESET.

O programa exemplo apresentado lê a hora atual a partir do RTC e escreve os dados


correspondentes no visor LCD, de forma que deve ser possível acompanhar o andamento
dos segundos/minutos/horas a partir do visor.

5. Crie seu próprio programa para executar as seguintes operações:


1. Piscar LED
2. Rotacionar
3. Inverter sentido de rotação com botão

6. Usando as funções pré-definidas de leitura do relógio via i2C, faça um programa


que determine o tempo entre dois acionamentos sucessivos de um botão,
mostrando o resultado no visor LCD.

Das könnte Ihnen auch gefallen