Home Price List Order Info PIC and PC Training Course PIC Training Course BSPslave (Mini Course)

Brunning Software PIC Slave (BSPslave) for Windows XP, Vista etc
A programmable circuit for electronic control
with programming training manual.

For absolute beginners
and for students with some PIC experience.

(October 2008)

A BSPslave is a 1.7 x 4 inch PCB circuit which connects to a USB port of a PC. Each BSPslave has two PIC microcontrollers. One handles the USB connection and the other can be programmed with control tasks.

The BSPslave with its training manual is an easy way for students to begin their own project. The BSPslave can be used as the PC USB interface with the students own circuits being wired to the input output lines. It is suitable for students with no knowledge of programming microcontrollers.

The BSPslave takes its power from the USB connection. Two red LEDs connected to the USB PIC alternate continuously while the BSPslave is properly recognised by the PC. While these LEDs flash we know that the USB connection is continuing to function correctly.

Mini Training Course £64

The programmable PIC of the BSPslave is connected to four LEDs, a sounder, a push button, via a socket to a 16 character by 2 line display, and to a 10 way i/o socket. We start with a simple programme to flash the LEDs. We pause the programme at critical points while it is running in the PIC, and view the PICs registers, a brilliant way to learn about PICs. We learn to generate sounds, study the timer and interrupts, and write text to the display. We study simple serial communication by sending text between the PIC and the PC. We use the analogue to digital converter and finish with a fully worked project to measure temperatures.

Price £64 includes a BSPslave, 2 line x 16 character display module, 180 page book, PIC assembler on CD, USB lead and project components (2 thermistors, resistors, capacitors, leads and connector).

(Postage & ins UK £5, Europe £10, rest of world £15).

The software for programming the BSPslave is included in our latest PIC assembler BSPWA which behaves like a simplified version of the official Microchip assembler (MPASM). We type into BSPWA exactly the same text as needed for MPASM.

Learning to use MPASM can be very time consuming but when using our assembler BSPWA most operations require just one very obvious button to be clicked.

The picture on the left shows BSPWA when it is first loaded. There is no setting up to do. Start typing in your programme or click [Load] to bring in an existing file.
When the text is ready click [Build] to create the code for the PIC.

Connect the BSPslave to a USB socket on your PC then click [Write Control PIC]. BSPWA starts by testing the USB ports to find the BSPslave. When the correct port has been found BSPWA writes the code into the BSPslave.
This is the screen just after the code has been written into the BSPslave. Notice that the [Run Control PIC] button has turned green. The programme has established that a BSPslave is connected not the Brunning Software programmer module.

The BSPslave is designed to be an easy way for students to quickly begin their own project. One of its important features is the ability to stop a programme while it is running in the actual PIC. For this we use the USB link which means that all the usual input output lines are still available for project use.

We write the programme text in the usual way using BSPWA but where we want the programme to pause we type a BREAK instruction. When the code has been written into the PIC we click [Run Control PIC] to start the programme running.

When the programme runs in the BSPslave it runs 100% normally until it reaches a BREAK. The programme stops at the break and the contents of the main PIC registers are displayed on the PC screen. At each break all the input and output lines are maintained at their correct levels for that point in the programme so while the programme is stopped we can, if we wish, measure the voltages around the circuit.
This is the screen when the programme running in the PIC has stopped at the first BREAK instruction. The contents of the most important registers are listed on the screen in the right hand panel.

At the first BREAK the panel of buttons on the PC screen changes so that all the BREAK buttons are displayed. We can resume by clicking the button which offers the most suitable option. We will usually click [Run to Break] to stop at the next break. When we have seen enough we may click [Run} to run the programme without stopping. The [Step to Next] and [Run to Next] buttons allow us to easily move past a loop, respectively displaying or not displaying the registers as they change in the loop. The last button [Auto Step] is the same as continually clicking the [Run to Break] button. The idea is to easily be able to test the programme while it is running in its actual circuit without compromising its speed while running between breaks.

When we are happy with the programme we only need to delete BREAK commands which are in sections of code where the timing is critical. If we intend to use the BSPslave as the control PCB for the project we are done. Otherwise we can build a separate circuit then use the Brunning Software programmer module to write the code into our own PIC18F2321 using BSPWA again with the same text file.
The PIC programme shown in these example screens is a very simple programme which is the first programme which we experiment with. The data memories 00, 01, 02, 03 etc in the contents list will have the number replaced by the name of the variable (label) when these are being used. If FULL is selected the contents list is more comprehensive.


Working for long periods with standard size text can be tiring so BSPWA has a simple way to make the screen text larger. Click the right mouse button then click [Make Font Bigger}. Similarly the text can be made darker by clicking [Bold].

Each click makes the font 2 points larger. This screen shows the font changed to bold and 4 points larger.


Home Price List Order Info PIC and PC Training Course PIC Training Course BSPslave (Mini Course)