Sie sind auf Seite 1von 44

www.

mackenzie.com.br

APOSTILA
MICROPROCESSADORES 2
ESCOLA DE ENGENHARIA
PROF. IVAIR REIS N. ABREU
www.ivair.com.br
SEGUNDO SEMESTRE 2004
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
ndice
Reviso: 05/08/2004
! " RE#IS$O DA AR%UITETURA DO MICROCONTROLADOR 805&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'
&! " (AM)LIA DE MICROCONTROLADORES INTEL MCS"5:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& '
&2! " SISTEMA M)NIMO COM O 805:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& '
&*! " C+DIGOS DE OPERA,$O DO MICROCONTROLADOR 805:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 8
1.3.1) - Instrues de transferncia de informao:...................................................................................8
1.3.2) - Instrues Aritmticas:...................................................................................................................9
1.3.3) - Instrues L!icas:.......................................................................................................................1"
1.3.#) - Instrues de $ransferncia de %ontro&e:....................................................................................1"
1.3.') - Instrues (oo&eanas:...................................................................................................................11
&4! " E-ERC)CIOS&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 2
2! " DISPLA. LCD PROGRAM/#EL&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*
2&! " INTRODU,$O:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& *
2&2! " SISTEMA M)NIMO COM O DISPLA. L&C&D& :&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 4
2&4! " ESCRITA DE DADOS NO DISPLA.:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 0
2&5! " E-ERC)CIOS:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& '
*! " SISTEMA DE TEMPORIZA,$O E INTERRUP,$O DO 805&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&8
*&! " SISTEMA DE INTERRUP,$O:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 8
*&2! " E-ERC)CIOS&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 8
*&*! " APLICA,$O DE INTERRUP,$O E-TERNA "1 SISTEMA DE LEITURA DIRETA DE TECLAS&&&&&&&&&&&&&&&&&&&&&&&&2
*&4! " E-ERC)CIO&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 20
*&5! " SISTEMA DE TEMPORIZA,$O:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 20
*&*! " E-ERC)CIOS&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 2
4! " SISTEMA DE #ARREDURA DE TECLADO/DISPLA.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2*
4&! " E-ERC)CIOS&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 25
5! " SISTEMA DE COMUNICA,$O SERIAL&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&20
5&! " INTRODU,$O E CONCEITOS 3/SICOS:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 20
'.1.1) - %omunicao Ass)ncrona:............................................................................................................2*
'.1.2) - %omunicao +)ncrona:................................................................................................................2*
'.1.3) - Interface ,adro -+-232:.............................................................................................................2.
'.1.#) - +inais t),icos de uma interface ,adro seria&:............................................................................2.
5&2! " COMUNICA,$O SERIAL NO 805:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 28
0! 4 CON#ERSORES ANAL+GICO/DIGITAIS E DIGITAIS ANAL+GICOS&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*2
0&! " INTRODU,$O:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& *2
0&2! 4 CON#ERSOR A/D ADC 0808&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& **
DO5NLOAD "1 6TTP://555&NATIONAL&COM/ADS"CGI/#IE5ER&PL/DS/AD/ADC0808&PD(&&&&&&&&**
0&*! " E-ERC)CIOS&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& *4
'! " PROCESSAMENTO DIGITAL DE SINAL&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*5
'&! INTRODU,$O AO PROCESSAMENTO DIGITAL DE SINAIS&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*5
'&2! " CARACTER)STICAS DA AR%UITETURA DE UM CIRCUITO INTEGRADO DEDICADO A DSP:&&&&&&&&&&&&&&&&&&&&&*0
'&*! " CONCLUS$O:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 40
ANE-O I&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&4
2
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
SEMIN/RIOS DE MICROPROCESSADORES&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 4
*
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
AULA 1
PLANEJAMENTO DIDTICO PEDAGGICO DA DISCIPLINA
MICROPROCESSADORES II SEGUNDO SEMESTRE 2004
ESCOLA DE ENGENHARIA - PROF MESTRE I!AIR R NE!ES A"REU
UNIDADE: E78e79:;i:
DISCIPLINA: Mi<;o=;o<ess:>o;es II
PRO(ESSOR: Iv:i; R& Neves A?;e@
De=:;A:Be7Ao: ECeA;D7i<: C+DIGO CREDITOS
ETAPA: 8 CARGA 6OR/RIA: 2 :@C:s SEMESTRE LETI#O: SEGUNDO
O3FETI#OS: o :C@7o >eve;G :>H@i;i; os <o7<eiAos ?Gsi<os >e sisAeB:s <oB
Bi<;o<o7A;oC:>o;es e =;o<ess:>o;es >i8iA:is >e si7:C : 7IveC >e =;oJeAo KIsi<o e =;o8;:B:Lo
eB Ci78@:8eB >e Bo7A:8eB Me BGH@i7:! =:;: AesAe >o sisAeB: eC:?o;:>o& P;oJeAos ?Gsi<os
>e sisAeB:s =;GAi<os <oB Bi<;o<o7A;oC:>o;es e P&D&S& >eve;o se; =;oJeA:>os&
EMENTA:
Reviso >e Co7<eiAos >e Mi<;o=;o<ess:>o;es MA;H@iAeA@;: e Li78@:8eB AsseB?Ce;!
e Mi<;o<o7A;oC:>o; MK:BICi: 805!
SisAeB: >e I7Ae;;@=Lo Mi<;o<o7A;oC:>o; 805
EsA@>o >e I7Ae;K:<es =:;: Co7A;oCe <oB Mi<;o<o7A;oC:>o;es 805
P;oJeAos <oB Bi<;o<o7A;oC:>o;es 805&
EsA@>o >os Bi<;o<o7A;oC:>o;es TMS*'0N Z8N 08 e PIC&
I7A;o>@Lo :o esA@>o >e P;o<ess:>o;es Di8iA:is >e Si7:is
METODOLOGIA
A@C: eO=osiAiv: <oB :@OICio >e ;e<@;sos :@>ivis@:is M=;i7<i=:CBe7Ae ;eA;o=;oJeAo;!&
O :C@7o >eve;G <o7sA:7AeBe7Ae =:;Ai<i=:; :A;:vPs >e :=Ci<:Lo >e eOe;<I<ios e =;oJeAos&
UB: :=osAiC: e7voCve7>o Ao>os os =o7Aos :?o;>:>os se;vi;G >e :=oio >i>GAi<o >@;:7Ae :s
eO=osiLQes& T;:?:C9os Cev:;o o :C@7o : ;eKCeAi; so?;e =o7Aos :v:7L:>os 7o :?o;>:>os
>i;eA:Be7Ae 7: s:C: >e :@C:&
CRITERIO DE A#ALIA,$O
MMP - 0N'! R MLA3 - 0N2! R MT - 0N!! - 0N5 R MP2 - 0N5!
o7>e: P S =;iBei;: =;ov: seBesA;:C
4
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
P2 S se8@7>: =;ov: seBesA;:C&
T S seBi7G;io Mi<;o<o7A;oC:>o;es
L:? S C:?o;:AT;io
MP>i: 1 ' "1 :C@7o :=;ov:>o
5N5UBP>i:U0&2 "1 :=;ov:>o se K;eHVW7<i: 1 80X
Se BP>i: U 5 "1 :C@7o ;e=;ov:>o
C:Ce7>G;io >e P;ov:s:
P "1 05/0/2004
P2 "1 >eKi7i>o =eC: se<;eAG;i:
T "1 : se; :8e7>:>o
CONTEYDO PROGRAM/TICO
" Reviso >e Co7<eiAos >e Mi<;o=;o<ess:>o;es MA;H@iAeA@;: e Li78@:8eB
AsseB?Ce;! e Mi<;o<o7A;oC:>o; MK:BICi: 805!
" EsA@>o >o SisAeB: >e I7Ae;;@=Lo >o Bi<;o<o7A;oC:>o; 805& A=Ci<:LQes&
" EsA@>o >o SisAeB: >e TeB=o;iZ:Lo >o Bi<;o<o7A;oC:>o; 805& A=Ci<:LQes&
" I7Ae;K:<e =:;: Ae<C:>os e >is=C:[s <oB v:;;e>@;:& A=Ci<:LQes&
" I7Ae;K:<e =:;: >is=C:[ >e <;isA:C CIH@i>o& A=Ci<:LQes&
" Co7ve;so;es A/D e D/A <oB Bi<;o<o7A;oC:>o;es
" P;oJeAos <oB=CeAos >e sisAeB:s >e <o7A;oCe <oB Bi<;o<o7A;oC:>o;es 805&
" EsA@>o >os Bi<;o<o7A;oC:>o;es TMS*'0N Z8N 08 e PIC MSeBi7G;ios!&
" I7A;o>@Lo :o esA@>o >e P;o<ess:>o;es Di8iA:is >e Si7:is& DiKe;e7L:s ?Gsi<:s eB
;eC:Lo :os =;o<ess:>o;es A;:>i<io7:is& EsA@>o >: A;H@iAeA@;: >o TMS*20& SisAeB:s
MI7iBo <oB o TMS*20& EsA@>o >: ;oAi7: >e KiCA;o Ki7iAo M(IR! e >i8iA:CiZ:Lo >e si7:is >e
G@>io&
3I3LIOGRA(IA
- APLICA,\ES PR/TICAS DO MICRONTROLADOR 805& #i>:C Pe;ei;: >:
SiCv: F;& " E;i<:
- T6E 805 (AMIL. O( MICROCONTROLLERS& Ri<9:;> 6& 3:;7eAA&
P;e7Ai<e 6:CC&
- T6E 805 MICROCONTROLLER& I& S<9oAA M:<]e7Zie& P;e7Ai<e 6:CC&
- Usi78 A9e MCS"5 Mi<;o<o7A;oCCe; 805& 6ANGN 6:7"5:[N 2000& E>& OOKo;>
U7ive;siA[
- C :7> A9e 805& SC6ULTZN T9oB:sN 200& E>& P;e7Ai<e 6:CC
- APOSTILA MICROPROCESSADORES II& Iv:i; Reis Neves A?;e@
I7Ae;7eA:
^^^&Bi<;o<o7A;oCCe;&<oB
5
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
^^^&8052&<oB
^^^&vi>:C&<oB&?;
^^^&H@esACi7]&<oB
^^^&Bi<;o<9i=&<oB
^^^&Ai&<oB
^^^&ZiCo8&<oB
PLANEFAMENTO DAS AULAS:
- SeB:7:s _Aeis: ' seB:7:s 4 2 :v:Ci:LQes
- SeB:7:s >e :@C:s: 5 seB:7:s
SeB:7:: A=;ese7A:Lo >: >is<i=Ci7:
2 SeB:7:: Reviso >e SisAeB:s <oB Mi<;o<o7A;oC:>o; 805
* SeB:7:: SisAeB: >e I7Ae;;@=Lo >o 805
4 SeB:7:: SisAeB: >e TeB=o;iZ:Lo >o 805 / EOe;<I<ios >e TeB=o;iZ:Lo
5 SeB:7:: SisAeB: >e Te<C:>o M:A;i<i:C& P;oJeAos
0 SeB:7:: I7Ae;K:<es >e >is=C:[ >e ' se8Be7Aos <oB o 805& P;oJeAos
' SeB:7:: Dis=C:[ >e C;isA:C LIH@i>o& P;oJeAos
8 SeB:7:: SisAeB: >e CoB@7i<:Lo Se;i:C / UART 805 " P;oJeAos
2 SeB:7:: EsA@>o >e Co7ve;so;es A/D e D/A =:;: Bi<;o<o7A;oC:>o;es
0 SeB:7:: P;oJeAos <oB <o7ve;so;es e Bi<;o<o7A;oC:>o;es
SeB:7:: I7A;o>@Lo : P;o<ess:Be7Ao Di8iA:C >e Si7:is 4 TMS*20
2 SeB:7:: A;H@iAeA@;: e Co7J@7Ao >e I7sA;@LQes TMS*20
0
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
AULA 2
1) - Reviso da Arquitetura do Microcontrolador 8051
1.1) - Famlia de Microcontroladores !"#$L M%&-51'
Os principais recursos destes microcontroladores so:
- Memria de Programa de 4 kbytes: ROM (8051), EPROM (8751).
Verso "romless" (8031).
- 256 bytes de RAM (registradores)
- 4 ports (latchs bidirecionais programveis) com 8 bits.
- 2 temporizadores ("timers") de 16 bits
- 1 unidade serial assncrona (UART) "full-duplex".
- 5 interrupes (2 externas, 2 "timers" e 1 "UART").
- Oscilador interno para gerao de temporizao.
- Acesso a at 64 Kbytes de RAM externa (dados) e 64 Kbytes de
EPROM (programa) externa atravs do controle de 2 sinais de leitura (PSEN
-> rea de programa - RD -> rea de dados). Esta estrutura conhecida
como 'arquitetura HARVARD'.
- 256 instrues otimizadas para controle.

1.2) - &istema Mnimo com o 8051'
- 32 sinais de entrada/sada
FIGURA 2
- Interface serial (RxD e TxD), interrupes externas (INT0 e
INT1), "timer" duplo externo (T0 e T1).
'
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
FIGURA 3
1.() - %)di*os de o+era,o do microcontrolador 8051'
#$#% - In&'()*+e& de '(,n&-e(.nci, de in-/(0,*1/2
- MOV destino,fonte ;transfere (copiando) o dado da fonte
para o destino
- MOV A,Rn
- MOV A,direto
- MOV A,@Ri
- MOV A,#dado
- MOV Rn,A
- MOV Rn,direto
- MOV Rn,#dado
- MOV direto,A
- MOV direto,Rn
- MOV direto,direto
- MOV direto,@Ri
- MOV direto,#dado
- MOV @Ri,A
- MOV @Ri,direto
- MOV @Ri,#dado
- MOV DPTR,#dado (16) ;carrega DPTR com dado de
;16 bits (pois a memria
;externa tem capac. de
;64k)
- MOVC A,@A+DPTR ;leitura de tabela da ROM com endereo
armazenado em A (offeset) + DPTR (incio da tabela)
- MOVC A,@A+PC ;idem com end. inicial em PC
8
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
- MOVX A,@Ri ;le dado de mem. ext.
;endereado por Ri
- MOVX A,@DPTR
- MOVX @Ri,A
- MOVX @DPTR,A ;escreve dado no acum. na
;memria ext.
- XCH A,Rn ;troca dados do acum. com reg.
- XCH A,direto
- XCH A,@Ri
- XCHD A,@Ri ;troca apenas nibble inferior
#$2% - In&'()*+e& A(i'03'ic,&2
- Instrues de Soma:
- ADD A,Rn ;Acum + Rn = Acum.
- ADD A,direto
- ADD A,@Ri
- ADD A,#dado
- ADDC A,Rn ;Acum + Rn + Carry = Acum.
- ADDC A,direto
- ADDC A,@Ri
- ADDC A,#dado
- ADDC A,Rn
- INC A ;Acum+1 = Acum
- INC Rn
- INC direto
- INC @Ri
- INC DPTR
- Instrues de Subtrao:
- SUBB A,Rn ;Acum - Rn = Acum.
- SUBB A,direto
- SUBB A,@Ri
- SUBB A,#dado
- DEC A ;Acum-1=Acum
- DEC Rn
- DEC direto
- DEC @Ri
- Multiplicao: o resultado de 16 bits armazenado no Acumulador
(LSB) e no registrador B (MSB).
- MUL A,B ;multiplica dado de A por B
- Diviso: a parte inteira do resultado armazenado no acumulador
e o resto no registrador B.
- DIV A,B ;divide A por B
2
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
- Ajuste decimal: soma o nmero 6 ao nibble superior a 9.
Instruo para ajuste decimal.
- DA A
#$$% - In&'()*+e& L45ic,&2
- Instrues AND:
- ANL A,Rn ;A ^ Rn = A
- ANL A,direto
- ANL A,@Ri
- ANL A,#dado
- Instrues OU:
- ORL A,Rn ;A OU Rn = A
- ORL A,direto
- ORL A,@Ri
- ORL A,#dado
- Instrues OU-EXCLUSIVO:
- XRL A,Rn ;A OU-EXC Rn = A
- XRL A,direto
- XRL A,@Ri
- XRL A,#dado
- Rotao: diviso/multiplicao binria
- RR A ;rotaciona todo os bits do
;acumulador 1 posio para a
;direita. O bit 1 deslocado para
;o oitavo bit
- RRC A ;o primeiro bit o acumulador
;rotacionado para o carry e o bit
;deste para o oitavo bit do
;acumulador
- RL A ;idem a RR mas invertendo a direo
- RLC A ;idem a RLC mas invertendo a dir.
- Complementao:
- CPL A ;complementa todos os bits do acum.
- CLR A ;zera acumulador
- SWAP A ;troca os nibbles do acumulador
#$4% - In&'()*+e& de T(,n&-e(.nci, de C/n'(/6e2
- SJMP end(8) ;carrega PC com endereo de 8 bits
0
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
- AJMP end(11);carrega PC com endereo de 11 bit
- LJMP end(16);carrega PC com endereo de 16 bit
- JMP @A+DPTR ;carrega PC com endereo (A+DPTR)
- JNZ end(8) ;se Z=0, salta para endereo
- JZ end(8) ;se Z=1, salta para endereo
- ACALL end(11) ;salta para a subrotina de endereo indicado.
PCH->(SP+1), PCL->(SP+2) e SP->SP+2
- LCALL end(16) ;idem com end. de 16 bits
- RET ;resgata endereo da pilha, retornando ao
ponto da chamada de subrotina. SP->PCL, SP-1->PCH e SP=SP-2
- RETI ;retorno de subrotinas de
interrupo.
- PUSH direto ;salva na pilha (SP+1) dado
direto
- POP direto ;resgata da pilha (SP-1) dado direto

- CJNE A,direto,end(8) ;se A direto, saltam
- CJNE A,#dado,end(8) ;se A #dado, saltam
- CJNE Rn,#dado,end(8) ;se Rn #dado, saltam
- CJNE @Ri,#dado,end(8) ;se (Ri)#dado, saltam
- DJNZ Rn,end(8) ;decrementa Rn. Se Rn0,
;retorna ao endereo
- DJNZ direto,end(8) ;idem utilizando dado
;direto como contador.
#$7% - In&'()*+e& "//6e,n,&2
- CLR C ;zera bit Cy
- CLR bit ;zera bit especificado
- SETB C ;seta bit Cy
- SETB bit ;seta bit especificado
- CPL C ;complementa Cy
- CPL bit ;complementa bit
- ANL C,bit ;operao "and" entre o Cy e o bit
- ANL C,/bit;operao "and" entre o Cy e o inverso
;do bit especificado
- ORL C,bit ;operao "OU" entre o Cy e o bit
- ORL C,/bit;operao "OU" entre o Cy e o inverso
;do bit especificado
- MOV C,bit ;copia bit especificado para o Cy
- MOV bit,C ;copia Cy para o bit
- JNC end(8);salta para o endereo especificado se
;Cy zero
- JC end(8);salta para o endereo especificado se
;Cy um
- JB bit,end(8) ;salta para o endereo espec.
;se bit=1
- JNB bit,end(8) ;salta para o endereo espec.
;se bit=0

APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II


- JBC bit,end(8) ;salta e zera o bit se o mesmo
;estiver setado
AULA (
1.-) - $.erccios
1) - Fazer um projeto de um sistema de controle de iluminao residencial
com as seguintes caractersticas:
- 8031
- EPROM 2764
- Comunicao serial RS232
- 1 sensor fotoeltrico
- 5 lmpadas externas
- 1 chave para a sala 1
- 3 lmpadas para a sala 1
- 1 chave para a sala 2
- 3 lmpadas para a sala 2
- Fazer um programa para as lmpadas externas serem controladas pelo
sensor fotoeltrico e as lmpadas das salas 1 e 2 serem controladas pelas
chaves.
2) - Idem para o microtrolador 8051 e mais 4 salas com 3 lmpadas cada.
2
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
2) - /is+la0 L%/ +ro*ram1vel
2.1) - !ntrodu,o'
Atualmente esto disponveis no mercado uma grande variedade de
displays de Cristal Lquido com circuitos de controle e processamento
interno que visam facilitar o projeto de hardware e a rotina de
programao destes tipos de dispositivos de sada.
A figura a seguir mostra os principais controles destes tipos de
displays:
Figura 4 -Arquitetura bsica dos displays L.C.D.
Descrio dos sinais:
- D0-D7: barramento de dados com dupla funo: envio dos comandos
de programao do display (posicionamento do cursor, endereo do caracter
a ser utilizado, etc.) e dos dados a serem escritos no display.
_
- C/D: em nvel baixo, indica que o barramento de dados D0-D7
carrega a informao de controle (configurao geral do display). Em
nvel alto, informao de dados (informao a ser mostrado no display).
Sinal normalmente ligado ao endereo A0 (endereo mpar -> dado; endereo
par -> controle)
- E: sinal que em nvel alto habilita o display. Nos modelos com
4 linhas, utilizamos um sinal E1 para a habilitao das 2 primeiras
linhas e um sinal E2 para a habilitao das 2 ltimas linhas.
_
- R/W: sinal de entrada indicando em nvel baixo processo de
escrita (barramento de dados como entrada) e em nvel alto processo de
leitura (barramento de dados como sada).
- Vo: entrada de tenso para controle de luminosidade do display
- Vss/GND: entrada de alimentao nica de +5 Vcc.
Comercialmente, citamos abaixo alguns dos modelos disponveis:
*
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
- Display 8 caracteres x 1 linha, caracter com 7 pontos verticais e
5 pontos horizontais
- Display 16x1, caracter 8x5
- Display 16x1, caracter 11x5
- Display 16x2, caracter 8x5
- Display 20x2, caracter 8x5
- Display 20x4, caracter 8x5
- Display 40x1, caracter 8x5
- Display 40x2, caracter 8x5
- Display 40x4, caracter 8x5
2.2) - &istema mnimo com o dis+la0 L.%./. '
Figura 5 - Sistema mnimo com o display L.C.D com endereamento de
memria
Figura 6 - Sistema Mnimo com o display L.C.D. utilizando Ports
4
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
Com o sinal C/D colocado em nvel baixo temos a configurao bsica
do display. Os principais comandos so listados abaixo:
- Configura display para 1 linha (8 bits) -> 30H
- 2 linhas (8 bits) -> 38H
- Display ativado com cursor fixo -> 0EH
- Display ativado com cursor intermitente -> 0CH
- Cursor apagado -> 08H
- Mensagem com deslocamento esquerda -> 07H
- Mensagem com deslocamento direita -> 05H
- Cursor com deslocamento esquerda -> 04H
- Cursor com deslocamento direita -> 06H
- Limpa display e retorna o cursor -> 01H
- Desloca somente cursor esquerda -> 10H
- Desloca somente cursor direita -> 14H
Exemplo:
1) - Inicializar display com 2 linhas, ligado com cursor intermitente,
deslocamento esquerda e limpando o display.
;* PRIMEIRA MANEIRA DE IMPLEMENTAR UMA INICIALIZAO
MOV DPTR,#00 ;COLOCA END.A0 (C/D) = 0 -> CONTR.
MOV A,#38H ;2 LINHAS
MOVX @DPTR,A
CALL TEMPO15 ;ESPERA 15 MSEG.
MOV A,#0CH ;DISPLAY INTERMITENTE
MOVX @DPTR,A
CALL TEMPO15
MOV A,#05H ;DESLOCAMENTO A DIREITA
MOVX @DPTR,A
CALL TEMPO15
MOV A,#01H
;* SEGUNDA MANEIRA DE IMPLEMENTAR UMA INICIALIZAO
MOV R0,#00 ;CARREGA CONTROLE
MOV R3,#00 ;INICIALIZA PONDEIRO
MOV DPTR,#TAB_INI ;CARREGA INDEXADOR
VOLTA_IN: MOV A,R3
MOVC A,@A+DPTR
INC R3 ;INCREMENTA PONTEIRO
CJNE A,#0FFH,SALTO ;SE NAO CHEGOU NO FINAL SALTA
JMP FIM_INI
;ENVIA DADO PARA INICIALIZACAO
SALTO: MOVX @R0,A ;ENVIA DADO PARA O DISPLAY
CALL TEMPO15
JMP VOLTA_IN ;PROXIMO DADO DA TABELA
.
.
.
TAB_INI: DB 38H,0CH,05H,01H,0FFH ; DADOS PARA INICIALIZAAO
END
5
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
2) - Idem para 1 linha, sem cursor, deslocamento direita e limpando o
display.
Para o posicionamento do cursor/mensagem dentro do display basta
fornecermos como comando o endereamento da tabela de endereamento do
display fornecida abaixo:
1P 2P 3P ...... 39P 40P
1 L -> 80H 81H 82H A6H A7H
2 L -> C0H C1H C2H E6H E7H
Exemplo:
1) - Posicionar o cursor na primeira posio do display.
mov r0,#00 ;controle
mov a,#80h ;posiciona cursor
movx @r0,a
2) - Posicionar o cursor no meio da primeira linha do display de 20
caracteres.
AULA -
2.-) - $scrita de dados no dis+la0'
Para a escrita de dados no display, colocamos o comando C/D em
nvel ALTO (endereo impar). O display necessita ser inicializado e o
cursor posicionado na posio do primeiro caracter. Uma vez posicionado
este caracter, automaticamente o display incrementa a posio do cursor,
no necessitando de reprogramaes constantes do posicionamento do
display.
Exemplo:
1) - Escrever a letra CASA no meio da primeira linha de um display 16 x
2.
mov r0,#00 ;controle
mov a,#85h ;posiciona no meio do display
movx @r0,a
call tempo15
mov ro,#01 ;dado
mov a,#c ;escreve c em ascii
movx @ro,a
call tempo15
mov a,#a ;escreve a em ascii
movx @ro,a
call tempo15
mov a,#s ;escreve s em ascii
movx @ro,a
call tempo15
0
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
mov a,#a ;escreve a em ascii
movx @ro,a
call tempo15
ret
2) - Idem para a segunda linha
2.5) - $.erccios'
1) - Escrever a palavra ENGENHARIA MACKENZIE no centro da primeira
linha de um display 2 x 16.
2) - Escrever seu nome completo (abreviado se necessrio) centralizado na
primeira linha e seu cdigo de matrcula centralizado na segunda linha.
3) - Fazer um projeto de um sistema com o 8031 com um display de 32
caracteres, RAM de 8Kbytes 6264 (endereo 2000h - 3fffh) e EPROM de
8kbytes 2764. Utilizar o endereo 0001H para acesso os registros de dado
do display e o endereo 0000H para controle. Fazer uma rotina para
escrever na primeira linha a palavra 'ENGENHARIA' e na segunda a palavra
'MACKENZIE'.
4) Piscar com intervalo de 1 segundo as mensagens:
NOME TURMA
CODIGO SALA
'
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
AULA 5
() - &istema de #em+ori2a,o e !nterru+,o do 8051
(.1) - &istema de !nterru+,o'
O microcontrolador 8051 possui 5 interrupes, com a prioridade
mais alta podendo ser programada pelo registrador IP. O nvel de
prioridade 'default' e os vetores de interrupo so apresentados abaixo:
IE0 (interrupo externa 0) -> 0003H
TF0 (interrupo do timer 0) -> 000BH
IE1 (interrupo externa 1) -> 0013H
TF1 (interrupo do timer 1) -> 001BH
SRT (interface serial) -> 0023H
- Registrador de habilitao do sistema de interrupo:
_________________________________________
IE: | EA | x | x | ES | ET1 | EX1 | ET0 | EX0 |
EA: em nvel baixo, desabilita todas as interrues
ES: em nvel baixo, desabilita interrupo serial
ET1: em nvel baixo, desabilita interrupo do timer 1
EX1: em nvel baixo, desabilita interrupo externa 1
ET0: em nvel baixo, desabilita interrupo do timer 0
EX0: em nvel baixo, desabilita interrupo externa 0
- Registrador do nvel de prioridade:
________________________________________
IP: | x | x | x | PS | PT1 | PX1 | PT0 | PX0 |
PS: em nvel alto, interrupo serial prioridade
PT1:em nvel alto, interrupo timer 1 prioridade
PX1:em nvel alto, interrupo externa 1 prioridade
PT0:em nvel alto, interrupo timer 0 prioridade
PX0:em nvel alto, interrupo externa 0 prioridade
Ex.: 1) - Habilitar as interrupes TIMER0, EXT1 e SERIAL. Prioridade
mxima para a unidade SERIAL.
2) - Desabilitar apenas a unidade SERIAL.
(.2) - $.erccios
1) - Supondo que a entrada da primeira interrupo externa (IE0) seje
utilizada para contagem de eventos de 16 bits, fazer um programa para que
as posies de memria 30H e 31H sejam incrementadas a cada evento.
2) - Idem para a interrupo externa 1, sendo o contador implementado a
partir das posies de memria 40H e 41H.
8
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
3) - Supondo que um teclado externo interrompa o microcontrolador 8031
utilizando a interrupo externa 1, colocar o conteudo da tecla acionada
(armazenada na memria externa do teclado com endereo 0 - utilizar a
instruo MOVX) no endereo 50H da memria interna.
4) - Idem para um conversor A/D utilizando a interrupo IE1 e endereo
de acesso 20H..
5) - Utilizando a entrada IE0, fazer uma rotina para o registrador R0
indicar o nmero de vzes que um feixe luminoso interrompido.
AULA 6
(.() - A+lica,o de interru+,o e.terna -3 &istema de Leitura direta de teclas.
A chave lida de forma direta pelo microcontrolador. Apesar da
grande simplicidade de programa para a leitura das chaves, apresenta como
desvantagem a ocupao ao nvel de hardware de grande nmero de ports.
Ex.: Leitura de 16 chaves -> Port 1 e 2 (16 ports). Fazer um programa
para ler cada chave colocar sua condio nos bits 20.0H a 21.7H.
Figura 7 - Varredura direta de 16 teclas
Pode-se observar que o acionamento de qualquer tecla provoca uma
interrupo INT0. Portanto, o programa de tratamento das teclas deve-se
localizar no endereo da interrupo externa 0 (03H):
;* PROGRAMA DE LEITURA DE 16 TECLAS DOS PORTS P1 E P2
ORG 0
JMP INICIO
ORG 3
JMP LETEC ;SALTA PARA A LEITURA DAS TECLAS
ORG 30H ;INICIO NORMAL DO PROGRAMA
INICIO: MOV SP,#PILHA
MOV IE,#10000001B
2
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
.
.
.
;* ROTINA DE TRATAMENTO DO TECLADO
LETEC: PUSH PSW
MOV C,P1.0 ;LE TECLA 0
MOV 20.0,C ;COLOCA TECLA 0 NA AREA BOOLEANA
MOV C,P1.1
MOV 20.1,C
.
.
.
MOV C,P2.7 ;LE LTIMA TECLA
MOV 21.7,C
POP PSW
RETI
(.-) - $.erccio
1) - Fazer um programa para ler 8 teclas localizadas no PORT P1 e
armazenar o resultado nos bits 23.0 a 23.7. Se a quarta chave estiver em
1, ligar um ventilador localizado no Port P2.0. Prever debouced de 10
mseg. Utilizar INT1 para interrupo.
(.5) - &istema de tem+ori2a,o'
O microcontrolador da famlia 8051 possui 2 timers de 16 bits. Seu
nmero programado incrementado por pulsos externos (dos pinos Tin1 e
Tin2) ou pelo clock interno de 1/12 fcristal. Quando o nmero do timer
chega a zero, a interrupo respectiva (TF0 - end. 000bH ou TF1 - end.
001bH) acionada.
Registradores do sistema de temporizao:
- Registrador TH0 e TL0: registradores de 8 bits do timer 0
localizado na rea de registradores especiais (SFR) que somados formam o
contador de 16 bits.
- Registrador TH1 e TL1: registradores de 8 bits do timer 1
localizado na rea de registradores especiais (SFR) que somados formam o
contador de 16 bits.
- Registrador de modo:
---------------------- ----------------------
TMOD: | GATE | C/T | M1 | M0 | GATE | C/T | M1 | M0 |
---------------------- ----------------------
TIMER 1 TIMER 0
GATE: utilizado quando se deseja um controle do timer externo
atravs do pino externo INT0 ou INT1 (dependendo do timer utilizado).
20
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
Quando este bit est em 1 e o pino INT externo est setado, o bit TR1 do
registrador TCON controla o funcionamento do timer.
-
C/T: em nvel alto, coloca o timer como contador dos pulsos da
entrada Tin1 (externa). Em nvel baixo, o timer acionada pelo sinal de
frequncia 1/12 do oscilador interno.
M1 M0 : controla modo de operao do timer
0 0 -> possuiu um divisor de 5 bits e um
contador de 8 bits
0 1 -> sem divisor, possuiu contador de 16 bits
1 0 -> contador de 8 bits (TH). O byte TH
recarregado a cada ciclo em TL
1 1 -> para timer.
- Registrador de controle
______________________________________________
------------------------------------------------------
TCON: | TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0|
----------------------- -------------------------------
TF0: bit de status. Em nvel alto indica overflow do
timer 0.
TR0: em nvel alto habilita o funcionamento do timer 0. Precisa
ser setado para o timer operar.
IE0: bit de status. Em nvel alto indica que houve
pulso na entrada do pino Tin0.
IT0: em nvel alto indica pulso positivo na entrada do
pino Tin0. Em nvel baixo indico pulso negativo.
Ex.: Configurar o timer 0 para temporizao de 16 bits e timer 1 para
temporizador de 8 bits com carregamento automtico. Colocar o nmero
0AB5H no timer 0 e 20H no timer 1.
(.() - $.erccios
1) - Qual o tempo mximo possvel de ser implementado pelos timer 0 e 1
se utilizarmos um cristal de 12 Mhz para o cristal externo.
2) - Idem ao exerccio anterior utilizando um cristal de 1 Mhz externo.
3) - Se utilizarmos o timer 0 controlado pela entrada externa 0 (pino
T0), qual o tempo mximo de temporizao se recebermos um sinal externo
quadrado de 1 Khz?
AULA 7
2
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
4) - Fazer uma rotina para a cada 100 mseg (supor que o cristal do
microcontrolar de 6 Mhz) a posio da chave localizada no port P1.0
seja colocada na posio de memria booleana 20.0H. Se a chave estiver
em nvel alto, ligar um motor localizado no port P1.1. Caso contrrio,
desligar o mesmo motor. Utilizar o timer 0 para implementar a
temporizao.

5) - Fazer uma rotina para a cada 10 mseg (supor que o cristal do
microcontrolador de 12 Mhz) as posies de 4 chaves localizadas nos
ports P1.0, P1.1, P1.2 e P1.3 sejam colocadas nas posies booleanas
20.0H, 20.1H, 20.2H e 20.3H e controlem 4 motores localizados nos ports
P1.4, P1.5, P1.6 e P1.7. Utilizar o timer 1 para implementar a
temporizao.
6) - Fazer com que as posies 30 H e 31 H sejam incrementadas a cada 1
mseg. Usar o timer 1 para implementar a temporizao. Utilizar cristal
de 12 Mhz.
7) - Utilizando o timer 0 programado para 10 mseg. fazer com que a
posio 40 H e 41 H sejam incrementadas a cada 10 mseg. Utilizar cristal
de 1 Mhz.
8) - Fazer um programa para o port P1.0 gerar um pulso de 0,5 segundo
quando 10 garrafas passarem por um feixe luminoso. Utilizar o timer 0
configurado como contador.
9) - Colocar a mensagem abaixo no display. A cada 20 mseg. ler o sensor
P1.0. Ligar uma lmpada (P1.1) se o sensor estiver em nvel baixo e
desligar a lmpada se o sensor estiver em nvel alto.
22
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
4) - &istema de varredura de #eclado4/is+la0.
As teclas esto localizadas na interseco de linhas (ports de
sada) e colunas (ports de entrada). Ao acionar uma determinada tecla, o
sinal da linha colocado na coluna para ser lida. Um sistema de
varredura (com freqncia superior da freqncia de toque das teclas)
garante um sinal em nvel alto (ou baixo) durante um pequeno perodo
suficiente para ser reconhecido pelo port de entrada em caso de
acionamento de alguma tecla.
Figura 8 - Teclado de 16 teclas com varredura matricial
O programa abaixo faz a leitura de 16 chaves utilizando o PORT 2.
Utilizar os 4 bits P2.0 a P2.3 para gerar os sinais de varredura. Fazer
um programa para ler cada chave colocar sua condio nos bits 20.0H a
21.7H. Ler o teclado a cada 10 mseg. utilizando o timer 0.
;* timer 0 -> 0d8efH (calculado no exerccio 5 - item 2.3)
;* definio dos ports
COLUNA1 BIT P2.0
COLUNA2 BIT P2.1
COLUNA3 BIT P2.2
COLUNA4 BIT P2.3
LINHA1 BIT P2.4
LINHA2 BIT P2.5
LINHA3 BIT P2.6
LINHA4 BIT P2.7
;* definio da rea boolena
CHAVE1 EQU 0 ;*POSIO 20.0
CHAVE2 EQU 1
CHAVE3 EQU 2
CHAVE4 EQU 3
CHAVE5 EQU 4
CHAVE6 EQU 5
CHAVE7 EQU 6
CHAVE8 EQU 7
2*
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
CHAVE9 EQU 8
CHAVE10 EQU 9
CHAVE11 EQU 0aH
CHAVE12 EQU 0bH
CHAVE13 EQU 0cH
CHAVE14 EQU 0dH
CHAVE15 EQU 0eH
CHAVE16 EQU 0fH ;POSIO 21.7
;* INICIO DO PROGRAMA
ORG 0
JMP INICIO
ORG 0BH ;TIMER 0
JMP LECHAVE
ORG 30H
INICIO: MOV SP,#60H
MOV IE,#10000010B ;HABILITA TIMER 0
MOV TH0,#0D8H
MOV TL0,#0EFH
MOV TMOD,#00010001B
SETB TR0 ;LIGA TIMER0
CLR TR1 ;DESLIGA TIMER1
.
.
.
;*SUBROTINA DA INTERRUPO
LECHAVE: MOV TH0,#0D8H
MOV TL0,#0EFH
MOV 20H,#00H ;ZERA REA BOOLENA
MOV 21H,#00H
SETB LINHA1 ;SETA LINHA1
SETB LINHA2
SETB LINHA3
SETB LINHA4
;* INICIA VARREDURA DA LINHA1
CLR LINHA1 ;ZERA LINHA 1
JB COLUNA1,SALTO1 ;SE A TECHA1 NAO ESTIVER
;ACIONADA, SALTA
SETB CHAVE1 ;INDICA CHAVE1 ACIONADA
SALTO1: JB COLUNA2,SALTO2 ;SE A TECLA2 NAO ESTIVER
;ACIONADA, SALTA
SETB CHAVE2 ;INDICA CHAVE2 ACIONADA
SALTO2: JB COLUNA3,SALTO3
SETB CHAVE3
SALTO3: JB COLUNA4,SALTO4
SETB CHAVE4
SALTO4: SETB LINHA1 ;LIBERA LINHA 1
CLR LINHA2 ;ZERA LINHA 2
JB COLUNA1,SALTO5 ;SE A TECHA5 NAO ESTIVER
;ACIONADA, SALTA
SETB CHAVE5 ;INDICA CHAVE5 ACIONADA
SALTO5: JB COLUNA2,SALTO6 ;SE A TECLA6 NAO ESTIVER
;ACIONADA, SALTA
24
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
SETB CHAVE6 ;INDICA CHAVE6 ACIONADA
SALTO6: JB COLUNA3,SALTO7
SETB CHAVE7
SALTO7: JB COLUNA4,SALTO8
SETB CHAVE8
SALTO8: SETB LINHA2 ;LIBERA LINHA 2
CLR LINHA3 ;ZERA LINHA 3
JB COLUNA1,SALTO9 ;SE A TECHA9 NAO ESTIVER
;ACIONADA, SALTA
SETB CHAVE9 ;INDICA CHAVE9 ACIONADA
SALTO9: JB COLUNA2,SALTO10;SE A TECLA10 NAO ESTIVER
;ACIONADA, SALTA
SETB CHAVE10 ;INDICA CHAVE10 ACIONADA
SALTO10: JB COLUNA3,SALTO11
SETB CHAVE11
SALTO11: JB COLUNA4,SALTO12
SETB CHAVE12
SALTO12: SETB LINHA3 ;LIBERA LINHA 3
CLR LINHA4 ;ZERA LINHA 4
JB COLUNA1,SALTO13;SE A TECHA13 NAO ESTIVER
;ACIONADA, SALTA
SETB CHAVE13 ;INDICA CHAVE13 ACIONADA
SALTO13: JB COLUNA2,SALTO14;SE A TECLA14 NAO ESTIVER
;ACIONADA, SALTA
SETB CHAVE14 ;INDICA CHAVE10 ACIONADA
SALTO14: JB COLUNA3,SALTO15
SETB CHAVE15
SALTO15: JB COLUNA4,SALTO16
SETB CHAVE16
SALTO16: SETB LINHA4 ;LIBERA LINHA 4
RETI ;RETORNA DA INTERRUPCAO
AULA 8
-.1) - $.erccios
1) - Fazer um projeto para leitura de dip-switch de 8 chaves utilizando o
sistema de varredura estudado. Colocar a condio das 8 chaves na rea
booleana do sistema. Se a chave 1 estiver na condio zero, colocar o
dado 0ffH no port 1. Caso contrrio, zerar o mesmo port. Utilizar o
timer0 configurado para 10 mseg. para ler o dip-switch.
2) - Fazer um projeto para o controle de um teclado de 64 teclas.
Colocar sua condio na rea booleana. Utilizar uma rotina de
interrupo controlada pelo timer 1 com temporizao de 10 mseg para a
temporizao da leitura das teclas.
3) - Projeto de um teclado telefnico
25
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
5) - &istema de %omunica,o &erial
5.1) - !ntrodu,o e conceitos 51sicos'
A comunicao serial proporciona a comunicao entre 2 pontos ou
uma rede de pontos atravs de um nmero reduzido de vias (2 vias no caso
da comunicao full-duplex ou 1 via no caso da comunicao half-duplex,
rede de fibras ticas, cabo coaxial utilizado em redes padro ETHERNET).
A comunicao serial proporciona maior economia a infraestrutura de
transferncia de dados (menor nmero de vias nos cabos, menor nmero de
canais nos repetidores de linha, etc.), maior imunidade a rudos, maior
alcance. Apresenta como desvantagem bsica a menor velocidade de
processamento (variando de 300 b.p.s - baunds at redes de alta
velocidade de 100 Mbits/seg) em se comparando com a velocidade de
transferncia paralela interna dos computadores (atravs dos barramentos
internos).
Para baixas velocidades, podemos subdividir a comunicao serial em
comunicao assncrona e sncrona:
7##% - C/0)nic,*1/ A&&8nc(/n,2
A comunicao assncrona envia dados de incio (start bit) e fim de
transmisso (stop bit). Bits de paridade so opcionais. Apesar da
simplicidade e alta utilizao utilizada apenas em sistemas de baixa
velocidade, devido a perda de rendimento introduzido pelos sinais START
BIT, STOP BIT e PARIDADE.
Figura 11 - Estrutura bsica da comunicao assncrona
Os dispositivos seriais programveis presentes dentro de chips
dedicados ou microcontroladores recebem o nome de UART (UNIDADE
ASSNCRONA DE RECEPO TRANSMISSO)
7#2% - C/0)nic,*1/ S8nc(/n,2
Na comunicao sncrona a transmisso de um bloco de caracter com
adio de controles apenas no incio e final do bloco. O nmero de
blocos transmitidos varia bastante. Um caracter de CHECK-SUM garante a
20
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
integridade da comunicao. Um protocolo padro garante a qualidade e
integridade da comunicao (atravs de comandos como NACK e ACK)
Figura 12 - Estrutura bsica de comunicao sncrona.
Os dispositivos seriais programveis assncronos/sncronos
presentes dentro de chips dedicados ou microcontroladores recebem o nome
de USART (UNIDADE SNCRONA / ASSNCRONA DE RECEPO TRANSMISSO)
7#$% - In'e(-,ce 9,d(1/ RS-2$22
Segue orientao V.24 da CCITT. Aumenta a imunidade a rudo
incrementando os nveis de tenso dos bits 0 e 1 transmitidos.
Sin,6 RS2$2 - A6', i0)nid,de , ()8d/
Figura 13 - Sinais padro TTL e RS-232
A implementao mais comum realizada atravs de line-drivers
integrados (como os chips 1488 - TTL/RS232 e 1489 - RS323/TTL).
7#4% - Sin,i& '89ic/& de )0, in'e(-,ce 9,d(1/ &e(i,62
Os sinais mais comuns encontrados em comunicao serial assncrona
mostrado abaixo. Uma aplicao tpica desta configurao
2'
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
implementada na comunicao computador/MODEM (interface utilizada para
modulao/demodulao para comunicao na rede telefnica).
- TXD: transmisso de dados.
- RXD: recepo de dados.
- RTS (request to send): sinal de sada de propsito geral.
Normalmente ativo em 0, tem como principais aplicaes validar dados
trasmitidos (como um sinal STROBE) ou determinar se o sinal de
transmisso ou recepo nas comunicaes full-duplex.
- CTS (clear to send): sinal de entrada como resposta ao sinal
RTS, indicando entendimento do sinal RTS. Em muitos sistemas, este sinal
necessita estar em 0 para funcionamento do sistema.
- DTR (data terminal ready): sinal de sada de propsito geral.
- DSR (data set ready): sinal de entrada de propsito geral.
- CD (carrier detect): sinal de entrada indicando que a portadora
foi detectada pelo modem.
Muitos dos sinais de propsito acima tem suas funes ligadas ao
protocolo.
AULA 9
5.2) - %omunica,o serial no 8051'
O port serial do microcontrolador 8051 full-duplex, ou seja,
pode-se transmitir e receber uma comunicao simultaneamente. Como
existe um buffer de recepo !"#$% poss&'el esperar-se a leitura deste
buffer sem a perda do pr(ximo dado de recepo. )ste mesmo buffer !"#$
utili*ado para a transmisso de dados.
O port serial opera de + modos,
- -odo 0, comunicao serial de 8 bits sem START e STOP BIT%.
"it .!" o primeiro. "aud-rate fixo em 1/10 da fre1u2ncia do cristal.
- -odo 1, comunicao serial de 10 bits com START e STOP BIT%. 3a
recepo, o STOP BIT 'ai para o 4"8 do re5istrador !CO3 se !-060. "aud-
rate pro5ram7'el de acordo com car5a do timer 1.
- -odo 0, comunicao serial de 11 bits com START, STOP BIT e
PARIDADE%. O bit de paridade pro5ram7'el atra's do bit 8"8 de !CO3.
3a recepo, o bit de paridade 5uardado em 4"8 de !CO3. O baud rate
pro5ram7'el pelo bit !-O9 do re5istrador :CO3. Com !-O960, baud rate
1/;+ da fre1<2ncia do cristal. Com !-O961, baud-rate 1/=0 da
fre1<2ncia do cristal.
- -odo =,idem ao modo 0,mas com baud-rate pro5ram7'el pelo timer 1.

> comunicao serial do 8051 trabal?a basicamente com =
re5istradores,
- 4e5istrador :CO3, re5istrador com o bit !-O9 e bits para
5erenciamento de ener5ia nas 'ers@es C-O!
28
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
PCON: SMOD - - - GF1 GF2 PD IDL
!-O9, nos modos 1,0 e = de operao do !"#$, !-O961 dobra a
taxa de transmisso bin7ria.
A$1 e A$0, bits 5enricos.
:9 e B9.), 5erenciam modos de economia de ener5ia. :9
suspende por completo as opera@es do processador 'oltando apenas com o
reset% e o modo B9.) deixa ati'ados apenas os perifricos internos
timer, uart, interrup@es, etc.% representando uma economia de ener5ia
de 85C. !ai do modo B9.) atra's de interrup@es ou reset.
)x.,
1% - Colocar o processador em modo B9.).
-OD :CO3,E00000001"
0% - Colocar o processador em modo :OF)4 9OF3
- Registrador SBUF, re5istrador arma*enador do dado de transmisso
e recepo.
- SCON, re5istrador de controle serial,
SM0 SM1 SM2 REN TB RB TI RI
!-0 - !-1, modo de operao
0 0 modo 0
0 1 modo 1
1 0 modo 0
1 1 modo =
!-0, no modo 1, se !-061, 4B no ser7 ati'ado se no for
recebido o !8O: "B8. !e !-060, 4B ser7 sempre ati'ado e 4"8 recebe o
!8O: "B8. 3o modo 0/=, se !-061, 4B no ser7 ati'ado se o bit de
paridade for 0. !e !-060, 4B sempre ati'ado, independente do bit de
paridade. 3o modo 0, !-060 sempre.
4)3, em n&'el alto ?abilita recepo.
8"8, arma*ena pro5ramao dos bits de paridade dos modos 0 e
=.
4"8, nos modos 0/=, arma*ena o bit de paridade recebido. 3o
modo 1, se !-060, 4"8 arma*ena o !8O: "B8 sendo utili*ado por rotinas de
correo de erro. 3o modo 0, 4"8 no utili*ado.
8B, bit indicador de dado transmitido. 3ecessita ser limpo
por softGare.
4B, bit indicador de dado recebido. 3ecessita ser limpo por
softGare.
22
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
3os modos 1 e =, ?7 a necessidade de utili*ar-se o timer 1 para a
5erao do baud-rate. O timer 1 de'e ser pro5ramado para o modo de
autocarre5amento, 'isto no estudo dos timers. O 'alor de car5a em funo
do cristal fornecido no manual onde temos a f(rmula de c7lculo para
outros cristais% e reprodu*ida abaixo,
smod
8axa 6 0 x fre1. cristal%
---- --------------
=0 10 x 05; - 8H1%
:ara o cristal de 11.05I -?* e ; -?* temos os 'alores tabelados
abaixo considerando !-O960,

"aud-rate fcristal Car5a do timer
I,; J 11.05I -?* $9 ? !-O9 6 1%
+,8 J 11.05I -?* $9 ? !-O9 6 0%
0,+ J 11.05I -?* $+ ? K
1,0 J 11.05I -?* )8 ? K
110 ; -?* L0 ? K
Colocando !-O9 6 1 dobramos a taxa de transmisso.
)x., 1% - :ro5ramar o re5istrador !CO3 e o 8B-)4 1 para 8 bits de dado,
sem paridade, ?abilitacao de 4M e baud-rate de I;00 baunds. !upor a
utili*ao de cristal de 11.05I -?*
-OD 8H1,E 0$9 ? Ncarre5a cristal 1 com reload
-OD 8-O9,E 0010MMMMb N pro5rama timer 1 c/ reload
-OD 8CO3,E 010M0000b Nroda timer 1
-OD B),E 10011MMMb N?abilita inter. serial e t1
-OD :CO3,E10000000" N!-O9 6 1
-OD !CO3, E 01010000b Nmodo 1 e rx ?abilitado
0% - Bdem para 8 bits, com paridade, ?abilitao 4M e baud-rate de 0+00
baunds.
=% - $a*er uma rotina de interrupo serial para colocar o dado recebido
no endereo indicado pOr 40. #tili*ar a rotina de iniciali*ao do
exemplo 1.
O4A 0
P-: B3BCBO
...
O4A 0=H
P-: !)4B>.
...
O4A =0H
B3BCBO, -OD 8H1,E 0$9 ? Ncarre5a cristal 1 com reload
-OD 8-O9,E 0010MMMMb N pro5rama timer 1 c/ reload
-OD 8CO3, E 010M0000b Nroda timer 1
*0
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
-OD B),E 10011MMMb N?abilita inter. serial e t1
-OD !CO3, E 01010000b Nmodo 1 e rx ?abilitado
...
!)4B>., :#!H >CC
-OD >,!"#$
-OD Q40,>
C.4 4B
:O: >CC
4)8B
+% - Bdem esperando o dado atra's do bit 4B
...
F>B84M, P3" 4B,F>B84M
-OD >,!"#$
-OD Q40,>
C.4 4B
...
5% - 8ransmitir o dado presente na posio de mem(ria indicada por 40.
#tili*ar a iniciali*ao do exemplo 1
...
O4A =0 ?
-OD 8H1,E 0$9 ? Ncarre5a cristal 1 com reload
-OD 8-O9,E 0010MMMMb N pro5rama timer 1 c/ reload
-OD 8CO3, E 010M0000b Nroda timer 1
-OD B),E 10011MMMb N?abilita inter. serial e t1
-OD !CO3, E 01010000b Nmodo 1 e rx ?abilitado
...
8M"#$, -OD >,Q40
-OD !"#$,> NC>44)A> 9>9O > !)4 8M
P3" 8B,R N)!:)4> 84>3!-B8B4
C.4 8B
...
;% - Bdem tranmitindo a pala'ra ->CS em >!CBB.
8M, -OD >,T-T
C>.. 8M1
-OD >,T>T
C>.. 8M1
-OD >,TCT
C>.. 8M1
-OD >,TST
C>.. 8M1
...
8M1, -OD !"#$,>
P3" 8B,R
C.4 8B
4)8
*
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
L% - $a*er uma rotina para transmitir uma strin5 de uma tabela terminando
com 0ff?.
*2
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
AULA 10
6) 7 %onversores Anal)*ico4/i*itais e /i*itais Anal)*icos
6.1) - !ntrodu,o'
Si7:C A7:CT8i<o M7o >is<;eAo! "1 Si7:C Di8iA:C M>is<;eAo!
(:Ao;es =:;: <o7ve;so:
" N_Be;o >e ?iAs >e <o7ve;so: >eAe;Bi7: o 7_Be;o >e v:Co;es >is<;eAos >: <o7ve;so "1 2
7
" #:Co; >e ReKe;W7<i:: >eAe;Bi7: o v:Co; BGOiBo >e <o7ve;so MK@7>o es<:C: >o v:Co; :7:CT8i<o >eve se;
:J@sA:>o =:;: esAe v:Co;!
" (;eHVW7<i: >e ABosA;:8eB: >eAe;Bi7: o =e;Io>o e7A;e >@:s :BosA;:s& PeCo Teo;eB: >e N[H@esAN :
K;eHVW7<i: >e :BosA;:8eB P 7o BI7iBo 2 veZes : K;eHVW7<i: BGOiB: >o si7:C&
K: S 2 O KB:O
" ResoC@Lo: >eAe;Bi7: o v:Co; :7:CT8i<o BGOiBo eB ;eC:Lo :o K@7>o es<:C:
# S #B:O / 2
7
EO: P:;: @B v:Co; #B:O S 5#N 7S2 ?iAsN H@:C : ;esoC@Lo >o si7:C`
# S #B:O / 2
7
#S 5 / 4020 S N22 B#
EOeB=Cos:
! " Te;BDBeA;o :
0 " 00 C
#;eK S 2N5 #
7 S 8 ?iAs
%@:C : ;esoC@Lo eB AeB=e;:A@;:N <o7si>e;:7>o H@e 00 C P eH@iv:Ce7Ae : 2N5 #`
Se :@Be7A:; o 7_Be;o >e ?iAs =:;: 0 ?iAsN H@:C : 7ov: ;esoC@Lo`
Se :@Be7A:; : #;eK S 5 # e 0 ?iAsN H@:C : 7ov: ;esoC@Lo`
2! " %@:C : K;eHVW7<i: >e :BosA;:8eB 7o <:7:C >e AeCeKo7i:`
*! " %@:C : K;eHVW7<i: >e :BosA;:8eB =:;: @B Ki>eCi>:>e >e soB <o7si>e;:7>o : H@:;A: 9:;BD7i<:`
6.2) 7 %onversor A4/ A/% 0808
**
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
download -> http://www.national.com/ads-cgi/viewer.pl/ds/AD/ADC0808.pdf
SisAeB: MI7iBo 80* / ADC0808 Me7>e;eLo 20006 " *(((6!
AULA 11
6.() - $.erccios
*4
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
! " P;oJeA:; @B <i;<@iAo <oB :s se8@i7Aes <:;:<Ae;IsAi<:s:
" 80*
" E=;oB 2'04
" LCD Me7>& 0"KKK9!
" Se;i:C RS2*2
" Co7ve;so; ADC0808 Me7>& 20009"*KKK9! <oB 8 se7so;es >e AeB=e;:A@;:&
" ve7AiC:>o; M=o;A =&!
" :H@e<e>o; M=o;A =&2!
" (i;B^:;e Ci8:7>o o ve7AiC:>o; se o Ae;<ei;o se7so; i7>i<:; o v:Co; B:io; H@e 809 e Ci8:; o :H@e<e>o; se o
v:Co; Ko; Be7o; H@e *09&
2! "I>eB =:;: : CeiA@;: >os o@A;os ' se7so;es&
*5
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
AULA 12
8) - 9rocessamento /i*ital de &inal
8.1) !"#R:/U;<: A: 9R:%$&&AM$"#: /!=!#AL /$ &!"A!&
Supressores de eco, eliminadores de interferncias, deteco de
incndios florestais, anlise de imagens de satlites metereolgicos,
estudo de dados ssmicos, acompanhamento de testes nucleares ou
simplesmente anlise de parmetros vocais para identificao ou
reconhecimento de voz. Estas so algumas aplicaes possveis do
Processamento Digital de Sinais (DSP).
DSP diz respeito a representao de sinais atravs de uma seqncia
numrica/simblica e o seu posterior processamento para estimar
parmetros do sinal original e/ou modific-lo. Este processamento
normalmente realizado com o auxlio de algoritmos matemticos, o qual o
mais comum a soma de produtos, representada pela frmula:
n
Vout = ai.bi
(1.1)
i
onde ai e bi representam coeficientes numricos de uma
seqncia qualquer de dados obtida de uma determinada entrada amostrada e
Vout a sada processada.
Apesar de ser uma ferramenta que ficou mais conhecida recentemente
com o aperfeioamento da integrao em alta escala dos circuitos
integrados e o aperfeioamento de algoritmos numricos, o DSP teve suas
origens nos sculos XVII e XVIII com o desenvolvimento de anlises
numricas tais como interpolao, integrao e diferenciao. Podemos
dizer que at recentemente o processamento de sinais eltricos era
basicamente analgico, com algumas honrosas excees, datadas da dcada
de 50, onde dados geofsicos eram gravados em fitas magnticas para um
posterior processamento em computadores digitais cujo tamanho em nada
lembram os modernos "laptops" ou "notebooks" presentes em nossa vida
cotidiana. Durante este perodo, os computadores digitais foram mais uma
alternativa para a simulao e aperfeioamento de sistemas analgicos,
com a converso analgico/digital, processamento e converso
digital/analgica final. Este processo foi muito comum na implementao
dos primeiros codificadores de voz (VOCODERS) pelos Laboratrios Bell e
Lincon (M.I.T.), onde as simulaes computacionais foram fundamentais no
ajuste dos filtros necessrios para sua execuo.
Apesar desta predominncia dos sistemas analgicos, o processamento
digital lentamente comeou a diferenciar-se, principalmente com o aumento
da complexidade dos algoritmos. Rotinas para filtros homomrficos ou a
anlise cepstral foram desenvolvidos apesar de no serem praticveis pela
ainda incipiente tecnologia dos semicondutores. Estes novos algoritmos
se mostravam bastantes teis nos sistemas de remoo de eco ou de
compresso de voz. A grande dificuldade na implementao das tcnicas
citadas na poca era o clculo da Transformada de Fourier, praticamente
impossvel com os computadores analgicos. Este problema foi minimizado
em meados da dcada de 60, com o desenvolvimento de uma classe de
algoritmos conhecida como Transformada Rpida de Fourier (FFT). A grande
*0
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
vantagem destas rotinas era a reduo do tempo de processamento, fator
fundamental para os sistemas computacionais lentos e caros da poca.
Outro fator introduzido pela FFT foi sua concepo de tempo discreto,
ao contrrio dos sistemas de tempo contnuo vigentes, auxiliando em
muito o desenvolvimento dos algoritmos puramente digitais, diminuindo
aquela impresso que o DSP era simplesmente uma aproximao dos sistemas
analgicos.
Mas mesmo com estes aperfeioamentos, a velocidade ainda era o
grande obstculo, principalmente para aplicaes que exigiam tempo real
de processamento como os sistemas de reconhecimento da voz.
A grande mola propulsora do DSP foi o desenvolvimento da tcnica de
fabricao de circuitos integrados a partir da dcada de 70. O
surgimento de circuitos integrados em alta escala (LSI) permitiu a
implementao de processadores digitais inteiros em um nico chip.
Circuitos integrados especializados na execuo de algoritmos aritmticos
possibilitaram a implementao de aplicaes em tempo real.
Algoritmos para filtros digitais com taxas de amostragens na faixa de
megahertz tornaram-se prticos. Processamento de voz e imagens em tempo
real j tornou-se possvel. Outras reas comearam a ser bastante
beneficiadas, como a de telecomunicaes, aumentando a economia e
flexibilidade tanto nos sistemas de chaveamento como transmisso.
Passaremos a analisar os requisitos bsicos de um circuito
integrado dedicado a realizar operaes de DSP, diferenciando-se desta
forma dos microprocessadores de uso geral do mercado. Utilizaremos como
exemplo o DSP TMS320C25 da Texas Instruments, a despeito de existir um
grande nmero de fabricantes no mercado tais como a Analog Devices, AT&T,
Motorola e NEC, etc.
8.2) - %aractersticas da arquitetura de um circuito inte*rado dedicado a /&9'
Os chips dedicados a funes que envolvam DSP apresentam algumas
caractersticas comuns que passaremos a analisar:
7.2.1) - Arquitetura Harvard: em contraste com a arquitetura "von
Neumann", que apresenta um nico espao de memria para cdigos de
operao e dados, os sistemas baseados na arquitetura Harvard possuem
duas estruturas separadas de memria para os cdigos do programa e para
os dados. Apesar disto exigir um controle maior por parte do processador
(pois passam a existir dois controles de barramentos de endereo e dois
controles de barramentos de dados), o poder de processamento torna-se
muito mais poderoso e principalmente mais rpido, fatores decisivos na
execuo dos algoritmos numricos existentes nas aplicaes dos DSPs.
7.2.2) - Unidades para multiplicao e deslocamento separados da unidade
lgica aritmtica principal: devido a necessidade de realizar operaes
de multiplicao e deslocamentos nos algoritmos numricos, existem
unidades separadas para a realizao destas operaes, otimizando-as.
Devido a natureza repetitiva destas operaes, um sistema de preveno de
"estouro" (overflow) do resultado necessrio.
7.2.3) - Flexibilidade e rapidez na execuo das instrues: alm de
unidades separadas para realizao de algoritmos numricos, necessria
a realizao destas operaes em ciclos de busca ("fetch") curtos,
decodificao e execuo otimizada de forma a diminuir o tempo de
execuo das instrues e aumentando consequentemente a velocidade do
*'
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
sistema. Alguns processadores DSP realizam instrues inteiras
aritmticas em um nico ciclo de mquina. Outros, como o caso do
TMS320C25, utilizam uma estrutura denominada "pipeline", onde em um nico
ciclo de clock so realizados simultaneamente o ciclo de busca de uma
determinada instruo, o ciclo de decodificao da instruo anterior e o
ciclo de execuo de outra instruo.
7.2.4) - Operaes de "loop" incondicional e condicional: algoritmos
repetitivos envolvendo operaes lgica/aritmticas constituem uma das
principais estruturas utilizadas nos programas de aplicativos de DSPs.
Estas estruturas, do tipo "If ... Then" ou "For ... Next", necessitam de
instrues de salto incondicional ou condicional que dependem de
determinadas condies contidas principalmente nos registradores de
"status" do processador, tais como condio de estouro (OVM)), "carry"
(C), zero (Z) ou teste/controle (TC).
Como j ressaltado, o circuito integrado DSP TMS320C25 ser
utilizado como exemplo ilustrativo das caractersticas descritas acima.
Este circuito integrado faz parte da segunda gerao de DSPs da Texas,
apresentando como principais caractersticas: ciclo de instruo de at
100 ns (para clock de 40 MHz), 544 posies de 16 bits de RAM interna,
4048 posies de 16 bits de ROM interna, 128 K/16 bits de acesso de
memria de programa/dados externa e acumulador principal de 32 bits. A
figura 1 nos mostra um diagrama em blocos da arquitetura interna do chip
em questo.
*8
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
Figura 1
Com o auxlio desta ilustrao analisaremos a seguir as
caractersticas gerais fornecidas acima que possibilitam o TMS320C25
desempenhar-se bem em situaes crticas como em tempo real nos
aplicativos com DSPs.
Pode-se observar a existncia dos sinais PS e DS, responsveis pelo
controle da natureza do barramento de dados e controle. Com o sinal PS
em nvel baixo, temos o caracterizado o acesso memria de programa. J
com o sinal DS em nvel baixo temos o controle da memria de dados,
caracterizando a arquitetura Harvard explicada no item 2.1).
A figura 2 nos mostra um detalhamento maior da unidade aritmtica
do TMS320C25. Pode-se observar unidades independentes para
multiplicao, com a presena de um registrador temporrio de 16 bits
(TR) e um registrador de de produto (PR) de 32 bits para armazenamento do
resultado. Temos tambm uma unidade de deslocamento (bloco "Scaling
Shifter") com capacidade tambm de 16 bits. Finalmente a figura mostra a
unidade aritmtica principal (ALU) com capacidade de 32 bits, acumulador
principal composto de 2 registradores de 16 bits (ACCH e ACCL), bit
carry (C) e dois registradores especiais para execuo de rotaes para a
esquerda (SFL) e direita (SFR), dotando desta forma o sistema com uma
*2
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
grande capacidade de processamento aritmtico, conforme indicado no item
7.2.2).
figura 2
Como j foi ressaltado, para agilizar a execuo das instrues, o
TMS320C25 utiliza a operao "pipeline", representada na figura 3. Pode-
se observar a execuo simultnea de busca, decodificao e execuo de 2
ou 3 instrues simultaneamente, aumentando grandemente a velocidade de
execuo das rotinas.
40
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
figura 3
Finalmente, o TMS320C25 dotado de uma srie de instrues de
salto condicional e incondicional viabilizando a execuo de estruturas
com "loops", to fundamentais nas rotinas de DSP, tornando-as mais
simplificadas e menores.
8.() - %oncluso'
Apesar do grande avano que sistemas baseados em D.S.P. sofreram
com o desenvolvimento da integrao em alta escala produzindo chips
especficos , tais como o analisado neste artigo, e com algoritmos
numricos mais poderoso, no se v saturao nas aplicaes deste
sistemas. Nos prximos anos a rea de telecomunicaes, de
processamento de imagem e som e sistemas de controle sero ainda muito
beneficiadas, proporcionando economia e flexibilidade aos sistemas
citados.
7.4) - Bibliografia para P.D.S.:
- DISCRETE-TIME SIGNAL PROCESSING. Oppenhein e Schafer. Prentice
Hall,1989
- A SIMPLE APPROACH TO DIGITAL SIGNAL PROCESSING. Marven, Craing e Ewers
Gillian. Wiley Interscience.
- DIGITAL SIGNAL PROCESSING A LABORATORY APPROACH USING PC-DSP. Alkin,
Oktay. Prentice Hall
- DIGITAL SIGNAL PROCESSING APPLICATIONS WITH THE TMS320 FAMILY. Texas
Instruments.
A"$>: !
4
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
&$M!"?R!:& /$ M!%R:9R:%$&&A/:R$&
A=;ese7A:; os se8@i7Aes iAe7s 7o A;:?:C9o ;eC:Aivo :o Bi<;o<o7A;oC:>o; es<oC9i>o:
" CARACTERISTICAS 3/SICAS
" AR%UITETURA 3/SICA
" MAPEAMENTO DA MEM+RIA INTERNA/E-TERNA
" DESCRI,$O 3/SICA DOS REGISTRADORES DE CONTROLE MTIMERN INTERRUP,$ON
SERIALN 5ATC6"DOGN ETC&!
" CONFUNTO DE INSTRU,\ES MOSTRANDO APENAS O SIGNI(ICADO 3/SICO DAS
MESMAS&
- APLICA,$O T)PICA
LISTA DE MICROCONTROLADORES:
MICROC6IP M555&MICROC6IP&COM!
& PIC2C508
2& PIC0(028
TE-AS INSTRUMENTS M555&TI&COM!
*& MSP4*0(*5
MOTOROLA M555&MOTOROLA&COM!
4& 086C
NATIONAL SEMICONDUCTOR M^^^&7:Aio7:C&<oB!
0& COP 8
C.PRESS M^^^&<[=;ess&<oB!
'& PSOC
42
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
PRIMEIRO TRA"ALHO DE MICROPROCESSADORES II
T)(0,2 :F
!:! " (:Ze; @B: ;oAi7: =:;: 9:?iCiA:; :s i7Ae;;@=LQes se;i:isN AiBe; e eOAe;7: 0N >:7>o =;io;i>:>e =:;: :
<oB@7i<:Lo se;i:C&
?!" UB Bi<;o<o7A;oC:>o; >ese7voCvi>o 7o L:?o;:AT;io >e Mi<;o=;o<ess:>o;es >o M:<]e7Zie MMACK*!
=oss@i @B: e7A;:>: >e ;eseA :Aiv: eB 7IveC ?:iOoN e7A;:>: >e <;isA:C :AP 20 M9ZN BeBT;i: (LAS6 >e 4
K?[Aes MseB :<esso : BeBo;i: eOAe;7:! e 2 =o;As >e <oB@7i<:Lo MPo;A PA <oB 8 ?iAs e Po;A P3 <oB 0 ?iAs!&
(:Ze; @B esH@eB: BosA;:7>o
: Ci8:Lo >o MACK* <oB @B >is=C:[ LCD >e 2 Ci79:s O 20 <:;:<Ae;es&
2! " IB:8i7:7>o H@e vo<e esAeJ: K:Ze7>o @B A;:?:C9o voC@7AG;io =:;: o G;ee7Pe:<eN Koi e7<oBe7>:>o @B
<o7A;oC:>o; e<oCT8i<o =:;: iB=e>i; @B 8:sAo >es7e<essG;io >e e7e;8i: >e es<oC: <oB :AP 5 s:C:s <oB :s
se8@i7Aes <:;:<Ae;IsAi<:s:
"Mi<;o<o7A;oC:>o; 80* <oB E=;oB 2'52N C;isA:C >e *2 K9ZN ReseA :@AoBGAi<o e B:7@:C&
"Dis=C:[ LCD 2 O 0 <oB e7>e;eLo >e :<esso 40006"5(((6&
"E7A;:>: >e 5 se7so;es >e =;ese7L: i7K;:"ve;BeC9o&
"S:i>: =:;: 5 <o7A:Ao;es H@e <o7A;oC:;o 5 sisAeB:s >e iC@Bi7:Lo&
"CoB@7i<:Lo Se;i:C&
"E7A;:>: >e @B ?oA:o >e eBe;8e7<i: Ci8:>: : INTERRUP,$O 0&
*! " EB ;eC:Lo :o =;oJeAo :<iB:N K:Ze; os se8@i7Aes =;o8;:B:s se=:;:>:Be7Ae:
:!"(:Ze; @B =;o8;:B: =:;: H@e o =;iBei;o se7so; Ci8@e : se8@7>: s:i>: eB 7IveC :CAo e >esCi8@e eB 7iveC
?:iOo& (i<:; eB Coo=&
?!"(:Ze; @B =;o8;:B: =:;: es<;eve; 7o >i=C:[ : Be7s:8eB aGREEN PEACEa aCONTROLADORa&
Co7Ki8@;:; o >is=C:[ =:;: 2 Ci79:sN seB <@;so;N >esCo<:Be7Ao : >i;eiA:& (:Ze; : ;oAi7: >e es<;iA: 7o >is=C:[&
<!"(:Ze; @B =;o8;:B: =:;: i7<;eBe7A:; : =osiLo 506 >: BeBT;i: i7Ae;7: Ao>:s :s veZes H@e o ?oA:o >e
eBe;8e7<i: Ko; :<io7:>o& UAiCiZ:; : i7Ae;;@=Lo&
4! :! " %@:C : K@7Lo >os si7:is E7:?Ce e C/D eB @B BT>@Co >e >is=C:[` O H@e P @B ?:<]"Ci89A eB @B
>is=C:[ >e LCD` MosA;e v:7A:8eB e @B: >esv:7A:8eB >e @B >is=C:[ >e LCD&
?! " MosA;:; @B esH@eB: >e @B sisAeB: <oB o 825 e @B BT>@Co <oB o Dis=C:[ >e LCD @AiCiZ:7>o
:=e7:s os Po;As P0 e P MBo>o >e :<io7:Be7Ao >i;eAo seB B:=e:Be7Ao >e BeBT;i:!& (:Ze; @B: ;oAi7:
=:;: es<;eve; : CeA;: >o se@ =;iBei;o 7oBe 7o >is=C:[&
<! " S@=o79: H@e vo<e esAeJe =;oJeA:7>o @B Bi<;o<o7A;oC:>o; <oB @B AeB=o;iZ:>o; T >e 0 ?iAsN veAo;
<oB e7>e;eLo 009 e <oB <o7A:>o; DECRESCENTE : <:>: =@Cso >e e7A;:>: >o AiBe;& Os ;e8isA;:>o;es
>e <o7A;oCe so i8@:is :o >o AiBe; T0 >o 805&
EO=Ci<:; o <o7<eiAo >o veAo; 009& O H@e eOisAe MH@:C ;oAi7:! 7esAe e7>e;eLo >o =;o8;:B:`
S@=o7>o H@e : K;eHVW7<i: >e <o7A:8eB 7: ENTRADA >o AiBe; seJe >e 00 K9ZN <:C<@C:; o v:Co; >o
AeB=o;iZ:>o; T =:;: o AeB=o >e * BiCise8@7>os& (:Ze; @B: ;oAi7: >e i7i<i:CiZ:Lo =:;: o AiBe; T&
5!" #o<W P o e78e79ei;o >: eB=;es: ELEICOES ELETRONICAS e P ;es=o7sGveC =eCo =;oJeAo >e @B:
@;7: eCeA;D7i<: <oB :s se8@i7Aes <:;:<Ae;IsAi<:s:
"Mi<;o<o7A;oC:>o; 825N <;isA:C >e 8 M9ZN ReseA :@AoBGAi<o e B:7@:C&
"Dis=C:[ >e LCD <oB e7>e;eLo e7A;e 0 e KKK6
"E7A;:>: =:;: 0 Ae<C:s 7@BP;i<:s e * Ae<C:s >e K@7Lo MCORRIGEN 3RANCON CON(IRMA!& UB
sisAeB: CT8i<o :Aiv: : i7Ae;;@=Lo eOAe;7: H@:7>o P :<io7:>: @B: Ae<C:&
" :CAo"K:C:7Ae M?@ZZe;!&
0! " (:Ze; eB Li78@:8eB AsseB?Ce; se=:;:>:Be7Ae os se8@i7Aes =;o8;:B:s:
4*
APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II
:! MN5 =o7Aos! " I7i<i:CiZ:; o >is=C:[ M2 O 0 Ci79:sN <oB <@;sos =is<:7>oN es<;eve7>o >: esH@e;>: =:;:
: >i;eiA:!& Es<;eve; 7o >is=C:[:
URNA ELETRONICA
CANDIDATO:
?! MN5 =o7Aos!" (:Ze; @B =;o8;:B: =:;: 8@:;>:; : =osiLo >:s Ae<C:s 7: BeBT;i: : =:;Ai; >o e7>e;eLo
256& Se Ko; >i8iA:>o : Ae<C: CORRIGEN Ci8:; o ?@ZZe; =o; se8@7>o&
'! " (:Ze; @B =;oJeAo <oB @B Bi<;o<o7A;oC:>o; 80* <oB :s se8@i7Aes <:;:<Ae;IsAi<i:s:
" P;oJeAo >e @B Ao;7o Bi<;o=;o<ess:>o CNC&
" C;isA:C <oB K;eH@W7<i: >e &052 M9Z e ;eseA :@AoBGAi<o&
" Dis=C:[ LCD i7AeCi8e7Ae =oss@i7>o 2 Ci79:s e 20 <:;:<Ae;es Me7>e;eLo 00"(6!&
" CoB@7i<:Lo K@CC">@=CeO <oB >:>o >e 8 ?iAsN sA:;A e sAo=/?iAN seB =:;i>:>eN 2000 ?:@7>s e
i7Ae;K:<e RS2*2 <oB Ci7e >;ive;s MA- 2*2&
" S:I>: =:;: <o7A;oCe >e 2 BoAo;es A;iKGsi<osN * i7>i<:>o;es C@Bi7osos MCbB=:>:s! e @B: <9:ve&
" Co7ve;so; ADC 808 >e 8 <:7:is Me7>e;eLo 206"*(6!&
8! " (:Ze; os se8@i7Aes =;o8;:B:s =:;: o =;oJeAo :<iB::
" I7i<i:CiZ:Lo >: i7Ae;K:<e se;i:CN >o sisAeB: >e i7Ae;;@=Lo 9:?iCiA:7>o : i7Ae;;@=Lo se;i:C e
>is=C:[ <o7Ki8@;:7>o"o =:;: >esCo<:Be7Ao >e Be7s:8e7s : esH@e;>: e seB <@;so;& CoCo<:; <oBe7AG;ios
i7>i<:7>o <:>: <oB:7>o&
" RoAi7: =:;: es<;eve; 7: Ci79: s@=e;io; >o >is=C:[ o se@ 7oBe <oB=CeAo <e7A;:CiZ:>o M:?;evi:; os
7oBes >o Beio se 7e<essG;io! e o se@ 7_Be;o >e B:A;I<@C: 7: Ci79: >e ?:iOo&
" RoAi7: =:;: ;e<e?e; >:>os =eC: i7Ae;K:<e se;i:C :A;:vPs >: i7Ae;;@=Lo se;i:CN <oCo<:7>o os >:>os
;e<e?i>os 7: =osiLo >e BeBT;i: 506&
" Le; o <:7:C * >o <o7ve;so; ADCN <oCo<:; o v:Co; Ci>o 7o e7>e;eLo 40 6&
" Li8:; os 2 BoAo;es se : <9:ve esAive; eB 7IveC :CAo
2!" #:Bos s@=o; H@e vo<W esAeJe =;o8;:B:7>o @B 7ovo Bi<;o<o7A;oC:>o; H@e =oss@: @B AeB=o;iZ:>o;
i7Ae;7o <oB :s se8@i7Aes <:;:<Ae;IsAi<:s:
Co7A:>o; DECRESCENTE >e 0 ?iAs& E7A;:>: =:;: o AeB=o;iZ:>o; eOAe;7o M=i7o TENTR! H@e >e<;eBe7A:
o AeB=o;iZ:>o; >e @7i>:>e : <:>: =@Cso& I7Ae;;@=Lo <oB e7>e;eLo 0006
Re8isA;:>o;es >e Bo>o MTMOD! e <o7A;oCe MTCON! i>W7Ai<os :o 805& M7e@BD7i<os =:;: =;o8;:B:Lo eB
Ci78@:8eB AsseB?Ce; <oB=:AIveC <oB o 805&
:!" S@=o7>o : e7A;:>: >e @B si7:C >e 00 K9Z 7: e7A;:>: TENTRN H@:C o 7_Be;o : se; <oCo<:>o >e7A;o >o
AiBe; =:;: o BesBo Ko;7e<e; @B AeB=o >e 0 Bse8` F@sAiKi<:; BosA;:7>o o <GC<@Co
?!" (:Ze; @B =;o8;:B: eB Ci78@:8eB AsseB?Ce; =:;: i7<;eBe7A:; :=e7:s o ;e8isA;:>o; R* : <:>: 0 Bse8&
0!" (:Ze; @B =;oJeAo <oB o Bi<;o<o7A;oC:>o; 80* <oB :s se8@i7Aes <:;:<Ae;IsAi<:s
:! " C;isA:C >e 8 M9Z& ReseA :@AoBGAi<o e B:7@:C& S:i>: =:;: <o7A;oCe >e * BoAo;es M;e=;ese7A:; o
:<io7:Be7Ao :=e7:s >e BoAo;!& E7A;:>: >o <o7A:>o; eOAe;7o Mi7Ae;;@=Lo eOAe;7: !& E7A;:>: >e <9:ve
=:;: <o7A;oCe >os BoAo;es& Dis=C:[ >e L&C&D& <oB e7>e;eL:Be7Ao >e 20006 : *(((6&
?! " (:Ze; @B =;o8;:B: =:;: Ce; : <9:ve : <:>: Bse8& Se : <9:ve esAive; eB 7IveC :CAoN Ci8:; Ao>os os
BoAo;es& C:so <o7A;:;ioN >esCi8G"Cos&
<!" (:Ze; @B =;o8;:B: =:;: i7<;eBe7A:; o ;e8isA;:>o; R5 : <:>: =@Cso >o <o7A:>o; eOAe;7o MeC:?o;:; :=e7:s
: ;oAi7: >e i7Ae;;@=Lo! &

44

Das könnte Ihnen auch gefallen