practica3 reloj de tiempo real

Páginas: 13 (3153 palabras) Publicado: 7 de septiembre de 2015
;--------------------------------------------------------------------
;----- DESCRIPCIÓN: -----
;----- EL PROGRAMA MOSTRARÁ EN FORMATO MILITAR -----
;----- LA HORA ACTUAL EN EL DISPLAY LCD, EMPEZANDO EN -----
;----- 00:00:00 AL INICIAR EL SISTEMA Y AUMENTANDO CADA -----
;----- SEGUNDO. -----
;--------------------------------------------------------------------;******************************************************************
list p=16f877A;

#include

__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF;


;-------------------------------------------------------------------------
; Definicion de variables de programa en RAM

CBLOCK 0x20; Las variables se posicionan a partir deesta dirección en RAM
segundos
minutos
horas
var_aux
banderas
posicion
caracter_mostrar
ENDC

;-----------------------------------------------------------------------------
;----- Definición de constantes

unidades equ 0x0F;
decenas equ 0x0F;
pos_uni_seg equ 0x0B;
pos_dec_seg equ 0x0A;
pos_uni_min equ 0x08;
pos_dec_min equ 0x07;
pos_uni_hor equ 0x05;
pos_dec_hor equ0x04;
mod_uni equ 0xF0;
mod_dec equ 0x0F;
Borra_unidades equ 0xF0;
Borra_decenas equ 0x0F;

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

;Comandos
Transmision equ b'00111000'; Controla los bits del comando de modo de transmision de la LCD
Funcion equ b'00000110'; Modo de funcion: El display no se mueve El control de dirección se incrementa
Comonoffequ b'00001100'; Control: Seenciende el LCD, No parpadea el puntero, activa el cursor
Displclr equ b'00000001'; Borra el display

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

;Definicion de puertos I/O

;Puerto A
E equ .0;
RS equ .1;
Sin_usoRA2 equ .2;
Sin_UsoRA3 equ .3;
Sin_UsoRA4 equ .4;
Sin_usoRA5 equ .5;

progAequ B'111100'; definicion de la configuracion de los bits

;Puerto B
Sin_usoRB0 equ .0;
Sin_usoRB1 equ .1;
Sin_usoRB2 equ .2;
Sin_usoRB3 equ .3;
Sin_usoRB4 equ .4;
Sin_usoRB5 equ .5;
Sin_usoRB6 equ .6;
Sin_usoRB7 equ .7;

progB equ B'11111111'; definicion de la configuracion de los bits

;Puerto C

Display1 equ .0;
Display2 equ .1;
Display3 equ .2;Display4 equ .3;
Display5 equ .4;
Display6 equ .5;
Display7 equ .6;
Display8 equ .7;

progC equ B'00000000'; definicion de la configuracion de los bits

;Puerto D

Sin_UsoRD0 equ .0;
Sin_usoRD1 equ .1;
Sin_usoRD2 equ .2;
Sin_UsoRD3 equ .3;
Sin_usoRD4 equ .4;
Sin_usoRD5 equ .5;
Sin_usoRD6 equ .6;
Sin_usoRD7equ .7;

progD equ B'11111111'; definicion de la configuracion de los bits

;Puerto E

Sin_usoRE0 equ .0;
Sin_usoRE1 equ .1;
Sin_usoRE2 equ .2;

progE equ B'111'; definicion de la configuracion de los bits

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

; Def. de las banderas

timer0 equ .0;
SinUso1 equ .1;
SinUso2 equ.2;
SinUso3 equ .3;
SinUso4 equ .4;
SinUso5 equ .5;
SinUso6 equ .6;
SinUso7 equ .7;

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

;VECTOR DE RESET

vector_reset org 0000h
clrf PCLATH;
goto prog_prin;
;---------------------------------------------------------------------------
; Subrutina deinterrupciones
org 0004h;
vect_int movwf resp_w; respaldamos variables al entrar a la interrupción
movf PCLATH,w
movwf resp_pclath

btfsc INTCON,T0IF; revisamos estado de bandera de interrupción de tmr0
call int_tmr0; Vamos a la subrutina de interrupción del tmr0

movf resp_pclath,w ;regresamos el valor de las variables respaldadas
movwf PCLATH
movf...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • 15 RELOJ TIEMPO REAL
  • Reloj tiempo real
  • El Reloj Que Detuvo El Tiempo
  • Configuración del reloj de un servidor de tiempo
  • El reloj del tiempo de la evolucion
  • Dfd En Tiempo Real
  • Sistemas De Tiempo Real
  • PCR tiempo real

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS