Skip to main content

New Book Published

I published a new book titled Embedded Software Development with C. I am a co-author along with Dr. Kai Qian and Li Cao. The book is published by Springer.

It is a computer science textbook written primarily for CS and EE undergraduate students, but it is also a good introduction for working professionals interested in embedded software development. Hobbyists will also like the projects and step-by-step approach to the labs.

The book takes a software engineering approach to programming the venerable 8051 microcontroller using the C language.

The 8051 and C have been around for decades, so this book should have some long term value. It stands out from other 8051/C books because it covers Ethernet networking. Most 8051 books on the market don't make it past serial communications.

Writing this book took me back 20 years to my EET days. I haven't bread-boarded circuits since the late 80's. It was a lot of fun designing the labs and making them work.

The Ethernet chapter features an embedded web server project using an AJAX page for displaying data from the microcontroller. Pretty cool considering the resource constraints.

Comments

Popular posts from this blog

Liberty Basic 4 is now in Alpha testing. It looks like it's going to be a big step forward for the language. Here's a brief list of the new features: True global variables. (declared using the new global keyword) Passing arguments to a sub or function by reference. (I complained about the lack of this feature in LB3 about 4 posts ago.) Handle variables and the new maphandle command. (liberation from static handles to windows, controls and files) Dynamic evaluation of Liberty Basic code inside of a running program. ( eval returns a numeric value and eval$ returns a string value) Subroutines can now be used for event handlers. (a better choice over branch labels for large programs) There are many other enhancements, but these are the big ones. The IDE also has a new feature that lets you create tutorials or lessons using a three-pane window. On the left pane is the outline of the lesson. On the upper right pane is the lesson text. On the lower right pane is LB code...

Hammurabi (on Run Basic)

To celebrate 50+ years of BASIC, I've published an early version of the classic simulation, Hammurabi, on the Run Basic Hosting site. It ran "almost" unchanged -- line numbers, GOTOs and all. I'll publish the tweaked Run Basic code later, but here is the link to the game if you want to try it out right away. If you're interested in the original source, here is a nice article on the game at the Atari Archives. Have fun!

Tiny Basic 1.2 Progress

I'm working on the next release of Tiny Basic. Here's the latest list of enhancements: Added GOSUB/RETURN statements. Added TITLEBAR statement for the interpreter console. Increased program lines from 100 to 1024. Rewrote the MEM code. Added runtime error handling in the interpreter. It trys to recover to the READY prompt. Created test program for the interpreter (i.e. primitive unit testing). Granted that some of these changes are behind the scenes, but I'm trying to increase the robustness of the interpreter without refactoring it into something completely different. Before I release Tiny Basic 1.2, I still want to add these features: String variables (i.e. a$ -- z$). FOR/NEXT loops Fix known bugs in current version. The work continues...