[  Add to Bookmark  -  Make Home Page   ]        Go to home page

8052 Code Library


 MCS8051
Search in articles


Last Articles

8052 Code Library [ February 13, 2005 ]



Submit code to code library

ROUTINE

CONTRIBUTOR

DESCRIPTION

16 bit to 5 decade digits conversion

Slobodan Mandaric

With performance analysis

ADC 16-bit Acquisition

Salman Ahmed

Program for Data Acquisition using ADC with 16 channel. This can be used with any 8-16 bit ADC.

ArcFour (RC4)

Samuel Ljungkvist

ARC4 is a secure and very fast 8-bit stream cipher/psuedo-random number generator, with a 2^1700 interval

Autobaud Detection

Craig Steiner

A routine that will autobaud on the serial port. It will handle 150 to 19200 baud, and 38400 can be added easily by modifying the table.

Basic 52 Plus

Gary Muhonen

Basic "Plus" for the 8052. Extended version of the original Basic-52 that was placed into the public domain by Intel.

BCD 16-bit Conversion

Salman Ahmed

Routine for 16-bit hex to BCD conversion. Accepts a 16-bit binary number in R1,R2 and returns 5 digit BCD in R7,R6,R5,R4,R3(upto 64K)

BCD 16-bit Conversion

Bruno Marcio

16-bit hex to BCD conversion. Very well documented.

BCD 24-bit Conversion

Oleg Sergeev

Routines for convert 24-bit binary to 4-byte BCD (three algorithms - Gorner and LUTs)

BCD 8-bit conversion

Craig Steiner

Short function which converts a single 8-bit value into two BCD digits and another function which does the reverse.

Buttons with debounce

Dave Fletcher

Detects state changes and performs debounce for push buttons.

Byte to ASCII

Jose Orlando T. Ribeiro

Converts 1 byte in accumulator to two ASCII characters representing the 2 hex digits.

CRC 16-bit

John Wren

A CCITT-16 CRC calculator. The source contains both the calculated (smaller but slower) version, and the table driven (faster but larger) version.

CRC 8-bit

John Wren

A CCITT-8 CRC calculator. The source contains both the calculated (smaller but slower) version, and the table driven (faster but larger) version.

Decimal to binary

Babar Latif

Converts a 5-digit decimal number to a 3-byte binary value. Includes example code showing how to use the routine.

Decrement DPTR

Craig Steiner

Decrements the value of DPTR as if it were a DEC DPTR instruction.

DES De/encryption

Kiwi Chen

DES encryption/decryption used in IC smart cards. Software hasn't been validated and lacks in-line documentation.

Extended opcodes

José Félix Dيaz Ivorra

Very usefull macros that acts like extended opcodes like: Jump if equal, jump if greater, jump if greater or equal...

Filter by convolution

Igor Mikhaylyk

Low-pass signal filtering by convolution

Floating Point '51

Jerson Fernandes

Floating point library for the 8052.

Frequency counter

Thomas Zepf

A frequency counter. Determines the frequency of the input on a given I/O line.

Hex/Dec Convertor w/ LCD

Jacek Bogusz

rogram has a hex to decimal conversion routine, a decimal to ASCII converter, and a 4x40 LCD driver.

Intel HEX file to Binary and IAP

José Félix Dيaz Ivorra

Converts from the intel .hex format to binary. It needs external ram. And Program the flash in T89c51RD2 and AT89c51RD-ED2. Comments are in spanish, if there are someone interested i will translate to english.

Interrupt-based key read w/ debounce

Jim Flanagan

A state-based interrupt routine that can be used to read and debounce keypresses on up to 8 keys.

Keyboard Routines

Gabriel Lour

AT-style keyboard scancode to ascii conversion and detection of all kinds of keys. It sends commands to the keyboard too, so you can toggle the leds, reset, etc.

LCD (44780) Routines

John Wren

A number of functions which initialize a standard Hitachi HD44100/HD44780 LCD display and allows a program to write commands and/or straight text to the display.

lcd and keypad assembely routines

Mehdi

a program for scanning keypad and all lcd routines.

Math Routines

W G Marshall

A collection of math routines including 8-bit, 16-bit, 32-bit signed and unsigned addition, subtraction, multiplication, and division. Very nice code library with heavy in-line documentation! Been looking for multi-byte divide? Here it is.

Misc. Functions

John Wren

Lots of useful functions (Add/subtract DPTR, BCD/Ascii conversion, etc.)

Simulate multiple DPTRs

Reg Drake

Allows a program to operate as if it had multiple DPTRs, even on a standard 8051 that has only a single DPTR.

CODE - 'C'

ROUTINE

CONTRIBUTOR

DESCRIPTION

Absolute Encoder Positioner

Jacek Bogusz

How to connect and drive absolute position encoder with SSI serial interface. The encoder has been made by Siemens (6FX2001-5FS12). Archive contains: 1) schematic, 2) source in C and Assembler

connect lcd ( 8*1 untill 20*4 ) with 7 b

Hossein Vismehe

connect lcd ( 8*1 untill 20*4 ) with 7 bit

Graphic LCD with AVR

Hossein Vismehe

128 * 64 Graphic LCD win ATMEGA32 and other

RC5 Decoder

Thomas Zepf

A simple RC5 decoder written in 'C'. Written to emulate a SAA3049.

Serial I/O Routines

Mark A. Odell

Ring buffered, interrupt-driven UART driver, written in Keil 'C'.

HARDWARE - OTHER

ROUTINE

CONTRIBUTOR

DESCRIPTION

Freeram library

Jez Smith

VHDL library for ram,dualport ram,syncronous and asyncronous FIFO functions

Mods for T51 8051 compatable controller

Jez Smith

New multiply divide + dual port ram

Quad Decoder

Jez Smith

Hardware quadrature decoder with digital filtered inputs suitable for implementation in a small CPLD.

simple 64x64 8 colour vga controller

Jez Smith

Altera FPGA based VGA controller.

Switch debouncer

Jez Smith

Hardware switch debouncer with tristateable outputs

APPLICATIONS - WINDOWS/PC

ROUTINE

CONTRIBUTOR

DESCRIPTION

perl code and test bench for fractional

Jez Smith

perl code and testbench to generate fractional clock dividers

APPLICATIONS - LINUX

ROUTINE

CONTRIBUTOR

DESCRIPTION

Linux terminal for NMIY-0031 series 8051

Ian Bell

The NMI 8051 development boards use a monitor program that expects the user terminal to wait for it to echo a character before it sends the next one. Most terminals don't do this so I wrote this tcl/tk terminal script which does.



Direct Link | Comments (33)