Você está na página 1de 9

Introduo:

MICROCONTROLADORES
Os microcontroladores so chips inteligentes, que tem um processador, pinos de
entradas/sadas e memria. Atravs da programao dos microcontroladores podemos
controlar suas sadas, tendo como referencia as entradas ou um programa interno.
O que diferencia os diversos tipos de microcontroladores, so as quantidades de memria
interna (programa e dados), velocidade de processamento, quantidade de pinos de
entrada/sada (I/O), alimentao, perifricos, arquitetura e set de instrues.
Os sistemas de controle de acesso visam restringir acessos no autorizados determinados
setores e departamentos das organizaes, evitando assim danos em equipamentos, acesso
ilegal a informaes importantes, roubos, entre outros problemas. Muitas empresas de
tecnologias gastam verdadeiras fortunas em sistemas de controle de acesso para ambientes
restritos e esquecem que de nada adiantar investir em segurana se os funcionrios e
usurios no estiverem preparados para lhe dar de forma eficaz com situaes onde o invasor
convence a vtima a, literalmente, abrir as portas.
Prova disso so os engenheiros sociais, pessoas dispostas a terem acessos ilegais s
informaes e recursos de empresas de outras pessoas, que enganam at mesmo os
profissionais mais bem treinados para lidar com situaes que exigem precao e vigilncia.
Uma boa referncia com vrios exemplos destes tipos de prticas o livro 'A Arte de
Enganar'[3] de Kevin Mitnick, famoso hacker e engenheiro social, que passou vrios anos na
cadeia por este tipo de prtica ilegal. Em seu livro Mitnick explica que, ao contrrio do que as
pessoas pensam, os hackers utilizam vrias tcnicas de engenharia social para terem acesso
aos dados e sistemas de computadores das empresas.
Portanto de nada adiantar ter o sistema de controle de acesso mais seguro do mundo se as
pessoas que utilizaro esta tecnologia no esto preparadas para evitar invases e roubos de
informaes. Atualmente existem vrias tecnologias destinadas aos sistemas de controle de
acesso, entre elas destacam-se as biomtricas. As principais tecnologias biomtricas incluem
identificao de usurio por voz, reconhecimento facial, reconhecimento de impresso digital
e reconhecimento de ris. O projeto em destaque no utiliza recursos biomtricos, devido aos
custos que estas tecnologias demandam. O controle ser realizado atravs de uma senha que
o usurio dever digitar para ter acesso ao laboratrio.
As vantagens deste sistema so: baixo custo, elimina o inconveniente de ter que carregar as
chaves, elimina o risco de perda das chaves e que outras pessoas tenham acesso a elas, entre
outras vantagens. O projeto aqui apresentado foi implantado no laboratrio de pesquisa LTR
(Laboratrio de Sistemas de Tempo Real) do UnilesteMG. O LTR um laboratrio de pesquisa
voltado para o desenvolvimento de pesquisas sobre sistemas de tempo real. Por tratar-se de
um ambiente restrito aos acadmicos pesquisadores e professores da instituio e por possuir
equipamentos e placas de alto valor, seu acesso deve ser controlado.
Visando controlar os acessos fsicos ao laboratrio de pesquisa LTR, foi proposto um sistema
eletrnico de controle de acesso. Inicialmente foi definido que o sistema deveria possuir um
baixo custo, cada usurio deveria possuir uma senha individual e o usurio poderia alterar sua
senha sempre que desejasse.
Aps esta definio foi realizada uma pesquisa em vrios sites de eletrnica, a fim de
encontrar algum projeto que atendesse a estas necessidades, porm nenhum projeto com tais
caractersticas foi encontrado. Entretanto um projeto com algumas caractersticas importantes
foi encontrado. O projeto encontrado, cujo nome 'Electronic door codelock'[1], possua as
seguintes caractersticas:
Baixo custo;
Simplicidade;
Esquemtico e layout de circuito impresso disponveis;
Possibilidade de alterao de senha;
Utiliza o microcontrolador PIC16F84;
Licena de uso livre.
Porm este projeto no atendia a uns pr-requisitos bsicos, entre eles a necessidade de cada
usurio possuir uma senha individual, visto que o projeto s aceitava uma nica senha. Como
este projeto possua os principais requisitos necessrios ao sistema de controle de acesso
proposto, foi definido que a melhor soluo seria alterar o projeto original para que o mesmo
suportasse as caractersticas necessrias.
E assim, semelhante ao processo que ocorre atualmente com os chamados programas de
cdigo fonte aberto e com os softwares livres, iniciou-se ento as modificaes sobre o projeto
'Electronic door codelock'. Antes de realizar as modificaes o projeto original foi montado e
testado, verificando assim seu funcionamento como descrito na pgina do projeto.
O desenvolvimento do projeto est implementado no microcontrolador PIC16F84, portanto a
seo seguinte faz uma breve abordagem a este microcontrolador.

O MICROCONTROLADOR PIC16F84

Microcontrolador um tipo especial de dispositivo eletrnico que possui integrado em uma
nica pastilha de silcio (CI) o microprocessador, a memria (RAM, EPROM e/ou EEPROM) e
endereadores de I/O. O microcontrolador PIC16F84, desenvolvido pela Microchip[2], utiliza
um processador RISC (Reduced Instruction Set Computer) de 8 bits, trabalhando com a
arquitetura Harvard que se caracteriza por possuir o barramento de memria de programas
separado do barramento de memria de dados, como pode ser visto na figura abaixo.

Como a arquitetura Harvard separa os barramentos de dados e de programas, tem-se ento
uma melhor fluncia dos dados pela CPU, o que, por conseqncia, gera um aumento da
velocidade de funcionamento. O PIC16F84 possui um barramento de memria de programas
de 14 bits, permitindo que as instrues sejam executadas em apenas um ciclo de mquina,
pois nestes 14 bits esto inclusos a instruo propriamente dita (6 bits) e o dado a ser operado
(8 bits).
Por tratar-se de um microcontrolador RISC, o PIC16F84 possui um nmero reduzido de
instrues, mais precisamente 35 instrues. Processadores do tipo CISC (Complex Instruction
Set Computer), por exemplo, os da famlia Intel x86, possuem mais de 100 instrues.
O PIC16F84 um microcontrolador de baixo custo possuindo entre as principais
caractersticas:
Freqncia de clock de 10MHz;
1Kx14 bits de memria de programas (Flash);
68 bytes de memria de dados;
13 pinos de I/O.

O diagrama em blocos do PIC16F84 apresentado na figura abaixo:

Os sinais de I/O esto divididos em duas portas, que fazem a ligao destes com o mundo
externo. A 'PORTA A' possui 5 pinos e a 'PORTA B' possui 8 pinos, totalizando 13 pinos de I/O.
PINAGEM (PIN-OUT)
A pinagem da PIC16F84 pode ser vista na figura abaixo. E na tabela seguinte pode-se ver o
descritivo de cada pino, sua funo e uso.

Tabela - Descrio dos pinos do PIC16F84A
Nome Pino | N | Tipo | Estrutura | Descrio |
OSC1/CLKIN | 16 | Entrada | Shimitt Trigger/CMOS | Entrada osciladora |
OSC2/CLKOUT | 15 | Sada | | Sada Osciladora |
|
MCLR | 4 | Entrada/Programao| Shimitt Trigger | Reset e Entrada para
voltagem de programao |
|
RA0 | 17 | Entrada/Sada | TTL | Portas de entrada e sada |
RA1 | 18 | Entrada/Sada | TTL | |
RA2 | 1 | Entrada/Sada | TTL | |
RA3 | 2 | Entrada/Sada | TTL | |
RA4/T0CKI | 3 | Entrada/Sada | Shimitt Trigger | Porta de entrada e sada ou
entrada do clock externo para timer e contador. |
|
RB0/INT | 6 | Entrada/Sada | TTL/ Shimitt Trigger | Portas de entrada e sada. O
port B possui pull-up internos programveis. |
RB1 | 7 | Entrada/Sada | TTL | |
RB2 | 8 | Entrada/Sada | TTL | |
RB3 | 9 | Entrada/Sada | TTL | |
RB4 | 10 | Entrada/Sada | TTL | Permite interrupo se alterar nvel |
RB5 | 11 | Entrada/Sada | TTL | |
RB6 | 12 | Entrada/Sada | TTL/ Shimitt Trigger | |
RB7 | 13 | Entrada/Sada | TTL/ Shimitt Trigger | |
Vss | 5 | Alimentao | | Terra |
Vdd | 14 | Alimentao | | Positivo +5V |

MEMRIA
A memria da PIC16F84 para programa no pode ser acessada pelo usurio, a no ser durante
a gravao do programa (existem meios de acessar a memria de programa em tempo de
execuo - modo apenas leitura). Ela tem 1K x 14 bytes, que a princpio pode parecer pequena,
mas como o PIC utiliza a tecnologia RISC, garante uma excelente otimizao da rea de
programa. Na figura abaixo pode-se ver o mapa de memria de programa.

REGISTRADORES

Os registradores do PIC16F84 esto divididos em duas partes. A primeira conhecida como
SFR (Registros de Funo Especial) e GPR (Registros de Propsito Geral). Estes registros
dividem-se em dois bancos.

PC Program counter: Neste registro o microcontrolador guarda a posio atual do programa.
A cada instruo lida, o PC incrementado em uma posio.
Stack Level 1 ... Stack Level 8: Nestes registradores so guardados os endereos de retorno
para o microcontrolador, quando utilizamos a instruo CALL. Note que temos apenas 8
nveis.
Reset Vector: Sempre que nosso microcontrolador for resetado, ele apontar para esta
posio de memria.
Interrupt Vector: Quando tivermos uma interrupo (interna ou externa), o microcontrolador
apontar para este endereo.
User memory space: Memria de programa. rea dedicada ao nosso programa.
O Microcontrolador 16F84A
Alm das caractersticas gerais da arquitetura dos microcontroladores PIC vistas at agora,
existem outros aspectos peculiares aos membros de cada famlia. Como a diversidade de
componentes muito grande, vamos analisar as caractersticas dos componentes da famlia
16F84A.
Arquitetura de Hardware da famlia PIC16F84A
Na figura abaixo apresentada de forma simplificada a arquitetura interna da famlia PICF84.
Ela baseada em registradores, com o barramento de memria de dados separado do
barramento de memria de programa (arquitetura RISC). Este conceito permite ter um
conjunto de instrues simples, mas extremamente poderoso que enfatiza as operaes bit,
byte e de registradores.

A Microchip foi uma das precursoras do uso da tecnologia RISC (Computador com Set reduzido
de Instrues) em microcontroladores. Esta tecnologia baseada na arquitetura HARVARD,
que separa a memria de dados da memria de programa. Assim temos um bus para dados e
outro para programa.
O PIC16F84 tem um bus de dados (RAM) com 8 bits (1 byte) e um bus de programa com 14 bits
. Isto permite que o microcontrolador carregue na CPU o operador+operando em um
nico ciclo de mquina. Isso aumenta a velocidade do chip, permitindo uma melhor
performance se comparado a outros microcontroladores que no utilizam esta arquitetura.
Outros microcontroladores, como o 8051, utilizam a tecnologia CISC (Computador com Set de
instrues complexas), baseada na arquitetura Van Neuman. Nesta arquitetura a memria
de dados e a memria de programa utilizam o mesmo bus. Assim, o microcontrolador
necessita de mais ciclos para carregar o operador e o operando. Na figura abaixo dado
um demonstrativo entre as duas tecnologias

Arquitetura de Van Neuman




Principais membros da famlia
Device | ProgramMemory(words) | DataRAM(bytes) | DataEEPROM(bytes) |
Max.Freq.(MHz) |
PIC16F83 | 512 Flash | 36 | 64 | 10 |
PIC16F84 | 1K Flash | 68 | 64 | 10 |
PIC16CR83 | 512 ROM | 36 | 64 | 10 |
PIC16CR84 | 1K ROM | 68 | 64 | 10 |

Diversas freqncias de operao e empacotamento esto disponveis. Dependendo da
aplicao e dos requisitos de produo existe uma opo de dispositivo mais apropriado para
ser selecionado. Para maiores detalhes consulte o datasheet do componente que voc utilizar.
Caractersticas Gerais
* Apenas 35 palavras de instruo para aprender
* Todas instrues com um ciclo exceto para desvios que levam dois ciclos
* Velocidade de operao: DC at 20 Mhz de clock
* Instrues com 14 bits de largura
* Barramento de dados de 8 bits
* 16 registradores de funes especiais de hardware
* Pilha com 8 nveis de profundidade
* Modos de endereamento direto, indireto e relativo para dados e instrues.
* Capacidade de interrupo
Caractersticas dos perifricos
* 13 pinos de I/O individualmente configurados
* Temporizador/Contador de 8 bits com 8 bits de pr-escala
* Power-On Reset (POR)
* Temporizador Watch-Dog (WDT) com oscilador prprio para operaes seguras
* Proteo de Cdigo Programvel
* Modo SLEEP para diminuio de consumo de energia.
* Opes de oscilador selecionvel:
* RC oscilador RC de baixo custo
* XT cristal padro
* HS Cristal de alta velocidade
* LP Cristal de baixa freqncia (reduo de consumo)
* Programao Serial in-circuit (atravs de dois pinos)
* 4 bytes de identificao (ID) programveis pelo usurio
Porm sua maior vantagem a gravao. Ela pode ser feita com um pequeno circuito
eletrnico, de custo muito baixo, atravs da porta paralela ou serial de qualquer PC. Se voc
no tem um, veja um dos meus projetos PROGPICII.
Suas principais caractersticas so:
* 1024 bytes de memria FLASH, que pode ser gravada vrias vezes;
* 68 bytes de memria RAM;
* 64 bytes de memria EEPROM;
* 13 pinos de I/O configurveis individualmente;
* Timer de 8 bits com divisor escalar;
* Interrupes externa e interna;
* Arquitetura RISC com set de instrues de fcil aprendizado, com apenas 35 instrues;
* Watchdog Timer;
* Possibilidade para 4 tipos de osciladores, configurveis via software;
* Entre outras.
Organizao da Memria de Programa
A famlia PIC16F84A tem um contador de programa (PC) de 13 bits capaz de enderear at 8K x
14 bits de memria de programas. O vetor de RESET est localizado no endereo 0000h e o
vetor de interrupo no endereo 0004h. Outra caracterstica importante a ser salientada a
impossibilidade de se ler diretamente da memria de programa. A maneira com que isso
feito na arquitetura do PIC utilizando a instruo RETLW k, que ser visto mais adiante na
apresentao do conjunto de instrues.
Organizao da Memria de Dados
A memria de dados composta de registradores e RAM para uso geral. Os registradores so
divididos em 2 grupos funcionais: Registradores de Funes Especiais (32 endereos iniciais de
cada banco) e Registradores de Uso Geral (endereos restantes de cada banco). Entre os
registradores de funes especiais esto: o registrador TMR0, o contador de programa (PC), o
registrador de Status (STATUS), os registradores I/O (ports) e o registrador de seleo (FSR).
Alm disso, os registradores de funes especiais so usados para controlar a configurao dos
ports de I/O e as opes de pr-escala. Os registradores de uso geral so usados para dados e
controle de informao sob comando das instrues.

Concluo:
A Microchip disponibiliza ferramentas para desenvolvimento de aplicaes para seus
microcontroladores PIC. Dentre estas ferramentas podemos citar o MPLAB e o PICStart. O
MPLAB um IDE que fornece uma integrao entre editor de texto, compiladores e
microcontroladores.
Podemos tambm, utilizar outras ferramentas de desenvolvimento, na Internet encontramos
diversas delas. Vamos utilizar nesta experincia a ferramenta P16Pro Programmer for
MicroChip microcontrollers, ela disponibiliza alm do software, um gravador de
microcontroladores PIC (anexo 01). Atravs do software P16pro e do circuito de gravao,
pode-se carregar um programa escrito em hexadecimal no microcontrolador. Diversos
parmetros podem ser configurados no software para programar diferentes verses de
microcontroladores PIC. Utilize o manual da ferramenta para maiores detalhes da utilizao do
software P16pro.





Bibliografia
* [1] Microchip PIC16F8X Datasheet www.microchip.com
* [2] Projetos de Hardware e Software utilizando Microcontroladores PIC Edmur Canazian -
2009
* [3] P16Pro Programmer for MicroChip microcontrollers Short Manual

Você também pode gostar