This program requires the Capital Equipment Corporation GPIB card for the IBM PC or XT. It has firmware in ROM to interface high level languages to the GPIB.
Subroutine calls in Microsoft BASIC are done to memory locations specified by the name of the subroutine. The address is relative to the segment address specified by the DEF SEG statement preceding CALL.
In this program, the CEC card's ROM starts at OC0000H, the system controller's address is 21, and the SR530 has been assigned as GPIB address 23.
To monitor the GPIB activity with an RS232 terminal,
10 ′ EXAMPLE PROGRAM TO READ THE SR510 OUTPUT AND RAMP THE X6 ANALOG OUTPUT 20 ′ USING IBM PC BASICA AND THE CAPITAL EQUIPMENT CORP. GPIB INTERFACE CARD
30′
40′
50′ ON THE SR510 REAR PANEL, SET SWITCHES #4 AND #6 ON SW1 TO DOWN (DEVICE
60′ ADDRESS = 23, RS232 ECHO ON) AND SWITCH # 1 ON SW2 TO DOWN (RS232 BAUD
70′ RATE = 9600). ALL OTHER SWITCHES SHOULD BE UP.
80′ NOTE THAT THE RS232 ECHO IS FOR DEBUGGING AND DEMOSTRATION PURPOSES,
90′ UNDER NORMAL CONDITIONING, SWITCH # 6 OF SW1 SHOULD BE UP SINCE THE RS232
100′ ECHO SLOWS DOWN THE GPIB INTERFACE.
110′
120 | DEF SEG = &HC000 | ′BASE ADDRESS | OF CEC | CARD | |
130 | INIT=0: TRANSMIT=3: | RECV=6: ′ADDRESSES OF | CEC FIRM WARE ROUTINES | ||
140 | ADDR%=21: SYS%=0 | ′CONTROLLER | ADDRESS | ||
150 | INZ$ = ″IFC UNT UNL | MTA LISTEN 23 | DATA ′Z′ | 13″ |
160′
170 Q$ = ″IFC MTA LISTEN 23 DATA ′Q′ 13″ 180 X6$ = ″IFC MTA LISTEN 23 DATA ′X6,″ 190 LISN$ = ″IFC UNT UNL MLA TALK 23″
200′
210′
220 | CALL | INIT(ADDR%,SYS%) | ′INIT X6 OUTPUT TO ZERO |
230 | CALL | TRANSMIT(INZ$,STATUS%) | ′RESET SR510 |
240 | GOSUB 540 | ′CHECK TRANSMIT STATUS |
250′
260 X = 0 ′INIT X6 OUTPUT TO ZERO
270′
280 | CALL | TRANSMIT(Q$,STATUS%) | ′READ OUTPUT |
290 | GOSUB 540 | ′GET RESULT | |
300 | GOSUB 450 | ||
310 | V1 = | VAL(ANS$) | ′INTO V1 |
320′
330′
340 PRINT ″OUTPUT = ″;V1
350′
360 X = X + .0025 ′INCREMENT X6 OUTPUT BY 2.5 MV 370 IF X>10 THEN X 0 ′RESET RAMP
380 X$ = X6$ + STR$(X) + ″′ 13″ ′MAKE X6 COMMAND STRING
47