Buscar

mic04

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Módulo 4 Prof. Celso 
 
 53
 MCS51 
INTERRUPÇÕES 
 
 O 8051 possui 5 tipos de interrupções: 
 Tipo Pino Endereço 
- 2 externas Externa 0 INT0 P3.2 03h 
 Externa 1 INT1 P3.3 13h 
- 2 timers Timer 0 T0 P3.4 0Bh 
 Timer 1 T1 P3.5 1Bh 
- 1 serial RXD RI P3.0 23h 
 TXD TI P3.1 23h 
 
 
INTERRUPÇÕES 
 
 
As interrupções têm 
prioridades sobre a 
execução de um programa. 
Se houver um pedido de 
interrupção à execução do 
programa é interrompida 
para atendimento da 
interrupção. Assim que a 
interrupção for atendida, a 
execução do programa 
continua de onde parou. 
Uma das vantagens 
das interrupções é não ter 
que ficar verificando o 
estado do pino de entrada. 
Uma aplicação para interrupção é o botão de emergência de uma máquina 
qualquer. Assim que o botão for acionado, a máquina deve ser colocada em estado de 
segurança independente do estado do processo. 
 
 
 
REGISTROS DE CONTROLE DAS INTERRUPÇÕES 
 
 Para controle das interrupções existem 3 registros: IE, IP e TCON. 
 
IE (Interrupt Enable) para habilitar as interrupções 1 – habilita 
 0 – desabilita 
 
 IE = 
 
todas externa 0 
serial timer/counter 0 
timer/counter 1 externa 1 
EA - - ES ET1 EX1 ET0 EX0
 
 Módulo 4 Prof. Celso 
 
 54
 MCS51 
IP (Interrupt Priority) define prioridades 1 – alta prioridade 
 0 – baixa prioridade 
 
 A prioridade das interrupções é EX0, ET0, EX1, ET1 e ES. Isto quer dizer se 
por acaso elas acontecerem ao mesmo tempo, a primeira interrupção a ser atendida 
será a externa 0, depois o timer 0 e assim por diante até a interrupção serial. 
 Através do registro IP, as prioridades podem ser alteradas. 
 
 default 
 IP = 
 
 externa 0 
serial timer/counter 0 
timer/counter 1 externa 1 
- - - PS PT1 PX1 PT0 PX0
 
 
TCON (Timer CONtrol) configuração da interrupção e do timer 
 
 Metade deste registro é usado para configurar o timer/couters e a outra metade 
é usada para configurar as interrupções externas: 
 
 TIMERS/COUTERS INTERRUPÇÕES 
 
 TCON = 
 
overflow borda/nível 
 timer 1 externa 0 
run/stop flag da interrupção 
 timer 1 externa 0 
overflow borda/nível 
 timer 0 externa 1 
run/stop flag da interrupção 
 timer 0 externa 1 
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
 
TFx flag de overflow TFx = 1 houve overflow do contador 
 TFx = 0 não houve overflow 
 
TRx liga/ desliga contador/temporizador TRx = 1 liga contador/temporizador 
 TRx = 0 desliga contador/tempor. 
 
ITx modo de operação da interrupção ITx = 1 atende na borda de descida 
 ITx = 0 atende no nível baixo 
 
IEx flag da interrupção IEx = 1 interrupção detectada 
 IEx =0 interrupção não foi detectada 
 
 O flag IEx é setado pelo hardware interno e também é apagado por hardware 
caso o modo de operação esteja configurado para borda de descida. Caso seja 
 Módulo 4 Prof. Celso 
 
 55
 MCS51 
utilizado o modo de operação nível, o flag IEx deve ser apagado por software (CLR 
IEx). 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Exercício 1) Programa os registros IE, IP e TCON para: 
- interrupção externa 1 (INT1) máxima prioridade, sensível a nível 
- timer/counter 1 segunda prioridade 
- externa 0 (INT0) terceira prioridade, sensível a borda de descida 
- serial e timer/counter 0 desabilitadas 
 Valor Hexa 
 IE = EA ET1 EX1 ET0 EX0
 
 
 
 IP = 
- - ES 
 
 
 
 
 TCON = 
- - - PS PT1 PX1 PT0 PX0
 
 
 
 
 MOV IE, 
 MOV IP, 
 MOV TCON, 
 
 
Exercício 2) Programa os registros IE, IP e TCON para: 
- serial máxima prioridade 
- timer/counter 0 segunda prioridade 
- externa 1 (INT1) terceira prioridade, sensível a nível 
- demais interrupções desabilitadas 
 
 
 Valor Hexa 
 IE = 
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
 
 
 
 
 
 IP = 
EA - - ES ET1 EX1 ET0 EX0
 
 
 
 
 TCON = 
- - - PS PT1 PX1 PT0 PX0
 
 
 
 
 
 MOV IE, 
 MOV IP, 
 MOV TCON, 
 
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
 
 Módulo 4 Prof. Celso 
 
 56
 MCS51 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Exercício 3) Utilizando o diagrama abaixo, faça um programa que mantenha 1 dos 
leds aceso e cada vez que a chave ch for pressionada troque o led aceso. 
 
 Utilizar Interrupção. 
 
 -verificar o endereço da 
 da interrupção. 
 - no endereço da interrupção 
 dê um salto para a rotina 
 que irá tratar a interrupção 
 - no início do programa saltar 
 o endereço da interrupção 
 - fazer configurações iniciais e 
 configurar interrupção (IE e 
 TCON) 
 - fazer a troca do led aceso na 
 rotina de interrupção. 
 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
 
 Módulo 4 Prof. Celso 
 
 57
 MCS51 
Exercício 4) Faça um programa em assembler para controlar uma linha de 
produção. O programa deve separar de um lote de 100 peças, as peças 4, 50 e 70 
para inspeção. Considere que um sensor infra-vermelho seja utilizado para contar 
as peças e que o mesmo está conectado no bit 2 da porta P3 e que o bit 4 da porta 
P1 seja utilizado para acionar uma solenóide que separe as peças para inspeção. 
Fazer o programa utilizando interrupção. 
 
 
 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________; __________________________________________ 
________ _____________ ; __________________________________________ 
________ _____________ ; __________________________________________ 
 
 Módulo 4 Prof. Celso 
 
 58
 MCS51 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Exercício 5) Um estacionamento possui 100 vagas e possui uma porta de entrada e 
uma porta de saída. Fazer um programa para automatizar o estacionamento 
considerando o esquema abaixo (utilize interrupções na porta de entrada e saída): 
 
 
 
 
considere: 
Sensor A = 1 carro querendo entrar Sensor E = 1 carro querendo sair 
Sensor B = 1 carro entrando Sensor F = 1 carro saindo 
Fim de curso C = 1 porta aberta FC G = 1 porta aberta (saída) 
Fim de curso D = 1 porta fechada FC H = 1 porta fechada (saída) 
 
Motores M1A/M2A M1B/M2B Motor 
 0 0 motor travado 
 0 1 gira sentido anti-horário 
 1 0 gira sentido horário 
 1 1 motor livre 
 
Funcionamento: se houver um carro querendo entrar (sensor A=1), o sistema deve 
abrir a porta de entrada se: 
- houver vagas disponíveis, 
- ou caso não exista vaga, houver um carro querendo sair. 
Para abrir a porta o motor deve ser acionado no sentido anti-horário e deve 
permanecer ligado até atingir o fim de curso C, quando então deve ser desligado. 
Deve-se esperar o carro entrar verificando o sensor B que deverá ir de 0 para 1 e 
novamente para 0, onde então o motor é ligado em sentido horário até fechar a 
porta (FC D=1). A porta de saída tem funcionamento idêntico. 
 Módulo 4 Prof. Celso 
 
 59
 MCS51 
 Exercício 6) Uma máquina de cortar chapas de alumínio possui 2 sensores (A e B) 
para indicar quando a chapa está em 
posição de corte. Quando os sensores 
de posição são ativados, a máquina 
deve parar o motor de alimentação 
das chapas e acionar o motor DC da 
lâmina para o corte da chapa. Um 
sensor C é utilizado para indicar que 
a chapa foi cortada, devendo então o 
motor ser revertido para subir a 
 lâmina de corte até acionar o sensor 
 D, após isso é acionado novamente o 
 motor de alimentação das chapas. 
 Caso somente um dos sensores (A ou B) seja ativado, isto indica que a 
chapa é irregular ou não está bem posicionada, devendo ser enviada para fora do 
sistema sem realizar o corte e deve também soar um alarme. 
 O sistema deve possuir: 
- 1 botão para iniciar o processo (start) 
- 1 botão para término de serviço (stop). Quando pressionado para o processo após 
um ciclo do processo. 
- 1 botão de emergência. Quando pressionado para imediatamente o processo 
colocando a máquina em segurança. O sistema neste caso deve ser reinicializado.

Continue navegando