Você está na página 1de 26

UNIP - UNIVERSIDADE PAULISTA

EGENHARIA ELTRICA

JOS ROBERTO MORAES ALMEIDA - B995IF-9


RICARDO DOS SANTOS FIGUEIREDO - C0515J-1

AUTOMAO RESIDENCIAL E CONTROLE DE ACESSO


Atividade prtica supervisionada da diciplina Eletrnica Digital

RIBEIRO PRETO
2017
2

UNIP - UNIVERSIDADE PAULISTA


ENGENHARIA ELTRICA

JOS ROBERTO MORAES ALMEIDA - B995IF-9


RICARDO DOS SANTOS FIGUEIREDO - C0515J-1

AUTOMAO RESIDENCIAL E CONTROLE DE ACESSO


Atividade prtica supervisionada da diciplina Eletrnica Digital

Atividade Prtica Supervisionada APS


referente ao 8 semestre do anos de 2017,
apresentado a UNIP UNIVERSIDADE
PAULISTA da cidade de Ribeiro Preto,
como exigncia parcial obteno do ttulo
de Bacharel no curso de Engenharia
Eltrica.

Orientador: Prof. Dr. Otvio Marson Jnior

RIBEIRO PRETO
2017
3

UNIP - UNIVERSIDADE PAULISTA


ENGENHARIA ELTRICA

JOS ROBERTO MORAES ALMEIDA. .B995IF-9


RICARDO DOS SANTOS FIGUEIREDO C0515J-1

TERMMETRO DIGITAL
Atividade prtica supervisionada da diciplina Eletrnica Digital

Atividade Prtica Supervisionada APS


referente ao 8 semestre do anos de 2017,
apresentado a UNIP UNIVERSIDADE
PAULISTA da cidade de Ribeiro Preto,
como exigncia parcial obteno do ttulo
de Bacharel no curso de Engenharia
Eltrica.

Orientador: Prof. Dr. Otvio Marson Jnior


4

RESUMO

Conforme tema proposto para o desenvolvimento da Atividade Prtica


Supervionada (APS) do oitavo semestre do curso de engenharia eltrica do ano de
2017, o presente relatrio descreve o processo de desenvolvimento, montagem e
apresentao de um sistema de controle de acesso e automao. Seguindo as
exigncias do professor da disciplina, Prof. Dr. Otvio Mason Jnior, o sistema deve
possuir 3 mdulos:
1- controlar uma cmera com movimento cclico de 18 graus,
2- Quando anoitecer, acionar trs lmpadas em intervalor de 5
segundos
3- Controlar a abertura de uma porta por sistema de senha.
O sistema ser controlado por um nico microcontrolador de 8 bits da
famlia 8051 programado em assembly que alm de gerenciar as leituras e
acionamentos propostos ainda retornar as inforaes do controle de acesso em um
display de duas linhas por dezesseis caracteres.

Palavras-chave: Automao, acesso, display, controle, assembly


5

ABSTRACT

According to the proposed theme for the development of the


Supervised Practical Activity (APS) of the eighth semester of the electrical
engineering course of 2017, this report describes the process of development,
assembly and presentation of an access control and automation system. Following
the requirements of the teacher of the discipline, Prof. Dr. Otvio Mason Jnior, the
system must have 3 modules:

1- control a camera with 18-degree cyclic motion,

2- When nightfall, trigger three lamps in interval of 5 seconds

3- Control the opening of a door by password system.

The system will be controlled by a single 8051 family 8-bit


microcontroller programmed into an assembly that in addition to managing the
proposed readings and drives will still return access control information on a two-line,
sixteen-character display.

Keywords: Automation, access, display, control, assembly


6

SUMRIO
1. INTRODUO.......................................................................................................7
2. DESENVOLVIMENTO...........................................................................................8
2.1 Anlise do problema proposto.........................................................................8
2.2 O microcontrolador W79E2051........................................................................8
2.3 Motor da cmera................................................................................................9
2.4 O sensor LDR...................................................................................................10
2.5 Controle de acesso..........................................................................................10
2.6 Esquema eltrico.............................................................................................11
3. MONTAGEM........................................................................................................13
4. cdigo..................................................................................................................15
5. CONSIDERAES FINAIS................................................................................25
REFERNCIAs...........................................................................................................26
7

1. INTRODUO

A automao e controle de acesso esto presentes em diversos


seguimentos. Desde sistemas simples de controle residencial at complexos
sistemas corporativos. Esses sistemas utilizam microcontroladores dimensionados
para atender as exigncias de cada projeto. A viabilidade da execuo deve unir a
funcionalidade do sistema com o custo de execuo mais baixo possvel. Por
controlar sistemas crticos, o sistema no pode ter falhas e travamentos. Deve
tambm controlar simultaneamente cada mdulo, isto , a operao do controle de
acesso no pode interferir na rotao da cmera ou no acionamento das lmpadas.
A soluo proposta pretende controlar todo sistema e oferecer a interface
mais amigvel possvel utilizando o microcontrolador da Nuvoton w79e2051, similar
ao AT89c2051 da Atmel. Com apenas 17 ports controlar todos perifricos. A
programao em assembly permite o controle preciso dos tempos e um cdigo
extremamente pequeno apesar de complexo.
8

2. DESENVOLVIMENTO

2.1 Anlise do problema proposto

Conforme o enunciado proposto, o sistema deve ter as seguintes


caractersticas mnimas:
1- Controlar o movimento de uma cmera em um arco de 180 graus. O
movimento deve ser cclico e deve poder ser interrompido e reiniciado pelo usurio.
2- Ao anoitecer, acionar instantaneamente uma lmpada e outras duas
em intervalos de 5 segundos. O sistema deve permitir o acionamento manual e
instantneo das 3 lmpadas em modo manual.
3- O controle de acesso deve liberar uma porta mediante um sistema de
senha, a porta deve permanecer liberada por 5 segundos e retornar a ser
bloqueada. O sistema deve permitir a troca da senha de acesso pelo usurio.

2.2 O microcontrolador W79E2051

O sistema ser controlado por um microcontrolador de 8 bits da nuvoton.


W79E2051. Os 2Kbytes de flash possuem tamanho suficiente para o cdigo em
assembly. Possui tambm um comparador que ser utilizado para a leitura do LDR
que verifica o escurecimento da luz ambiente. dispe de 120bytes de memria
EEprom que sero utilizados para armazenar as senhas.

Figura 1 Diagrama de bloco do microcontrolador W79e2051

FONTE: www.nuvoton.com/hq/products/microcontrollers/8bit-8051-mcus/low-pin-count-8051-
series/w79e2051/?__locale=en (2017)
9

2.3 Motor da cmera

A cmera ser controlada por um servomotor com movimento controlado


pela amplitude do pulso PWM. A escolha do servomotor ao invs de outros sistemas
porque o servomotor permite o controle utilizado apenas um port do
microcontrolador.

Figura 2 Servomotor Tower

FONTE: https://ktechnics.com/shop/servo-motor-s90g/ (2017)

O servomotor controlado por pulsos PWM que permitem a rotao do


eixo em um ngulo de 180 graus. O microcontrolador modula o sinal permitindo o
movimento cclico e o tempo de cada ciclo. Foi calculado que cada ciclo levaria 10
segundo para ser completado.

Figura 3 Padro de pulsos do controle do servomotor

FONTE: http://arduinoescola.blogspot.com.br/2015/03/controlando-servo-motores-em-
scratch.html (2017)
10

2.4 O sensor LDR

LDR (do ingls Light Dependent Resistor), em portugus Resistor


Dependente de Luz um componente eletrnico passivo do tipo resistor varivel,
mais especificamente, um resistor cuja resistncia varia conforme a intensidade da
luz (iluminamento) que incide sobre ele. Tipicamente, medida que a intensidade da
luz aumenta, a sua resistncia diminui.
O LDR construdo a partir de material semicondutor com elevada
resistncia eltrica. Quando a luz que incide sobre o semicondutor tem uma
frequncia suficiente, os ftons que incidem sobre o semicondutor libertam eltrons
para a banda condutora que iro melhorar a sua condutividade e assim diminuir a
resistncia.
O LDR ser ligado ao comparador do microcontrolador para medir a
variao da luminosidade ambiente.
Figura 3 Servomotor Tower

Fonte: https://potentiallabs.com/cart/ldr-india (2017)

2.5 Controle de acesso

Mesmo dispondo de poucos ports, podemos controlar uma matriz de


teclado com 16 chaves e um display de 16x2 utilizado apenas 4 ports. O mtodo
usado est ilustrado na seo seguinte.
11

2.6 Esquema eltrico

Figura 4 Esquema eltrico

FONTE: O autor.

O controle de cada uma das 3 lmpadas feito pelo contato N.F de 3


respectivos rels. O mesmo sistema tambm usado para controlar o sistema de
abertura da porta. O acionamento de cada rel sinalizado por um LED que
permanece aceso sempre que o rel acionado. A leitura do LDR comparada com
a tenso de um divisor de tenso. O Trimpot TP1 permite a calibragem da leitura
adequada da luminosidade do ambiente. Um sistema interno de Smitch Trigger
permite que no haja o efeito de rebatimento no momento da iminncia do
acionamento. O Servomotor controlado pela modulao de um port.
O controle do LCD feito por 4 ports que simultaneamente fazem a leitura
de uma matriz de 16 teclas. O complexo modo que possibilita que esses mesmos 4
ports controlem os dois perifricos s possvel pelo minuncioso controle feito via
cdigo. O LCD possui 3 cores distintas de Backligth Essas cores ajudam a
evidenciar o estado do controle de acesso:
12

- Azul para funcionamento normal.


- Amarelo quando um nmero est sendo digitado.
- Vermelho se o acesso est bloqueado.
- Verde para acesso permitido.
As senhas so de 4 bits e so armazenadas na memria EEPROM. O
sistema permite at 7 senhas, aps isso, devem ser apagadas senhas para a
ilguso de outras. Uma senha especial habilita o MODO PROGRAMADOR que
permite a incluso/ excluso de novas senhas:

Figura5 Telas do Display

FONTE: O autor.

Um buzzer simples sinaliza o pressionamento das teclas e a liberao do


acesso ( 2 bips curtos) ou o acesso bloqueado ( um bip longo).
13

3. MONTAGEM

Primeiramente, cada parte do circuito foi montada e testada


separadamente. O cdigo tambm foi escrito e testado separadamente a fim de
eliminar todos os bugs. A complexidade do controle de teclado e display
demandaram mais tempo com ajustes de tempo de deboucing das teclas e o
controle do display.

Figura6 Teste individual de teclado e display

FONTE: O autor.

Figura7 Conjunto montado

FONTE: O autor.
14

Aps os testes em protoboard foi confeccionada e montada a PCB.

Figura8 Esquema da PCB

FONTE: O autor.

Figura9 PCB montada

FONTE: O autor.
15

4. CDIGO
A programao foi feita em linguagem Assemby, que apesar de ser mais
complexa que o C, permite o controle total dos perifricos do microcontrolador.
Como todos os mdulos foram comandados por um mesmo microcontrolador,
aproveitou-se os intervalos de tempo da modulao do PWM para as checagens e
acionamentos dos outros mdulos sem interromper o movimento do motor. Alm
disso, o Assembly gera um cdigo reduzido quando compilado.

EN EQU P1.3
RS EQU P1.2
bred equ p3.4
bgreen equ p3.5
bblue equ p3.7
fbuz equ p3.2

NVMDDRL EQU 0C6H ; Low bite do endereo NVM


NVMCON EQU 0CEH ; bit7 setado, apaga a pgina do NVM. Bit6
setado para escrever no NVM.
NVMDAT EQU 0CFH ; byte escrito na eeprom

TEMPO EQU 55450


c1uS equ 65534
c1ms EQU 63629
c1xms EQU 64640
DEBOU EQU 00000
vnmr4 EQU r4
fcresc equ 00h
fmoto equ 01h
FLDR EQU 02H
FPROG EQU 03H
fsenhac equ 04h
FREINILCD EQU 05H
fimttecla equ 06h
valpul equ 08h
TCONT1 EQU 09H
TCONT2 EQU 0AH
vchar equ 0bh
vback equ 0ch
vprog equ 0dh
VTPRESS EQU 0EH
VTMPTECL EQU 0FH
vtporta equ 1Fh
ORG 0000H
jmp ICICIAO

ICICIAO: MOV P3,#11111111B


MOV P1,#11110011B
MOV TMOD,#11H
MOV SP,#60H
MOV vnmr4,#00D
clr fcresc
setb fmoto
16

SETB FLDR
mov valpul,#00d
MOV TCONT1,#251D
MOV TCONT2,#04D
mov 97h,#00001000b
mov vback,#251d
CLR FPROG
clr fsenhac
CLR FREINILCD
clr fimttecla
SETB bred
CLR BGREEN
CLR BBLUE
MOV VTPRESS,#00D
MOV VTMPTECL,#00D
MOV VTPORTA,#00D

MOV R0,#3FH
MOV DPTR,#0FBFFH
LESENHAS: INC R0
INC DPTR
CALL LEEPROM
MOV @R0,A
CJNE R0,#50H,LESENHAS

;------------------------ inicializa LCD


CALL T5MS
CALL T5MS
CALL T5MS

MOV P1,#00110011b
call rotini

MOV P1,#00110011b
call rotini

MOV P1,#00110011b
call rotini

MOV P1,#00100011b
call rotini

MOV P1,#00100011b
call rotini

MOV P1,#10000011b
call rotini

MOV P1,#00000011b
call rotini

MOV P1,#11110011b
call rotini

MOV vchar,#00h
LCALL WRITE_2_NIBBLES
LCALL WAIT_LCD

;-----------------TELA INICIAL---------------------------------
17

TELAINI: LCALL CLEAR_LCD


MOV DPTR,#07F0h
CALL ESCREFLASH

MOV vchar,#0C0H
LCALL WRITE_2_NIBBLES
LCALL WAIT_LCD

MOV DPTR,#0750h
CALL ESCREFLASH

MOV vchar,#0C7H
LCALL WRITE_2_NIBBLES
LCALL WAIT_LCD

mov P1,#11110011B

;--------------------------------------------------

;-----------------------ROTINA VERIFIAO TECLADO---

ZERAP14: jnb fprog, cZERAP14


jmp rotprog
cZERAP14: JBC FREINILCD,JJTELAINI
jbc fimttecla,JJTELAINI
CLR P1.4
NOPD: JB P1.5,VERIP16
clr fbuz
CALL AMADISP
MOV R0,#'#'
JnB fsenhac,JSOLTP15
CPL FLDR
JSOLTP15: jmp SOLTP15

JJTELAINI: JMP TELAINI

VERIP16: JB P1.6,VERIP17
clr fbuz
CALL AMADISP
MOV R0,#'0'
jmp SOLTP16

VERIP17: JB P1.7,ZERAP15
clr fbuz
CALL AMADISP
MOV R0,#'*'
JnB fsenhac,JSOLTP17
cpl fmoto
;cpl p3.7
JSOLTP17: jmp SOLTP17

ZERAP15: SETB P1.4


CLR P1.5
JB P1.4,VERIP162
clr fbuz
CALL AMADISP
MOV R0,#'9'
jmp SOLTP14
18

VERIP162: JB P1.6,VERIP172
clr fbuz
CALL AMADISP
MOV R0,#'8'
jmp SOLTP16

VERIP172: JB P1.7,ZERAP16
clr fbuz
CALL AMADISP
MOV R0,#'7'
jmp SOLTP17

ZERAP16: SETB P1.5


CLR P1.6
JB P1.4,VERIP153
clr fbuz
CALL AMADISP
MOV R0,#'6'
jmp SOLTP14

VERIP153: JB P1.5,VERIP173
clr fbuz
CALL AMADISP
MOV R0,#'5'
jmp SOLTP15

VERIP173: JB P1.7,ZERAP17
clr fbuz
CALL AMADISP
MOV R0,#'4'
jmp SOLTP17

ZERAP17: SETB P1.6


CLR P1.7
JB P1.4,VERIP154
clr fbuz
CALL AMADISP
MOV R0,#'3'
jmp SOLTP14

VERIP154: JB P1.5,VERIP164
clr fbuz
CALL AMADISP
MOV R0,#'2'
jmp SOLTP15

VERIP164: JB P1.6,VOLTECLADO
clr fbuz
CALL AMADISP
MOV R0,#'1'
jmp SOLTP16

VOLTECLADO: SETB P1.7


CALL T5ms
jmp ZERAP14

SOLTP14: SETB P1.4


CALL TDEBOU
19

JNB P1.4,SOLTP14
jmp PRESTECLAS

SOLTP15: SETB P1.5


CALL TDEBOU
JNB P1.5,SOLTP15
sjmp PRESTECLAS

SOLTP16: SETB P1.6


CALL TDEBOU
JNB P1.6,SOLTP16
sjmp PRESTECLAS

SOLTP17: SETB P1.7


CALL TDEBOU
JNB P1.7,SOLTP17
PRESTECLAS: MOV P1,#11110011B
setb fbuz
jb fsenhac,volteclado
MOV VTMPTECL,#251D
CJNE R0,#'#', VERIAST
call VAIINI
jmp telaini
VERIAST: CJNE R0,#'*', INCREAST
call VAIINI
jmp telaini
INCREAST: inc vtpress
mov a, vtpress
cjne a,#04d,ESCREAST

MOV A,R0
MOV R0,#13H
MOV @R0,A
MOV VTPRESS,#00D
call compsenha
JNB FSENHAC,JTELAINI
JMP ZERAP14
JTELAINI: JMP TELAINI

ESCREAST: MOV A,VTPRESS


ADD A,#0fh
MOV R1,A
MOV A,R0
mov @R1,A
mov vchar,#'*'
; MOV A,R0
LCALL WRITE_TEXT
jmp ZERAP14

rotprog: clr bblue


setb bred
setb bgreen
LCALL CLEAR_LCD
MOV vchar,#80H
LCALL WRITE_2_NIBBLES
LCALL WAIT_LCD
20

MOV DPTR,#0770h
CALL ESCREFLASH

MOV vchar,#0C0H
LCALL WRITE_2_NIBBLES
LCALL WAIT_LCD

delte: call t5ms


jmp delte

VAIINI: SETB bred


CLR BGREEN
CLR BBLUE
MOV VTPRESS,#00D
MOV VTMPTECL,#00D
ret

CLEAR_LCD:
CLR RS
MOV vchar,#01h
LCALL WRITE_2_NIBBLES
LCALL WAIT_LCD
RET

rotini: NOP
SETB EN
CLR EN
CALL T5MS
ret

AMADISP: CLR BRED


CLR BGREEN
SETB BBLUE
RET

WRITE_TEXT:
; SETB RS
LCALL WRITE_2_NIBBLES2
LCALL WAIT_LCD
RET

WRITE_2_NIBBLES: MOV A,vchar


anl a,#11110011b
orl a,#00000011b
MOV P1,A
SETB EN
CLR EN
;MOV A, R0
MOV A,vchar
SWAP A
anl a,#11110011b
orl a,#00000011b
MOV P1,A
SETB EN
CLR EN
;SETB P1.7
21

MOV P1,#11110011b
RET

WRITE_2_NIBBLES2: MOV A,vchar


anl a,#11110111b
orl a,#00000111b
;setb rs
MOV P1,A
SETB EN
CLR EN
;MOV A, R0
MOV A,vchar
SWAP A
anl a,#11110111b
orl a,#00000111b
;setb rs
MOV P1,A
SETB EN
CLR EN
;SETB P1.7
MOV P1,#11110011b
clr rs
RET

WAIT_LCD:
T5MS: inc vnmr4
cjne vnmr4,#01d,t5ms1
JB FLDR,t5mscA
ANL P3,#11111100B
clr p2.0
JMP t5msc1
t5mscA: ;jnb p1.0,t5msc
jNb P3.6,t5msc
CLR P3.0
djnz tcont1,t5msc1
mov tcont1,#251D
t5msc2: JNB P3.1,t5msc3
CLR P3.1
JMP t5msc1
t5msc3: JNB P2.0,t5msc1
CLR P2.0
JMP t5msc1
t5msc: jb p1.0,t5msc1
mov tcont1,#251d
ORL P3,#00000011B
setb p2.0
t5msc1: jnb fmoto, t5ms2
setb p3.3
call t1xms
; mov a,#250d
jnb fcresc,increnum
dec valpul
mov a,valpul
cjne a,#00d, jcontapul
clr fcresc
jcontapul: sjmp contapul
increnum: inc valpul
mov a, valpul
cjne a,#251d, jcontapul
22

setb fcresc
sjmp contapul

contapul: mov a,#00d


contapul2: cjne a,valpul,increr2
clr p3.3
increr2: inc a

mov r2,#05d
decnop0: djnz r2,decnop
sjmp decnop1
decnop: nop
ljmp decnop0

decnop1: cjne a,#251d,contapul2


clr p3.3

call t1ms
call t1ms
call t1ms
; cpl bred
sjmp sT5MS

t5ms1: cjne vnmr4,#05d,t5ms2


MOV A,VTPRESS
CJNE A,#00D,DECTMPT
JMP VERIACESS
DECTMPT: DJNZ VTMPTECL,VERIACESS
mov VTMPTECL,#251d
call VAIINI
setb fimttecla
VERIACESS: JNB FSENHAC,T5MS11
DJNZ VTPORTA,T5MS11
CLR FSENHAC
MOV VTPORTA,#251D
SETB P2.1
CLR BBLUE
CLR BGREEN
SETB BRED
SETB FREINILCD
t5ms11: mov vnmr4,#00d
jmp t5ms

t5ms2: MOV TL0,#LOW(TEMPO)


MOV TH0,#HIGH(TEMPO)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
sT5MS: RET

t1xms: MOV TL0,#LOW(c1xms)


MOV TH0,#HIGH(c1xms)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
RET
23

t1ms: MOV TL0,#LOW(c1ms)


MOV TH0,#HIGH(c1ms)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
RET

TDEBOU: mov r1,#10d


TDEBOU1: djnz r1,espt5ms
sjmp tdebous
espt5ms: call t5ms
sjmp tdebou1
tdebous: RET

APAeprom: push acc


; MOV NVMDDRL, #00h
MOV NVMCON, #10000000B

apaga1: MOV ACC, NVMCON


JB ACC.7, apaga1
pop acc
ret

ESCREeprom: push acc


; MOV NVMDDRL, #00h
MOV NVMDAT, vPROG
MOV NVMCON, #01000000B

escreve1: MOV ACC, NVMCON


JB ACC.6, escreve1
pop acc
ret

leeprom: MOV A,#00D


; MOV DPTR,#0FC00H
MOVC A, @A+DPTR
ret

ESClcdrom: push acc


mov r0,#10H
ESCRE4_0: MOV A,@R0
mov vchar,a
call WRITE_TEXT
INC R0 ; INCREMENTA O DPTR1

; DECREMENTA O CONTADOR DE CARACTERES


CJNE R0,#14H, ESCRE4_0 ; VERIFICA O FIM DA ESCRITA
pop acc
RET

compsenha: clr p3.2


CLR FSENHAC
LCALL CLEAR_LCD
MOV DPTR,#0780h
CALL ESCREFLASH
24

MOV vchar,#0C0H
LCALL WRITE_2_NIBBLES
LCALL WAIT_LCD
mov r0,#10h
mov r1,#40h
mov r2,#00d
mov r3,#00d
compsenha2: mov a,@r0
; MOV A,#01D
MOV B,@R1
cjne A,B,compsenha1
inc r2
compsenha1: inc r0
inc r1
cjne r0,#14h,compsenha2
MOV R0,#10H
cjne r2,#04d,compsenha3
cjne r1,#44d,compsenhap
setb fprog
jmp scompsenha
compsenhap: setb fsenhac
clr p2.1
mov vtporta,#251d
clr bgreen
setb bred
setb bblue

MOV DPTR,#07B0h
CALL ESCREFLASH
setb p3.2
call t5ms
call t5ms
call t5ms
clr p3.2
call t5ms
setb p3.2
jmP scompsenha

compsenha3: cjne r1,#50h,compsenha4


clr fsenhac
setb p2.1
SETB bgreen
clr bred
setb bblue

MOV DPTR,#07A0h
CALL ESCREFLASH
mov r0,#20d
tempbuzzer1: djnz r0, tempbuzzer
setb p3.2
SETB BRED
CLR BGREEN
CLR BBLUE
jmp scompsenha

tempbuzzer: call tdebou


jmp tempbuzzer1
25

compsenha4: mov r2,#00d


mov r0,#10h
jmp compsenha2

scompsenha: ret

ESCREFLASH: push acc


mov r0,#16d
ESCRE16_0: mov a,#00d
MOVC A, @A + DPTR ; L A LETRA DA MATRIZ NA ROM
mov vchar,a
call WRITE_TEXT
INC DPTR ; INCREMENTA O DPTR1

; DECREMENTA O CONTADOR DE CARACTERES


djnz R0,ESCRE16_0 ; VERIFICA O FIM DA ESCRITA
pop acc
RET
ORG 0750h
DB 'SENHA: '
ORG 0760h
DB 'ACESSO BLOQUEADO'
ORG 0770h
DB 'MODO PROGRAMADOR'
ORG 0780h
DB ' ACESSO '
ORG 0790h
DB ' BOA NOITE '
ORG 07A0h
DB ' NEGADO! '
ORG 07B0h
DB ' LIBERADO! '
ORG 07C0h
DB '* INCLUI USUARIO'
ORG 07D0h
DB '# EXCLUI USUARIO'
ORG 07E0h
DB 'MEMORIA CHEIA! '
ORG 07F0h
DB 'CONTROLE ACESSO '
END

5. CONSIDERAES FINAIS

Para atender as exigncias do projeto poderia ter utilizado


microcontroladores maiores e com mais recursos o que tornaria fcil o controle dos
perifricos e programao, porm, a utilizao de um microcontrolador com apenas
17 ports permitiu um projeto de hardware simples e barato alm de explorar ao
mximo o conhecimento e domnio de cada perifrico.
26

REFERNCIAS

http://www.nuvoton.com/hq/?__locale=en(2017)

https://www.citisystems.com.br/servo-motor/(2017)

ftp://ftp.dca.fee.unicamp.br/pub/docs/ea079/complementos/Lcd.pdf (2017)

Gimenez, Salvador. Microcontroladores 8051 Teoria e Prtica . Editora rica

Nicolosi,Denys E. C. Microcontrolador 8051 Detalhado. Editora rica