' ********************************************************************** ' ** Program name: S1DEB2.BAS - Version : 1.1 - 02 June 1999 ** ' ** Compiler : BASCOM LT, (IDE V.1.20, LIB V.1.27) ** ' ** Board : GPC(r) 554 ** ' ** 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 shows on the PC screen the status of port 4 and 1 lines in ' binary format. ' To achieve the visualization of the lines, you should connect the CN5 ' connector of GPC(r) 554 board to the CN15 connector of DEB(r) 01 board by ' a 20 to 26-pin adapter flat cable. ' ATTENTION! To address correctly the 80552 I/O lines you shuold select the ' 80552 register file. To do this, select tab Misc from the Options/Compiler ' menu, click in the Register file text box then select the file 80552.DAT. ' '************************ 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 ' '************************** Variable declarations **************************** ' Dim V8bit As Byte , C8bit As Byte ' General purpose variables Dim R8bit As Byte ' '************************** Procedure declarations **************************** ' Declare Sub Stampabits(v8bit As Byte)' Prints bits of its input parameter in ' binary format (makes no carriage return) Waitms 1 ' Delay for signals settling ' '***************************** Main Program ********************************** ' Print " Demonstration program 2 for section 1 of DEB(r) 01 board" Print : Print " Shows on PC screen the status of port 4 and 1 lines in binary format." Print : Print " Running..." Print Print "Port 4 Port 1" ' Prints the mask Do Call Stampabits(p4) ' Prints value of port 4 in binary format Print " " ; Call Stampabits(p1) ' Prints value of port 1 in binary format Print Chr(13) ; ' Carriage return Waitms 250 ' Delay to get few prints per second Loop End ' '*************************** End of Main program ***************************** ' ' '****************************** Procedures ********************************** ' ' This procedure prints its 8 bits parameter as a "1"/"0" chars sequence. ' It makes no carriage return. ' Input parameter: ' V8bit byte Value to be printed in binary format ' Output parameters: ' None Sub Stampabits(v8bit As Byte) For C8bit = 1 To 8 R8bit = V8bit And &H80 ' Read the most significant bit of V8bit If R8bit = 0 Then ' If the button on DEB(r) is pressed Print "0" ; ' prints 0 Else ' else Print "1" ; ' prints 1 End If ' this because the buttons work in negated logic Rotate V8bit , Left ' Moves the next bit of V8bit into its ' most significant bit Next C8bit ' Repeats 8 times End Sub