You are on page 1of 1

Vsc(vsff)

Figura 10

outros ser facilmente adaptáveis às


$las necessidades. Fig. 11 - Temporizaçáo do ADC 0832.

O conversor analógico/digital é o
ADC 0832, figura 10, que possuidois des vantagens em ler em um ou em - Adicione um componente Timer,
canais de entrada (CHo e CH,) e outro sentido, adotaremos a leitura dos altere sua propriedade I nte ruat para 20
irterface serial para sinais de contro- I primeiros bits. Como vimos na tabe- e Enabled para True, dê um duplo
le/dados. Os sinais de controle são la 1, a escolha de qual entrada será clique sobre ele, e estando no Code
brmados por uma entrada de clock lida é feita serialmente através do pino Editor, atribua o código da listagem 5
pam sincronismo CLK, uma entrada Dl, no bit ODD. ao manipulador de eventos do timer;
cfiip select (/CS - habilitação do AD) e - No Code Editor, em qualquer pon-
rma de entrada de dados Dl: onde é to abaixo da palavra reservada
Ëita a programação de qual canal se O novo código Delphl implementation e acima de end. ,

deseja ler e se esta leitura é reÍeren- adicione o código referente à função


cSada ao terra ou é diferencial entre os Você verá que serão necessários de leitura do AD - listagem 6.
canais. O acesso ao conversor deve apenas algumas alterações no códi- - Finalmente, altere o Caption do
obedecer ao diagrama de tempo- go anterior. Uma delas será a defini- form de Íorma a indicar que agora os
fza$o mostrado na Íigura 1 1, e a pro- ção de uma função para a leitura dos dados exibidos são reais!
gramação da entrada Dl fica como dados através da porta paralela, cujo Ao alterar a propriedade Visible do
mostrado na Tabela 1. parâmetro será o canal de entrada a botão para False, vocë está apenas
ser lido: CHo ou CH'. fazendo com que o código de entrada
No Delphi, para utilizarmos uma de dados simulados não esteja mais
função, assim como para uma variá- disponível para o usuário em tempo
vel, deve-se lazer a declaração desta. de execução, pois agora os dados se-
ParaÍazë-la, proceda da seguinte Íor- rão reais.
ma: acesse a janela Code Editor e Utilizarernos pela primeira vez um
abaixo da palavra reservada prlvate método ainda não mencionado do
O start bit deve ser obrigatoriamen- e altere o código para o mostrado na componente lOport - o
le em nível alto; não utilizaremos en- listagem 4, inserindo a linha que se lOport.WritePort
üiada diferencial e sim duas simples inicia com a palavra tunctlon. A sinta- A sintaxe deste método é a seguin-
refrrenciadas ao terra, logo, o segun- xe para esta declaração é: te;
do bit (simples/diferencial) é também function Nome_da_Função Oport.Write Port(Endereço_de_
I

nÍvel alto, e como as entradas serão (Parâmetrol: tipo; Par2: tipo; ParN: escrita , Dado);
úns simples, o terceiro bit seleciona tipo):Tipo_Retorno; Sendo que os dois argumentos
qral delas terá o resultado da conver- private devem ser do tipo Word, ou seja, valo-
são.enviado via pino DO. { Private declarations } res possíveis de serem representados
E através da saída DO que o re- function LerADCanal(Canal em 16 bits, necessitaremos apenas de
srinado-da conversão:é externado pelo :lnteger):lnteger; // Declaração da fun- alguns valores triviais: o endereço da
lD.Observe no diagrama de tempo ção porta - $378 e $379 ou $278 e $279,
qlQgpós o chaveamento dq;MUX in:, .', PUblic conforme o seu PC endereçar a im-
ãno do AD (mux settling fline), sãoi .: I { Public declarations } pressora - e o dado a ser escrito, que
q os bits da conversflo, entre-
_edos
'ênd; é a representação hexadecimal dos
ffi'veja também que os I bits são Listagem 4 - Declaração da Íunção bits necessários para a gerar a
mlhdos de' duas ïorrnas:r"biiz a OitO temporização do circuito conversor AD.
Qfip primeiro) e depois de Íorma in- ' AgoraÍaçamos algumas mudanças procedure TForml .Timerl Timer
ËbA com LSB primeiro.lsto é obvia; no'prirjeto: (Sender: TObject);
nÈË redundante, todavia, é Íeito de , : Selecione o botão SpeedButtonl Var
tiÉn que a escolha entre ler os 8 pri- no Form, e altere a sua propriedade Y : lnteger;
nuios'Oits ou os I següinteb vénhà a Visible paraFalse; begin llCanal0 na Série 0:
Htar o tratamento por parte do dis- - Adicione um componente lOPort iÍ Chartl.Series[0].Count > 100
pdlirc que está recebendo estes bits. ao Form, e renomeie-o para simples- then Chartl .Series[O].Delete(0);
En nosso caso, como não há gran- mente'lOport'; // Mantém 100 pontos móveis

stBER eutnônlcn Ne g2ol99