Instalação e utilização do IC (nas placas da Novasoft)

Propaganda
Concurso Micro-Rato
1/2
O Interactive C (criado por Randy Sargent do MIT)
O IC é um interpretador de C (“Interactive C”) para o 68HC11 que inclue livrarias com funções para o
controlo de motores, para a leitura de entradas analógicas, etc.. Uma vez que se trata de um interpretador, o
que é carregado na placa é o source do programa que é compilado e executado linha a linha em run-time.
Isto dá ao utilizador uma enorme facilidade de utilização já que não é necessário o passo por vezes
fastidioso de compilar o programa cada vez que este é alterado. Além do mais, em run-time é possível
executar comandos escritos na forma de linhas de C quer para accionar periféricos quer para consultar
variáveis, etc. Junto com o IC são distribuídos programas exemplificativos que permitem ter uma boa ideia
das possibilidades deste sistema.
Refira-se que o IC é distribuído com uma biblioteca de funções que permitem multitasking, controlo dos
motores, leitura da ADC, e muitas outras.
Instalação e utilização do IC (nas placas da Novasoft)
Este SW é relativamente reduzido sendo necessária apenas uma disquete. Deve-se copiar o conteúdo da
disquete para um directório no PC de desenvolvimento, “\IC”. Para fazer o “boot” da placa e carregar o SW a
executar basta usar o ficheiro “i.bat”.
Ter em atenção o seguinte procedimento:
1- Ligar o conversor de níveis RS232, MB2325 (placa pequena), através de cabo apropriado (da
responsabilidade de cada equipa), à porta série do PC (COM1 ou COM2). Por defeito a porta usada é a
COM1. Se for necessário usar a COM2 então deve-se editar o ficheiro i.bat e acrescentar na linha “ic.exe”
o seguinte parâmetro “-port com2”. Em seguida ligar o porto série da placa MPR11 (J4) ao conversor de
níveis MB2325.
2- Colocar a placa em modo “bootstrap” (MODA e MODB a “0” - jumpers J2 e J3 fechados).
3- Fazer “reset” e iniciar a “batch” “i”. Nessa fase é carregado apenas parte do “boot”. O próprio SW dá
indicação para colocar a placa em modo extendido (MODA e MODB ambos a “1” - jumpers J2 e J3
abertos).
4- Fazer reset novamente. Se tudo estiver OK o “boot” é terminado sendo carregadas as livrarias
disponíveis. Deverá, então, aparecer o “prompt” do interpretador - “C>”.
5- Nesta fase poderão já ser executadas linhas de código para teste de funções da placa. Por exemplo, se os
motores já estiverem devidamente ligados ao HW poderemos executar a função “motor(0,50.0)” que
coloca o motor “0” a rodar para a frente com 50% da potência máxima. Ou poderemos também executar a
função “analog(4)” que retorna um inteiro correspondente à leitura da entrada 4 da ADC.
6- Se tudo estiver a reagir bem poderemos executar um programa da seguinte forma: primeiro carregamo -lo a
partir do interpretador com “load progname.c”. Seguidamente fazemos “reset” e o programa carregado
entra automaticamente em execução.
7- Para parar o programa poderemos fazer “unload progname”.
Concurso Micro-Rato
2/2
8- Note-se que o “prompt” do IC continua disponível enquanto o programa executa o que, dada a
característica de “multitasking” do IC, nos permite consultar valores de variáveis ou executar funções em
simultâneo com a execução do programa.
Utilização da placa de expansão I/O_NOVA
A placa de expansão IO_NOVA é utilizada para efectuar o interface standard entre a placa controladora
MPR11, incluíndo a expansão de memória ME11, com alguns dos periféricos (sensores, LEDs de IV e de
sinalização e botões) a que o concurso obriga ou que poderão ser úteis.
Uma das funções desta placa é a de direccionar os sinais analógicos provenientes dos sensores de IV (infravermelhos) através das fichas respectivas para as entradas da ADC interna ao controlador. Para que os
sensores funcionem, necessitam de um emissor IV associado, com uma modulação compatível (tipicamente
cerca de 40KHz). Conforme explicado no ficheiro MPR11, esse sinal é obtido a partir da placa ME11, ligando
uma saída do respectivo porto J6/J7 à entrada HD1 da placa IO_NOVA.
Contudo, não basta efectuar as ligações de hardware lá indicadas. É também necessário activar a geração do
referido sinal de 40KHz na placa ME11. Para isto é necessário colocar a “1” o bit correspondente à saida (no
referido porto) a partir da qual se fez a ligação à placa IO_NOVA. Se o porto J6/J7 não for usado para mais
nada (situação normal), poderemos usar um qualquer bit de saída desse porto e colocar todos os bits a “1”.
Tendo em conta que o porto J6/J7 se encontra mapeado no endereço 0x7000, para activar o sinal de 40KHz
bastará, logo no início do programa, executar a seguinte instrução:
poke(0x7000,0xff);
N.B. A activação do sinal de 40KHz implica o ligar efectivo dos LEDs IV modulados (normalmente, os de
obstáculos). Para os desligar bastará escreve 0 no referido porto (como em cima mas com 0x00 em vez de
0xff). Na configuração por defeito, o LEDIV_GND não é modulado e o seu controlo é efectuado
directamente pelo bit 2 do porto de saída da placa IO_NOVA (endereço 0x4000).
Download