E S P A Ñ O L
23
MBS
0
0
0
TECLA LARGA
LSB
BIT 3
BIT 2
BIT 1
BIT 0
Bit 4 = 0: TECLA LARGA INACTIVA = 1: TECLA
LARGA ACTIVA
BIT 3 BIT 2 BIT 1 BIT 0
0
0
0
0 = NO TECLA
0
0
0
1 = TECLA DE RANGO
0
0
1
0 = TECLA MANTENER
0
0
1
1 = TECLA CA/CD
0
1
0
0 = TECLA DE REGISTRO
0
1
0
1 = TECLA DE RELATIVO
0
1
1
0 = TECLA DE PORCENTAJE
0
1
1
1 = TECLA COMPARAR
1
0
0
0 = TECLA DE EDICIÓN
1
0
0
1 = CAPACITANCIA (μF)
1
0
1
0 = FRECUENCIA (Hz)
5.3.4 Programa de Muestra (FICOM.H)
El siguiente programa es un ejemplo del
programa de lenguaje C el cual ayuda a los
usuarios a entender el formato de datos y
el método de poder conectar mediante
interfase, y también desarrollar sus propios
programas.
[Interrupt Usage and Selection between COM1 and COM2]
#define COM1 0
#define COM2 1
/* Base addresses of serial ports */
#define COM1BASE 0x03f8
#define COM2BASE 0xx02f8
#define COMBASE (comport= =COM1) ? COM1BASE: COM2BASE)
/* Registers */
#define THR (0) /* Transmit Holding Register */
#define RBR (0) /* Receive Buffer Register */
#define IER (1) /* Interrupt Enable Register */
#define IIR (2) /* Interrupt Identification Register */
#define LCR (3) /* Line Control Register */
#define MCR (4) /* Modem Control Register */
#define LSR (5) /* Line Status Register */
#define MSR (6) /* Modem Status Register */
/* Parameters to bioscom function */
#define DATABIT7 0x02 /* Data bit */
#define DATABIT8 0x03
#define STOPBIT1 0x00 /* Stop bit */
#define STOPBIT2 0x04
#define NOPARITY 0x00 /* Parity bit */
#define ODDPARITY 0x08
#define EVENPARITY 0x18
#define BAUD1200 0x80 /* Baud rate */
#define BAUD2400 0xa0
#define BAUD4800 0xc0
#define BAUD9600 0xe0
/* 8259 PIC (Programmable Interrupt Controller) */
#define IMR 0x21 /* I/O address of 0CW1 (IMR) of 8529 PIC */
#define 0CW 0x20 /* I/O address of 0CW2 of 8259 PIC */
/* 0CW: Operation Command Word */
/* IMR: Interrupt Mask Register */
#define MASKON Oxe7 /* Mask IRQ3/IRQ4 on IMR */
#define MASKOFF Ox18 /* Mask IRQ3/IRQ4 off IMR */
#define EOI 0x20 /* Non-specific End of Interrupt command
0CW2 */
/* Interrupt Request Numbers */
#define IRQ0 0x08 /* Interrupt Vector for Timer */
#define IRQ3 0x0b /* Interrupt Vector for COM2 */
#define IRQ4 0x0c/* Interrupt Vector for COM1 */
#define IRQ8 0x70 /* Interrupt Vector for RTC (Real Time Clock) */
#define IRQ16 0x1c /* Interrupt Vector to called Timer */
#define IRQNUM (comport= =COM1) ? IRQ4 : IRQ3)
*/ Miscellaneous */
#define BUFSIZE 0x4000 /* Size of comm buffer
*/