Practica 1.2.1.doc

download Practica 1.2.1.doc

of 5

Transcript of Practica 1.2.1.doc

Ejercicio 1.2.1: Encendido y apagado de un LED con intermitencia de aproximadamente 1 segundo.

;Ejercicio 1.2.1: Encendido y apagado de un LED con intermitencia de aproximadamente 1 segundo

list p=16f84a

; *****DEFINICION DE REGISTROS UTILIZADOS (MEMORIA RAM)****

statusequ03h

ptoaequ05h

;el puerto A esta en la direccin 05 de la RAM

ptobequ06h

;el puerto B est en la direccin 06 de la RAM

trisaequ85h

;registro de configuracin del puerto A

trisbequ86h

;registro de configuracin del puerto B

rp0equ5

;el bit 5 del registro STATUS

PDel0equ12h

PDel1equ13h

PDel2equ14h

org00

;el Vector de Reset es la direccion 00

gotoinicio

;se salta al inicio del programa

org 05

;el programa empieza en la direccion de memoria 0005h

;-------------------------------------------------------------

; Generado con PDEL ver SP r 1.0 el 24/10/2013 Hs 10:09:09 a.m.

; Descripcion: Delay 1000000 ciclos

;-------------------------------------------------------------

Retardo movlw .14 ; 1 set nmero de repeticin (C)

movwf PDel0 ; 1 |

PLoop0 movlw .72 ; 1 set nmero de repeticin (B)

movwf PDel1 ; 1 |

PLoop1 movlw .247 ; 1 set nmero de repeticin (A)

movwf PDel2 ; 1 |

PLoop2 clrwdt

; 1 clear watchdog

decfsz PDel2, 1 ; 1 + (1) es el tiempo 0 ? (A)

goto PLoop2 ; 2 no, loop

decfsz PDel1, 1 ; 1 + (1) es el tiempo 0 ? (B)

goto PLoop1 ; 2 no, loop

decfsz PDel0, 1 ; 1 + (1) es el tiempo 0 ? (C)

goto PLoop0 ; 2 no, loop

PDelL1

goto PDelL2 ; 2 ciclos delay

PDelL2

clrwdt

; 1 ciclo delay

return ; 2+2 Fin.

;-------------------------------------------------------------

; ***** EMPIEZA EL PROGRAMA *******

inicio

bsfstatus,rp0;se ubica en el banco 1 de la RAM

movlwb'00000000';se carga el registro w con los bits 00000000

movwftrisb

;se programan los pines del puerto b como salidas

movlwb'00011111';se programan los pines del puerto a como entradas

bcfstatus,rp0;se ubica en el banco 0 de la RAM

clrfptob

ciclo

bsfptob,0

;enciende el led de la salida RB0

callretardo

;llama la subrutina retardo

bcfptob,0

;apaga el led de la salida RB0

callretardo

;llama la subrutina retardo

goto ciclo

end