' ********************************************************************** ' ** Program name: S1DEB7.BAS - Version : 1.1 - 03 June 1999 ** ' ** Compiler : BASCOM LT, (IDE V.1.20, LIB V.1.27) ** ' ** Board : GPC(r) 324 + ETI 324 ** ' ** Firm: grifo(r) ITALIAN TECHNOLOGY ** ' ** Via Dell' Artigiano 8/6 40016 San Giorgio di Piano (BO) ** ' ** Tel.+39 051 892 052 Fax +39 051 893 661 ** ' ** http://www.grifo.com http://www.grifo.it ** ' ** sales@grifo.it tech@grifo.it grifo@grifo.it ** ' ** ** ' ** Written by: Graziano Gaiba ** ' ********************************************************************** ' ' This program shifts the lighting of a LED to one direction or the other ' according to the status of jumper 1. If jumper 1 is connected shifts from ' red LEDs to the others. ' To address correctly the ETI 324 board on ABACO(r) I/O Bus, you should ' configure the board to match the hex 80 address, to do this switch to OFF ' the switches from 1 to 4, switch to ON switch 5. ' To achieve the visualization of the lines, you should connect the CN3 ' connector of GPC(r) 324 board to the CN15 connector of DEB(r) 01 board by ' a 20-pin flat cable. ' '************************ Compiler Directives ******************************* ' $romstart = &H8050 ' start address of machine code $ramstart = &HD000 ' start address of data area $ramsize = &H2800 ' 10k of data area $crystal = 22118400 ' clock of microcontroller $baud = 19200 ' RS-232 baud rate $large ' 16 bit addressing mode ' '************************** Constant declarations **************************** ' Dim Pda As Const &HFF80 ' port A data register Dim Pdb As Const &HFF81 ' port B data register Dim Pdc As Const &HFF82 ' port C data register Dim Cnt As Const &HFF83 ' control register Dim Rundebug As Const &HFFF9 ' run/debug register ' '************************** Variable declarations **************************** ' Dim Shifter As Byte ' Lighting shifter Dim J1 As Byte ' Stores status of jumper 1 Dim Porta As Bit ' If 1 selects port A, else selects port C Waitms 1 ' Delay for signals settling Out Cnt , &B10000010 ' Configures port B for output, ' port A e C for input ' '***************************** Main Program ********************************** ' Print " Demonstration program 7 for section 1 of DEB(r) 01 board" Print : Print " Shifts the lighting of a LED to one direction (from red LEDs to others)" Print " if jumper 1 is connected, otherwise shifts to the other direction." Print : Print " Running..." Print Shifter = 1 ' Starts with the LSB Porta = 1 ' Selects port A as first Do Shifter = Not Shifter ' Negates to drive LEDs in negated logic If Porta = 0 Then ' If port C selected Out Pda , 255 ' Turns off port A LEDs Out Pdc , Shifter ' Drives port C LEDs Else Out Pda , Shifter ' Drives port A LEDs Out Pdc , 255 ' Turns off port C LEDs End If Shifter = Not Shifter ' Restores normal value for rotation Waitms 255 ' Delay for few rotations per second J1 = Inp(rundebug) ' Reads the run/debug register J1 = J1 And &B00000001 ' Isolates jumper 1 If J1 = 0 Then ' If jumper 1 connected Rotate Shifter , Left ' Shift from red LEDs to others Else Rotate Shifter , Right ' Else does the opposite End If If Shifter = 0 Then ' If rotation is over Porta = Not Porta ' Switch selection between port A and C If J1 = 0 Then ' If jumper 1 connected Shifter = 1 ' Restart shifting from red LEDs to others Else Shifter = 128 'Else restart shifting to the other direction End If End If Loop End ' '*************************** End of Main program ***************************** '