Sunday, January 14, 2007

Cross compiler

A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the cross compiler is run. Such a tool is handy when you want to compile code for a platform that you don't have access to, or because it is inconvenient or impossible to compile on that platform (as is the case with embedded systems, on which various kinds of microcontrollers run with a minimal amount of memory for their own purpose).

Know more about cross compilers from this wiki article

Friday, January 05, 2007

DS1302 - Trickle-Charge Timekeeping Chip

DS1302 - Trickle-Charge Timekeeping Chip

The DS1302 trickle-charge timekeeping chip contains a real-time clock/calendar and 31 bytes of static RAM. It communicates with a microprocessor via a simple serial interface. The real-time clock/calendar provides seconds, minutes, hours, day, date, month, and year information. The end of the month date is automatically adjusted for months with fewer than 31 days, including corrections for leap year. The clock operates in either the 24-hour or 12-hour format with an AM/PM indicator.

DS1302 Datasheet

Supervisory Circuits Keep Your Microprocessor Under Control

Maxim Semiconductor - APPLICATION NOTE 279

Supervisory Circuits Keep Your Microprocessor Under Control
Understand the value of a µP supervisor to ensure proper system operation during power-up, power-down, and brownout situations (undervoltage monitoring). In addition, provides information about overvoltage and windowed monitoring. Describes additional features such as manual reset, watchdog timer, battery backup, and chip enable gating. Discusses the need for multi-voltage monitoring.

Maxim Semiconductor - APPLICATION NOTE 279


Advantages of Using a MicroMonitor and a Simple Application Demonstrating the Use of a DS1232

Maxim Semiconductor - APPLICATION NOTE 581

Advantages of Using a MicroMonitor and a Simple Application Demonstrating the Use of a DS1232
Discusses how the DS1232 can be used to MicroMonitor an 8051-based system. This supervisor circuit provides power-on-reset (POR), manual reset (push-button) input, a watchdog timer (strobe timer), and an early power-fail comparator. The reset threshold tolerance can set selected to monitor both 5% and 10% supply tolerance systems. In addition, a pin-selectable reset time-out delay is available.

To simplify the use of the device, a software execution program is included to show how the 8051 processor can be used in conjunction with the DS1232.
Maxim Semiconductor - APPLICATION NOTE 581

Sunday, December 31, 2006

Watch Dog Timers

A watchdog timer is a piece of hardware that can be used to automatically detect software anomalies and reset the processor if any occur. Generally speaking, a watchdog timer is based on a counter that counts down from some initial value to zero.

The embedded software selects the counter's initial value and periodically restarts it. If the counter ever reaches zero before the software restarts it, the software is presumed to be malfunctioning and the processor's reset signal is asserted. The processor (and the software it's running) will be restarted as if a human operator had cycled the power.

Introduction to watch dog timers
DS1232 WDT datasheet
(link updated 050107)

AT Keyboard

The AT keyboard was a keyboard with 84 keys introduced with the IBM PC/AT computer. It succeeded the 83-key PC/XT keyboard and therefore did not have many of the features seen on modern keyboards such as arrow keys and dual ctrl and alt keys.

It was later replaced with the 101-key Enhanced keyboard. Nonetheless, "AT keyboard" remains a popular name for any keyboard that uses the 5-pin DIN connector. Many Enhanced keyboards used this, though it was eventually superseded by the PS/2 connector and many modern computers use Universal Serial Bus (USB) connectors instead.

Interfacing the AT Keyboard

Keyboard Scan Codes



IBM PC Parallel Port

Interfacing the Parallel port : An excellent tutorial by Craig Peacock

How stuff works on Parallel Ports

Thursday, December 28, 2006

ASCII codes


ASCII stands for American Standard Code for Information Interchange. Computers can only understand numbers, so an ASCII code is the numerical representation of a character such as 'a' or '@' or an action of some sort.

ASCII Table

BCD to ASCII conversion

The HEX equivalent of ASCII '0'(zero) is 30H.Thus to convert a packed BCD to ASCII we need to add 30H to the unpacked BCD

Packed BCD
34H
0011 0100
------------------------
Unpacked BCD
03H & 04H
0000 0011 0000 0100
---------------------------
ASCII
33H & 34 H
0011 0011 0011 0100

Monday, December 18, 2006

I2C Bus events

I2C Bus events - a two page handout on I2C bus events

Build and load process for embedded application programs

The following two page handout is about the build and load process for embedded application programs V/s desktop application programs'
download