0 calificaciones0% encontró este documento útil (0 votos)
10 vistas5 páginas
Programa en Mplab para
pic18f4550 con interrupciones es un contador ascendente, descendente para un retardo de 500 milisegundos, con un botón selecciona ascendente o descendente, se utilizan una interrupción de alta prioridad y una de baja prioridad, todo con comentarios. Se usa el oscilador interno
Programa en Mplab para
pic18f4550 con interrupciones es un contador ascendente, descendente para un retardo de 500 milisegundos, con un botón selecciona ascendente o descendente, se utilizan una interrupción de alta prioridad y una de baja prioridad, todo con comentarios. Se usa el oscilador interno
Programa en Mplab para
pic18f4550 con interrupciones es un contador ascendente, descendente para un retardo de 500 milisegundos, con un botón selecciona ascendente o descendente, se utilizan una interrupción de alta prioridad y una de baja prioridad, todo con comentarios. Se usa el oscilador interno
LIST P=18F4550 ;directiva para efinir el procesador
#include <P18F4550.INC> ;definiciones de variables especificas del procesador
;****************************************************************************** ;Bits de configuracin ;CONFIG FOSC = INTOSC_XT ;Oscilador INT usado por el uC , XT usado por el USB CONFIG BOR = OFF ;BROWNOUT RESET DESHABILITADO CONFIG PWRT = ON ;PWR UP Timer habilitado CONFIG WDT = OFF ;Temporizador vigia apagado CONFIG MCLRE=OFF ;Reset apagado CONFIG PBADEN=OFF CONFIG LVP = OFF ;****************************************************************************** ;Definiciones de variables CBLOCK 0x000 ;ejemplo de definicin de variables en RAM de acceso flags
ENDC ;fin del bloque de constantes ;****************************************************************************** ;Reset vector ORG 0x0000 bra inicio org 0x08 ;vector de alta prioridad bra RST0 ;ramifica servicio interrupcion T0 org 0x18 ;vector de baja prioridad bra RSINT org 0x0020
;Inicio del programa principal inicio ;bsf OSCCON,IRCF2,0 ;bsf OSCCON,IRCF1,0 ;bcf OSCCON,IRCF0,0 ;Oscilador interno a 4 MHz movlw 0x0F movwf ADCON1,0 ;Puertos Digitales clrf PORTD,0 clrf TRISD,0 ;Puerto D Configurado como salida movlw 0x95 movwf T0CON,0 ;timer 16 bits prescalerX64 movlw 0XE0 movwf INTCON,0 ;interrupciones TMR0,prioridad habilitada bsf RCON,IPEN,0 ;habilitamos prioridades de interrupcion movlw 0xE1 movwf TMR0H,0 movlw 0x7c movwf TMR0L,0 ;valor de precarga para 500ms a 4MHz movlw 0x88 movwf INTCON3,0 ;habilitamos int1 en baja prioridad cero movlw 0xC0 ;cdigo del cero movwf PORTD,0 call repite btfss flags,1,0 bra nueve uno movlw 0xF9 ;cdigo del uno movwf PORTD,0 call repite btfss flags,1,0 bra cero dos movlw 0xA4 ;cdigo del dos movwf PORTD,0 call repite btfss flags,1,0 bra uno tres movlw 0xB0 ;cdigo del tres movwf PORTD,0 call repite btfss flags,1,0 bra dos cuatro movlw 0x99 ;cdigo del cuatro movwf PORTD,0 call repite btfss flags,1,0 bra tres cinco movlw 0x92 ;cdigo del cinco movwf PORTD,0 call repite btfss flags,1,0 bra cuatro seis movlw 0x82 ;cdigo del seis movwf PORTD,0 call repite btfss flags,1,0 bra cinco siete movlw 0xB8 ;cdigo del siete movwf PORTD,0 call repite btfss flags,1,0 bra seis ocho movlw 0x80 ;cdigo del ocho movwf PORTD,0 call repite btfss flags,1,0 bra siete nueve movlw 0x98 ;cdigo del nueve movwf PORTD,0 call repite btfss flags,1,0 bra ocho bra cero ;****************************************************************************** repite btfss flags,0,0 bra repite bcf flags,0,0 return ;****************************************************************************** RST0 bcf INTCON,TMR0IF,0 ;apagamos bandera timer0 movlw 0xE1 movwf TMR0H,0 movlw 0x7c movwf TMR0L,0 ;valor de precarga para 500ms a 4MHz bsf flags,0,0 retfie ;******************************************************************** RSINT bcf INTCON3,INT1IF,0 ;Limpiamos bandera de interrupcin btg flags,1,0 ;bit monitor de interrupcion retfie END