HP E1340A User Manual page 275

Arbitrary function generator
Hide thumbs Also See for E1340A:
Table of Contents

Advertisement

Appendix C
1120
Atten=Atten+(Ampl/1.0235)*2047
1130
C$=DVAL$(Atten,16)
1140
Offset=((Offset/.005)*10)+2048
1150
END IF
1160
END SELECT
1170
!
1180 !Load the attenuation value
1190
Write_reg(8,4)
1200
Write_reg(10,IVAL(C$[5;2],16))
1210
Write_reg(10,IVAL(C$[7;2],16))
1220
Check_done
1230 !
1240 !Load the offset value
1250
C$=DVAL$(Offset,16)
1260
Write_reg(8,3)
1270
Write_reg(10,IVAL(C$[5;2],16))
1280
Write_reg(10,IVAL(C$[7;2],16))
1290
Check_done
1300 SUBEND
1310
!
1320 SUB Linsweep(Start_freq,Stop_freq,Rate)
1330 Linsweep: !Subprogram which sets up linear sweeps
1340
COM Base_addr
1350
!Set start and stop frequencies
1360
Frequency1(Start_freq)
1370
Frequency2(Stop_freq)
1380
!Calculate phase (frequency) increment
1390
Tic_cnt=256
1400
REPEAT
1410
Phase_inc=(Stop_freq-Start_freq)*(.00025+.0001*Tic_cnt)/Rate
1420
Tic_cnt=Tic_cnt-1
1430
UNTIL Phase_inc>=.01 AND Phase_inc<42949672.955 OR Tic_cnt=0
1440
C$=DVAL$(INT(100.*Phase_inc+.5),16)
1450
!
1460 !Load the phase increment, tic count, and sweep type value
1470
Write_reg(8,7)
1480
Write_reg(10,IVAL(C$[1;2],16)) !phase increment
1490
Write_reg(10,IVAL(C$[3;2],16)) !phase increment
1500
Write_reg(10,IVAL(C$[5;2],16)) !phase increment
1510
Write_reg(10,IVAL(C$[7;2],16)) !phase increment
1520
Write_reg(10,BINAND(Tic_cnt+1,255)) !tic count
1530
Write_reg(10,0) !linear sweep
1540
Check_done
HP E1340A Register-Based Programming 275

Advertisement

Table of Contents
loading

Table of Contents