;**********************************************************************************
; Prueba del microcontrolador PIC16F627A
;
; Destello de un led en la salida RB0, usando oscilador interno.
;
; PIN(6) RB0 - Con una R de 470(ohm) a GND
; PIN(4) MCLR - Con una R de 10K a +B(5V) y un pulsador NA a GND
; PIN(5) Vss - A GND
; PIN(14) Vdd - A +B(5V) con un C de 100nF a GND;;
;**********************************************************************************
list p=16f627a
#include
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT & _MCLRE_ON & _LVP_OFF
CBLOCK 0x33 ;Definicion de variables en el Block de C
K ;Variable K
J ;Variable J
ENDC ;Fin de definicion de variables
#define OUT PORTB,0 ;Macro Pin RB0
org 0x0000 ;Origen de la memoria Cero
goto Inicio ;Salto a la etiqueta Inicio
nop ;Consume 1 Cilco de procesador
nop ;Consume 1 Cilco de procesador
nop ;Consume 1 Cilco de procesador
nop ;Consume 1 Cilco de procesador
org 0x0005 ;Vector de Reset
Inicio movlw 0x07 ;moviendo 0x07 al registro CMCON
movwf CMCON ;apagamos las entradas analogicas (sacado del datacheet)
clrf PORTA ;Limpiamos Puerto A
clrf PORTB ;Limpiamos Puerto B
bsf STATUS,RP0 ;Acceso a banco 1 de registro
clrf TRISA ;Puerto A como salida
clrf TRISB ;Puerto B como salida
bcf STATUS,RP0 ;Salimos del banco 1
main bsf OUT ;Setea OUT - "1" en el pin RB0
call Delay ;Llama a la demora
bcf OUT ;Clear OUT - "0" en el pin RB0
call Delay ;Llama a la demora
goto main ;Salto a la etiquta "main" [Loop]
Delay ;Subrutina de demora
movlw .200 ;Mueve el numero 200 a W, W=200
movwf J ;Mueve W a J, J=200
LoopG
movlw .200 ;Mueve el numero 200 a W, W=200
movwf K ;Mueve W a K, K=200
LoopF decfsz K ;Decrementa el valor de K hasta que sea Cero
goto LoopF ;Salta a la etiqueta "LoopF" [Loop]
decfsz J ;Decrementa el valor de J hasta que sea Cero
goto LoopG ;Salta a la etiqueta "LoopG" [Loop]
return ;Una vez que "LoopG" esta en Cero, Retorna
end ;Fin del programa
Teniendo en cuenta que no se permiten las tabulaciones en este post, hay que agegaselas donde hay espacio.
No hay comentarios.:
Publicar un comentario