My Class and Lab
Wichit Sirichote,
Assembly Language Programming
Solar Radiation Measurement
Microcomputer System Design
Analog and Digital System

Assembly Language Programming


8051SBC: Microprocessor Learning Board
ASM51: Assembler & Terminal emulator

Hints for assembly the 8051SBC hardware.

Before solder the components please be advised that 95% problems were caused by soldering! So you should play attention for every pad to be soldered. There are many tutorials on good soldering technique. Here is the example,
And more details in pdf format Soldering Tutorial

For passive components: the electrolytic cap 10uF has polarity + and -. If you look closer at the layout, you will see there are round and square pads. The square one is positive! For nonpolar cap, says 0.1uF multilayer, you can put it without the need of checking polarity.

For active components: LED has cathode and anode pin. Usually the LED manufacture uses substrate as the cathode pin, but not all. So before place the LED, please check cathode and anode pin beforehand. The layout onboard now for square one is anode pin! Similarly for rectifying diode, 1N4001 and signal diode 1N4148 has square pad for anode pin. For integrated circuit, square pad is pin number 1.

After finish solder all sockets and passive components, without putting all chips, we have to check out as follows;

1. +5V output from voltage regulator,
2. +5V at all sockets,
3. use logic probe check reset pin of the CPU (pin9), try put DC jack to the board again. We must get a logic high pulse and then logic low.

Now add all components to the board. Ensure to put the chip in right position. Refer to pin 1 with square pad! Then tie the board to PC com port, say COM1 and run hyperterminal or XTALK with 9600 8n1. Press ENTER after power board up, you must get message from board. Let's test some hardware with code below.

Test code for 8051SBC

You may test your board with hex code below. Hello.hex is for simple printing hello worlds to PC screen. DS1307 is for testing Real-time Clock chip and LCD is for testing onboard LCD.

Download Handout

week1.pdf : June 14, 2004 15:08

week2.pdf : June 28, 2004 15:45

week3.pdf : July 5, 2004 16:28

week4.pdf : July 20, 2004 7:31

week5.pdf : July 20, 2004 7:30

week6.pdf :August 8, 2004 10:57

week7.pdf :August 16, 2004 18:41TASK.ASM Let's print the source code for explanation also.

August 23, 2004 17:41TASKLCD.ASM my board got a problem, couldn't fix in good time, so we will learn from source code directly, no handout.

Download Assembly Sample code

lcd.asm lcddrv.asm : sample driver for onboard 16x2 LCD module with 8051SBC, August 6, 2004

LAB test for Group C, B and A.

Download Experiment, the LAB will be started the first week of July.

Lesson 1 Introducing 8051SBC Microprocessor Learning Board (June 20, 2005)

Lesson 2 Data Transfer Instructions (July 4, 2005)

Lesson 3 Arithmetic Instructions (July 11, 2005)

Lesson 4 Logical Instructions (July 18, 2005)

Lesson 5 Boolean and Jump Instructions (Aug 15, 2005)

Lesson 6 Writing Program1: Clock Program (Aug 22, 2005)

Lesson 7 Writing Program2: Onboard GPIO (Aug 29, 2005)

Lesson 8 Writing Program3: Interfacing onboard LCD (Sep 5, 2005)

Lesson 9 Writing Program4: 8051's Interrupt (Sep 12, 2005)


Download 8051 Instruction Set (June 24, 2009)

LAB1 Introduction to MTK51 (July 20, 2009)

LAB2 Programming Registers (July 13, 2009)





Download Turbo C 2.01 C compiler with example (Dec 17, 2008)

Download Example C program and exercise (January 5, 2009)

Instrumentation Laboratory 2

Using Minilogger for Measuring Daily Insolation.pdf

DC Amplifier for Pyranometer

LAB 9 Total Harmonic Distortion Measurement July 1, 2006

Download DFT software June 24, 2009

LAB 10 Daily Insolation Measurement July 1, 2006

Download recorded data from the Solar Recorder, Sept 13, 2007


Last updated June 24, 2009