Discussion in "8051" started by    elector    Jun 20, 2007.
Wed Jun 20 2007, 09:10 PM

Circuits, Programs, & Applications featuring the 8052 BASIC Microcontroller (8052, member of Intel 8051 microcontroller family)
The Microcontroller Idea Book by Jan Axelson focusses on the 8052 BASIC microcontroller. It takes the reader who may essentially have no knowledge of programming through BASIC while offering considerable insight into the design of simple embedded systems.

It is a hands on guide to designing, building and testing microcontroller based devices. The ideas and applications presented here are not limited to the 8052-BASIC. If the reader is used to working on a different chip, you can adapt the circuits and programs can be adapted to it. The schematics and programs listings in this book include comments and explanations to help apply the ideas irrespective of whether one is using the 8052 BASIC microcontroller.

It is not just a textbook that presents information, but gives details of how to apply it. With the collection of input / output circuits provided, it helps to connect to the outside world and have it all work properly.

Both, the hardware and the software aspects have been epitomized as microcontroller projects involving both circuit design and programming.

Some of the features of the book are:
  • Complete circuit schematics and parts list - so one can easily build the circuits oneself.
  • Design theory - for example, why use this particular component or modify the circuit shown.

  • Example program listings - for easy testing and use of the circuits.

  • Construction and debugging tips - to help get the circuits up and running with no problems.
  • How to add sensors, relays, displays, clock/calenders, keypads, wireless links and more.

Table of Contents in The Microcontroller Idea Book
  • Microcontroller Basics:
    What's a Microcontroller?
    A Little History
    New Tools
    Project Steps

  • Inside the 8052-BASIC:
    Limits, What You Need
    The 8051 Family
    Elements of the 8052 and 8052-BASIC

  • Powering Up:
    About the Circuit
    Circuit Construction
    Powering Up
    Basic tests
    Simple Programs to Try
    Exiting Programs

  • Saving Programs:
    Nonvolatile Memory Options
    Adding NVRAM or EEPROM
    Using the Programming Commands
    Adding Bootup Options
    Erasing NV Memory
    Adding more NVRAM or EEPROM
    Adding EPROM
    EPROM-programming Circuits
    Power Supplies for Programming
    Storing Programs on Disk

  • Programming:
    Programming Basics
    BASIC-52 Bugs and Things to Watch Out For
    Finding Program Errors
    BASIC-52 Keywords by Function
    Quick Reference to BASIC-52

  • Inputs and Outputs:
    The Memory Map
    Uses for I/O Ports
    Adding Ports
    The 8255 Programmable Peripheral Interface

  • Switches and Keypads:
    Simple Switches
    Adding a Keypad

  • Displays:
    Using LEDs
    7-segment Displays
    Displaying Messages
    Inside the Display Controller
    Mounting Displays in an Enclosure.

  • Using Sensors to Detect and Measure:
    Sensor Basics
    Choosing Sensors
    On/off Sensors
    Analog Sensors
    Sensor Examples
    Level Translating
    Choosing a Converter

  • Clocks and Calendars:
    BASIC-52's Real-time Clock
    A Watchdog Timekeeper

  • Control Circuits:
    Switching Power to a Load
    Controlling a Switch Matrix
    Op Amp with Programmable Gain
    Controlling a Stepper Motor
    Speed Control of a Continuous DC Motor

  • Wireless Links:
    Infrared Links
    Increasing the Distance, Radio Links.

  • Calling Assembly-language Routines:
    Assembly-language Basics
    What You Need
    Loading a Routine
    File Formats for Assembly-language Routines
    Assembling a Program, Uploading a Program
    Example: Creating a Sine Wave
    Avoiding Program Crashes
    Adding Custom Commands and Instructions
    A General-purpose EPROM Programmer

  • Running BASIC-52 from External Memory:
    Copying BASIC-52
    System Requirements
    Storing BASIC-52 Programs

  • Related Products:
    Enhanced BASIC-52
    BASIC compilers
    Programming Environments
    Pc Boards
    BASIC-52 Source Code

  • Appendices:
    A. Sources: Books, BBS's, Product Vendors.
    B. Programs for Loading Files.
    C. Number Systems: About Number Systems, Kilobytes and Megabytes.


[ Edited Wed Jun 20 2007, 09:12 PM ]
Tags The Microcontroller Idea ebook8052 BASIC MicrocontrollerThe 8255 Programmable Peripheral InterfaceSwitches and Keypads7-seg LEDOp Amp with Programmable Gaincontrolling stepper motorLCD commandsLCD basicsLCD interfacing
Fri Jun 22 2007, 05:49 AM
Thanks for this book
Wed Feb 13 2008, 02:13 PM
File not found???
Wed Mar 12 2008, 08:47 AM
file not found
Thu Apr 10 2008, 02:21 AM
Link has died

pl. post new lnk

Fri May 02 2008, 08:45 PM
Please post newlink ...
Sat Nov 15 2008, 10:10 AM
Dear Friends

I am unable to download this book.
send me the link for us
plz do the favour for us...

thankx in advance
Thu Nov 27 2008, 07:23 AM
:madi can't download this book.
file not found
Mon Feb 02 2009, 11:26 PM


It's a good book... I like all the stuff that Jan has written. She's great!
 ExperimenterUK like this.

Get Social


Powered by e107 Forum System


Tue Oct 06 2015, 08:22 AM
HI you looking for ideas or you have solution
Fri Oct 02 2015, 03:39 PM
poojitha: projects on wireless communication between two microcontrollers
Thu Oct 01 2015, 04:38 PM
hey! i wanted to simulate my circit using proteus. i have a sugar cube relay in my circuit....but i dont know which one is that in the device libraries of the software. any help? thankyou.
Tue Sep 29 2015, 09:40 PM
@Michal, that rocket is too heavy for itself and trust is not enough unless afterburners are fed with fuel properly.
Sat Sep 26 2015, 08:19 PM
Hello, its possible to make a amateur rocket with this engine, or something simillar, which be able to flight?
Thu Sep 24 2015, 10:38 AM
Ir Switch sir.
Wed Sep 23 2015, 01:10 AM
@engr1931 which project ?
Tue Sep 22 2015, 11:57 AM
Hello sir, is it ok to use 12.000MHz oscillator in IRswitch, because the requirement written in the post is 11.059MHz. And i use PIC1018 as an Ir receiver
Mon Sep 21 2015, 04:15 PM
Hello sir, your blog is kind of helpful for us especially students. May I know do you have the coding for decimal to binary using proteus 8. My mini project is about to convert decimal to binary just like a calculator. The output is LCD. A bit confusing is the decimal to binary coding on proteus 8. pls help thanks.
Sun Sep 20 2015, 09:08 PM
Have you searched our Embedded GSM Development and GSM and CDMA Discussion forums ?



Tue Oct 06 2015, 01:02 PM
Fri Oct 02 2015, 03:28 PM
Sat Sep 26 2015, 01:26 AM
Fri Sep 25 2015, 10:57 AM
Wed Sep 23 2015, 08:13 PM
Wed Sep 16 2015, 04:55 AM
Mon Sep 14 2015, 03:06 PM
Fri Sep 11 2015, 06:03 AM


Guests: 33, Members: 0 ...

most ever online: 182184
(Members: , Guests: 182184) on 06 Aug 2010: 05:37 AM

Members: 37698
Newest member: praveenraoms
Forum Activity
praveenraoms Avatar
Posted By praveenraoms
Tue Oct 06 2015, 01:06 PM
hi i want to know the code to access the geographi...
sachinmm Avatar
Posted By sachinmm
Wed Sep 30 2015, 08:54 AM
how to used polling method in this?? my code is co...
ajay_bhargav Avatar
Posted By ajay_bhargav
Tue Sep 29 2015, 09:39 PM
__irq is just compiler directive to wrap IRQ routi...
ajay_bhargav Avatar
Posted By ajay_bhargav
Tue Sep 29 2015, 09:36 PM
The comment does say the time values as per the th...
ajay_bhargav Avatar
Posted By ajay_bhargav
Tue Sep 29 2015, 09:33 PM
are you testing this on Proteus? or MplabX simulat...
ajay_bhargav Avatar
Posted By ajay_bhargav
Tue Sep 29 2015, 09:31 PM
[Topic moved to ARM Development Forum]
ajay_bhargav Avatar
Posted By ajay_bhargav
Tue Sep 29 2015, 09:29 PM
start with reading datasheet. SPI interface on LPC...
ajay_bhargav Avatar
Posted By ajay_bhargav
Tue Sep 29 2015, 09:27 PM
I am not sure you've solved it or not but "USARTRe...
ExperimenterUK Avatar
Posted By ExperimenterUK
Tue Sep 29 2015, 06:31 PM
i am confused in "__irq"....how it is uesd??sachin...
sachinmm Avatar
Posted By sachinmm
Tue Sep 29 2015, 11:11 AM
my I2C.c file=>>/*********************************...