Sistemas de Control Para Ingenieria
Enviado por Erick Espinola • 24 de Septiembre de 2023 • Práctica o problema • 418 Palabras (2 Páginas) • 110 Visitas
#include "p16f84a.inc"
; CONFIG
; __config 0x3FF9
__CONFIG _FOSC_XT & _WDTE_OFF & _PWRTE_OFF & _CP_OFF
contador1 equ 20
contador2 equ 21
contador3 equ 22
numero equ 23
org 0x00
Inicio
;configuracion de puertos
bsf STATUS,RP0
;movlw 0xFF ; configuro el puerto A como entrada
;movwf TRISA ;
movlw 0x00 ; configuro el puerto B como salida
movwf TRISB
bcf STATUS,RP0
bucle_grande
movlw .9
movwf numero
bucle_chiquito
movf numero,0
call tabla
movwf PORTB
call retardo
decf numero
movf numero,0
xorlw .0
btfsc STATUS,Z
goto bucle_grande
goto bucle_chiquito
retardo
movlw .10
movwf contador1
cuenta1 ;45 704us*50=2,250,000us
movlw .100 ;45 700us
movwf contador2
cuenta2 ;457us*100=45 700us
movlw .151 ;453us
movwf contador3
cuenta3 ;3us*151=453us
decfsz contador3 ;3us
goto cuenta3
decfsz contador2
goto cuenta2
decfsz contador1
goto cuenta1
return
tabla
addwf PCL ; suma de PCL+W para obtener el valor de la tabla
retlw b'11000000' ;número 0
retlw b'11111001' ;número 1
retlw b'10100100' ;número 2
retlw b'10110000' ;número 3
retlw b'10011001' ;número 4
retlw b'10010010' ;número 5
retlw b'10000011' ;número 6
retlw b'11111000' ;número 7
retlw b'10000000' ;número 8
retlw b'10011000' ;número 9
end
...