Escolar Documentos
Profissional Documentos
Cultura Documentos
Microcontroladores (µ
microprocessadores (µµPs)
• Organização: • Um microcontrolador é fundamentalmente um
– Microcontroladores versus microprocessadores componente que integra os três blocos principais na
– Os microcontroladores da família 80C51 arquitectura de um computador: CPU, memória e E/S
– Interface com o exterior • Entre µCs e µPs existem as seguintes diferenças:
– Modelo de programação – Os µCs dispõem de E/S interna de vários tipos
– Processamento dos pedidos de interrupção – Os µCs podem dispor de ROM / EPROM
– Modos de endereçamento e tipos de instruções – Os µCs são sobretudo vocacionados para tarefas de
– Exemplo: Simulação de um registo de deslocamento controlo, onde 8 bits são a solução mais comum
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 1 A família 80C51 - 2
– A complexidade não é tanto devida à arquitectura do CPU P0 P2 P1 P3 TxD RxD Entradas dos contadores
interno, mas mais pela necessidade de se multiplexarem (cristal
exterior) Endereços / dados
muitos sinais em poucos pinos
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 3 A família 80C51 - 4
Variantes dentro da família Organização de memória
80C51
• As variantes principais que estão disponíveis nesta • A família 80C51 distingue entre memória de
família têm as seguintes características principais: programa (MP) e memória de dados (MD):
Função Variantes – A MP contém o programa a executar (instruções e
RAM 64 bytes a 1.024 bytes operandos), enquanto a MD serve apenas para dados
(EP)ROM 0 a 32 Kbytes
Timers / counters 1 a 3 (16 bits) – Uma vez que existe apenas um barramento de endereços
E/S paralela 2 a 7 portas (8 bits)
Interfaces série RS-232C, I2C, CAN
e um barramento de dados, a distinção entre MP e MD é
Interrupções externas 1 a 10 feita através do sinal de leitura (MP: /PSEN, MD: /RD)
Frequência de relógio 32 KHz a 40 MHz
Encapsulamento 24 a 80 pinos (DIP, LCC, QFP) – Na MP efectuam-se apenas operações de leitura, sendo
que na MD se efectuam operações de leitura e escrita
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 5 A família 80C51 - 6
/EA=0 /EA=1
memória, e.g. uma NVRAM (de onde viria o sinal de (externa) 0000h (interna) 00h 0000h
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 7 A família 80C51 - 8
Organização de memória Organização de memória
(cont.) (cont.) FFh
(interna)
00h
• O 80C51 inicializa a execução do programa a partir • Alguns aspectos importantes quanto à MD:
do endereço 0000H, que poderá ser de MP interna ou – Os 128 endereços superiores permitem de facto aceder a
externa, de acordo com o estado do pino /EA: 256 posições, de acordo com o modo de endereçamento
– Quando /EA=0, o 80C51 começa a execução do programa (conforme seja directo ou indirecto, como veremos
pela MP externa adiante)
– Nos casos em que existe MP interna, forçar /EA=0 – Do total de 384 posições assim existentes, 128
significa que esta memória não deve ser considerada (no correspondem aos registos de funções especiais (SFR,
entanto, se existir MP interna, será normalmente por aí special function registers) (por exemplo, o DP ocupa dois
que se iniciará a execução do programa) destes 128 SFR)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 9 A família 80C51 - 10
VCC
8 – O barramento de endereços é partilhado com P3 / …
8
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 11 A família 80C51 - 12
Interface com o exterior Interface com o exterior
(cont.) (cont.)
• Atendendo à multiplexagem temporal em AD[0..7], o • Barramento de controlo:
80C51 proporciona o sinal de controlo (ALE) para – RST (reset) – /WR
uma latch externa que memoriza a metade menos – /EA-VPP – /RD
significativa do endereço: 80C51
AD[0:7] 8 D[0:7]
Memória
– /PSEN – XTAL1 e XTAL2 (pinos
Porto 0
8 Registo
8 A[0:7] – ALE - /PROG do oscilador interno)
ALE
– /INT0 e /INT1 (entradas
A[8:15] A[8:15]
Porto 2
de interrupção)
/WR
Porto 3 /RD – T0 e T1
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 13 A família 80C51 - 14
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 15 A família 80C51 - 16
Diagramas temporais Diagramas temporais
(cont.) (cont.)
• Leitura da MD externa: • Escrita na MD externa:
ALE ALE
/PSEN /PSEN
≈ 440 ns (mín.) ≈ 440 ns (mín.)
/RD /WR
≈ 152 ns (máx.) ≈ 70 ns (mín.)
A0:A7 (Ri Dados A0:A7 (PCL) Instr. A0:A7 (Ri Dados A0:A7 (PCL) Instr.
Porto 0 ou DPL) Porto 0 ou DPL)
≈ 648 ns (máx.)
Porto 2 P2.0:P2.7 ou A8:A15 (do DPH) A8:A15 (PCH) Porto 2 P2.0:P2.7 ou A8:A15 (do DPH) A8:A15 do PCH
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 17 A família 80C51 - 18
blocos da RAM
P0 latch P2 latch
EPROM
superiores)
80H
indirecto (RAM) directo (SFRs)
7FH
arquitectura 7FH
(128 bytes
Acessível por
endereçamento Registos de Bits de selecção do banco
na palavra de estado (PSW) 30H
funções
de base: Reg. B Stack pointer inferiores) directo e
especiais 2FH
Prog. counter indirecto (RAM) Espaço endereçável ao
Acum. 0 (SFRs)
bit (endereços de bit 20H
Controlo
entre 0 e 7F) 11 1FH
SFR
Data pointer 18H
IR PSW
ALU Quatro bancos 10 17H
de oito registos 10H
cada (registos 01 0FH
P1 latch P3 latch 08H
R0 a R7) 07H
00
0
P1 drivers P3 drivers Valor inicial (após reset) do
8 8 apontador para a stack (SP)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 19 A família 80C51 - 20
Os registos de funções Pedidos de interrupção
especiais (SFR)
F8H
(conjuntos de oito bytes)
FFH • A arquitectura do núcleo de base do 80C51 suporta
F0H B F7H
E8H EFH cinco fontes de interrupção:
E0H ACC E7H
D8H
D0H PSW
DFH
D7H
– Duas interrupções externas (pinos /INT0 e /INT1)
C8H
C0H
CFH
C7H
– Duas interrupções provenientes dos timers
B8H IP BFH
B0H P3 B7H – Uma interrupção proveniente do porto série
A8H IE AFH
A0H
98H
P2
SCON SBUF
A7H
9FH
• Cada uma destas fontes pode ser habilitada ou
90H
88H
P1
TCON TMOD TL0 TL1 TH0 TH1
97H
8FH
inibida e a cada uma pode ser atribuída alta ou baixa
80H P0 SP DPL DPH PCON 87H
prioridade (em ambos os casos, individualmente)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 21 A família 80C51 - 22
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 25 A família 80C51 - 26
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 27 A família 80C51 - 28
Endereçamento específico Endereçamento imediato
dos registos
• No caso das instruções que são específicas de certos • O valor do operando está contido na posição de MP
registos (por exemplo, do acumulador): seguinte à que contém o código da instrução:
Mnemónica Operação Flags Código #Byte #M
Mnemónica Operação Flags Código #Byte #M
cjne r5,#2ah,marca (pc) ← (pc)+3 se BD 2A 3 2
cpl a (a) ← /(a) nenhuma F4 1 1 (r5)<2ah F1
se (r5)≠2ah
inc dptr (dptr) ← (dptr)+1 nenhuma A3 1 2 (c) ← 1
(pc) ← (pc)+rel
senão
(c) ← 0
mov a,#76h (a) ← #76h nenhuma 74 76 2 1
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 29 A família 80C51 - 30
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 33 A família 80C51 - 34
(nem isso seria possível), mas sim conhecer bem as add a,<byte> (a) = (a)+<byte>
(µs)
1
características dos seus cinco grupos principais: addc a,<byte> (a) = (a)+<byte>+(c) 1
subb a,<byte> (a) = (a)-<byte>-(c) 1
– Instruções aritméticas (arithmetical) inc a (a) = (a)+1 (específico do ACC) 1
inc <byte> <byte> = <byte>+1 1
– Instruções lógicas (logical) inc dptr (dptr) = (dptr)+1 (específico do DP) 2
dec a (a) = (a)-1 (específico do ACC) 1
– Transferência de dados (data transfer) dec <byte> <byte> = <byte>-1 1
mul ab (b)←b.a[15:8], (a)←b.a[7:0] (específico do ACC e B) 4
– Instruções Booleanas (Boolean) div ab (a)=Int[a/b], (b)=Mod[a/b] (específico do ACC e B) 4
da a Ajuste para decimal (específico do ACC) 1
– Instruções de salto (jump)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 35 A família 80C51 - 36
Instruções aritméticas Instruções lógicas
(cont.)
Mnemónica Operação Modos endereçamento Tempo de
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 39 A família 80C51 - 40
Transferência de dados: Transferência de dados:
MD interna MD interna (cont.)
Mnemónica Operação Modos endereçamento Tempo de • Exemplos:
dir. ind. reg. im. execução (µs)
mov a,<fonte> (a) = <fonte> 1 Mnemónica Operação Flags Código #Byte #M
mov <dest>,a <destino> = (a) 1 mov 7fh,3bh (7fh) ← (3bh) nenhuma 85 3B 7F 3 2
mov <dest>,<fonte> <destino> = <fonte> 2 mov dptr,#3b07h dptr[15:8] ← #3bh nenhuma 90 3B 07 3 2
mov dptr,#data16 (dptr) = #data16 2 dptr[7:0] ← #07h
push <fonte> inc (sp); 2 xch a,r7 (a) ↔ (r7) nenhuma CF 1 1
mov ((sp)),<fonte>
pop <destino> mov <destino>,((sp)); 2
dec (sp)
xch a,<byte> (a) ↔ <byte> 1
xchd a,@ri (a[3:0]) ↔ ((ri[3:0])) 1
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 41 A família 80C51 - 42
Mnemónica Operação Flags Código #Byte #M Mnemónica Operação Flags Código #Byte #M
(a) ← ((r1)) movc a,@a+dptr (a) ← ((a)+(dptr)) nenhuma 93 1 2
movx a,@r1 nenhuma E3 1 2
((dptr)) ← (a) movc a,@a+pc (pc) ← (pc)+1; nenhuma 83 1 2
movx @dptr,a nenhuma F0 1 2
(a) ← ((a)+(pc))
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 43 A família 80C51 - 44
Instruções Booleanas Instruções Booleanas
(cont.)
Mnemónica Operação Tempo de
individualmente
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 47 A família 80C51 - 48
Instruções de salto não Instruções de salto
condicional (cont.) condicional
• Exemplos: Mnemónica Operação Modos endereçamento Tempo de
exec. (µs)
dir. ind. reg. im.
Mnemónica Operação Flags Código #Byte #M jz marca Salta para marca se (específico do ACC) 1
(a)=0
ljmp marca (pc) ← marca nenhuma 02 80 00 3 2
jnz marca Salta para marca se (específico do ACC) 1
lcall marca (pc) ← (pc)+3; nenhuma 12 80 00 3 2 (a)≠0
(sp) ← (sp)+1;
djnz <byte>,marca Decrementa <byte> e 2
((sp)) ← (pc[7:0]); salta para marca se
(sp) ← (sp)+1; <byte>≠0
((sp)) ← (pc[15:8]) cjne a,<byte>,marca Salta para marca se 2
(a)≠<byte>
(pc) ← marca
cjne <byte>,#data,marca Salta para marca se 2
reti (pc[15:8]) ← ((sp)); nenhuma 32 1 2 <byte>≠#data
(sp) ← (sp)-1;
(pc[7:0]) ← ((sp));
(sp) ← (sp)-1;
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 49 A família 80C51 - 50
(pc) ← (pc)+rel
D Q D Q D Q D Q
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 51 A família 80C51 - 52
Exemplo de aplicação Sequência de passos
(cont.)
• Os pressupostos são os seguintes: • A sequência de passos até à solução é a seguinte:
– O sinal de relógio é activo à transição OUT[0]
OUT[1]
OUT[2]
– Efectuar a atribuição entre os sinais exteriores e os pinos
ascendente IN
OUT[3]
OUT[4]
OUT[5]
de E/S paralela do microcontrolador
OUT[6]
– No estado inicial, todas as saídas CLK
OUT[7]
– Reflectir sobre a sequência de operações que
deverão estar a 0 implementem a funcionalidade pretendida
– A relação entre as entradas (IN e CLK) e as saídas – Codificar esta sequência em assembly
(OUT[0..7]) deverá ser tão próxima quanto possível da – Obter o código objecto, simular o seu funcionamento
que teria lugar através da implementação em hardware (verificação de projecto) e implementar na prática
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 53 A família 80C51 - 54
Verificação de CLK
Verificação de projecto
projecto (cont.) OUT[0]
(cont.)
• Considerando CLK a 1 KHz e o relógio do 87C51 a • É ainda também importante atentarmos na diferença
12 MHz, quantas operações de deslocamento entre o tempo de t – Momento em que é efectuada a 1
leitura de CLK (jnb p0.0)
ocorreriam se não tivéssemos aquele cuidado? propagação de um t – Momento em que é efectuada a 2
inicio clr a 1 µs (1 ciclo máquina @ 12 MHz) circuito com FF-D e a leitura de IN (mov c,p0.1)
marca1
mov
jnb
p1,a
p0.0,marca1
1 µs (1 ciclo máquina @ 12 MHz)
2 µs (2 ciclo máquina @ 12 MHz) simulação via 87C51: IN (P0.1)
1 µs (1 ciclo máquina @ 12 MHz) 2 µs
• Poderão daqui advir
mov c,p0.1
rlc a 1 µs (1 ciclo máquina @ 12 MHz)
1 µs (1 ciclo máquina @ 12 MHz) CLK (P0.0)
problemas (funciona-
mov p1,a
marca2 jb p0.0,marca2 2 µs (2 ciclo máquina @ 12 MHz)
sjmp marca1 2 µs (2 ciclos máquina @ 12 MHz)
mento incorrecto)? OUT[0] (P1.0)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 59 A família 80C51 - 60
Expansão da Expansão da
funcionalidade funcionalidade (cont.)
• Suportar uma entrada Habilita (em P0.2): • Suportar entradas de Habilita (P0.2) e Sentido (P0.3):
.org 0 .org 0
#include def8752.asm #include def8752.asm
“.org...”? “#include...”?
.end marca2 jb p0.0,marca2 ; espera que o CLK desca
sjmp marca1
.end
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 61 A família 80C51 - 62
– Tempo de desenvolvimento?
Fontes de
– Flexibilidade da implementação? /INT1 0
IT1
IE1
interrupção
1
– Rapidez de funcionamento? IE0 e IE1 são flags de interrupção
que pertencem ao registo TCON
TF1
• Como é que a resposta às questões anteriores é (SFR com endereço 88H)
TI
afectada pela complexidade do caso em estudo? RI
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 63 A família 80C51 - 64
/INT0 0
IE0
IT0
TF0
/INT1 0
IE1
IT1
1
TF1
TI
RI
• O código executado pelo microcontrolador pode • /INT0 e /INT1 podem ser activos ao nível ou à
activar / desactivar (set / cleared) todas as flags de transição, de acordo com o conteúdo do registo
interrupção TCON (SFR com endereço 88H)
• Cada fonte de interrupção pode ser habilitada / • Se as interrupções forem activas à transição, as flags
inibida individualmente (registo IE nos SFR) que as geram são limpas pelo hardware quando a
• A cada fonte de interrupção pode ser atribuída uma respectiva rotina é executada (caso contrário, terá
prioridade alta ou baixa (registo IP nos SFR) que ser o código do utilizador a fazê-lo)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 65 A família 80C51 - 66
Interrupções da
/INT0 0 /INT0 0
IE0 IE0
IT0 IT0
TF0 TF0
/INT1
TF1
TI
0
1
IT1
IE1
TF1
TI
0
1
IT1
IE1
RI RI
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 67 A família 80C51 - 68
O registo IE (end. SFR A8H) O registo IP (end. SFR B8H)
– endereçável ao bit – endereçável ao bit
• Este registo permite-nos habilitar / inibir cada fonte de • Este registo permite-nos atribuir a cada fonte de
interrupção: interrupção uma prioridade alta ou baixa:
IE.7 IE.6 IE.5 IE.4 IE.3 IE.2 IE.1 IE.0 IP.7 IP.6 IP.5 IP.4 IP.3 IP.2 IP.1 IP.0
– EA inibe todas as interrupções se estiver em 0; se estiver – Uma fonte de interrupção terá alta prioridade quando o
em 1, estarão habilitadas as que tiverem o seu IE.x em 1 seu bit IP.x estiver em 1 baixa quando estiver em 0
– ES: periférico série; ET1 e ET0: dos T/C; EX1 e EX0: – PS: periférico série; PT1 e PT0: dos T/C; PX1 e PX0:
externas (pinos /INT1 e /INT0) externas (pinos /INT1 e /INT0)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 69 A família 80C51 - 70
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 75 A família 80C51 - 76
Controlo de funcionamento T/C: Modos 0 e 1 TCON:
dos T/C (iguais nos dois T/C) TMOD:
• O controlo de cada T/C é feito através dos registos
TMOD e TCON (dois dos SFR):
– O estado (activo / parado) é controlado através do registo
TCON
– A definição da função pretendida (temporizador ou – Este modo é compatível com o temporizador
contador) é feita pelo bit C-/T em TMOD do 8048 (8 bits com pré-divisão por 32)
– Para cada T/C (seja como temporizador ou como – No modo temporizador, e com Gate em 1, podemos medir a
contador) existem quatro modos de funcionamento, largura do impulso em /INTx
definidos pelos pares de bits (M1,M0) em TMOD – O modo 1 é igual ao 0, mas agora em 16 bits
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 77 A família 80C51 - 78
– TL0 e TH0 funcionam de modo independente (em 8 bits) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
– TH0 funciona como temporizador, controlado por TR1 e – TFx: Pede as interrupções do T/C x (set por hardware
pedindo interrupções via TF1 (repare-se que TR1 e TF1 quando ocorre overflow; limpa por hardware quando se
pertenciam ao T/C 1, nos outros modos de funcionamento) salta para a rotina de atendimento)
– Nota: O T/C 1 pode ainda ser usado (retirando-o do modo – TRx: controlo de estado (activo / parado) do T/C x
3), mas sem poder controlar TF1 (controlado por software para activar / parar o T/C x)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 81 A família 80C51 - 82
• Existem quatro bits por cada T/C: ; T/C 1 funciona como contador de 8 bits com auto-reload
; deve complementar-se P1.0 quando forem contados três impulsos exteriores
cseg at 0
TM.7 TM.6 TM.5 TM.4 TM.3 TM.2 TM.1 TM.0
inicio:
mov tmod,#60H ; contador, modo 2 (quando TR1=1 e T1 desce)
Gate C-/T M1 M0 Gate C-/T M1 M0 mov ie,#88H ; permite interrupções do T/C 1
mov tl1,#0fdh ; para contar apenas três vezes
mov th1,#0fdh ; para recarregar o TL1
setb tr1 ; permite início da contagem
– Gate: Em conjunto com TRx, controla o estado (activo / jmp $ ; apenas para ficar aqui parado
de funcionamento) tc1int:
cpl
reti
p1.0
; complementa o bit P1.0
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 87 A família 80C51 - 88
Taxas de transmissão Uso do T/C 1 para
(baud rate) determinar o baud rate
• No modo 0, o baud rate é fixo e igual a 1/12 da • Nos modos 1 e 3 o baud rate é determinado pela
frequência de relógio seguinte expressão:
• No modo 2, o baud rate depende do bit SMOD no (2SMOD / 32) x (ritmo de overflow do T/C 1)
registo PCON (SFR c/ end. 87H), sendo dado por – As interrupções através deste T/C devem estar inibidas
(2SMOD / 64) x (frequência) (1/64 ou 1/32, portanto) – O T/C 1 pode funcionar como temporizador ou como
• Nos modos 1 e 3, o baud rate é variável e contador, em qualquer modo de funcionamento, excepto o
determinado pelo T/C 1 (e também depende do bit modo 3 (recorde-se que neste modo o T/C 1 está parado)
SMOD)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 89 A família 80C51 - 90
SM0 SM1 SM2 REN TB8 RB8 TI RI SM0 SM1 SM2 REN TB8 RB8 TI RI
– REN: Controlado por software para permitir (1) ou inibir (0) – TI: Flag de interrupção por envio. Activada por hardware
a recepção. no final do oitavo bit em modo 0, ou no início do Stop bit
– TB8: Nono bit a transmitir nos modos 2 e 3 (controlado por nos restantes modos. Deve ser limpa por software.
software). – RI: Flag de interrupção por recepção. Activada por
– RB8: Nos modos 2 e 3, é o nono bit recebido. No modo 1, hardware no final do oitavo bit em modo 0, ou a meio do
se SM2=0, é o stop bit recebido. No modo 0, não é usado. Stop bit nos restantes modos. Deve ser limpa por software.
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução ao Projecto com Sistemas Digitais e Microcontroladores
A família 80C51 - 93 A família 80C51 - 94