Académique Documents
Professionnel Documents
Culture Documents
de programacin de bajo nivel, se estudio tambien software MPLAB que tiene el mismo lenguaje
pero en este software lo utilizamos para realizar las instrucciones para la utilizacion el
microprocesador PIC16F84A para realizar un circuito para hacer intermitente dos led con
diferentes tiempos de prendido y el otro ejercicio es, que por medio de dos pulsadores prenda y
apague un led con el Microprocesador y para demostrar se emulo en el Software PROTEUS 8.6.
Tabla de contenido
OBJETIVOS .................................................................................................................... 4
de las actividades de rea de un pentgono regular, hallar el rea del tringulo rectngulo y dar
Disear en MPLAB para ejecutar los codigos para el funcionamiento del Microprocesador
C1 34
C2 30
C3 42
C4 29
C5 21
b: hallar el rea del tringulo rectngulo cateto opuesto = C3, Cateto adyacente = C4
#SimuProc 1.4.2.0
#SimuProc 1.4.2.0
msg Solucionar la ecuacion C2X - C3 + C1 = C5X - C4
msg Ingrese el valor de C1
IN AX,1;
STF 100; ;Guarda en [mem] y mem+1 el contenido de BX y AX
msg Ingrese el valor de C2
IN AX,1;
STF 200;
msg Resolver
msg x=(C4+C3-C1)/(C2-C5)
SUBF 200;
STF 101;
LDF 400;
ADDF 300;
SUBF 100;
DIVF 101;
org 0x00
status equ 03h
cblock 0ch
PDel0,PDel1,PDel2,PDel0a,PDel1a,PDel2a,PDel3a
endc
bsf status,5
clrf TRISB
movlw b'00001' ;bit0 como entrada
movwf TRISA
bcf status,5
clrf PORTB
clrf PORTA
;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
inicio
btfss PORTA,0 ;verifica si el witch est presionado
goto inicio ;si no vuelve a escanear el switch
bsf PORTB,0 ;enciende el primer led
call segundo
call segundo ;espera 2 segundos
bsf PORTB,1 ;enciende el segundo led
call segundo
bcf PORTB,1 ;apaga el segundo led
pasodos btfss PORTA,0 ;verifica si el witch est presionado
goto pasodos ;si no vuelve a escanear el switch
bcf PORTB,0 ;apaga el primer led
bsf PORTB,2 ;enciende el tercer led
call segundo
call segundo ;espera 2 segundos
;bsf PORTB,3 ;enciende el cuarto led
;call segundo
;bcf PORTB,3 ;apaga el cuarto led
;pasotres
;btfss PORTA,0 ;verifica si el witch est presionado
;goto pasotres ;si no vuelve a escanear el switch
;bcf PORTB,2 ;apaga el tercer led
;bsf PORTB,4 ;enciende el quinto led
;call segundo
;call segundo ;espera 2 segundos
;bsf PORTB,5 ;enciende el sexto led
;call segundo
;bcf PORTB,5 ;apaga el quinto led
ultimo
btfss PORTA,0 ;verifica si el witch est presionado
goto ultimo ;si no vuelve a escanear el switch
bcf PORTB,1
goto inicio ;comienza de nuevo
;------------------------------------------------------------------------------
segundo
movlw .14 ; 1 set number of repetitions (C)
movwf PDel0 ; 1 |
PLoop0
movlw .72 ; 1 set number of repetitions (B)
movwf PDel1 ; 1 |
PLoop1
movlw .247 ; 1 set number of repetitions (A)
movwf PDel2 ; 1 |
PLoop2
clrwdt ; 1 clear watchdog
decfsz PDel2, 1 ; 1 + (1) is the time over? (A)
goto PLoop2 ; 2 no, loop
decfsz PDel1, 1 ; 1 + (1) is the time over? (B)
goto PLoop1 ; 2 no, loop
decfsz PDel0, 1 ; 1 + (1) is the time over? (C)
goto PLoop0 ; 2 no, loop
PDelL1
goto PDelL2 ; 2 cycles delay
PDelL2
clrwdt ; 1 cycle delay
return ; 2+2 Done
;.............................................
;**** Rutina de servicio de Interrupcion ****
;**** Interrupcion por RB0 ****
ISR
btfss INTCON, INTF ; Consultamos si es por RB0. -
retfie ; No, Salimos de interrupcin. -
call Demora_20ms ; Comprueba si es rebote. -
btfss PORTB,Pulsador
goto Fin_ISR ; Es rebote, entonces salimos. -
btfss PORTB,Led ; Si esta prendido, lo apagamos. -
goto Prender_Led
bcf PORTB,Led ; Apagamos Led
goto Fin_ISR
Prender_Led
bsf PORTB,Led ; Encendemos Led
Fin_ISR
bcf INTCON, INTF ; Limpiamos bandera. -
retfie ; Salimos de interrupcin. -
;..........................................
;**** Demora ****
Demora_20ms
movlw 0xFF ;
movwf Contador1 ; Iniciamos contador1. -
Repeticion1
movlw 0x19 ;
movwf Contador2 ; Iniciamos contador2
Repeticion2
decfsz Contador2, 1 ; Decrementa Contador2 y si es 0 sale. -
goto Repeticion2 ; Si no es 0 repetimos ciclo. -
decfsz Contador1, 1 ; Decrementa Contador1. -
goto Repeticion1 ; Si no es cero repetimos ciclo. -
return ; Regresa de la subrutina. -
end
En el siguiente Link se puede observar la emulasion en Proteus 8.6:
https://www.youtube.com/watch?v=sbuZmVhw4pc&feature=youtu.be
5. Se debe escoger una de las 3 Propuestas de tipo grupal para el desarrollo del proyecto
final del curso
este proyecto nos sirve para comprender un poco ms la teora de los microcontroladores y
su aplicacin; de ah la importancia del mismo, pues a travs de l se puede apreciar lo
interesante que es la programacin en nuestra vida cotidiana.
Bibliografa