Escolar Documentos
Profissional Documentos
Cultura Documentos
Controlador de Tráfego: Semáforo Inteligente: Aluno: Saulo Cirineu Araújo - RA: 2021868/0
Controlador de Tráfego: Semáforo Inteligente: Aluno: Saulo Cirineu Araújo - RA: 2021868/0
Braslia, DF
Dezembro/2006
SAULO CIRINEU ARAJO
Braslia, DF
Dezembro/2006
iii
AGRADECIMENTOS
Ao professor Claudio Penedo, por reservar boa parte de seu apertado tempo para ajudar seus
orientandos.
Aos colegas de trabalho, por terem se interessado tanto por este trabalho.
Ao Merlin, assistente do MS Office, por ter feito companhia em toda a confeco desta
monografia.
RESUMO
ABSTRACT
Control the traffic in efficient way is trying to solve the challenging transit problem
in urban centers, which are being more difficult to pass through due to amount of vehicles that
pass daily. Traffic light, when used correctly, is an excellent traffic controller, because it
possess the characteristic to intervene in the rights of crossing for the different movements,
organizing the transit at intersections, diminishing the conflicts, increasing the draining
capacity and reducing the frequency of accidents. This project proposes a traffic controller
that has sufficient intelligence to adapt itself in function of the demand, and then regulate
green time proportionally to the traffic flow in order to diminish vehicle delay.
SUMRIO
LISTA DE FIGURAS.................................................................................................. IX
LISTA DE TABELAS ................................................................................................. XI
LISTA DE ABREVIATURAS...................................................................................XII
CAPTULO 1 INTRODUO ..................................................................................1
CAPTULO 2 INTERSEES..................................................................................2
2.1 Movimento e Aproximao ...........................................................................................5
2.2 Controle de Intersees..................................................................................................8
2.2.1 Tipos de Controladores.............................................................................8
2.2.2 Estratgia de Operao .............................................................................9
2.2.3 Controle Isolado do Cruzamento ..............................................................9
2.2.4 Controle Arterial de Cruzamentos (Rede Aberta) ..................................11
2.2.5 Controle de Cruzamento em rea (Rede Fechada) ................................14
CAPTULO 3 CRITRIOS PARA INSTALAO DE SEMFOROS .............19
3.1 Condies para instalao de Semforos ...................................................................19
3.1.1 Mnimo Volume de Fluxo em Todas as Aproximaes .........................20
3.1.2 Interrupo de Trfego Contnuo ...........................................................22
3.1.3 Volumes Conflitantes em Intersees com Muitas Aproximaes ........22
3.1.4 Volumes Mnimos de Pedestres que Cruzam a Via Principal ................23
3.1.5 ndice de Acidentes ................................................................................23
3.1.6 Melhoria do Sistema Progressivo ...........................................................25
3.1.7 Controle de reas Congestionadas .........................................................25
3.1.8 Combinao de Critrios ........................................................................25
3.2 Visibilidade ...................................................................................................................25
CAPTULO 4 RECURSOS DE CONTROLE........................................................27
4.1 Sincronismos com Outros Semforos .........................................................................27
4.2 Programao de Planos de Trfego ............................................................................31
4.2.1 Tempo de Ciclo ......................................................................................31
4.2.2 Porcentagem de Tempos de Verde de Cada Fase ...................................31
4.2.3 Defasagem ..............................................................................................33
4.3 Estratgias de Controle Comutveis ..........................................................................34
4.3.1 Sistemas com planos de trfego que variam segundo a hora do dia.......35
4.3.2 Sistemas com variao segundo o trfego ..............................................36
4.3.3 Sistema Centralizado de Controle por Computador ...............................37
CAPTULO 5 REGULAGEM DE SEMFOROS ISOLADOS...........................39
5.1 Capacidade e Fluxo de Saturao ...............................................................................39
5.2 Estimativa do Fluxo de Saturao e Tempo Perdido ................................................42
5.2.1 Fluxo de Saturao .................................................................................42
5.2.2 Tempo Perdido .......................................................................................43
viii
LISTA DE FIGURAS
LISTA DE TABELAS
LISTA DE ABREVIATURAS
Como a nica exigncia para possuir uma Carteira Nacional de Habilitao (CNH)
ter mais de 18 anos e ter condies fsicas e mentais mnimas, o nmero de elegveis a possuir
uma habilitao para conduzir um veculo est crescendo h vrios anos, e assim tende a
continuar.
Com a facilidade de comprar um veculo, usado ou novo, seja por meio de longos
financiamentos, ou no, existe a tendncia de chegar ao patamar de um veculo por CNH, o
que um nmero um tanto assustador, considerando que existem aproximadamente 41,5
milhes 2 de CNHs ativas no Brasil.
As vias urbanas devem ser preparadas para se adaptar ao grande volume de trfego
passante diariamente e grande variao que ocorre durante um dia. Para isto, o modelo de
controle de intersees de estratgia fixa j no mais a melhor forma de controle, pois existe
a necessidade de alterar a estratgia em funo da demanda. Neste contexto, o presente
trabalho prope o desenvolvimento de um semforo inteligente e totalmente atuado que faa o
controle do trfego passante em uma interseo conforme a demanda local.
1
Fonte: IBGE, censo demogrfico 2000.
2
Fonte: DENATRAN, referente a agosto de 2006.
2
CAPTULO 2 INTERSEES
Duas sero as anlises a serem feitas para escolher o tipo do controlador, tempo fixo
ou atuado:
Essa proposta tem como princpio bsico que os veculos ao receberem autorizao
de movimento atravessam o cruzamento em blocos e assim continuam at alcanar o
semforo seguinte.
(s)
(m)
Para uma correta coordenao dos semforos de uma via arterial necessrio, ainda,
considerar alguns fatores bsicos [DENATRAN, Manual de Semforos, 1984]:
0,5 x . q max
i= 1 (2.1)
1 + t q1 + q 2 + ... + q n
onde:
i = ndice de interdependncia
17
x = nmero de faixas
48000
Vm = = 800m / min
60
18
250
t= = 0,31 min
800
0.5 3.800
i= 1
1,31 800 + 150 + 50
2400
i = 0,38 1
1000
i = 0,53
Existem algumas medidas que devem ser consideradas antes mesmo de iniciar os
estudos para a implantao de um semforo [DENATRAN, Manual de Semforos, 1984]:
Melhoria da iluminao;
Se nenhuma dessas alternativas for suficiente para resolver o problema, ento deve-
se decidir pela utilizao do semforo.
5. ndice de acidentes;
8. Combinao de critrios.
Tabela 3.1 Volumes mnimos de trfego que justificam a instalao de um semforo por
volumes veiculares mnimos
Supondo uma via preferencial com dois sentidos de trfego e uma faixa de
aproximao, e uma via secundria com mo nica e duas faixas de aproximao, tem-se o
seguinte volume de trfego hipottico:
1
Oito horas de maior movimento na interseo.
22
Com base na Tabela 3.2 calculada a mdia dos horrios de maior movimento para
ambas as vias, conforme Tabela 3.3.
Tabela 3.4 Volumes mnimos de trfego que justificam a instalao de um semforo por
interrupo de trfego contnuo.
Em uma interseo que possua cinco ou mais aproximaes, conforme ilustrado pela
Figura 3.2, e um volume de trfego de mais de 800 veculos por hora, a implantao do
semforo justificada desde que seja descartada a possibilidade de transformar a interseo
em outra equivalente com um nmero igual ou inferior a quatro aproximaes.
23
Nos locais onde muitos pedestres cruzam a via principal, pode ser necessria a
instalao de semforos para auxiliar a travessia ou para evitar o congestionamento de
veculos, caso haja um faixa sinalizada de pedestres.
Em vias com sistema coordenado de semforos pode ser desejvel instalar um novo
semforo para ajustar a velocidade de progresso ou com o objetivo de melhorar a formao
dos pelotes.
3.2 Visibilidade
Este recurso permite que um semforo sincronize com o semforo adjacente quando
o movimento de sada deste semforo para o prximo no se comporta de forma constante, a
exemplo das Figuras 4.1a e 4.1b.
(s)
Figura 4.3c Via principal (via horizontal) com permisso de passagem na interseo B,
porm proibio de passagem na interseo A, gerando um desperdcio de capacidade.
Fonte: Manual de Semforos
Caso um semforo se encontre muito distante de seu adjacente, este poder ser
considerado um semforo isolado e no haver necessidade de sincronizao.
31
O volume de veculos que passam por uma interseo varia ao longo do dia e da
semana. Com isso necessrio variar os planos de controle de trfego para que haja um
controle eficiente do trnsito. Essa flexibilidade atingida se o tempo de ciclo, porcentagem
dos tempos de verde de cada fase e defasagem forem variveis permissveis a alteraes por
parte do controlador de trfego.
4.2.3 Defasagem
Em ruas de mo dupla, a exemplo da Figura 4.6, pode no ser possvel adotar uma
defasagem tima para ambos os sentidos, pois o que pode ser bom para um sentido atrapalha
o seu inverso.
34
A soluo mais vivel nestes casos escolher uma defasagem que favorea o sentido
de maior movimento. Freqentemente os volumes nos sentidos 1 e 2 no mantm alguma
proporcionalidade.
Se a Tabela 4.1 for considerada pare este caso, seria necessrio ajustar a defasagem
para favorecer o sentido 1 pela manh e reajust-la para favorecer o sentido 2 durante a tarde.
Tabela 4.1 Volume de veculos nos horrios de pico em uma via de mo dupla.
certo que o volume de trfego sofre variaes durante o dia. E para atender essas
variaes existem trs sistemas bsicos de operar um cruzamento: sistemas com planos de
trfego que variam segundo a hora do dia, sistemas com variao segundo o trfego e sistema
centralizado por computador.
35
4.3.1 Sistemas com planos de trfego que variam segundo a hora do dia
Volume (veculos)
(h)
No exemplo acima, se for utilizado trs planos, ter-se-ia os valores da Tabela 4.3:
Este sistema no introduz nenhum novo mtodo de controle, apenas permite realizar
algumas aes em tempo mnimo e facilita uma srie de tarefas, relacionadas a seguir:
Com base neste conceito, assume-se que a taxa de escoamento que passa pelo
semforo a mxima possvel, ou seja, igual ao fluxo de saturao. A capacidade de uma
via interrompida por um semforo determinada pelo fluxo de saturao e pelo tempo de
verde oferecido pelo semforo. [Leite, Engenharia de Trfego,1980]
40
A capacidade de uma aproximao (em veculos por hora) e o verde efetivo (em
segundos) podem ser calculados da seguinte forma:
g ef
capacidade = S (5.1)
C
sendo:
g ef = g + t a I (5.2)
onde:
S = 525 . L (5.3)
onde:
Esse tempo perdido a diferena entre o perodo de verde efetivo com a soma dos
tempos de verde e amarelo.
Assim,
I = (g + t a ) g ef (5.4)
onde:
No caso de haver vermelho geral, este ser considerado como tempo perdido, e a
expresso para calcular o tempo total perdido dada por:
44
( )
n n
T p = I i + I t ai (5.5)
i =1 i =1
onde:
A determinao do tempo de ciclo deve ser feita de forma a causar o menor atraso
possvel interseo como um todo e os tempos de verde devem ser divididos
proporcionalmente em relao s suas taxas de ocupao.
qi
yi = (5.6)
Si
45
onde:
qi
Xi =
capacidade
qi
Xi =
g ef
Si
C
Portanto,
C
X i = yi (5.7)
g ef
onde:
O grau de saturao sempre maior que a taxa de ocupao, j que o tempo de ciclo
sempre maior que o perodo de verde efetivo de uma fase.
2000
y= = 0,5
4000
24
Porcentagem de verde efetivo = = 0,6
40
0,5
X = = 0,83
0,6
Deste modo, a taxa de ocupao y igual a 0,5. Isto significa que a solicitao da
aproximao a metade da sua capacidade mxima de atendimento. Utilizando o tempo de
verde efetivo de 24 segundos, a capacidade de atendimento da aproximao reduz em 40%, o
que resulta em uma taxa de ocupao relativa (grau de saturao) de 83%.
g ef . Si qi . C (5.8)
Caso ambos os lados da equao forem iguais, tem-se a situao limite, o qual o
tempo de verde efetivo suficiente para escoar exatamente a demanda ocorrida no ciclo. Esta
situao est ilustrada na Figura 5.2.
47
Figura 5.2 Formao e extino da fila em uma aproximao e tempo mnimo de verde
efetivo.
Fonte: Manual de Semforos
O tempo do ciclo igual soma do verde efetivo com o tempo perdido total de cada
fase, portanto:
C min = T p + i =min1 g ef
n
(5.9)
ou
Tp
C min = (5.10)
1Y
48
onde:
nmin
i =1
g ef = somatrio dos tempos de verde mnimo de cada fase do cruzamento.
n
Y= i =1
y = somatrio das taxas de ocupao de cada fase do cruzamento.
Utilizar o ciclo mnimo significa supor que a demanda seja sempre constante, o que
no ocorre na prtica, pois o trfego de veculos um processo aleatrio, gerando uma
variao, em torno de um valor mdio, nos fluxos de chegada e escoamento.
No havendo tempo de folga disponvel no ciclo, evitar que a fila excedente seja
escoada, podendo se tornar cada vez maior e gerando uma situao de congestionamento
(atraso aleatrio grande).
Em um cruzamento sem tempo de folga (ciclo mnimo), se houver fila excedente sua
extenso tender ao infinito. Contudo, isso no ocorre na prtica, pois os motoristas quando
percebem um congestionamento alteram a rota em busca de caminhos alternativos.
Para evitar este problema necessrio que o tempo de ciclo de uma interseo seja
sempre maior que o tempo de ciclo mnimo. Caso contrrio o equilbrio demanda/atendimento
torna-se instvel e qualquer variao do fluxo levar a uma possibilidade potencial de
congestionamento.
O atraso total de uma aproximao composto por duas parcelas, atraso uniforme e
atraso aleatrio. [DENATRAN, Manual de Semforos, 1984]
Com base no mtodo de Webster, pode-se enunciar uma frmula para calcular o
atraso mdio total sofrido por um veculo:
1
c (1 ) c
2
X2 3
d= + 0,65 2 X 2+5 (5.11)
2 (1 x ) 2q (1 X ) q
onde:
g ef
= relao entre tempo de verde efetivo e tempo de ciclo ( );
ciclo
X = grau de saturao;
c (1 )2 X2
d = 0,9 + (5.12)
2 (1 x ) 2 q (1 X )
1,5 T p + 5
C0 = (5.13)
1Y
onde:
Apesar de esta equao ser uma aproximao bastante ideal, deve-se tomar alguns
cuidados antes de aplicar seus resultados em um cenrio real, pois quando o volume de
trfego baixo, o tempo de ciclo timo se tornar pequeno. Para efeitos prticos, e tambm
por razes de segurana, recomendado adotar como tempo mnimo de ciclo o valor de 30 a
35 segundos.
O atraso total causado ao trfego mnimo se o tempo total de verde efetivo do ciclo
timo for distribudo proporcionalmente s taxas de ocupao crtica (y crit ) de cada fase.
Considerando uma interseo de duas aproximaes, ter-se-ia:
g ef 1 y crit1
= (5.14)
g ef 2 y crit 2
onde:
y crit i
g ef i = (C 0 T p ) (5.15)
Y
onde:
De posse do valor de verde efetivo de cada fase, pode-se calcular o tempo de verde
real:
g i = g ef i + I i t a i (5.16)
onde:
O Manual de Semforos define onze etapas a serem seguidas para elaborar um plano
de trfego para um semforo isolado:
Abaixo esto numeradas algumas relaes consideradas teis e citadas pelo Manual
de Semforos:
1
p= (5.17)
1+
onde:
r
N = q + d (5.18)
2
onde:
B
d = c. A + Cp (5.19)
q
onde:
A=
(1 )2 ;
2(1 x )
x2
B= ;
2(1 x )
2Y
X0 = (5.20)
1+ Y
onde:
CAPTULO 6 IMPLEMENTAO
O sensor infravermelho foi escolhido para este trabalho devido a sua simplicidade de
implementao e baixo custo. Porm, em uma situao real, seu uso no seria recomendvel,
j que estaria diretamente sob influencia da luz solar, gerando uma grande interferncia. Nesta
situao os melhores sensores seriam aqueles j utilizados por radares eletrnicos de
velocidade (popularmente conhecido como pardal), o qual se utiliza do fenmeno natural da
induo para detectar os veculos.
Cada sensor constitudo por dois circuitos, ilustrados na Figura 6.5. No primeiro
circuito o LED IR diretamente polarizado e ligado em srie com um resistor de 330 .
Desta forma o LED est sempre emitindo luz infravermelha, que ser captada pelo
fotossensor caso um corpo se projete a frente do sensor. O segundo circuito composto de um
fotossensor inversamente polarizado, com seu catodo ligado em paralelo a um resistor de 22
K e a base de um transistor BC548, que funciona como uma porta lgica. Quando o
fotossensor receber luz infravermelho ir gerar uma corrente contrria, em relao
60
polarizao do resistor de 22K, fazendo com que a corrente neste segmento tenda a zero,
bloqueando a passagem de carga no transistor. Portanto, neste circuito o resistor tem um papel
de regulador na sensibilidade do sensor, quanto maior for sua resistncia menor ser a
quantidade de luz incidente no fotossensor para que a corrente eltrica neste segmento tenda a
zero.
Foram utilizados quinze sensores, sendo nove sensores na via principal (trs faixas
por trs filas) e seis na via secundria (duas faixas por trs filas), conforme ilustrado na Figura
6.6.
61
Com base nos dados captados pelos sensores, o controlador de semforo poder
tomar as seguintes decises: alterar o tempo total de verde disponvel para cada via, de forma
independente; diminuir o tempo previsto de verde; e no mais fornecer perodos de verde a
uma determinada aproximao. Cada deciso depender da situao corrente da via, e ser
explicada mais a frente.
6.2.1 Temporizao
O tempo a grandeza mais crtica para um semforo, pois sua funo mais
importante exatamente controlar os tempos de verde de cada aproximao. O PIC16F72
possui trs timers independentes, TIMER0, TIMER1 e TIMER2, cada um com caractersticas
distintas entre si (vide apndice C).
TIMER0
Esse timer foi utilizado para controlar o tempo de verde, cujo perodo, em segundos,
armazenado na varivel tempoverde (vide apndice B), e esta decrementada a cada
segundo at chegar ao valor zero.
63
TIMER1
TIMER2
Este timer tambm foi configurado para fornecer um tempo de um segundo e sua
utilizao das mais variadas, podendo servir para controlar o tempo de amarelo, de
vermelho, de amarelo intermitente, entre outros.
6.2.2 Decises
todos os veculos que chegaram interseo durante o perodo de vermelho poder gerar um
congestionamento.
Passaram
N S Efetiva a demanda da
30
segundos? aproximao coletada.
Passou
A fila de algum
N veculos S N
carro nos
est cheia? ltimos 10
seg.?
Realiza troca de
permisso.
O prottipo considera que trs clculos consecutivos (um minuto e meio) com a
demanda da aproximao igual a zero so suficientes para no conceder o tempo de verde
para aquela aproximao.
Devolve permisso
a tempo de verde.
6.3 Cenrio
O cenrio ser composto por duas avenidas que se cruzam com um ngulo de 90,
sendo uma via arterial (avenida principal) de trs faixas, e uma via de ligamento (avenida
secundria) de duas faixas, conforme ilustra a Figura 6.10.
68
Para calcular o fluxo de saturao (seo 5.2.1) ser assumido que nesta interseo
at 10% dos veculos que passam pelo cruzamento faro a converso direita (caso a origem
do movimento seja a via principal), ou esquerda (caso a origem do movimento seja a via
secundria), e que seja proibido o estacionamento de veculos rente ao meio-fio. Cada faixa
possui 3,1 metros de largura. Portanto pode-se utilizar a Equao 5.3 para estimar o fluxo de
saturao de ambas as vias:
Os tempos de amarelo devem garantir uma travessia segura dos condutores que no
tiverem tempo hbil para parar seus veculos. Considerando 6,2 metros de interseo a ser
vencida pelo condutor que trafega na via principal a 30 Km/h e 9,3 metros a 20 km/h para o
condutor que trafega na via secundria, tem-se:
Enquanto o veculo que trafega na avenida principal necessita de 0,74 segundos para
atravessar a interseo, o veculo que trafega na via secundria necessitar de 1,67 segundos.
O Manual dos Semforos indica um tempo mnimo de trs segundos de amarelo, enquanto em
Braslia so adotados oito segundos. O tempo de amarelo adotado neste cenrio ser de seis
segundos, obtidos na mdia entre o tempo mnimo indicado pelo Manual dos Semforos (trs
segundos) e tempo mnimo adotado em Braslia (oito segundos):
8s + 3s
= 5,5s 6s
2
O volume de pedestres que atravessam ambas as vias de at 200 pessoas por hora,
o que considerado baixo o suficiente a ponto de no interferir no projeto.
71
CAPTULO 7 CONCLUSO
Como sugesto para trabalhos futuros, poderia ser feita uma interface de
comunicao entre um computador e o controlador de semforo, a fim de gerar estatsticas
dirias, relatrios e configurar o controlador de trfego com diversas opes, como o mnimo
e o mximo tempo de verde, por exemplo. Alm disso, tambm pode-se projetar um conjunto
de semforos que se comunicam a fim de sincronizar os tempos de verde com o objetivo de
implantar um sistema de rede aberta (onda verde) ou rede fechada.
72
BIBLIOGRAFIA
PALM, William J. Modeling for Real-Time Traffic Control in The Rhode Island
Intelligent Road. Rhode Island Unversity. 2002.
ANDRADE, Luciana Barbosa de. Animatrnicos. Braslia. 2005. 101p. Monografia. Curso
de Engenharia de Computao. Centro Universitrio de Braslia.
Material empregado:
1x tbua MDF6 70 x 70 cm;
15x pea redonda de MDF3 de 3 cm de dimetro e trs furos de 5 mm;
4x pea retangular de MDF3 1 x 3 cm com trs furos de 5 mm;
Tinta acrlica nas cores branco, preto e verde;
Lixa para madeira
Pistola e refil de cola-quente;
Fita crepe;
Lpis;
Borracha;
Compasso;
Rgua.
Feito o desenho, o passo seguinte fazer os furos no local demarcado com a ajuda
de uma furadeira utilizando brocas de 30 e 10 mm para madeira e uma lixa para dar o
acabamento, o resultado pode ser visto na Figura A.3.
75
Agora a tbua est pronta para ser pintada. Para evitar borres na pintura, foi
colocada a fita crepe sobre o desenho, delimitando a rea da pintura conforme a cor. A Figura
A.4 demonstra a delimitao e pintura da faixa de pedestre e rea verde.
Para pintar a regio do asfalto com uma cor cinza escuro, foi necessrio fazer a
mistura da tinta branca com a tinta preta. A pintura desta regio est ilustrada na Figura A.5.
Aps a secagem da tinta necessrio retirar a fita crepe para dar continuidade
pintura. O resultado pode ser visto na Figura A.6.
77
O mesmo procedimento deve ser adotado para pintar a calada: utiliza-se a fita crepe
para demarcar o local a ser pintando, e a cor adotada foi o cinza claro, resultado da mistura da
tinta branca com a tinta preta. Aps a secagem da tinta, foi retirada a fita, conforme mostra a
Figura A.7.
Aps a pintura dos elementos macros, a vez de pintar os detalhes. Neste momento
foi pintado os pequenos defeitos originados pela pintura, como brechas e pequenos borres,
conforme mostra a Figura A.8.
Neste ponto o cenrio est quase todo pintando, restando apenas fazer as faixas
retilneas. Para isto foram desenhadas com o lpis todas as faixas e ento delimitada a rea de
pintura com a fita crepe. Este passo pode ser visualizado na Figura A.9.
79
O resultado aps a solda e isolamento de todos os contatos dos LEDs que compem
o sensor pode ser visto na Figura A.12.
O resultado final de todo a montagem do circuito pode ser visto na Figura A.13.
#include <P16F72.INC>
ORG 00h
goto inicio ; pula o vetor de interrupes
int_RB0
incf q2_inst,1 ; Incrementa a varivel de demanda instantnea da
Aprox. 2
bcf INTCON,1 ; Libera interrupo de RB0
return
movwf T2CON
clrf TMR2 ; Zera TMR2
movlw b'11000000' ; Ativa as interrupes...
movwf INTCON ; ...Interrupes Globais (GIE) e perifricos
(PEIE)
;Iniciando os semforos: piscar os amarelos
movlw d'4' ; Prepara para piscar o...
movwf fila ; ...semforo 4 vezes
movlw b'00011000' ; Inicializa a variavel de controle
movwf controle
bsf T2CON,2 ; Dispara TIMER2
piscar
bsf PORTC,2 ; Liga RC2 (AMARELO - S1)
bsf PORTC,5 ; Liga RC5 (AMARELO - S2)
movlw d'1' ; 1 segundo de espera
movwf tempotmr2
call espera ; Chama rotina de espera
bcf PORTC,2 ; Desliga RC2 (AMARELO - S1)
bcf PORTC,5 ; Desliga RC5 (AMARELO - S2)
movlw d'1' ; 1 segundo de espera
movwf tempotmr2
clrf TMR2 ; Zera TMR2
call espera ; Chama rotina de espera
decfsz fila,F ; decrementa e testa a varivel, se zero: pra o
pisca-pisca
goto piscar
bsf PORTC,3 ; Liga RC3 (VERMELHO - S1)
bsf PORTC,6 ; Liga RC6 (VERMELHO - S2)
movlw d'3' ; Aguarda 3 segundos - ambas as vias em vermelho
movwf tempotmr2
clrf TMR2 ; Zera TMR2
call espera ; Chama rotina de espera
bcf T2CON,2 ; Desliga TIMER2
bcf PORTC,3 ; Desliga RC3 (VERMELHO - S1)
bsf PORTC,1 ; Liga RC1 (VERDE - S1)
;Ativa TIMER0
movlw d'16' ; Inicialza varivel de controle do TIMER0...
movwf ctrltmr0 ; ...para durao de 1 segundo
clrf TMR0 ; Zera o TIMER0
;Ativa o restante das interrupes
bsf INTCON,3 ; Ativa interrupo de RB<7:4>
bsf INTCON,5 ; Ativa interrupo de TIMER0
filaS1
clrf fila ; Limpa a varivel da fila
btfss PORTA,4 ; Verifica se h carro sobre sensor
incf fila,F ; Se houver, incrementa a fila
btfss PORTA,5 ; Verifica se h carro sobre sensor
incf fila,F ; Se houver, incrementa a fila
btfss PORTB,1 ; Verifica se h carro sobre sensor
incf fila,F ; Se houver, incrementa a fila
btfss PORTB,2 ; Verifica se h carro sobre sensor
incf fila,F ; Se houver, incrementa a fila
btfss PORTB,5 ; Verifica se h carro sobre sensor
incf fila,F ; Se houver, incrementa a fila
btfss PORTB,6 ; Verifica se h carro sobre sensor
incf fila,F ; Se houver, incrementa a fila
btfss PORTB,7 ; Verifica se h carro sobre sensor
incf fila,F ; Se houver, incrementa a fila
btfss PORTC,0 ; Verifica se h carro sobre sensor
incf fila,F ; Se houver, incrementa a fila
btfss PORTC,7 ; Verifica se h carro sobre sensor
incf fila,F ; Se houver, incrementa a fila
movf fila,W
addlw d'247' ; Soma o valor da fila com 247
btfsc STATUS,C ; Se houver bit de carry...
call fila_cheiaS1 ; ...a fila est cheia, pode ser necessrio
trocar o verde
btfss controle,3 ; Verifica se S1 est bloqueado
call libera_S1
goto loop ; Pula verificao da fila de S2
filaS2
clrf fila ; Limpa a varivel da fila
btfss PORTA,0 ; Verifica se h carro sobre sensor
incf fila,F ; Se houver, incrementa a fila
btfss PORTA,1 ; Verifica se h carro sobre sensor
incf fila,F ; Se houver, incrementa a fila
btfss PORTA,2 ; Verifica se h carro sobre sensor
incf fila,F ; Se houver, incrementa a fila
btfss PORTA,3 ; Verifica se h carro sobre sensor
incf fila,F ; Se houver, incrementa a fila
btfss PORTB,0 ; Verifica se h carro sobre sensor
incf fila,F ; Se houver, incrementa a fila
btfss PORTB,4 ; Verifica se h carro sobre sensor
incf fila,F ; Se houver, incrementa a fila
movf fila,W
addlw d'251' ; Soma o valor da fila com 251
btfsc STATUS,C ; Se houver bit de carry...
bsf controle,2 ; ...a fila est cheia, pode ser necessrio
trocar o verde
btfss controle,4 ; Verifica se S2 est bloqueado
call libera_S2
loop
goto main ; Loop infinito
libera_S2
movlw 0xFF ; Joga o valor 255 em W
90
fila_cheiaS2
clrf presenca ; Limpa varivel
95
end
96
Ciclo de Instruo
O circuito interno do PIC divide o clock em quatro fases independentes, Q1, Q2, Q3
e Q4. Essas quatro pulsaes do origem a um ciclo de instrues, ou simplesmente ciclo de
mquina.
Pipeline
Oscilador
Tipo do Freqncia do
C1 C2
Oscilador Cristal
32 kHz 33 pF 33 pF
LP
200 kHz 15 pF 15 pF
200 kHz 56 pF 56 pF
XT 1 MHz 15 pF 15 pF
4 MHz 15 pF 15 pF
4 MHz 15 pF 15 pF
HS 8 MHz 15 pF 15 pF
20 MHz 15 pF 15 pF
Registrador STATUS
O registrador STATUS pode ser utilizado como operando em uma instruo lgica
ou aritmtica. Porm, quando isso acontece no possvel escrever nos bits C, DC e Z. O
recomendvel que quando houver a necessidade de alterar este registrador, seja usada uma
instruo que no afete o estado desses trs bits.
Bit 4 (TO): bit somente para leitura, indica se houve timeout do watch dog: 1
= aps ser ligado ou aps as instrues CLRWDT e SLEEP, 0 = ocorreu o
timeout do WATCHDOG;
Bit 1 (DC): indica se houve bit de carry da quarta para a quinta casa menos
significativa: 1 = houve carry, 0 = no houve carry;
105
Registrador OPTION
Bit 2, bit 1 e bit 0 (PS2, PS1 e PS0): seleciona a taxa do prescaler, conforme
Tabela C.4. Caso haja a necessidade do TIMER0 operar em proporo 1:1, o
prescaler dever ser designado para o WATCHDOG.
106
Registrador INTCON
Bit 1 (INTF): indica que ocorreu uma interrupo em RB0 devido a mudana
de estado previamente configurada no bit INTEDG do registrador OPTION:
1 = uma interrupo externa ocorreu, 0 = uma interrupo externa no
ocorreu;
Bit 0 (RBIF): indica que houve mudana de estado em pelo menos um dos
pinos RB7, RB6, RB5 ou RB4: 1 = ocorreu mudana de estado, 0 = no
ocorreu mudana de estado.
Registrador PIE1
Bit 7: no funcional;
Registrador PIR1
Bit 7: no funcional;
Registrador PCON
Organizao da Memria
Memria de Programa
Memria de Dados
A memria de dados pode ser dividida em duas partes, registradores de uso geral
(GPR) e registradores de funes especficas (SFR), ambas de oito bits. A organizao fsica
da memria de dados no PIC16F72 disposta em quatro bancos distintos, BANK0, BANK1,
111
Interrupes
De modo geral, toda interrupo est associada a dois bits, um que habilita ou
desabilita a interrupo e outro que indica que uma interrupo ocorreu.
Timers
TIMER0
TIMER1
Temporizador de 16 bits, possui dois registradores que guarda seu valor, TMR1L
(parte baixa) e TMR1H (parte alta). Assim como o TIMER0, pode ser utilizado com o
FOSC/4 ou com um oscilador externo. Pode ser utilizando tanto como um temporizador ou
como um contador sncrono ou assncrono.
TIMER2