Lab - 04 - Electrónica Industrial
Lab - 04 - Electrónica Industrial
Lab - 04 - Electrónica Industrial
RESULTADOS DE LABORATORIO:
ORG 0X00
;-------------------------------------------------
;Programa principal
banco 1 ;comentar: Designa el banco 1
clrf trisb ;comentar: Borra el registro trisb
banco 0 ;comentar: Designa el banco0
clrf cuenta ;comentar: Borra datos de registro
cuenta
movf cuenta,0 ;comentar: Mueve el registro cuenta a W
call DisplayCatodoComun ;comentar: Llama dicha
subrutina
movwf portb ;comentar:Carga Portb (literal) en W
TesteaUp
btfss portd,0 ;comentar: Analiza el bit y salta
si es 0
goto TesteaDown ;comentar: Redirige a TesteaDown
goto IncrementarCuenta ;comentar: Redirige a
IncrementarCuenta
TesteaDown
btfss portd,1 ;comentar: Analiza el bit y salta a…
goto TesteaUp ;comentar: Redirige a subrutina
TesteaUp
goto DecrementarCuenta ;comentar: Redirige a
subrutina DecrementarCuenta
IncrementarCuenta
incf cuenta ;comentar: Incrementa el registro
csi cuenta,.10,IniciaCero ;comentar:
movf cuenta,0 ;comentar: Mueve 0 al registro
call DisplayCatodoComun ;comentar: Llama subrutina
movwf portb ;comentar: Mueve de portb a registro w
delay_ms .250 ;comentar: Retardo
goto TesteaUp ;comentar: Redirige
DecrementarCuenta
decf cuenta ;comentar: Incrementa cuenta en 1
csi cuenta,.255,IniciaNueve ;comentar: R
movf cuenta,0 ;comentar: Mueve 0 a registro
call DisplayCatodoComun ;comentar: Llama subrutina
movwf portb ;comentar: Mueve al registro w
delay_ms .250 ;comentar: Retardo
goto TesteaDown ;comentar: Redirige a TesteaDown
IniciaCero
clrf cuenta ;comentar: Borra el registro
movf cuenta,0 ;comentar: Mueve el registro
call DisplayCatodoComun ;comentar: Llama a subrutina
movwf portb ;comentar: Mueve al registro w
delay_ms .250 ;comentar: Retardo
goto TesteaUp ;comentar: Redirige a Testea Up
IniciaNueve
movlw .9 ;comentar: Mueve el registro w
movwf cuenta ;comentar: Mueve el registro w
movf cuenta,0 ;comentar: Mueve el registro w
call DisplayCatodoComun ;comentar: Llama la subrutina
movwf portb ;comentar: Mueve el registro w
delay_ms .250 ;comentar: Retardo
goto TesteaDown ;comentar:
;------------------------------------------------
;Librerias
include<electronicpic16f877.asm> ;comentar:
end ;fin del programa
RESULTADOS DE PARTE I
Cuando pulsamos Down; la implementación empezará a
descontar hasta llegar a 0.
3. Observaciones
Se aplicaron todos los ejercicios al simulador del programa
4. Conclusiones
- Los microcontroladores tienen una gran importancia en la vida de las
personas y en el mundo de las industrias, sin embargo, a medida que
los años pasaron, se demostró la revolución que ocasionaron
mejorando los procesos y sistemas que se utilizan en el día a día.
- Hoy existen microcontroladores en todo lo que nos rodea; es por ello
que es importante conocer su funcionamiento y saber cómo
programarlos
- Se conocieron algunas características de forma teórica y eso nos
facilitará en el proceso de manejo de esta tecnología.
Aplicación de lo aprendido
org 0000h
;--------------------------------------------------
;Programa principal
;****************************************************
;Programa que utiliza una pantalla LCD 2x16
;****************************************************
__CONFIG _WDT_OFF&_CP_OFF&_PWRTE_ON&_HS_OSC
LIST P=16f877
INCLUDE<p16f877.INC> ;comentar:
INCLUDE<Macro16f877.INC>
APLICACIÓN
Realizar un circuito que al colocar 4 digitos, este se visualice en la pantalla LCD, pero con los
siguientes caracteres “****”, al tercer intento se bloquee el programa.
buscardigito
call Teclado4x4
movregistro clave1, NumeroTeclado4x4
movlw "*"
call EnviaCarLCD
call Teclado4x4
movregistro clave2, NumeroTeclado4x4
movlw "*"
call EnviaCarLCD
call Teclado4x4
movregistro clave3, NumeroTeclado4x4
movlw "*"
call EnviaCarLCD
call Teclado4x4
movregistro clave4, NumeroTeclado4x4
movlw "*"
call EnviaCarLCD
;clave correcta
claveok
borralcd
delay_ms .250
mensaje 2
delay_ms .250
goto claveok
;clave incorrecta
errorclave
borralcd
dcsi cuentaerror, 0, intentoerrados
mensaje 3
enter
mensaje 4
delay_ms .250
delay_ms .250
delay_ms .250
delay_ms .250
borralcd
goto repite
;intento errados
intentoerrados
borralcd
delay_ms .250
mensaje 6
enter
mensaje 7
delay_ms .250
goto intentoerrados
;Comentar:
;-----------------------------------------
;Librerias
include<electronicpic16f877.asm>
include<mensaje.asm>
include<lcd.asm>
INCLUDE <teclado.asm>
end ;fin del programa
IMPLEMENTACIÓN PROTEUS
1. Pantalla de inicio (mensaje 1)