Turnero 2 Digitos

Páginas: 10 (2491 palabras) Publicado: 10 de noviembre de 2012
;;;;;; Turnero contador 00 a 99
;;; Programa elaborado y comprobado por Cesar Alvarez;

; Guarda la informacion en la EEPROM Interna del PIC
; Programa para fabricar un turnero de dos digitos Contando de 00 a 99;
; Con pulsador para incrementar;
; pulsador para buzzer o speaker;
; pulsador para Reset;
; y un pulsador extra para decrementar el contador;
; Le coloque Un display pequeno de 7segmentos para que el operario sepa el numero ;de turno actual;
; display grande 4 pulgadas (2digitos) 7 segmentos para el publico;

; Entradas de pulsadores RA0,RA1,RA2,RA,3;
; Salida para decoder 7 segmentos para anodo Comun M 7447, RB0.RB1,RB2,RB3;
; Puesto que estoy conectando el circuito de operario con el circuito de control con ;Cable para RED ( 8 Hilos)
; Saco solamente una senal paramultiplexar los Displays, Con dos ttransistotres PNP. La entrada ala base del primer transistor va desde el PORT RB4
; a travez de una resistencia de 10K, la salida del colector del primer transistor va al ANODO ;del primer Display ( unidades) y a su vez a travez de;
; una resistencia de 330 oms va a la base del segundo NPN y la salida por colector de ;este transisto va a el NODO del segundoDisplay (decenas)
; Por lo tanto lios transistores estan invirtiendo las senales de tal forma que solo un ;display estara iluminando cada vez;
; Pero a la adecuada velocidad de multiplecsacion veremos ambos display iluminados ;al mismo tiempo;
; La salida por RB5 va a un speaker via transistor NPN
; La senales de salida de el control al disply de publico so;;
;; 12 Volts, Buzzer, Anodo, Gnd, RB0,RB1, RB2, RB3,
; Por esta razon multiplexo los displays con solo una senal ( ANODO)

; Se utiliza la libreria de retardos de la editorial RA_MA curso para PIC 16F84

;;;;;; Si desea mayor informacion comuiquese a tecnicesar2@gmail.com


;;;;;;; PERFECTO PERFECTO INCREMENTA Y DECREMENTA

LIST P=16F628A
INCLUDE
__CONFIG 2118




CBLOCK 0x20
ENDC

CBLOCKContador
EEPROM_GuardaINTCON
DIR_EE
DAT_EE
Unidades
Decenas
Frecuencia_1
Frecuencia_2
Frecuencia_3
Otra
ENDC
;****************************

#DEFINE Buzzer PORTA,3
#DEFINE Counter PORTA,1
#DEFINE Reset PORTA,2
#DEFINE Count_Down PORTA,0

;***************************

ORG 0x00
GOTO Inicio

Inicio
MOVLW 0x07
MOVWF CMCON
BSF STATUS,RP0
MOVLW B'00000000'
MOVWF PORTB
BSFBuzzer
BSF Counter
BSF Reset
BSF Count_Down
BCF STATUS,RP0
CLRF PORTA

MOVLW .0
MOVWF DIR_EE
CALL Lee_EEPROM
MOVF DAT_EE,W
MOVWF Unidades

MOVLW .1
MOVWF DIR_EE
CAll Lee_EEPROM
MOVF DAT_EE,W
MOVWF Decenas

MOVLW .200
MOVWF Frecuencia_1
MOVLW .200
MOVWF Frecuencia_2
MOVLW .5
MOVWF Frecuencia_3
MOVLW .220
MOVWF Otra
BSF PORTB,5 ; Alto para que en inicio speaker nosuene Usa TR A 733

;****************************************
Principal

MOVF Unidades,W
CALL Tabla_Unidades
MOVWF PORTB
CALL Retardo_10ms

MOVF Decenas,W
CALL Tabla_Decenas
MOVWF PORTB
CALL Retardo_10ms

UNO_CERO
BTFSS Reset
GOTO UNO_A
GOTO Borra

UNO_A
BTFSS Counter
GOTO UNO_B
GOTO INCREMENTAR

UNO_B
BTFSS Buzzer
GOTO UNO_C
GOTO Suena

UNO_C
BTFSS Count_Down
GOTO PrincipalGOTO DECREMENTAR
;***************************************
DECREMENTAR
CALL Retardo_10ms
BTFSS Count_Down
GOTO Principal
BTFSC Count_Down
GOTO $-1
MOVF Unidades,W
SUBLW .0
BTFSS STATUS,Z
GOTO RESTE_1
MOVF Unidades,W
MOVWF DAT_EE
MOVLW .0
MOVWF DIR_EE
CALL Escribe_EEPROM
MOVF DAT_EE,W
MOVWF Unidades

MOVF Decenas,W
SUBLW .0
BTFSS STATUS,Z
GOTO RESTE_2
GOTO CERO_CERO

RESTE_2DECF Decenas,F
MOVF Decenas,W
SUBLW .0
BTFSS STATUS,Z
GOTO Grava_Decenas
GOTO Grava_Decenas


;************************
CERO_CERO
MOVLw .9
MOVWF Decenas
MOVF Decenas,W
MOVWF DAT_EE
MOVLW .1
MOVWF DIR_EE
CALL Escribe_EEPROM
MOVF DAT_EE,W
MOVWF Decenas

MOVLW .9
MOVWF Unidades
MOVF Unidades,W
MOVF Unidades,W
MOVWF DAT_EE
MOVLW .0
MOVWF DIR_EE
CALL Escribe_EEPROM
MOVF...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Sumas de 2 digitos
  • Digitadora
  • Digitadora
  • Digitador
  • DIGITACIONES
  • digita
  • Digitar
  • digitador

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS