Atualizado em 13/02/2003.
C51sbc é uma placa de desenvolvimento para o microcontrolador 80C52 (outros derivados da família 8051 também podem ser usados). Esse sistema pode ser conectado a um microcomputador IBM-PC através da porta serial RS-232, para transferência de programas usando um programa em C para DOS. Os programas são armazenados em uma memória RAM de 32 Kbytes, que opera tanto para o armazenamento de programas como de dados. O programa de controle da placa se encontra numa memória EPROM. A placa pode ser iniciada com o programa da EPROM, ou com o da RAM (carregado previamente). A seleção do modo de operação "Eprom" ou "Ram" é feita através de interruptores. Os modos são indicados por LEDs. Um barramento de expansão permite a conexão da C51sbc com outros circuitos, objetivando o desenvolvimento de projetos específicos.
O esquema da c51sbc é mostrada abaixo:
![]() |
O mesmo esquema esta disponível em alta resolução nos formatos jpeg e s01 (esquemático Protel para DOS).
Essa placa de desenvolvimento dispõe de duas memórias: uma EPROM 27C512, na qual o programa de controle de placa é armazenado de forma permanente, e uma RAM 62256. Observa-se na decodificação da memória RAM que ambos os sinais /PSEN e /RD do microcontrolador são usados. Isso que significa que essa memória pode conter tanto um programa, como dados. De fato, a RAM é usada para armazenar os programas carregados na placa, bem como os dados usados por esse programa. Os outros componentes 74HCT86, 74HCT08 e 74HCT373 são usados na lógica de acesso das memórias, bem como para a demultiplexagem dos sinais de dados e de endereçamento (AD0-AD7). O valor do cristal Y1 de 11,0592 MHz foi escolhido de forma a permitir uma taxa de comunicação de 11520 BAUDs entre o microcontrolador e a estação base (um microcomputador IBM-PC).
Com o interruptor S3 na posição "Reset", pode-se ativar o sinal RESET do microcontrolador. Na posição oposta, indicada por "Run", o LED L3 indica que o microcontrolador está executando quer seja o programa da memória EPROM, que seja o da RAM. A seleção do programa em execução é feita pelo interruptor S2, e indicado pelos LEDs L1 e L2. Determina-se assim os modos "Eprom" e "Ram". Sempre que o usuário resolver mudar de modo, o interruptor S3 deve estar na posição "Reset".
A placa é alimentada por uma fonte contínua, entre 9 e 12 volts, via o conector CN1. O regulador de tensão deve ser dotado de um radiador de calor. Um conector de expansão (CN2) permite interligar o microcontrolador 80C52 a um circuito externo para assim acessar as diversas portas E/S do microcontrolador. A comunicação com a estação base se efetua via porta serial usando o padrão RS-232, cuja interface é implementada usando um MAX232 da Maxim. Um cabo serial não-invertido deve ser ligado entre o conector CN-1 e o conector da porta serial da estação base. Dependendo do tipo de conector da estação base (DB-9 ou DB-25), o cabo a ser construído deve realizar as seguintes conexões:
Conector
CN-1
|
Conector
DB-9 do PC
|
Conector
DB-25 do PC
|
Descrição
|
Pino
2
|
Pino
2
|
Pino
3
|
RxD
do PC
|
Pino
3
|
Pino
3
|
Pino
2
|
TxD
do PC
|
Pino
5
|
Pino
5
|
Pino
7
|
0
volts
|
Embora não esteja ilustrado no esquema, é aconselhado ascrescentar um capacitor de 100 nF entre os pinos de alimentação de cada circuito integrado. Os componentes da família 74HCT podem ser perfeitamente substituídos por equivalentes da família 74HC. Se o usuário decidir usar um cristal de freqüência diferente, ele deve modificar o programa de controle da EPROM, pois esse foi concebido de forma a determinar os parâmetros da porta serial do microcontrolador de forma que a taxa de comunicação seja de 11520 BAUDs. Senão, a modificação pode ser feita no programa de transferência que fica no PC, de forma que o PC e a c51sbc possam se comunicar.
Os arquivos necessários para usar a plataforma c51sbc são os seguintes:
Arquivos
|
Descrição
|
Arquivo
fonte do programa monitor da estação base.
|
|
Arquivo
binário do programa monitor, obtido pela compilação
de c51sbc.cpp usando Turbo C++ para Dos.
|
|
Arquivo
fonte do programa de controle da placa c51sbc, escrito em linguagem
C seguindo as normas do compilador da Keil.
|
|
Arquivo
binário do programa de controle no formato Intel, obtido pela compilação
de c51sbc.c51 usando o compilador C da Keil. Esse programa deve ser diretamente
gravado da EPROM.
|
O programa monitor da estação base está configurado para operar pela porta serial COM1. Para poder usar outra porta, deve-se selecionar a porta desejada no seguinte trecho do programa fonte:
// Defines para
os registros da porta serial (configurado para COM1):
#define COM_BASE COM1_BASE
//#define COM_BASE COM2_BASE
//#define COM_BASE COM3_BASE
//#define COM_BASE COM4_BASE
Após essa modificação, o programa deve ser re-compilado. Você pode também carregar os executáveis do programa monitor devidamente compilados para as portas COM2, COM3 ou COM4.
Para usar a placa c51sbc, o usuário deve proceder da seguinte forma:
Para reduzir o número de operações de carga do programa "arquivo.bin" na placa de desenvolvimento, o usuário pode também usar a linha de comando DOS. Para isso, basta digitar <c51sbc.exe arquivo.bin> que o programa monitor entra diretamente em um modo de transferência imediata do programa. Esse procedimento substitue os passos 2-4.
O comandos disponíveis no programa monitor são:
Comandos
|
Descrição
|
LOAD
|
Carregar
um arquivo binário Intel na memória RAM da placa de desenvolvimento.
|
DUMP
|
Ler
o conteúdo da memória RAM entre os endereços ENDEREÇO_INICIAL
e ENDEREÇO_FINAL em hexadecimal.
|
FILL
|
Escrever
um valor em hexadecimal na RAM entreos endereços ENDEREÇO_INICIAL
e ENDEREÇO_FINAL.
|
DIR
|
Mostrar
o conteúdo do diretório.
|
TEST
|
Testar
a comunicação com a placa de desenvolvimento.
|
QUIT
|
Sair.
|
Os endereços ENDEREÇO_INICIAL e ENDEREÇO_FINAL usados pelos comandos DUMP e FILL são relativos à base da memória RAM. Ou seja, se ENDEREÇO_INICIAL = 0x0400 e ENDEREÇO_FINAL = 0x0408, a operação será realizada nesses endereços da RAM, que, como a placa está no modo "Eprom", correspondem a 0x8400 a 0x8408 no espaço de memória do microcontrolador. Dessa forma, o usuário pode acessar variáveis da memória RAM como se a placa estivesse no modo "Ram", entre 0x0400 e 0x0408.
Os programas seguintes podem ser usados para testar a placa de desenvolvimento c51sbc:
Arquivos
|
Descrição
|
Arquivo
binário no formato Intel de um programa que faz piscar um led conectado
ao pino P1.0. O led deve ser acionado por um transistor (ver figura anaixo).
O arquivo fonte é pisca.c51.
|
|
Arquivo binário no formato Intel de um programa que gera seqüências
sonoras em um buzzer piezoelétrico conectado ao pino P1.0. No lugar
do buzzer pode-se usar um alto-falante, desde que ele seja acionado pelo
pino P1.0 através de um transistor (ver figura abaixo). O arquivo
fonte é sons.c51.
|
As ilustrações abaixo mostram como fazer as conexões necessárias para cada um dos programas de teste:
(a) Esquema de teste com o programa pisca.bin |