USO DISPLAY Y BOTÓN
OBJETIVOS:
- Aprender hacer uso del display cátodo común I&T.
- Implementar un contador decimal de un dígito.
DESCRIPCIÓN:
El presente proyecto hace uso del display cátodo común I&T.
- Se va a implementar un contador decimal de un dígito cuyo incremento será mediante el botón MCLR.
DESARROLLO:
Para realizar la práctica planteada es necesario ubicar algunos JUMPER de tal manera que permita el uso de los componentes necesarios para esta práctica:
1.El módulo Entrenamiento MEI&T04 puede utilizar una de las dos fuentes de alimentación:
- Fuente de alimentación USB desde PC a través del cable USB.
- Fuente de alimentación EXT desde un Jack DC.

2.Para hacer uso del PIN A.0 como salida o entradatenemos que ubicar el JUMPER que está encima del potenciómetro en la posición DS (Disable=Deshabilitado) como se muestra en la figura.

3.Para hacer uso de display cátodo común I&colocaremos los 8 pines (1-8) en el PORTA del M.E I&T 04 de tal manera que la interconexiones queden de la sig manera
1->PORTA.7, 2->PORTA.6, 3->PORTA.5, 4->PORTA.4 , 5->PORTA.3 ,
6->PORTA.2 7->PORTA.1 8->PORTA.0 EN_DIG1->PORTC.0

PROGRAMACIÓN:
'************************************************************************
'******************* Ideas & Tecnología **************************
'******************* Módulo Entrenamiento I&T 04 *************************
'******************* www.ideastechnology.com *************************
'
' * Nombre proyecto: CONTADOR_DECIMAL_1DIGITO
'
' * Descripción:
' Hacer el uso del modulo Display Cátodo Común para implementar un contador
' binario decimal de un Digito.
' * Configuraciones:
' Microcontrolador: PIC16F886
' Oscillator: INT_RC_OSC_NOCLKOUT, 8MHz
' Compilador: mikroBasic Pro for PC 3.2
'*************************************************************************
program CONTADOR_DECIMAL_1DIGITO
SYMBOL BOTON=PORTE.3
SYMBOL EN_DIG1=PORTC.0
DIM VALOR AS BYTE
'************* Función para convertir un valor BCD (0-9) ***********************
'************* a Código 7 Seg cátodo común ***********************
SUB FUNCTION BCD_7SEG(DIM num AS BYTE) AS BYTE
select case num
CASE 0 result = %11111100
CASE 1 result = %01100000
CASE 2 result = %11011010
CASE 3 result = %11110010
CASE 4 result = %01100110
CASE 5 result = %10110110
CASE 6 result = %10111110
CASE 7 result = %11100000
CASE 8 result = %11111110
CASE 9 result = %11110110
END SELECT 'case end
END SUB
MAIN:
' Registro Oscilador de control
OSCCON = 0X75 ' Oscilador interno de 8mhz
' Registro PUERTO A
TRISA = 0X00 ' PORTA.0 Entrada
PORTA = 0X00
' Registro PUERTO B
TRISB = 0X00 ' PORTB salidas
PORTB = 0X00
' Registro PUERTO C
TRISC = 0X00 ' PORTC salidas
PORTC = 0X00
' Registro PUERTO E
TRISE = 0X08 ' PORTE.3 entrada digital
PORTE = 0X00
' Selección de registro analógico. 1 analógico, 0 digitales
ANSEL = 0X00 ' AN<7:0>
ANSELH = 0X00 ' AN<13:8>
VALOR=0
EN_DIG1=1'
WHILE(1)
iF(BOTON=0)THEN 'SI PRESIONO EL BOTON
INC(VALOR) 'INCREMENTO VALOR = VALOR + 1
IF(VALOR>9)THEN 'SI VALOR ES > 9 ENTOCES VALO=0
VALOR=0
END IF
WHILE(BOTON=0) WEND 'PREGUNTO SI SOLTO EL PULSADOR
END IF
PORTA=BCD_7SEG(VALOR) 'HAGO LA CONVERSION DE BCD A 7SEG
WEND
END.
NOTA: Para un mejor entendimiento del funcionamiento de la práctica se recomienda leer todos los 'comentarios puestos durante la programación, ahí se explica de manera detallada todo el proceso.
