El objetivo de esta practica es el uso de la interrupción por RB0, en la que el programa principal sera mostrar algún mensaje a través de un Display de 7 segmentos, y al momento de hacer la interrupción por RB0 en el pin RA0 se conectara una bocina donde saldrá una melodía usando la instrucción SOUND
A continuación se muestra el código de nuestro programa:
'****************************************************************
'* Name : UNTITLED.BAS *
'* Author : [select VIEW...EDITOR OPTIONS] *
'* Notice : Copyright (c) 2013 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 11/02/2013 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
@ DEVICE 3F10H
H CON %11101100
O CON %01111110
A CON %11101110
L CON %01110000
SYMBOL PIN = PORTA.0
LOOP VAR BYTE
ON INTERRUPT GOTO ETIQUETA
TRISB = 000001
TRISA = $00
CMCON = 7
INTCON = %10010000
OPTION_REG = %01000000
INICIO:
PORTB=H
PAUSE 500
PORTB=O
PAUSE 500
PORTB=L
PAUSE 500
PORTB=A
PAUSE 500
GOTO INICIO
DISABLE ;DESHABILITA LAS INTERRUPCIONES
ETIQUETA:
SOUND PIN, [50,60,70,20,85,120,83,40,70,20,50,20,70,20,90,120,90,20,98,160]
FOR LOOP = 128 TO 255
SOUND PIN, [LOOP,2]
NEXT
SOUND PIN, [43,80,63,20,77,20,71,80,51,20,_
90,20,85,140,77,20,80,20,85,20,_
90,20,80,20,85,60,90,60,92,60,87,_
60,96,70,0,10,96,10,0,10,96,10,0,_
10,96,30,0,10,92,30,0,10,87,30,0,_
10,96,40,0,20,63,10,0,10,63,10,0,_
10,63,10,0,10,63,20]
RESUME
ENABLE
END
|
Para comprobar el funcionamiento de nuestro programa vamos al simulador Proteus y armamos el siguiente circuito para simular:
A partir de esta simulacion probamos que nuestro circuito funciona
Diagrama de Flujo:
Para ver como queda el circuito fisico visita el siguiente enlace:
No hay comentarios:
Publicar un comentario