adniad

Páginas: 10 (2485 palabras) Publicado: 17 de septiembre de 2013
CLAVE: SCD-1003

ASIGNATURA: ARQUITECTURA DE COMPUTADORAS
PRACTICAS UNIDAD I

Practica 1.
Objetivo
Configurar y activar las salidas digitales del microcontrolador en Proteus.
Desarrollo
Programar el microcontrolador PIC16F84A para controlar dos leds.
Escribe el siguiente código en Mplab o MicroC:

void main ( void )
{
unsigned int CONTADOR=0;
TRISB = 0b11110000; // Configura loscuatro bits de menor peso como salida, y
//los cuatro bits de mayor peso como entrada.
PORTB=0b00000000; //Los bits de salida asumen un 0 lógico.
while( 1 ) //Bucle infinito
{
if( PORTB.F7==0 ) //Evalúa si bit RB7 es 0
{
if( PORTB.F0==1 ) //Evalúa el valor del bit RB0 y conmuta su valor.
PORTB.F0=0;
else
PORTB.F0=1;
while( PORTB.F7==0 ); //Espera a que el RB7 cambie a 1.
}
CONTADOR++;//Incrementa el valor del CONTADOR.
//La siguiente condición if cambia automáticamente el estádo del bit RB1
if( CONTADOR&0x0100 ) //Evalúa si el bit 8 del CONTADOR es 1
PORTB.F1=1;
else
PORTB.F1=0;
}
}
Dibuja el siguiente diagrama en proteus y carga el archivo *.hex

PROFESOR: ISC. BRAULIO AZAAF PAZ GARCÍA

CLAVE: SCD-1003

ASIGNATURA: ARQUITECTURA DE COMPUTADORAS
PRACTICAS UNIDADI

Practica 2. Control de display 7 segmentos.

Objetivo
Configurar y activar las salidas digitales del microcontrolador en proteus.
Desarrollo
Programar el microcontrolador PIC16F84A para visualizar los dígitos en un display de siete
segmentos. El display de siete segmentos es de cátodo común.

Segmento
Terminal del
puerto B del PIC

X

g

f

e

d

c

b

a

7

Rb6Rb5

Rb4

Rb3

Rb2

Rb1

Rb0

const unsigned short DIGITOS[] =
{
0x3F, //Código del dígito 0
0x06, //Código del dígito 1
0x5B, //Código del dígito 2
0x4F, //Código del dígito 3
0x66, //Código del dígito 4
0x6D, //Código del dígito 5
0x7D, //Código del dígito 6
0x07, //Código del dígito 7
0x7F, //Código del dígito 8
0x6F, //Código del dígito 9
};
void main ( void )
{unsigned short CONTADOR=0; //numero entero de 8 bits corto
TRISB = 0; // Configura el puerto B como salida
while( 1 ) //Bucle infinito
{
PORTB = DIGITOS[CONTADOR]; //Se visualiza el digito correspondiente al
//numero guardado en la variable CONTADOR
CONTADOR++; //se incrementa el valor del conteo.
delay_ms(1000); //se hace un retardo de un segundo.
}
}

**Nota delay_us microsegundosPROFESOR: ISC. BRAULIO AZAAF PAZ GARCÍA

CLAVE: SCD-1003

ASIGNATURA: ARQUITECTURA DE COMPUTADORAS
PRACTICAS UNIDAD I

Dispositivos en proteus:
PIC16F84A, RES, 7SEG-COM-CATHODE.
Construir el siguiente circuito y similar el programa anterior.

PROFESOR: ISC. BRAULIO AZAAF PAZ GARCÍA

CLAVE: SCD-1003

ASIGNATURA: ARQUITECTURA DE COMPUTADORAS
PRACTICAS UNIDAD I

Practica 3. Controlde display 7 segmentos dinámicos.

Objetivo
Configurar y activar las salidas digitales para la visualización dinámica de un solo digito al
mismo tiempo.
Desarrollo
Programar el microcontrolador PIC16F84A para visualizar los dígitos en cuatro display de
siete segmentos. El tiempo visible de cada dígito debe ser la cuarta parte del periodo es
decir 10m segundos. La forma más eficiente demostrar los números en el display es por
medio de una función. Con 4 dígitos es posible visualizar un número de 0 a 9999, por esto
el número puede ser consignado en una variable de tipo entera. La activación de los
displays se debe hacer por medio de otro puerto, el puerto A.

// Declaración de las constantes para el display.
const unsigned short DIGITOS[] =
{
0x3F, //Código del dígito 00x06, //Código del dígito 1
0x5B, //Código del dígito 2
0x4F, //Código del dígito 3
0x66, //Código del dígito 4
0x6D, //Código del dígito 5
0x7D, //Código del dígito 6
0x07, //Código del dígito 7
0x7F, //Código del dígito 8
0x6F, //Código del dígito 9
};
//Función para visualizar el display dinámico.
void VerDisplay( int Numero )
{
unsigned short U; //Variable para guardar las...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS