PIC and PC Project Exposition
                by Jonathan Weaver

home

e-mail

links

Description

This library offers macros and code in assembly with built in portability and optimizations for the midrange PIC microcontrollers. The goal is to put the power of assembly in the hands of the programmer, with as much flexibility among various PIC16XXXX microcontrollers and with some repetative tasks optimized at compile time. Generally, these libraries make extensive use of conditional compiling, macros, and other features of MPASM.


Assembly Extention (asmExt.inc)

A collection of macros that provide manipulations of eight bit variables and literals. Examples, ADDLF, SUBFF, ROTL, VSHIFTR, etc.

 

Filename

Description

Size/Date

 

asmext.zip v.1.0  

Contains asmext.inc and html api reference file.

13kB - 11/18/2005

 

API Specification

The online html api reference.

35kB - 11/18/2005



Banking macro (banks.inc)

A macro to replace the banksel command. It keeps up with the current bank and minimizes bsf and bcf commands.

 

Filename

Description

Size/Date

 

banks.zip v.2.0  

Contains banks.inc and html api reference file.

9kB - 11/18/2005

 

API Specification

The online html api reference.

2kB - 11/18/2005



Continuous Delay and Delay routines and macros (delay.inc and delayh.inc)

Code and data register optimized delay routines. Delay.inc includes delay routines for delays of 4 cycles or more and a continuous delay by WREG of 14 or more. Delayh.inc includes a DELAY macro that delays for any number of cycles. DELAY uses the delay routines if they're available.

 

Filename

Description

Size/Date

 

delay.zip v.1.1  

Contains delay.inc, delayh.inc and html api reference files.

12kB - 11/18/2005

 

API Specification

The online html api reference for delay.inc.

9kB - 11/18/2005

 

API Specification

The online html api reference for delayh.inc.

2kB - 11/18/2005



EEProm Routines (EEProm.inc)

Routines to read from and write to the EEPROM memory. These routines use conditional compiling to be general and operate on different microcontrollers. Tested on a PIC16F84A and PIC16F877A and should provide compatability with a PIC16F84, PIC16F84A, PIC16F87X, and PIC16F87XA. Routines to verify or write to EEPROM only if different to come in version 1.1.

 

Filename

Description

Size/Date

 

eeprom.zip v.1.0  

Contains eeprom.inc and html api reference files.

12kB - 11/18/2005

 

API Specification

The online html api reference.

4kB - 11/18/2005



I2C Slave Routines (I2CS.inc)

Polling and bitbanged implementation of the I2C protocol as a slave device.

 

Filename

Description

Size/Date

 

i2cs.zip v.1.0  

Contains i2cs.inc and html api reference files.

11kB - 11/19/2005

 

API Specification

The online html api reference.

7kB - 11/19/2005



Serial Port (bitbang) Routines (Serialh.inc and Serial.inc)

Includes routines to transmit and recieve serial data. Software implemented using bitbang, recieve routine can be configured as interrupt driven. Baudrate, polarity, and parity options can be specified in the main program. Supports no, even, odd, and sticky parity. And tested at baudrates upto 56 kbps on a PIC16F84A running at 4 MHz. Support for higher baud rates to be added in version 1.1 at a later time.

 

Filename

Description

Size/Date

 

serial.zip v.1.0  

Contains serial.inc, serialh.inc and html api reference files.

15kB - 11/19/2005

 

API Specification

The online html api reference for serial.inc.

4kB - 11/19/2005

 

API Specification

The online html api reference for serialh.inc.

6kB - 11/19/2005







I hope that the information here is useful to those who find it. However, I make no guarantees as to the usability of the information presented.

© Copyright 2005 by Jonathan Weaver
Page last updated 2006 September 1

[Contact Me] [About this site][Terms and Conditions] [Privacy Statement]