CONTROLLING THE PPIO USING GWBASIC
Refer to the fragment of GWBASIC code in Figure 2 to see how to input the bits and make one
100 OUT &H37A,&H04: | REM This disables the 37AH Outputs |
120 | REM inside of the computer |
140 | REM so that we can use |
160 | REM 37AH as an input port. |
180 | REM It also disables |
200 | REM the IRQ7 interrupt. |
. |
|
. |
|
300 A1=INP(&H37A) AND &H0F: REM Input the | |
320 | REM lower 4 bits |
340 | REM and mask OFF |
360 | REM (force to 0) |
380 | REM the upper 4 bits. |
400 A2=INP(&H379) AND &HF0: REM Input the high 4 bits | |
420 | REM and mask OFF |
440 | REM the lower 4 bits. |
460 IB=A1 OR A2 : | REM This combines them |
480 | REM into one Input Byte. |
.
.
Figure 2
The above assumes that you are using a parallel port located at 0378H. If you are using a different port you will have to replace the hex addresses shown with the proper ones for your port. Refer also to the PPIO.BAS program on the supplied disk for an example of how to use GWBASIC to interface with the PPIO.
To output bits from the computer to the PPIO interface (still using GWBASIC and the above 0378H example) use the following line:
500 OUT &H378,OB
Where OB is the byte you want to output. If, for instance, you want to turn ON (force LOW) PPIO bit 0, you must turn ON (force HIGH) bit 1 of the variable OB. This can be done by ORing OB with &H01. If you want to turn OFF (force HIGH or open) the same PPIO pin you must turn OFF (force LOW) bit 1 of OB. Do this by ANDing OB with NOT &H01. Use the data Table 2 to handle all eight PPIO bits.
PPIO2899 Manual | 9 |
B&B Electronics Mfg Co Inc – 707 Dayton Rd - PO Box 1040 - Ottawa IL 61350 - Ph