background image

C8051F04x-DK

4

Rev. 0.4

5. Example Source Code

Example source code and register definition files are provided in the “

SiLabs\MCU\Examples\C8051F04x

” directory

during IDE installation. These files may be used as a template for code development. Example applications include
a blinking LED example which configures the green LED on the target board to blink at a fixed rate. A Controller
Area Network (CAN) application example is also included with the C8051F04x development kit.

5.1. Register Definition Files

Register definition files 

C8051F040.inc and C8051F040.h 

define all SFR registers and bit-addressable control/

status bits. They are installed into the “

SiLabs\MCU\Examples\C8051F04x

” directory during IDE installation. The

register and bit names are identical to those used in the C8051F04x data sheet. Both register definition files are
also installed in the default search path used by the Keil Software 8051 tools. Therefore, when using the Keil 8051
tools included with the development kit (A51, C51), it is not necessary to copy a register definition file to each
project’s file directory. 

5.2. Blinking LED Example

The example source files 

blink.asm

 and 

blinky.c

 show examples of several basic C8051F04x functions. These

include; disabling the watchdog timer (WDT), configuring the Port I/O crossbar, configuring a timer for an interrupt
routine, initializing the system clock, and configuring a GPIO port. When compiled/assembled and linked this pro-
gram flashes the green LED on the C8051F040 target board about five times a second using the interrupt handler
with a C8051F040 timer. 

5.3. Controller Area Network (CAN) Application Example

Configuration and use of the CAN controller is documented in the Bosch CAN User’s Guide, located in the “

Documen-

tation

” directory on the CD-ROM. Accessing the CAN controller (i.e., accessing the CAN RAM, CAN registers, and

moving data to and from the CAN controller) is documented in Silicon Laboratories’ C8051F04x data sheet.

An example CAN application is included in the “

Examples\C8051F04x

” directory. Each C8051F040 target board fea-

tures a push button (labeled P3.7) and a LED (labeled P1.6). After the two target boards are connected together via
the provided CAN bus physical layer (i.e. cable, connectors, and CAN transceiver), the example application sends
CAN messages between the two target boards containing the state of the push buttons. In this example, each CAN
controller has two of the 32 message objects configured: one to send a control signal based on the state of its target
board push button, and one to receive a control signal from the other target to see if it should turn on/off its own LED.
When a target board receives a message that the push button on the other target board is depressed, it lights its own
LED. When a target board receives a message that the push button on the other target board is not depressed, it
turns off its own LED. In this way, the push button on one target board controls the LED on the other target board as
a virtual control link via a CAN bus. 

5.3.1. Setting-up the Application

1. Connect the target boards together at the CAN DB-9 connectors using the CAN cable provided in the

development kit, as shown in Figure 2 on page 5. The correct cable has a male connector on both ends.
Take care not to connect the CAN cable to the RS232 DB-9 connector. See Figure 3 on page 6 for the
location of the CAN DB-9 connector. 

2. Compile and link the can1.c example located in the “

Examples\C8051F04x

” directory on the CD-ROM.

Choose one of the target boards as Target Board #1. Connect to Target Board #1 and download the can1
project to the C8051F040, following the steps outlined in Section 4.4 on page 2. Once downloaded, close
this project in the IDE and disconnect the EC2 from Target Board #1. 

3. Connect the EC2 to the other target board, Target Board #2. Open a new project in the IDE and load

can2.c into the C8051F040 device, just as was done in step 2 for Target Board #1. Take care not to load
can1.c into both devices. Disconnect the EC2 from this board.

Summary of Contents for C8051F04 DK Series

Page 1: ...e Quick start Guide C8051F04x Development Kit User s Guide this document 2 Hardware Setup The target board is connected to a PC running the Silicon Laboratories IDE via the Serial Adapter as shown in Figure 1 1 Connect one end of the RS232 serial cable to a Serial COM Port on the PC 2 Connect the other end of the RS232 serial cable to the DB 9 connector on the Serial Adapter 3 Connect the Serial A...

Page 2: ... with the development kit and is installed during IDE installation The evaluation version of the C51 compiler is the same as the full professional version except code size is limited to 4 kB and the floating point library is not included The C51 compiler reference manual can be found under the Help menu in the IDE or in the SiLabs MCU hlp directory C51 pdf 4 4 Using the Keil Software 8051 Tools wi...

Page 3: ...d Downloading the Program for Debugging 1 Once all source files have been added to the target build build the project by clicking on the Build Make Project button in the toolbar or selecting Project Build Make Project from the menu Note After the project has been built the first time the Build Make Project command will only build the files that have been changed since the previous build To rebuild...

Page 4: ...ted in Silicon Laboratories C8051F04x data sheet An example CAN application is included in the Examples C8051F04x directory Each C8051F040 target board fea tures a push button labeled P3 7 and a LED labeled P1 6 After the two target boards are connected together via the provided CAN bus physical layer i e cable connectors and CAN transceiver the example application sends CAN messages between the t...

Page 5: ...0 the device turns off its LED by setting P1 6 low You may run the example with the EC2 connected to view CAN registers and CAN message objects in CAN RAM While connected to one target board run the code Depress the RESET button on the other target board You may use debug and view features of the Silicon Laboratories IDE and on chip debug logic To view the CAN SFRs click View Debug Windows SFRs CA...

Page 6: ...pin J3 Connects LED D3 to P1 6 pin J4 JTAG connector for Serial Adapter interface J5 DB 9 connector for UART0 RS232 interface J6 Jumper to connect UART0 TX P0 0 to DB9 J9 Jumper to connect UART0 RX P0 1 to DB9 J11 Analog loopback connector J12 J19 Port 0 7 connectors J20 Analog I O terminal block J22 VREF connector J23 VDD Monitor Disable J24 96 pin Expansion I O connector J25 DB 9 connector for C...

Page 7: ...e shorting block from the jumper to disconnect SW2 from the port pins The port pin signal is also routed to a pin on the J24 I O connector See Table 1 for the port pins and jumpers corresponding to each switch Two LEDs are also provided on the target board The red LED labeled PWR is used to indicate a power connection to the target board The green LED labeled with a port pin name is connected to t...

Page 8: ...ansceiver J10 Install shorting block to connect UART0 CTS P4 1 to transceiver 6 5 Analog I O J11 J20 Several C8051F040 analog signals are routed to the J20 terminal block and the J11 jumper block Jumper block J11 provides the ability to connect DAC0 and DAC1 outputs to several different analog inputs by installing a short ing block between a DAC output and an analog input on adjacent pins of J11 R...

Page 9: ... being routed to the 96 pin expansion connector each of the eight parallel ports of the C8051F040 has its own 10 pin header connector Each connector provides a pin for the corresponding port pins 0 7 3 3VDC and digital ground Table 6 defines the pins for the port connectors The same pin out order is used for all of the port connectors 6 8 VDD Monitor Disable Jumper J23 The VDD Monitor of the C8051...

Page 10: ...l Gnd C 1 XTAL1 A 2 MONEN B 2 P1 7 C 2 P1 6 A 3 P1 5 B 3 P1 4 C 3 P1 3 A 4 P1 2 B 4 P1 1 C 4 P1 0 A 5 P2 7 B 5 P2 6 C 5 P2 5 A 6 P2 4 B 6 P2 3 C 6 P2 2 A 7 P2 1 B 7 P2 0 C 7 P3 7 A 8 P3 6 B 8 P3 5 C 8 P3 4 A 9 P3 3 B 9 P3 2 C 9 P3 1 A 10 P3 0 B 10 P0 7 C 10 P0 6 A 11 P0 5 B 11 P0 4 C 11 P0 3 A 12 P0 2 B 12 P0 1 C 12 P0 0 A 13 P7 7 B 13 P7 6 C 13 P7 5 A 14 P7 4 B 14 P7 3 C 14 P7 2 A 15 P7 1 B 15 P7...

Page 11: ...r supports both Silicon Laboratories JTAG and C2 debug interfaces All Serial Adapters may be powered from the target board but the EC1 and EC2 Serial Adapter units cannot provide power to the target board Table 8 shows the pin definitions for the Serial Adapter s JTAG connector Notes 1 When powering the Serial Adapter via the JTAG connector the input voltage to the JTAG connector s power pin must ...

Page 12: ...C8051F04x DK 12 Rev 0 4 8 Schematic Figure 6 C8051F040 Target Board Schematic ...

Page 13: ...C8051F04x DK Rev 0 4 13 Notes ...

Page 14: ...y for the functioning of undescribed features or parameters Silicon Laboratories reserves the right to make changes without further notice Silicon Laboratories makes no warranty rep resentation or guarantee regarding the suitability of its products for any particular purpose nor does Silicon Laboratories assume any liability arising out of the application or use of any product or circuit and speci...

Reviews: