TAXÍMETRO DIGITAL
MARIA DE FÁTIMA QUEIROZ VIEIRA
Tese de M e s t r a d o a p r e s e n t a d a a Coordenação
S e t o r i a l de Põs-Graduação e P e s q u i s a da
Prõ-Reitoria p a r a A s s u n t o s do I n t e r i o r da
U n i v e r s i d a d e F e d e r a l da Paraíba, em cumprJL
mento âs exigências p a r a obtenção do Grau
de M e s t r e em Ciências (M.Sc)
CAMPINA GRANDE - PB,
SERVIÇO PÚBLICO FEDERAL
COORDENAÇÃO SETORIAL DE PÕS-GRADUAÇÃO
PARECER FINAL DO JULGAMENTO DA DISSERTAÇÃO DA MESTRANDA
MARIA DE FÃTI MA QUEIROZ VIEIRA
TÍTULO: . "TAXÍMETRO DIGITAL"
COMISSÃO EXAMI/H/tóORA
TARLOS ALBERTO /DA ROCHA - ENG? DE ELETRONICA
Presidente •
CONCEITO
. . . .
I
Ml^mt^m-fTETO - Ph.D.
Examinador I n t e r n o
-tARCIA DE BARROS CORREIA - M.Sc.
Examinador
Externo-%. FR
MARIA DE FÁTIMA
X. FRAGOSO - Enga.Eletricista
-Examinador I n t e r n o *
1979-Agradeço a todos aqueles que em mim a c r e d i t a r a m ,
i n c e n t i v a r a m e colaboraram na elaboração deste t r a b a l h o : p r o
fessores e funcionários da o f i c i n a e laboratório do Departa
mento de Engenharia Elétrica; colegas, amigos e f a m i l i a r e s .
Em e s p e c i a l agradeço a Dr. Rudolph Seviora, Dr. Ivan Rocha
Neto, professores Carlos A l b e r t o da Rocha e Maria de Fátima
Camelo. Finalmente agradeço a meus p a i s que tornaram possí
v e l o cumprimento de mais este estágio de minha formação.
RESUMO
Era consequência da p r o g r e s s i v a substituição de i n s
trumentos mecânicos por s i m i l a r e s eletrônicos, e com os mi
croprocessadores tornando-se cada vez mais bem a c e i t o s como
blocos básicos de sistemas eletrônicos " i n t e l i g e n t e s " , sur
g i u a i d e i a de c o n s t r u i r um taxímetro que u t i l i z a s s e e s t a
t e c n o l o g i a .
Este i n s t r u m e n t o , desfrutando da programabilidade
do microprocessador, teve as funções expandidas em relação
âs do seu s i m i l a r mecânico. Assim, l h e foram a c r e s c i d a s , às
já conhecidas, as seguintes características: novos sistemas
de t r o c a e verificação das t a r i f a s ; e mostrador numérico l u
minoso, com ponto decimal programado.
0 presente t r a b a l h o t r a t a dos projetos de "hardware"
e " s o f t w a r e " que i n t e g r a d o s compõem o taxímetro. Neste são
encontrados: a descrição das características do i n s t r u m e n t o ,
a e s t r u t u r a básica de um microcomputador a descrição dos c i r
c u i t o s e programas, as ferramentas e o processo de testes ado
tados durante o desenvolvimento do sistema.
As a r e s u l t of the continuous replacement of mechanical
i n s t r u m e n t s by e l e c t r o n i c ones, and w i t h the growing usage
o f microprocessors as b u i l d i n g blocks o f inteligent e l e c t r o n i c
system, i t has been decided t o b u i l d a t a x i m e t e r u s i n g t h i s
technology.
Taking advantage o f the microprocessors programability
t h i s i n s t r u m e n t had i t s f u n c t i o n s expanded w i t h respect t o
i t s mechanical c o u n t e r p a r t . Therefore the follcwing f u n c t i o n s
have been added: new systems o f r a t e s changing and checking,
and numeric l i g h t e d d i s p l a y w i t h programed decimal p o i n t .
The software and hardware p r o j e c t s which combined
t o g e t h e r make up the t a x i m e t e r are presented. The d e s c r i p t i o n
o f the i n s t r u m e n t c h a r a c t e r i s t i c s , the b a s i c s t r u c t u r e about
microcomputers, the t o o l s and t e s t s processes adapted d u r i n g
the development o f the system are a l s o presented.
ÍNDICE
PÃG.
CAPITULO I - INTRODUÇÃO 1
CAPITULO I I - TAXÍMETRO 4
2.1 — Taxímetro Mecânico „ 4
2.2 — Taxímetro Digital..» <, 7
CAPÍTULO I I I - SISTEMA BÁSICO DE MICROCOMPUTADOR
UTILIZANDO O PROCESSADOR MCS 6502 14
3.1 — Microcomputadores 15
3.2 — Blocos C o n s t i t u i n t e s 16
3.3 — Operação do Sistema 21
3.4 — Critérios de Seleção 24
CAPÍTULO IV - "HARDWARE" 27
4.1 — Componentes do Sistema 28
4.2 — Configuração do Sistema 31
4.3
— Endereçamento das Pastilhas 31
CAPÍTULO V - "SOFTWARE" 35
5.1
— Descrição do "Software" 36
5.2 — Mapa de Memória 44
6.1
— Sistemas de Apoio a Desenvolvimento... 90
6o2 - O Sistema KIM-1 (Keyboard Input/Out
p u t M o n i t o r ) 92
6.3 — Testes 94
CAPÍTULO V I I - CONCLUSÕES 99
7.1
— Sugestões 100
ÍNDICE DE FIGURAS
P A G .
F i g . I I . 1
— Taxímetro D i g i t a l 9
F i g . I I . 2 - A f e r i d o r
0 09
F i g . IV. 1
— Diagrama de Blocos do Sistema 32
F i g . V . l — Esquema da RI» „....„ o... o. 36
F i g . V.2 - Esquema da MP 38
F i g . V.3
— Esquema da RAI 40
F i g s . V.4A - 47
B, C, D — Tabela de Endereços Especiais
F i g . V.5
— Fluxo Operacional 51
F i g . V.6
— Fluxograma RI 52
F i g . V.7 - Fluxograma SCT 55
F i g . V.8 - Fluxograma SDEMPR e SDEMPI 57
F i g . V.9 -Fluxograma SMULT „ 58
F i g . V.10 - Fluxograma SADIC 59
F i g . V . l l - Fluxograma SEMP „. „ 60
F i g . V.12
— Fluxograma MP „ 61
F i g . V.13 - Fluxograma SDESLOC „ 64
F i g . V.14 - Fluxograma STXDISP 65
F i g . V.15 - Fluxograma SCHTX 66
F i g . V.16 - Fluxograma SATRASO 67
v i i
F i g . V. 18 - Fluxograma SAFER.... „ ... 69
F i g . V.19 - Fluxograma SAJTAX „ 7 1
F i g . V.20
— Fluxograma RAI 7 3
F i g . V.21 - Fluxograma RDISP 74
F i g . Vo22 - Fluxograma ACHAVE 76
F i g
0V.23
— Fluxograma AREG
077
F i g . V.24 - Fluxograma IBOPBON 78
F i g . V.25 - Fluxograma DBOPBON 79
F i g . V.26 - Fluxograma CP 80
F i g . V.27 - Fluxograma SBA 82
F i g . V.28 - Fluxograma SPB 83
F i g . V.29 - Fluxograma SATP 84
F i g . V.30 - Fluxograma SBD 85
F i g . V.31 - Fluxograma SATOTD 86
F i g . V.32
— Configuração do Registrador de Estado 87
F i g . Vo33 - Configuração dos Registradores EP e EV 89
F i g . V I . 1 - Configuração da PIA (Teste 1) 97
F i g . VI.2 - Configuração da PIA (Teste 2) 97
F i g . VI.3 - Configuração da PIA (Taxímetro) o 97
LISTA DE SÍMBOLOS E ABREVIAÇÕES
r
A — Acumulador
ACHAVE — Rotina de atualização do estado das chaves
ALU — Unidade aritmética e lógica
AP — Apontador da p i l h a
AREG — Rotina de atualização dos r e g i s t r a d o r e s
BAJF — B i t nos r e g i s t r a d o r e s EP e EV correspondente ao es
t a d o da chave de a j u s t e f i n o
BAJG — B i t nos r e g i s t r a d o r e s EP e EV correspondente ao es
t a d o da chave de a j u s t e grosso
BBl — B i t nos r e g i s t r a d o r e s EP e EV correspondente ao es
tado da chave bandeira 1
BB2 — B i t nos r e g i s t r a d o r e s EP e EV correspondente ao es
t a d o da chave bandeira 2
BCHTX — B i t nos r e g i s t r a d o r e s EP e EV correspondente ao es
t a d o de verificação das taxas
BIFAFE — B i t nos r e g i s t r a d o r e s EP e EV correspondente ao es
t a d o da chave i n d i c a d o r a do i n i c i o e f i m de a f e
rição
para o nível "0")
BOP — Borda p o s i t i v a (mudança de um s i n a l do nível "0"
para o nível "1")
BPD — B i t nos r e g i s t r a d o r e s EP e EV correspondente a che
gada de pulsos de distância
BTOTD — B i t nos r e g i s t r a d o r e s EP e EV correspondente ao es
tado da chave t o t a l i z a d o r a
C — Carry
CAJF — R e g i s t r a d o r do estado da chave de a j u s t e f i n o
CAJG — R e g i s t r a d o r do estado da chave de a j u s t e grosso
CBl — R e g i s t r a d o r do estado da chave bandeira 1
CB2 — R e g i s t r a d o r do estado da chave bandeira 2
CCHTX — R e g i s t r a d o r do estado da chave de verificação das
taxas
Cl — C i r c u i t o i n t e g r a d o
CIA — Contador de interrupções a l t o (MSB)
CIB — Contador de interrupções baixo (LSB)
CIFAFE — R e g i s t r a d o r do estado da chave i n d i c a d o r a do iní
c i o e f i m de aferição
CONT — R e g i s t r a d o r Temporário
CP — Rotina c a r r o parado
CPD — R e g i s t r a d o r do estado dos pulsos de distância
CTA - Contador de tempo a l t o (MSB)
CTB - Contador de tempo baixo (LSB)
DBOPBON — Rotina de desvio nas bordas p o s i t i v a s e negativas
DISP — Locações de memoria que armazenam as informações
que vão ser expostas no mostrador ( d i s p l a y )
EP — R e g i s t r a d o r estado presente
EPROM — Erasable Programmable Read-Only Memory
E/S — Entrada e Salda
EV — R e g i s t r a d o r estado velho
FT — F a t o r de correção do tempo
IBOPBON — Rotina de identificação das bordas p o s i t i v a s e ne
g a t i v a s
2
I L — I n t e g r a t e d I n n e c t i o n Logic
IDA — I n d i c a d o r de dígito aceso
INPM — I n s t i t u t o Nacional de Pesos e Medidas
IRQ — I n t e r r u p t request
KIM-1 — Microcomputador f a b r i c a d o p o r MOS Technology I n c .
MDS — Memória de dados simulada
MIC — Ministério da Indústria e Comércio
MO — R e g i s t r a d o r do m u l t i p l i c a d o r
MOS — Metal - Oxide Semiconductor
MP — Rotina Malha P r i n c i p a l
MR — R e g i s t r a d o r do m u l t i p l i c a d o r
PBR — Preço da bandeirada na memória de rascunho
PIA — P e r i p h e r a l i n t e r f a c e a r r a y
PPD — Preço da passagem na memória de dados
PPR — Preço da passagem na memória de rascunho
PPDBl — Preço do p u l s o de distância com bandeira 1
PPDB2 — Preço do pulso de distância com bandeira 2
PROM — Programmable Read-Only Memory
PTB1 — Preço de tempo com bandeira 1
PTB2 — Preço de tempo com bandeira 2
RAI — Rotina de atendimento â interrupção
RAM — Read/Write Random Access Memory
RDA — Registrador de dados da PIA ( p a r t e A)
RDB — Registrador de dados da PIA ( p a r t e B)
RDDA — Registrador de direção de dados da PIA (parte A)
RDDB — Registrador de direção de dados da PIA (parte B)
RDISP — Rotina de saída para o " d i s p l e y "
RE — Registrador de Estado
REG — Registrador Temporário
REGI — Registrador Temporário
RES — Registrador do r e s u l t a d o
RI — Rotina de inicialização
ROM — Read-Only Memory
RR — R e g i s t r a d o r Temporário
SADIC — S u b - r o t i n a de adição
SAFER — S u b - r o t i n a de aferição
SAJTX — S u b - r o t i n a de a j u s t e das taxas
SATODT — S u b - r o t i n a de atualização do t o t a l i z a d o r
SATO — S u b - r o t i n a que acrescenta as taxas ao preço da pas
sagem
SATRASO — S u b - r o t i n a que gera a t r a s o
SBA — S u b - r o t i n a bandeira a t i v a d a
SBD — S u b - r o t i n a bandeira desativada
SCHTX — S u b - r o t i n a de verificação das taxas
SCT — S u b - r o t i n a de cálculo das taxas
SDEMPI — S u b - r o t i n a de desempacotamento de i n t e i r o s
SDEMPR — S u b - r o t i n a de desempacotamento de r e a i s
SDESLOC — S u b - r o t i n a de deslocamento
SEMP — S u b - r o t i n a de empacotamento
SMULT — S u b - r o t i n a de multiplicação
SPB — S u b - r o t i n a preço da "bandeirada"
STOTD — S u b r o t i n a t o t a l i z a d o r a
STXDISO — S u b - r o t i n a taxas para " d i s p l a y "
TAA — Tempo de a t r a s o a l t o (MSB)
TAB — Tempo de a t r a s o baixo
TDB1 — Taxa de distância com bandeira 1
TEMP — R e g i s t r a d o r Temporário
TEMPl — R e g i s t r a d o r Temporário
TOTDD — T o t a l i z a d o r na memória de dados
TOTDR — T o t a l i z a d o r na memória de rascunho
TTL — T r a n s i s t o r - T r a n s i s t o r Logic
TTBl — Taxa de tempo com bandeira 1
TTB2 — Taxa de tempo com bandeira 2
X — R e g i s t r a d o r indexador X
Y — R e g i s t r a d o r indexador Y
LISTA DE SÍMBOLOS USADOS NOS FLUXOGRAMAS
Vuodtò6amento — mudança de v a l o r , forma ou l o
cação de informação
Vuoce.t>bame.nto VHA.-V2.ii.nta0 — chamado de uma
s u b - r o t i n a
Ve.ci-t>ão — teste da condição de uma variável
>
Vfizpan.açao — inicialização dos registradores
para entrada numa s u b - r o t i n a
)
Viòp&au — salda através de indicadores (on-line)
Cone.ctoH de. pagtna — entrada ou salda de uma
página
de chaves "push-button", c i r c u i t o s " o n - l i n e "
Conecton. — entrada ou salda em um ponto do
fluxograma
l<ihmi.nal — ponto terminal no fluxograma; saí.
da de uma s u b - r o t i n a
LZnkai de. i&ixxo — mostram a sequência das ope
rações e a direção do f l u x o de dados
Comzntãh.i.0 — esclarecimento a d i c i o n a l
NOTAÇÃO ADOTADA NOS FLUXOGRAMAS
§| — Locação de endereço §
§
§| — Conteúdo da locação de endereço §
§(n)
§(n)| - Conteúdo da locação de endereço (§ + n)
INTRODUÇÃO
A evolução tecnológica e consequente obsolescên
c i a de técnicas levam a uma constante substituição de i n s t r u
mentos por s i m i l a r e s mais p e r f e i t o s e s o f i s t i c a d o s .
Instrumentos mecânicos vão sendo substituídos por
s i m i l a r e s elétricos, estes por eletrônicos, os quais e v o l u i
ram das válvulas aos c i r c u i t o s integrados„ Surge agora a ge
ração dos instrumentos " i n t e l i g e n t e s " , i s t o é, instrumentos
eletrônicos que acrescentam "poder de decisão" ãs suas f u n
ções usuais.
Devido ao rápido declíneo dos preços os micropro
cessadores vêm se afirmando como componentes básicos dos i n s
trumentos desta última geração, p o i s lhes assegura maior nú
mero de funções e f l e x i b i l i d a d e ; em alguns casos já por um
custo comparável.
Esta f l e x i b i l i d a d e deve-se ao f a t o das suas f u n
ções serem d e f i n i d a s por programação: através do "software"
de c o n t r o l e . Assim as modificações no comportamento do s i s t e
ma são, na sua quase t o t a l i d a d e , introduzidas na programação,
em c o n t r a s t e com os sistemas eletrônicos "convencionais" que
têm seu comportamento c o n t r o l a d o por um c o n j u n t o de c i r c u i
t o s lógicos ("hardware").
Os taxímetros em uso, são na sua m a i o r i a , completa
mente mecânicos, pouco confiáveis e de difícil, l e n t a e dis_
pendiosa aferição.
0 presente t r a b a l h o descreve o p r o j e t o de um taxi
metro eletrônico que u t i l i z a n d o microprocessador, acrescenta
âs funções já conhecidas um novo sistema de aferição: mais
rápido, simples e com o custo minimizado não só para o I n s t i _
t u t o Nacional de Pesos e Medidas — INPM (manutenção do esque
ma de fiscalização e a p o i o ) , mas também para o proprietário
do i n s t r u m e n t o (não será necessária a t r o c a de peças). Do pon
t o de v i s t a do usuário do táxi, este se libertará das "tabe
l a s " u t i l i z a d a s enquanto é aguardada a aferição dos i n s t r u
mentos, (a cada liberação de novas t a r i f a s ) .
Foi e s c o l h i d a a t e c n o l o g i a do microprocessador de
v i d o ao d e c l l n e o de seus preços e â sua f l e x i b i l i d a d e . Estas
características acompanham o i n s t r u m e n t o através das fases
de: produção, manutenção até f u t u r a s modificações que o esta
rão sempre a t u a l i z a n d o . As mudanças se concentrarão na p r o
gramação, sem e x i g i r grandes alterações do "hardware".
i n s t r u m e n t o , assim como as de seu s i m i l a r mecânico. O t e r c e i _
ro capítulo t r a t a da t e o r i a básica de microprocessadores. No
q u a r t o capítulo ê apresentado o p r o j e t o de "hardware". O q u i n
t o capítulo apresenta o "software" de c o n t r o l e . O sexto capí
t u l o t r a t a do desenvolvimento e t e s t e do sistema no micro
computador KIM-1. 0 sétimo capítulo t r a z as conclusões do
t r a b a l h o e sugestões para uma f u t u r a expansão do sistema. No
apêndice encontram-se informações sobre componentes do s i s t e
ma, bem como o detalhamento do "hardware" de alguns de seus
blocos c o n s t i t u i n t e s .
CAPÍTULO I I
TAXÍMETRO
"... Taxímetro é o instrumento que, i n s t a l a d o em
veículo se d e s t i n a a i n d i c a r em unidades, a importância d e v i
da p e l a sua utilização, em função da distância p e r c o r r i d a
(a p a r t i r de uma velocidade mínima determinada) ou de tempo
escoado (abaixo dessa velocidade ou com o veículo parado)..."
( P o r t a r i a n9 04, MIC-INPM, 1968).
2 , 1 — Taxímetro Mecânico
Instrumento construído com mecanismos de comando;
engrenagens, alavancas e sistema de r e l o j o a r i a .
"... 0 comando do i n d i c a d o r baseado na distância
funciona em progressão com a marcha a d i a n t e do ve3í
c u l o . 0 comando horário ê r e a l i z a d o por um sistema
de r e l o j o a r i a colocado em movimento p e l a alavanca
de comando do i n s t r u m e n t o . . . 0 relógio deve f u n c i o
nar no mínimo por duas horas..." ( I b i d e m ) .
Hã modelos equipados com t o t a l i z a d o r e s , que i n d i ^
cam no mostrador a importância arrecadada durante sua u t i l i
z a ç ã o o
Os instrumentos devem ser adaptados, através de r e
dutores as características do veículo onde são i n s t a l a d o s ,
levando em consideração a r e s p e c t i v a circunferência do pneu.
"... Os taxímetros devem ser suscetíveis as seguin
tes precisões:
a) r e g i s t r o na distância p e r c o r r i d a (comando q u i l o
métrico):
- distância i n i c i a l ± 3% da distância i n i c i a l
p e r c o r r i d a ;
- distâncias seguintes ± 2% das distâncias per
c o r r i d a s .
b) r e g i s t r o baseado em tempos (comando horário):
± 3% do tempo escoado..." ( I b i d e m ) .
2 . 1 . 1 — Características
"... Quando em funcionamento este instrumento i n d i
ca no mostrador sucessivamente as importâncias:
6
a) a i n i c i a l , r e l a t i v a ao início de sua utilização;
b) a i n i c i a l , a c r e s c i d a da correspondência â dis
tância p e r c o r r i d a e/ou aos períodos de espera
era funcionamento..." (Ibidem)»
Esta importância i n i c i a l é conhecida como "bandei
rada"; as importâncias seguintes correspondentes às distân
c i a s p e r c o r r i d a s e tempos de espera são c l a s s i f i c a d o s em d o i s
grupos, i s t o ê, cada uma delas pode assumir d o i s v a l o r e s d i s
t i n t o s que são selecionados p e l o m o t o r i s t a através de alavan
cas denominadas: bandeira 1 e bandeira 2*. A seleção obedece
rã a critérios como: d i a da semana, horário de utilização e
natureza do percurso (se cruza f r o n t e i r a s políticas: munici
p a i e e s t a d u a l ) . Estes critérios são d e f i n i d o s d e n t r o do t e r
ritõrio n a c i o n a l pelo Conselho I n t e r m i n i s t e r i a l de Preços
-CIP, que é também o órgão o f i c i a l que a u t o r i z a o aumento das
t a r i f a s . A p o s t e r i o r liberação deste aumento e supervisão da
utilização do instrumento são de r e s p o n s a b i l i d a d e da prefei_
t u r a da cidade onde o veículo ê m a t r i c u l a d o .
2 o l o 2 — Aferição
0 processo de aferição c o n s i s t e na t r o c a das t a r i
fas através da substituição de peças mecânicas denominadas r e
dutores (uma para o comando horário e o u t r a para o quilomê
tricô) que adaptam o taxímetro a nova contagem. Apôs a execu
ção deste processo, faz-se necessário o deslocamento do veí
c u l o em um percurso de 1,5 Km, sob a inspeção de um funciona
r i o credenciado pelo INPM.
0 mesmo deslocamento é e x i g i d o : na constatação de
infrações (violação do l a c r e ) ; conserto do i n s t r u m e n t o ; e
apôs a sua instalação no veículo.
2 . 2 — Taxímetro D i g i t a l
Instrumento eletrônico d i g i t a l , que pertence â ge
ração dos instrumentos " i n t e l i g e n t e s " , p o i s tem seu comporta
mento c o n t r o l a d o através da programação de um microprocessa
dor. Assim, l h e foram atribuídas além das funções de seu si_
m i l a r mecânico novas funções que serão d e s c r i t a s a d i a n t e .
Este sistema e l i m i n o u a utilização de peças mecâni
cas, excetuando-se o acoplamento do c i r c u i t o que capta as
informações da distância p e r c o r r i d a ao cabo do velocímetro,
o q u a l g i r a com a velocidade angular dos pneus. Logo, sua p r e
cisão é a de um microcomputador e o seu desgaste por u t i l i z a
ção, r e l a t i v a m e n t e ao mecânico, desprezível.
2 . 2 . 1 — Características
8
Os r e s u l t a d o s de sua contagem são expostos em um
mostrador composto de três dígitos luminosos, com o ponto de
c i m a l programado. Assim pode r e p r e s e n t a r com a precisão de
três algarismos s i g n i f i c a t i v o s os números de 0.00 a 999.
A distância p e r c o r r i d a ê r e g i s t r a d a a cada g i r o do
pneu com a devida adaptação â circunferência da roda do c a r
ro onde o i n s t r u m e n t o se encontra i n s t a l a d o • Esta adapta
ção c o n s i s t e na colocação, no a t o da aferição, da informação
numérica correspondente ao diâmetro da roda, que será um f a
t o r considerado nos cálculos do preço da passagem.
Considera-se o c a r r o em movimento a p a r t i r da v e l o
cidade de 0,280 Km/h. Até então, se uma das bandeiras está
acionada, é f e i t a a contagem do tempo em um relógio eletrônico.
2 . 2 . 2 - Elementos C o n s t r u t i v o s
O acionamento de suas funções é f e i t o através de
chaves de c o n t a t o , que se encontram d i s p o s t a s num painel f r o n
t a l ( F i g . I I . 1 ) . A s e g u i r são d e s c r i t a s as funções de cada
uma d e l a s .
V
a) CHAVE LIGA-DESLIGA - quando acionada a l i m e n t a o
sistema, h a b i l i t a n d o - o a f u n c i o n a r . Provoca o
início da execução da programação e acende o
mostrador com os dígitos: 0.00.
b) CHAVE DA BANDEIRA 1 - quando acionada i n d i c a ao
i n s t r u m e n t o que deve ser i n i c i a d a a contagem com
as taxas ( t a r i f a s ) correspondentes: PB (preço
da bandeirada); TDBl (taxa de distância com ban
(2)
d e i r a 1) ; TTBl (taxa de tempo com bandeira 1) .
c) CHAVE DA BANDEIRA 2 - quando acionada, i n d i c a
ao instrumento que deve ser i n i c i a d a a contagem
com as taxas ( t a r i f a s ) correspondentes: PB (pre
ço da b a n d e i r a d a ) ; TDB2 (taxa de distância com
bandeira 2 ) : TTB2 (taxa de tempo com bandei
r a 2 )
( 2> .
d) CHAVE TOTALIZADORA — faz s u r g i r no mostrador,
em unidades monetárias, o conteúdo do t o t a l i z a
dor, que ê zerado quando atinge o valor Cr$ 999,00*.
Considerando-se a inflação, a autonomia do per
curso torna-se deficitária, fazendo-se necessã
r i o o aumento de sua capacidade. ( I s t o ê s u g e r i
do no sétimo capítulo).
(*) A função do t o t a l i z a d o r é r e g i s t r a r cumulativamente os
v a l o r e s arrecadados durante o período em que o instrumen
t o (taxímetro) e s t i v e r l i g a d o . Tem por o b j e t i v o a u x i l i a r
o c o n t r o l e f i n a n c e i r o do táxi.
e) CHAVE DE VERIFICAÇÃO DAS TAXAS - a c i o n a d a p e l o p a s s a g e i r o , o c a s i o n a uma interrupção na e x p o s i ção do preço d a p a s s a g e m no m o s t r a d o r e f a z a p a r e c e r , uma a uma ( a i n t e r v a l o s de t r i n t a s e g u n d o s ) , t o d a s a s t a x a s q u e estão s e n d o u t i l i z a d a s no c a l c u l o do preço da p a s s a g e m . A sequencia o b e d e c i d a é: PB, T D B l , TDB2, T T B l , TTB2 e CR. Em s e g u i d a r e t o r n a ao m o s t r a d o r o preço d a p a s s a gem ( a t u a l i z a d o ) . D e s t e modo ê f e i t a a verificação d a s t a x a s p e l o p a s
s a g e i r o , a constatação de infrações e o exame do INPM, (apôs
a aferição o u instalação do i n s t r u m e n t o , no v e í c u l o ) .
2.2.3 — Aferição
0 p r o c e s s o de aferição r e q u e r , a p e n a s , a t r o c a do
v a l o r d a s t a x a s na memória do s i s t e m a , sem q u e p a r a i s t o s e
j a necessária a substituição de q u a l q u e r peça no i n s t r u m e n t o .
M e d i a n t e o r o m p i m e n t o do l a c r e o f i c i a l , é a c o p l a d o
ao i n s t r u m e n t o , através de um c a b o , um c o n j u n t o de três c h a
v e s d e n o m i n a d o AFERIDOR ( F i g . I I . 2 ) . Com o acionamento d a c h a
v e CIFAFE (início e f i m de aferição) i n d i c a - s e ao i n s t r u m e n
t o o início do p r o c e s s o . Em r e s p o s t a ê c o l o c a d a no m o s t r a d o r
a p r i m e i r a t a x a a s e r c o r r i g i d a . 0 i n s t r u m e n t o aguarda a s c o r
reções q u e são f e i t a s através do a c i o n a m e n t o d a s c h a v e s de
a j u s t e g r o s s o e a j u s t e f i n o , i s t o é , c h a v e s q u e p r o v o c a m o
12
Se ê d e c o r r i d o um c e r t o i n t e r v a l o de t e m p o da e x p o
sição d a t a x a , sem q u e s e j a m a c i o n a d a s a s c h a v e s de a j u s t e ,
p a s s a a s e r e x p o s t a a t a x a s e g u i n t e e a s s i m , s u c e s s i v a m e n t e ,
a t e a última t a x a . Modificações também são p e r m i t i d a s n o v a
l o r de CR - circunferência d a r o d a .
2.2.4 — Alimentação do S i s t e m a
A f o n t e p r i n c i p a l é a b a t e r i a do veículo o n d e o
i n s t r u m e n t o e n c o n t r e - s e i n s t a l a d o . E x i s t e , n o e n t a n t o , um p r o
c e s s o c o n t r a f a l h a s q u e c o n s i s t e em s a l v a r o v a l o r d a s t a x a s
que se e n c o n t r a m na m e m o r i a de d a d o s , com a alimentação a l ^
t e r n a t i v a de uma b a t e r i a recarregável e i n f o r m a r d a deficiên
c i a d a f o n t e p r i n c i p a l , através do a c i o n a m e n t o de uma l a m p a
da i n d i c a d o r a no p a i n e l do i n s t r u m e n t o ( I t e m I V . 4 . 1 ) .
D e v i d o ao consumo do s i s t e m a ( a p r o x i m a d a m e n t e 2 am
pères) e s t a f o n t e a u x i l i a r não t e m condições de m a n t e r o s i s
t e m a t o d o em f u n c i o n a m e n t o e s u a a u t o n o m i a ê de uma h o r a ,
p r a z o em q u e devem s e r t o m a d a s a s providências cabíveis s o b
p e n a de p e r d e r as informações s o b r e a s t a x a s , e s e f a z e r n e
NOTAS
(1) — No r e g i s t r o d a distância p e r c o r r i d a , também ê c o n s i d e r a d o o d e s l o c a m e n t o em m a r c h a à r é . (2) — E x i s t e a p o s s i b i l i d a d e de t r o c a d a s chaves " b a n d e i r a 1" e " b a n d e i r a 2" d u r a n t e o p r o c e s s o de c a l c u l o do preço da p a s s a g e m ; i m p l i c a n d o n a consideração d a s n o v a s t ax a s n o s cálculos s e g u i n t e s . N e s t e c a s o , não será r e a
c r e s c i d o ao preço da p a s s a g e m o v a l o r ( P B ) , c o r r e s p o n
CAPÍTULO I I I
SISTEMA BÁSICO DE MICROCOMPUTADOR UTILIZANDO O PROCESSADOR MCS 6502
Os c o m p u t a d o r e s podem s e r c l a s s i f i c a d o s em três c a
t e g o r i a s : g r a n d e p o r t e , médio p o r t e ( m i n i c o m p u t a d o r e s ) e m i
c r o c o m p u t a d o r e s .
E s t a classificação b a s e i a - s e em critérios t a i s como:
c a p a c i d a d e de cálculo, v e l o c i d a d e de p r o c e s s a m e n t o e t e c n o l o g i a de fabricação, e n t r e o u t r o s . Embora p r o j e t a d o s p a r a a s m a i s d i v e r s a s aplicações, os c o m p u t a d o r e s d i g i t a i s p o s s u e m em comum a l g u n s b l o c o s bãs_i c o s , r e l a c i o n a d o s a s e g u i r . U n i d a d e aritmética e lógica; u n i d a d e de c o n t r o l e ; memória e u n i d a d e s de e n t r a d a e saída q u e c o n s i s t e m de r e g i s t r a d o r e s e i n t e r f a c e p a r a comunicação com o s d i s p o s i t i v o s periféricos. E s t e capítulo s e propõe a a p r e s e n t a r a e s t r u t u r a básica de um m i c r o c o m p u t a d o r com b a s e n o m i c r o p r o c e s s a d o r
MSC 6 5 0 2 , u t i l i z a d o no s i s t e m a "taxímetro d i g i t a l " . A q u i t a m
bem são r e s s a l t a d o s o s critérios de seleção a d o t a d o s n a e s c o
l h a de um m i c r o p r o c e s s a d o r .
3.1 — M i c r o c o m p u t a d o r e s
Os m i c r o c o m p u t a d o r e s s u r g i r a m em 19 7 0 , graças ao
d e s e n v o l v i m e n t o d a s técnicas de integração em l a r g a e s c a l a —
L S I . Seus b l o c o s básicos são e n c o n t r a d o s n a f o r m a de p a s t i
l h a s de C i r c u i t o I n t e g r a d o - C l , f a b r i c a d o s com m a t e r i a l s e
m i c o n d u t o r em d i f e r e n t e s t e c n o l o g i a s .
O número de p a s t i l h a s necessárias ã construção de
um m i c r o c o m p u t a d o r v a r i a de a c o r d o com a t e c n o l o g i a e m p r e g a
da e com o f a b r i c a n t e . Já se dispõe no m e r c a d o , de t o d o s o s
s e u s b l o c o s c o n s t i t u i n t e s c o n d e n s a d o s numa única p a s t i l h a .
Quase tão p o d e r o s o q u a n t o s e u s predecessores: o com
p u t a d o r de g r a n t e p o r t e ( s u r g i d o em 1 9 5 0 ) e o m i n i c o m p u t a d o r ( s u r g i d o em 1960) , t e m se m o s t r a d o f o r t e m e n t e c o m p e t i t i v o p o r s e r m a i s c o m p a c t o e de m a i s b a i x o c u s t o . E s t a s característi c a s p o s s i b i l i t a r a m o s u r g i m e n t o de s i s t e m a s de " p r o c e s s a m e n t o d e d i c a d o " , que só e x e c u t a m o p r o g r a m a específico d a a p l i cação p a r a a q u a l f o r a m p r o j e t a d o s . As aplicações d o s m i c r o c o m p u t a d o r e s podem s e r c a r a c t e r i z a d a s em d o i s g r u p o s m a i o r e s :
- Substituição d a lógica d i g i t a l convencional. A q u i ,
16
função d e s e j a d a , em substituição ao p r o j e t o de
c i r c u i t o s lógicos. Ao t r o c a r o c o n t r o l e em "hardware"
p o r um c o n t r o l e em " s o f t w a r e " , g a n h a - s e f l e x i b i
l i d a d e e uma considerável redução n o c u s t o do
s i s t e m a . - Substituição de c o m p u t a d o r e s de propósito g e r a l , q u e são s u b - u t i l i z a d o s n a execução de t a r e f a s e s pecíficas, e l e v a n d o o c u s t o e a s dimensões d o s i s t e m a . 3.2 — B l o c o s C o n s t i t u i n t e s Ao a n a l i s a r e s t e s b l o c o s e n f a t i z a r e m o s a s c a r a c t e rísticas do p r o c e s s a d o r 6502 u t i l i z a d o n e s t e t r a b a l h o . 3.2.1 — M i c r o p r o c e s s a d o r
M i c r o p r o c e s s a d o r e o núcleo do irãcrocomputador. Con
s i s t e d a u n i d a d e aritmética e lógica - ALU, r e g i s t r a d o r e s e
u n i d a d e de c o n t r o l e .
A ALU ê responsável p e l a execução d a s operações
aritméticas e lógicas. O c o n j u n t o de instruções e x e c u t a d a s
através d e s t a u n i d a d e v a r i a em número e t i p o de a c o r d o com o
p r o c e s s a d o r . O p r o c e s s a d o r MCS 6502 e x e c u t a 56 instruções
A u n i d a d e de c o n t r o l e ê o d i s p o s i t i v o a d m i n i s t r a t i
v o e s i n c r o n i z a d o r do sistema. Com o s s i n a i s g e r a d o s no c l o c k ,
s i n c r o n i z a a s operações, s e g u i n d o a sequência d a s instruções
do p r o g r a m a . No MSC 6502 s u a atuação se f a z através d o s s i
n a i s : RESET, SYNC, READ/WRITE, ...
O c o n j u n t o de r e g i s t r a d o r e s v a r i a de a c o r d o com a a r q u i t e t u r a do p r o c e s s a d o r . E n t r e o s r e g i s t r a d o r e s do 6 5 0 2 , a q u e l e s manipulados p e l o p r o g r a m a d o r , são d e s c r i t o s a s e g u i r : Acumulado h, — C o m p o n e n t e da u n i d a d e aritmética, a s s i m d e n o m i n a d o p o r a r m a z e n a r um d o s o p e r a n d o s durante uma o p e ração e a r m a z e n a r o r e s u l t a d o q u a n d o e s t a operação ê f i n a l i z a d a .
Apontador do pn.0QHa.ma. — R e g i s t r a a posição do p r o c e s s a d o r d e n t r o do p r o g r a m a em execução. Seu conteúdo ê a u t o
m a t i c a m e n t e i n c r e m e n t a d o n o início da execução de c a d a i n s
trução, de modo a c o n t e r o endereço da posição de memoria q u e
contêm a próxima instrução a s e r e x e c u t a d a . Seu conteúdo p o
de também s e r a l t e r a d o como r e s u l t a d o d a execução da própria
instrução ( n o c a s o de instruções d e d e s v i o ) .
Indcxadoh. — R e g i s t r a d o r u t i l i z a d o em um modo e s p e c i a i de endereçamento: endereçamento i n d e x a d o . O MCS 6 5 0 2 ,
p o s s u e d o i s i n d e x a d o r e s : X e Y, q u e t a n t o podem s e r u s a d o s
p a r a o endereçamento i n d e x a d o , q u a n t o p a r a o u t r a s funções.
D e n t r e a s 56 instruções c i t a d a s , a l g u m a s são dedicadas ao u s o
18
RzQl&tftadon. dz notado - R e g i s t r a d o r u t i l i z a d o n a monitoração das operações. Consiste de um c o n j u n t o de f l i p - f l o p s ,
c u j o s e s t a d o s i n d i c a m através de t e s t e s no conteúdo do acumu
l a d o r . Se o r e s u l t a d o da operação f o i : n u l o , n e g a t i v o , p o s i
t i v o ; s e h o u v e " c a r r y " ; se h o u v e o v e r f l o w . Há a i n d a um b i t
d e d i c a d o â indicação d a ocorrência de q u e b r a n o p r o c e s s a m e n
t o — p e d i d o d e interrupção mascarãvel e b r e a k , e um b i t p a r a
indicação do modo d e c i m a l de operação.
Apontado*, da ptZha — R e g i s t r a d o r u t i l i z a d o n o e n d e reçamento de uma porção e s p e c i a l de m e m o r i a , denominada PILHA.
A comunicação d o p r o c e s s a d o r 6502 com o s d e m a i s b l o c o s do s i s t e m a se f a z através de três v i a s : Vta dz z o n t i o l z — C o n j u n t o de l i n h a s p a r a l e l a s q u e t r a n s m i t e m o s s i n a i s d a u n i d a d e de c o n t r o l e p a r a o s d e m a i s b l o c o s do s i s t e m a . Vta dz dadoò — L i n h a s p a r a l e l a s q u e p o s s i b i l i t a m a transferência b i d i r e c i o n a l de d a d o s a s e r e m m a n i p u l a d o s o u r e s u l t a n t e s d e p r o c e s s a m e n t o ; a s s i m como a transferência de instruções. No MCS 6 5 0 2 , não há distinção n o t r a t a m e n t o d o s d a d o s e instruções.
Vta de. zndznzçoò — L i n h a s p a l a l e l a s , u n i d i r e c i o n a i s q u e l e v a m informações do p r o c e s s a d o r p a r a o s i s t e m a . E s t a
v i a é c o m p o s t a de 16 l i n h a s n o p r o c e s s a d o r 6 5 0 2 , h a b i l i t a n d o - o
3.2.2 - P o r t a s de E / S D i s p o s i t i v o através do q u a l é c a n a l i z a d a a e n t r a d a e s a l d a de d a d o s e n t r e o s i s t e m a e o s periféricos (vídeo, i m p r e s s o r a , s e n s o r e s , c a n a i s de d a d o s , c h a v e s , m o s t r a d o r e s l u m i n o s o s , . . . ) Uma p o r t a c o n s i s t e de um r e g i s t r a d o r o n d e o s d a d o s são c a r r e g a d o s o u l i d o s , e de um d e c o d i f i c a d o r de endereços
q u e d e t e t a quando o p r o c e s s a d o r a s o l i c i t a . Quando endereça
d a , o conteúdo da v i a de d a d o s ê c o l o c a d o n o s e u r e g i s t r a d o r ( p o r t a de s a í d a ) ; o u o conteúdo do s e u r e g i s t r a d o r é t r a n s f e r i d o p a r a a v i a de d a d o s ( p o r t a de e n t r a d a ) . 3.2.3 — Memória A memória é um c o n j u n t o o r d e n a d o de locações, o r g a n i z a d a s s e q u e n c i a l m e n t e , o n d e c a d a locação p o s s u e um e n d e r e ço e , n o MCS 6 5 0 2 , ê u t i l i z a d a p a r a a r m a z e n a r 8 b i t s de i n formação. Em g e r a l , n o s s i s t e m a s q u e u t i l i z a m e s t e p r o c e s s a d o r , a memória ê o r g a n i z a d a em b l o c o s de endereços q u e s e r
vem a áreas específicas:
1 - P r o g r a m a
2 - Dados
3 - R a s c u n h o
4 - P i l h a
20
M e m o r i a cie Pn.ogn.ama — região r e s e r v a d a a o a r m a z e n a
m e n t o d e p r o g r a m a s . G r a n d e p a r t e d a s aplicações d e m i c r o p r o
c e s s a d o r e s é em s i s t e m a s d e d i c a d o s o n d e o s p r o g r a m a s são e s
pecíficos e r a r a m e n t e m o d i f i c a d o s . N e s t e s c a s o s u t i l i z a m - s e
memórias não voláteis d e a c e s s o a p e n a s a l e i t u r a . E s t a s p o
dem s e r g r a v a d a s p e l o f a b r i c a n t e : ROM — Read Only Memory ( q u a n
do em g r a n d e q u a n t i d a d e ) o u p e l o p r o j e t i s t a : EPROM, PROM.
Nos s i s t e m a s em d e s e n v o l v i m e n t o s e f a z necessário
um a r m a z e n a m e n t o m a i s flexível, com memórias q u e p o s s i b i l i L
t e m f r e q u e n t e s modificações. E s t a s memórias d o t i p o l e r , e s
c r e v e r — RAM, são voláteis e e x i g e m o armazenamento a u x i l i a r :
em f i t a p a p e l , f i t a magnética, d i s c o , f l o p p y - d i s c , e t c . . .
\hzmohJLa dz Vadoò — u t i l i z a d a n o a r m a z e n a m e n t o t e m porãrio de d a d o s . O p r o c e s s a d o r 6502 p o s s u e um t i p o de e n d e
reçamento — endereçamento de "página z e r o " . E s t e endereçamen
t o ê r e s t r i t o aos p r i m e i r o s 256 b y t e s d a memória, onde o b y t e
m a i s s i g n i f i c a t i v o de endereço ê z e r o . A memória d e d a d o s ê
g e r a l m e n t e a l o c a d a n e s t a região, p o r s e r m a i s f r e q u e n t e m e n t e
endereçada e r e s u l t a r numa e c o n o m i a d e b y t e s d e instrução.
lÀzmdnJLa dz Raòzunko — u t i l i z a d a p a r a o a r m a z e n a m e n t o de d a d o s r e s u l t a n t e s d e operações c u r t a s e f r e q u e n t e s . Co
mo memória d e d a d o s é do t i p o RAM, e p o r s e r b a s t a n t e u t i l i
z a d a é a l o c a d a n a "página z e r o " .
VJLLha — região d a memória, c u j o a c e s s o ê d o t i p o " L I F O " — o último a e n t r a r i o p r i m e i r o a s a i r .
A c a d a d a d o a r m a z e n a d o o u r e t i r a d o d e s t a memória,
da P i l h a . E s t e r e g i s t r a d o r contêm s e m p r e o endereço do t o p o
da p i l h a ; o u s e j a , da próxima posição disponível.
E s t a região ê u t i l i z a d a q u a n d o hã d e s v i o s p a r a s u b - r o t i n a s o u p e d i d o s de interrupção. No MCS 6 5 0 2 , a p i l h a p o d e s e r a l o c a d a em q u a l q u e r t r e c h o d a memória. 3.3 — Operação do S i s t e m a A operação de um m i c r o c o m p u t a d o r é d i t a d a p o r p r o
gramação. E s t e s p r o g r a m a s c o n s i s t e m numa sequência de p a l a
v r a s b i n a r i a s a r m a z e n a d a s n a memória. No MCS 6 5 0 2 , e s t a s p a
l a v r a s podem r e p r e s e n t a r t a n t o d a d o s q u a n t o instruções.
As instruções podem s e r r e p r e s e n t a d a s p o r mnemônJL
c o s q u e c o n s t i t u e m a l i n g u a g e m " a s s e m b l y " do p r o c e s s a d o r . Pa
r a s e r e m p r o c e s s a d a s , devem s e r c o d i f i c a d a s em l i n g u a g e m de
máquina. P a r a o p r o c e s s a d o r MCS 6 5 0 2 , a codificação em l i n
guagem de máquina é r e p r e s e n t a d a em h e x a d e c i m a l .
Cada instrução de um p r o g r a m a , r e q u i s i t a um c o n j u n
t o de operações do p r o c e s s a d o r . A execução d e s t a s operações
o u p a s s o s ê s e q u e n c i a l e d e n o m i n a d a c i c l o da instrução. No p r o c e s s a d o r 6502 hã três c i c l o s b á s i c o s , d e s c r i _ t o s a s e g u i r . 1 - B u s c a da instrução 2 - Atualização do a p o n t a d o r de p r o g r a m a 3 - Execução da instrução
22
N e l e , o p r i m e i r o b y t e da instrução — código d a o p e
ração, f o r n e c e a s informações s o b r e a operação e s o b r e o nú
mero t o t a l de b y t e s d a instrução. 0 s e u c o n j u n t o de i n s t r u
ções p o d e s e r c l a s s i f i c a d o q u a n t o a função, em:
I n ò t s i u ç õ z ò afittmzttcaò z logicaò — d e f i n e m o p r o
c e s s a m e n t o s o b r e o s d a d o s ( o p e r a n d o s ) .
InòtKu.q.0zò dz movzn. dadoò — r e f e r e m - s e ã c o m u n i c a
ção de d a d o s e n t r e a memória e a c u m u l a d o r e s . E s p e c i f i c a m a localização de o r i g e m e a de d e s t i n o . I n ò t i u ç õ z ò dz zontKotz — r e l a c i o n a m - s e com a t o m a da de decisões, p e l o p r o c e s s a d o r . S u b d i v i d e m - s e em: a) Instruções de t e s t e — t e s t a m d a d o s , m o d i f i c a n d o o conteúdo do R e g i s t r a d o r de e s t a d o . b ) Instruções de d e s v i o — t e s t a m a s condições r e s u l t a n t e s de uma operação no R e g i s t r a d o r de e s t a d o , m o d i f i c a n d o a s e g u i r o conteúdo do A p o n t a d o r de p r o g r a m a e d e s v i a n do o p r o g r a m a de s u a sequência a n t e r i o r . c ) Instruções com o R e g i s t r a d o r de e s t a d o — m o d i f i cam o conteúdo d e s t e r e g i s t r a d o r . d) Instruções com o s I n d e x a d o r e s e A p o n t a d o r d a p i l h a — m o d i f i c a m o conteúdo d e s t e s r e g i s t r a d o r e s .
Inòtfiu.q.0zi> dz znth.a.da.1òaZda — p o s s i b i l i t a m a comu
nicação do p r o c e s s a d o r com o s d i s p o s i t i v o s periféricos.
P a r a o MCS 6502 estas instruções i n e x i s t e m , p o i s e s t e p r o
c e s s a d o r t r a t a os r e g i s t r a d o r e s dos d i s p o s i t i v o s periféricos do mes
P a r a e x e c u t a r a s instruções, o s operandos devem s e r
endereçados. Os modos de endereçamento u t i l i z a d o s p o r e s t e
p r o c e s s a d o r são: a c u m u l a d o r , i m e d i a t o , a b s o l u t o , p a g i n a ze r o , p a g i n a z e r o i n d e x a d o , i n d e x a d o , implícito, r e l a t i v o , i n d e x a d o i m e d i a t o e i n d i r e t o i n d e x a d o e o i n d i r e t o a b s o l u t o . A sequência de execução de um p r o g r a m a é d e f i n i d a através do conteúdo do a p o n t a d o r de p r o g r a m a . Quando um p r o c e s s o p a r t i c u l a r é r e p e t i d o d e n t r o de um p r o g r a m a p o d e s e r e s c r i t o n a f o r m a de s u b - r o t i n a . Sempre
q u e se f i z e r necessário, haverá um d e s v i o , n a sequência de
operações do p r o g r a m a , em direção â s u b - r o t i n a . E s t e d e s v i o
consistirá n a modificação do conteúdo do a p o n t a d o r de p r o g r a
ma. Ao f i n a l i z a r , o seu conteúdo deverá s e r r e s t a u r a d o .
No MCS 6 502 u s a - s e a p i l h a p a r a g u a r d a r e s t e v a l o r
do A p o n t a d o r de p r o g r a m a , a s s i m como o conteúdo do a c u m u l a
d o r e i n d e x a d o r e s . P a r a o s três últimos, a s p r i m e i r a s i n s t r u
ções d a s u b - r o t i n a devem colocá-los n a p i l h a e a s últimas de
vem restaurá-los.
D u r a n t e s u a operação o m i c r o p r o c e s s a d o r i g n o r a o
conteúdo d a s p o r t a s de E/S, a menos q u e s e j a p r o g r a m a d o p a r a
utilizá-las. No e n t a n t o , a c o l e t a de d a d o s t o r n a - s e i m p r a t i cável q u a n d o e s t e s c r e s c e m em número e v e l o c i d a d e . O p r o c e s s a d o r 6 5 0 2 , o f e r e c e a p o s s i b i l i d a d e de i n terrupção do p r o g r a m a em execução p a r a c o l e t a de d a d o s . I s t o se dá através de um comando c o l o c a d o n a v i a de c o n t r o l e , de n o m i n a d o " p e d i d o de interrupção". E s t e comando ê e n v i a d o pe
24
trução q u e e s t a v a s o b execução o f l u x o ê d e s v i a d o p a r a um
p r o g r a m a específico de a t e n d i m e n t o ã interrupção. F i n d o e s t e
p r o g r a m a , o f l u x o é n o v a m e n t e d e s v i a d o p a r a o p o n t o o n d e h a
v i a s i d o i n t e r r o m p i d o .
0 serviço de interrupção é t a l q u e , são automática
m e n t e lançados n a p i l h a , o s conteúdos do A p o n t a d o r de p r o g r a
ma e d o R e g i s t r a d o r de e s t a d o ; a p a r t i r d e s t e p o n t o ê i n i c i a
da a execução do p r o g r a m a de interrupção.
As interrupções podem s e r mascaráveis e não masca
rãveis. No p r i m e i r o c a s o o a t e n d i m e n t o â interrupção pode s e r
a t r a s a d o d e p e n d e n d o do e s t a d o do b i t i n d i c a d o r de interrupção.
Nas interrpções não mascaráveis o a t e n d i m e n t o ê i m e d i a t o , i n
c o n d i c i o n a l .
Em a l g u m a s aplicações, e s t e p r o c e s s a d o r g e r a a s i n
terrupções a i n t e r v a l o s f i x o s , u s a n d o um c o n t a d o r o u " c l o c k "
e x t e r n o . Quando a interrpção (mascarãvel) o c o r r e , o s d a d o s
são c o l o c a d o s e / o u r e t i r a d o s d a s p o r t a s de E/S, e o p r o c e s s a d o r r e t o r n a ao p r o g r a m a q u e e s t a v a s e n d o e x e c u t a d o . 3.4 — Critérios de Seleção A e s c o l h a de um m i c r o p r o c e s s a d o r , d e n t r e a s i n u m e r a s p o s s i b i l i d a d e s , t o r n a - s e m a i s s i m p l e s e o b j e t i v a s e c o n s i d e r a r m o s a l g u n s critérios s e l e t i v o s . C o n s i d e r a n d o a rápida evolução d a t e c n o l o g i a n e s t a área, a e s c o l h a d e v e s e r t a l q u e o p r o c e s s a d o r se a d e q u e âs
n e c e s s i d a d e s i m e d i a t a s do s i s t e m a , mas q u e ofereça um p o t e n c i a i p a r a o f u t u r o . Recomenda-se q u e a decisão r e c a i a i n i c i a l m e n t e s o b r e o t a m a n h o d a p a l a v r a e o c o n j u n t o de instruções q u e s e farão necessárias. A s e g u i r c o n s i d e r a m - s e a v e l o c i d a d e de p r o c e s s a m e n t o e a c a p a c i d a d e de E/S. S a t i s f e i t o s e s t e s critérios, a seleção f i n a l é b a s e a d a n a p o t e n c i a necessária; t e c n o l o g i a ; p a s t i l h a s de a p o i o e preço. Um f a t o r q u e também d e v e s e r c o n s i d e r a d o ê a p o p u l a r i d a d e do p r o c e s s a d o r , q u e i m p l i c a num m a i o r número de f a
b r i c a n t e s a produzí-lo ( o u t r a s f o n t e s ) : e numa documentação
m a i s v a s t a ( l i v r o s , m a n u a i s , a r t i g o s , . . . ) . E s t e s f a t o r e s r e
s u l t a m n a g a r a n t i a d a l o n g e v i d a d e d o p r o c e s s a d o r n o m e r c a d o ,
através de s u a substituição p o r d i s p o s i t i v o s a t u a l i z a d o s , mas
compatíveis. A s s i m , p o d e - s e o t i m i z a r o s i s t e m a no f u t u r o , man t e n d o a c o m p a t i b i l i d a d e com o " h a r d w a r e " e o " s o f t w a r e " já d e s e n v o l v i d o s . E s t e s f o r a m o s critérios a d o t a d o s n a seleção do m i c r o p r o c e s s a d o r MCS 6 5 0 2 , em q u e se b a s e i a o s i s t e m a "taxíme t r o d i g i t a l " .
26
NOTAS
(1) — Os m i c r o p r o c e s s a d o r e s b i p o l a r e s ( T r a n s i s t o r - t r a n s i s
t o r l o g i c - TTL) são rápidos ( a t r a s o n a propagação d a
o r d e m d e n a n o s e g u n d o s ) , mas p o s s u e m b a i x a d e n s i d a d e de
e m p a c o t a m e n t o . A q u e l e s f a b r i c a d o s com a t e c n o l o g i a MOS
( M e t a l - o x i d e s e m i - c o n d u c t o r ) têm a l t a d e n s i d a d e de era
p a c o t a m e n t o , mas um considerável a t r a s o de propagação
p o r g a t e , da o r d e m de n a n o s e g u n d o s . Os m i c r o p r o c e s s a d o 2
r e s da família I L ( I n t e g r a t e d - i n j e c t i o n l o g i c ) c o m b i
nam a d e n s i d a d e de e m p a c o t a m e n t o da família MOS com a
"HARDWARE"
A e s c o l h a d o s b l o c o s c o n s t i t u i n t e s d e um s i s t e m a
de m i c r o c o m p u t a d o r se b a s e i a , p r i n c i p a l m e n t e , n a e s c o l h a d o
m i c r o p r o c e s s a d o r c u j o f a b r i c a n t e ofereça um c o n j u n t o de pas_
t i l h a s q u e com e l e são compatíveis.
No s i s t e m a taxímetro o s f a t o r e s determinísticos d a
e s c o l h a f o r a m : o número de l i n h a s de E/S disponíveis; a e x i s
tência do modo de operação d e c i m a l ; o c u s t o e uma p o p u l a r i d a
de do p r o c e s s a d o r q u e l h e g a r a n t i s s e s u a manutenção no m e r c a
d o ; a existência de documentação s u f i c i e n t e e de f e r r a m e n t a s
4.1 — Componentes do S i s t e m a 28 F o i e s c o l h i d o o m i c r o p r o c e s s a d o r MCS 6 5 0 2 , f a b r i c a do p o r MOS T e c h n o l o g y ( f o n t e p r i n c i p a l ) , o f e r e c i d o também pe l a S y n e r t e k e R o c k w e l . E s t e p r o c e s s a d o r u t i l i z a p a l a v r a s de 8 b i t s e u t i l i z a 16 l i n h a s de endereçamento. P o s s u i : um a c u m u l a d o r , um r e g i s t r a d o r de e s t a d o , d o i s i n d e x a d o r e s , t o d o s de o i t o b i t s .
U t i l i z a interrupções mascaráveis e não mascaráveis.
Dispõe de uma p i l h a de c o m p r i m e n t o variável.
É f a b r i c a d o com a t e c n o l o g i a NMOS, e é a l i m e n t a d o
com + 5 V.
Seu c o n j u n t o de instruções, a p r e s e n t a d o no apêndi_
ce A, c o n s t a de 56 instruções e 13 modos de endereçamento.
C o n s t a no apêndice B, a configuração de seus p i n o s .
O d i s p o s i t i v o de i n t e r f a c e ê o MCS 6 5 3 0 - 0 0 5 ( P e r i
p h e r a l I n t e r f a c e A r r a y - P I A ) , o f e r e c i d o p e l o mesmo f a b r i c a n t e .
C o n s i s t e de uma memória RAM, 6 4 x 8 ; d u a s p o r t a s b i d i r e c i o n a i s
de d a d o s (8 b i t s , c a d a ) e um " T i m e r " programável p a r a g e r a r
interrupções. A direção d o s d a d o s n a s l i n h a s ê programável
através do conteúdo de d o i s r e g i s t r a d o r e s de direção de d a
d o s : RDDA e RDDB. A s u a descrição d o s p i n o s , c o n s t a no apên
d i c e .
A memória de d a d o s é uma RAM de t e c n o l o g i a CMOS ( f a
f a l h a de potência n a f o n t e p r i n c i p a l , as informações p u d e s
sem s e r m a n t i d a s p o r uma f o n t e a u x i l i a r ( b a t e r i a r e c a r r e g a
v e l ) . E s t a é uma m e m o r i a o r g a n i z a d a em 64 p a l a v r a s de q u a t r o
b i t s : NS 74C910.
A m e m o r i a de p r o g r a m a s a s e r u t i l i z a d a n o protõti
p o ê do t i p o EPROM 2708 f a b r i c a d a p o r I N T E L . Sua organização
ê de 1024 p a l a v r a s de o i t o b i t s . Na e s c o l h a de t o d o s o s c o m p o n e n t e s d e s t e s i s t e m a , h o u v e sempre o c u i d a d o com a f a i x a de t e m p e r a t u r a a q u e o d i s p o s i t i v o p o d e r i a s e r s u b m e t i d o , uma v e z q u e a s t e m p e r a t u r a s r e g i s t r a d a s d e n t r o de um automóvel a t i n g e m v a l o r e s c o n s i d e r a v e i s . Também f a z e m p a r t e do s i s t e m a os s e g u i n t e s b l o c o s : - c i r c u i t o de " r e s e t " - c i r c u i t o g e r a d o r d o s p u l s o s de distância - d i s p o s i t i v o s de e n t r a d a ( c h a v e s ) e saída ( " d i s p l a y s " ) - c i r c u i t o de alimentação 0 c i r c u i t o de " r e s e t " é o responsável p e l a deteção d a potência a t i v a e inicialização d o s i s t e m a . N e l e f o i u t i l i z a d o o " t i m e r " MC 1 4 5 5 , f a b r i c a d o p e l a M o t o r o l a . E s t e c i r c u i t o g e r a o s i n a l de c o n t r o l e — " r e s e t " , p a r a t o d o o s i s t e m a . 0 c i r c u i t o g e r a d o r d o s p u l s o s de distância c o n s i s _ t e de um a c o p l a d o r ético - H13B1 ( f a b r i c a d o p e l a General E l e c t r i c ) q u e é i n t e r r o m p i d o p o r um m e i o d i s c o a c o p l a d o ao c a b o do velocímetro, o q u a l g i r a com a v e l o c i d a d e a n g u l a r d o s
30 p n e u s . Os s i n a i s p r o v e n i e n t e s d e s t e c i r c u i t o são i n t r o d u z i d o s n o s i s t e m a através de uma d a s l i n h a s d a P I A . A b a s e de t e m p o d e t e r m i n a a frequência d o s s i n a i s de c l o c k do s i s t e m a . Os d i s p o s i t i v o s de E/S do s i s t e m a , são a s c h a v e s do i n s t r u m e n t o : b a n d e i r a 1 , b a n d e i r a 2, t o t a l i z a d o r a , v e r i f i cação d a s t a x a s , p e d i d o de aferição, a j u s t e g r o s s o , a j u s t e f i no e o s três m o s t r a d o r e s l u m i n o s o s ( " d i s p l a y s " ) , o s q u a i s são c o n e c t a d o s às l i n h a s d a P I A . Os " d i s p l a y s " são m u l t i p l e x a d o s n o t e m p o , através de " s o f t w a r e " ; e a depuração do e s t a d o d a s c h a v e s também ê f e i t a através d a programação. A l e i t u r a do e s t a d o d a s c h a v e s e a atualização d o
conteúdo d o s " d i s p l a y s " são f e i t a s periodicamente (a cada 2 ms)
através de um p e d i d o de interrupção mascarãvel, g e r a d o no
" t i m e r " q u e , n e s t e s i s t e m a , ê p a r t e d a P I A . A alimentação do s i s t e m a ê f e i t a através d a b a t e r i a do veículo o n d e o i n s t r u m e n t o a c h a - s e i n s t a l a d o . Como es t a ê de 13,8 V f a z - s e necessário um r e g u l a d o r de tensão, p o i s o s i s t e m a u t i l i z a + 5V. A s s i m f o i a c o p l a d o a b a t e r i a do c a r r o ( + 1 3 , 8 V) o r e g u l a d o r LM 12 3 f a b r i c a d o p e l a M o t o r o l a q u e
a s s e g u r a n a s u a saída ( + 5 V , 3 A ) , q u e alimentará o sistema e x c e
t u a n d o a meméria de d a d o s . E s t a m e m o r i a será a l i m e n t a d a p e l a
b a t e r i a do veículo através do r e g u l a d o r de tensão MC 78L05C
que f o r n e c e n a s u a saída (+5V, lOOmA); em c a s o de f a l h a s e n
t r a em ação uma b a t e r i a a u x i l i a r de N i C d através d e s t e mes
C o n s t a m a i n d a d e s t e c i r c u i t o : o sistema de a l a r m e ,
i n d i c a n d o através de uma lâmpada n o p a i n e l do i n s t r u m e n t o q u e
h o u v e f a l h a n a b a t e r i a p r i n c i p a l e o s i s t e m a de r e c a r g a da
b a t e r i a a u x i l i a r .
402 — Configuração d o S i s t e m a
A F i g . I V . 1 ê um d i a g r a m a de b l o c o s do s i s t e m a .
4 . 3 — Endereçamento d a s P a s t i l h a s
0 endereçamento d a s memórias ê flexível, n o e n t a n
t o o endereçamento da P I A , já vem com determinações do f a b r i
c a n t e . De a c o r d o com a s equações f o r n e c i d a s p e l o f a b r i c a n t e e a l o c a n d o a memória de d a d o s n a página z e r o , t e m o s a s e g u i n t e distribuição: - Memória de d a d o s ( 7 4 C 9 1 0 ) ; 64 p a l a v r a s de q u a t r o b i t s , a l o c a d a s n o s endereços ( 0 0 0 0 - 0 0 3 F )
Equação de seleção: A15.A7
- Memória RAM c o n s t a n t e d a P I A (MCS 6 5 3 0 - 0 0 5 ) ; 64
p a l a v r a s de 8 b i t s , a l o c a d a s n o s endereços
( 0 0 8 0 - 0 0 B F )
VIA DE E N D E R E Ç O S S I o > «a > o O 13 > <= a 1 S . o o o . 5 5 < s; CD — (.11 a C/3 o ' 1 o) 2 3
I s
2* CD CD "5 — oo o , _ S? > CO a. 3 o cn 33 j> CD 0> 3 m M 2 O- z (/> 1 >*
O o > m 10 2 õ w 1 1 "D § 2 2 — m 2 z -1 O. m t -> o m m -4 PR O O CD o + o» _< >c r x <i - > r o a > d + cn .< PR - O A L + cn .< Z o 2 W > •-IPA L ENTA -o > 33 O- M e m o r i a de p r o g r a m a EPROM ( 2 7 0 8 ) ; 1024 p a l a v r a s
de 8 b i t s , a l o c a d a s n o s endereços ( 8 0 0 0 - 8 3 F F )
Equação de seleção: A15
- R e g i s t r a d o r e s de E/S d a P I A : r e g i s t r a d o r de d a d o s d a p a r t e A - RDA, r e g i s t r a d o r de direção de d a d o s d a p a r t e A - RDDA; r e g i s t r a d o r de d a d o s d a p a r t e B-RDB; r e g i s t r a d o r de direção de d a d o s d a p a r t e B - RDDB. T o d o s e s t e s r e g i s t r a d o r e s são p a l a v r a s de 8 b i t s . R e g i s t r a d o r Endereço RDA 02C0 RDDA 0 2 C 1 RDB 02C2 RDDB 02C3
A equação de seleção d o s r e g i s t r a d o r e s de E/S é :
A15.A9.A8.A7.A6 O r e g i s t r a d o r " T i m e r " c o n t i d o n a P I A a r m a z e n a uma p a l a v r a de o i t o b i t s , e t e m a s e g u i n t e equação de seleção: A15.A8.A7.A6 ( 0 1 8 0 - 7FBF) q u e l h e dã a s p o s s i b i l i d a d e s de endereçamento d e s c r i t a s a s e g u i r . Sua e s c o l h a d e f i n i r a o número de i n t e r v a l o s de t e m p o a s e r c o n t a d o .
END. 0184 v 1 T 0185 v 8 T 0186 r 64 T 0187 * 1024 T 018C r 1 T 018D -f 8 T *018E t 64 T 018F t 1024 T (período de c l o c k ) A 3 = 0 , Interrupções d e s a t i v a d a s A 3 = l , Interrupções a t i v a d a s (*) Endereçamento do " T i m e r " u t i l i z a d o p e l o s i s t e m a .
"SOFTWARE" A programação do taxímetro f o i d e s e n v o l v i d a n a l i n guagem " a s s e m b l y " do m i c r o p r o c e s s a d o r MCS 6 5 0 2 . (o seu c o n j u n t o de instruções e n c o n t r a - s e no apêndice A ) . A m o n t a g e m em l i n g u a g e m de máquina f o i f e i t a m a n u a l m e n t e ; e n a s f a s e s de depuração e t e s t e s f o i u t i l i z a d o o m i c r o c o m p u t a d o r K I M - 1 (Ca p l t u l o I V ) . N e s t e s i s t e m a , a s interrupções f o r a m u s a d a s p a r a q u e o m i c r o p r o c e s s a d o r p u d e s s e r e g i s t r a r o e s t a d o d o s d i s p o s i _ t i v o s de e n t r a d a e saída ( c h a v e s , d i s p l a y s e c i r c u i t o g e r a d o r de p u l s o s de d i s t â n c i a ) . A e s c o l h a do i n t e r v a l o de 2 ms e n t r e a s i n t e r r u p _
ções f o i f e i t a b a s e a d a n a e s t i m a t i v a d a frequência máxima de
36 O " s o f t w a r e " d o taxímetro p o d e s e r d i v i d i d o em três b l o c o s , como m o s t r a o F l u x o O p e r a c i o n a l ( F i g . V . 5 ) . Quando o s i s t e m a ê l i g a d o , e e x e c u t a d a a R o t i n a d e Inicialização p a r a em s e g u i d a e n t r a r n a M a l h a P r i n c i p a l . E s t a será i n t e r r o m p i d a a c a d a 2 ms p o r um p e d i d o de interru£ ção, g e r a d o n o T i m e r . E s t e p e d i d o p r o v o c a um d e s v i o p a r a a R o t i n a de A t e n d i m e n t o â Interrupção, q u e apôs s e r e x e c u t a d a d e v o l v e o comando ã M a l h a P r i n c i p a l n o p o n t o o n d e f o i i n t e r r o m p i d a . 5,1 — Descrição do " S o f t w a r e " 5.1.1 — R o t i n a de Inicialização ( R I ) E x e c u t a d a s e m p r e q u e o s i s t e m a é l i g a d o . Ê a r e s
ponsãvel p e l a inicialização d o s r e g i s t r a d o r e s : APO, RDDA, RDDB
e TIMER ( I t e m 5 . 2 . 1 ) . L i m p a a m e m o r i a de r a s c u n h o e c o n v e r t e
as u n i d a d e s d a s t a x a s :
preço/Km • preço/giro do p n e u
preço/hora »• preço/2 ms
q u e serão u t i l i z a d a s n o cálculo do preço da passagem ( F i g . V . 6 ) .
Na F i g . V . l vemos o esquema q u e r e l a c i o n a a s s u b - r o
t i n a s de a p o i o â R o t i n a de Inicialização. A s s e t a s h o r i z o n