;******************************************************************
;* *
;* Filename: 12F675 Serial Demo 3.asm *
;* Author: Mike McLaren, K8LH (k8lh_at_arrl.net) *
;* Date: 16-Jan-06 (last revision 30-Mar-07) *
;* *
;* Half Duplex Bit-Banged 9600 Baud Serial I/O Demo *
;* (2-Pin Version with 8-Byte Circular RX Buffer) *
;* *
;* ·Uses 12F675 INTOSC running at 4-MHz *
;* ·Bit rate error 0.16% plus or minus 1.0% for INTOSC *
;* ·Bit-banged 9600 baud serial I/O *
;* ·Half Duplex (should not TX and RX simultaneously) *
;* ·TMR0 interrupts at 104-usec intervals (every 104 *
;* instruction cycles) and IOC (interrupt on change) *
;* for RX start bit leading edge detection on RXPIN *
;* ·Circular 8-byte RX character buffer *
;* ·Inverted TX and RX signals (MAX232A or similar *
;* inverting RS-232 interface required) *
;* ·Relatively small - the ISR and the support routines *
;* Init232, Put232, Get232, and PutString use 124 words *
;* of code space at locations 0004 through 007F and 20 *
;* of 64 RAM locations for variables and RX buffer... *
;* ·Worst case 51% ISR instruction cycle 'overhead' *
;* (54-usecs) when a complete RX character is added to *
;* the circular buffer once every 1.04-msecs... *
;* *
;* MPLab: 7.30 (tabs=8) *
;* MPAsm: 5.01 *
;* *
;******************************************************************