borlan problema
FACULTAD DE INGENIERIA DE SISTEMAS Y ELECTRÓNICA
LABORATORIO DE ARQUITECTURA DE COMPUTADORAS
LABORATORIO N° 4
TEMA:
TIMER 8254
CODIGO
APELLIDOS YNOMBRES
NOTA
1210643
PEÑALOZA CCOICCA arturo jerry
HORARIO
PC
FECHA
18.30-20:00
27/02/2014
OBSERVACIONES
Febrero 2014
TEMPORIZADOR (TIMER)
Revisión de conceptos teóricosPara TC++ o BORLANDC++
/**********************************************************************
PROGRAMA QUE PRESENTA UN RELOJ DE TIEMPO REAL QUE SE VISUALIZA EN LA
ESQUINASUPERIOR IZQUIERDA DE LA PANTALLA. SE UTILIZA EL TIMER 8254
COMO BASE DE TIEMPO.
**********************************************************************/
#include
#include
#include
int main(void )
{
unsigned char nibble;
int h, m, s, pin_out;
long cuenta;
int veinteava=0;
printf( "Hora, minutos y segundos actuales?" );
scanf( "%d%d%d", &h, &m, &s);
/*Programacion del timer */
cuenta = 59659; /*Cuenta para 20 Hz*/
outportb( 0x43, 0XB6 ); /*Envío de la palabra de control*/
nibble = cuenta;
outportb( 0x42, nibble ); /*Envío de la partebaja de la cuenta*/
nibble = cuenta >> 8;
outportb( 0x42, nibble ); /*Envío de la parte alta de la cuenta*/
nibble = _inp( 0x61 ) | 0x01;
outportb( 0x61, nibble ); /*Se habilitasólo el gate del contador 2*/
/* Fin programación del timer */
do
{
do
{
outportb( 0x43, 0xE8 ); /*Read Back=11101000 (latchear Status)*/
pin_out = inportb(0x42 ) >> 7; /*se filtra bit 7 del STATUS*/
} while( pin_out == 0 );
do
{
outportb( 0x43,0xE8); /*Read Back=11101000 (latchear Status)*/
pin_out = inportb( 0x42 ) >> 7;/*se filtra bit 7 del STATUS*/
} while( pin_out == 1 );
veinteava++; /*Cada 20 cambios (0 a 1) del pin out se incrementa s en 1.*/
if( veinteava == 20 ) { veinteava = 0; s++; }...
Regístrate para leer el documento completo.