Académique Documents
Professionnel Documents
Culture Documents
Ejemplo 2
1869
Ing.CIP Jorge Luis Robles Bokun
(10)
= 74D
Mdulo Equipo de
Experimentos DISEN-EXP
Caja plstica-dimensiones:
60x185x75 mm
Aplicaciones del
TIMER 82C54
Para hacer uso del
TIMER de la Tarjeta
LPT ByM V2.0, tiene
que entender en
primer lugar como
se programa,
configura y opera.
Luego puede
implementar y
ejecutar los siguientes
programas
bsicos hasta llegar al
control de un motor de
corriente continua
usando PWM.
TIMER_1.CPP:
Este programa muestra como programar el TIMER 82C54 de la Tarjeta y obtener una
frecuencia de 1 MHz en el CH1 (modo 2) y en el CH2 (modo 3).
Descripcin:
a) Coloque los 4 bits del SW TIMER (S1) en ON, para que la frecuencia de 8 MHz
le llegue al CH1 y CH2. As mismo, los GATE de ambos estn habilitados.
b) Programe al CH1 en modo 2 a una frecuencia de 1MHz, y observe su salida OUT1
en el osciloscopio.
c) Programe al CH2 en modo 3 a una frecuencia de 1MHz, y observe su salida OUT2
en el osciloscopio.
d) Escriba el programa en Visual C++ (modo consola)
e) Compile (Ctrl + F7) -> Build (F7) -> Execute program (Ctrl + F5)
********************************************************************************/
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include "BymWin.h" // Librera usada por la tarjeta LPT V2.0
int Base = 0x378; // Direccin base del puerto paralelo
void main (void) // Inicia programa principal
{inicio_tarjeta(); // Inicializa Tarjeta de interfase LPT V2.0
/* Configura los canales 1 y 2 */
xout(0x77, 0x74); // CH1, Modo 2, binario
xout(0x77, 0XB6); // CH2, Modo 3, binario
/* Frecuencia de entrada al CH1 = 8 MHz. Para obtener una frecuencia de 1 MHz
(T =1 s), se tiene que dividir (8 MHz/1 MHz)= 8; ==> el factor N1=0008 */
xout(0x75, 0x08); // Se enva Byte LSB al CH1
xout(0x75, 0x00); // Se enva Byte MSB al CH1
/* Frecuencia de entrada al CH2 = 8 MHz. Para obtener una frecuencia de 1 MHz
(T =1 s), se tiene que dividir (8 MHz/1 MHz)= 8; ==> el factor N1=0008 */
xout(0x76, 0x08); // Se enva Byte LSB al CH2
xout(0x76, 0x00); // Se enva Byte MSB
al CH2
Ing.CIP
Jorge Luis Robles Bokun
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include "BymWin.h" // Librera usada por la tarjeta LPT V2.0
int Base = 0x378; // Direccin base del puerto paralelo
void main (void) // Inicia programa principal
{
inicio_tarjeta(); // Inicializa Tarjeta de interfase LPT V2.0
// Configura los canales 1 y 2
xout(0x77, 0x76); // CH1, Modo 3, binario
xout(0x77, 0XB6); // CH2, Modo 3, binario
/* Frecuencia de entrada al CH1 = 8 MHz. Para obtener una
frecuencia de 160 Hz.
(T = 6.25 ms), se tiene que dividir (8 MHz/160 Hz) = 50000 =
C350h;
==> el factor N1 = C350h */
xout(0x75, 0x50); // Se enva Byte LSB al CH1
xout(0x75, 0xC3); // Se enva Byte MSB al CH1
/* Frecuencia de entrada al CH2 = 160 Hz. Para obtener una
frecuencia de 1 Hz
(T = 1 Seg), se tiene que dividir (160 Hz/1 Hz) = 160 = 00A0h;
==> el factor N2 = 00A0h. */
Ing.CIP Jorge Luis Robles Bokun
xout(0x76, 0xA0); // Se enva
Byte LSB al CH2