
; PicBasic Pro Compiler 2.43, (c) 1998, 2002 microEngineering Labs, Inc. All Rights Reserved. 
PM_USED			EQU	1

	INCLUDE	"16F877.INC"


; Define statements.
#define		CODE_SIZE		 8
#define		OSC		 20					
#define		LCD_DREG		 PORTD
#define		LCD_DBIT		 4
#define		LCD_RSREG		 PORTE
#define		LCD_RSBIT		 0
#define		LCD_EREG		 PORTE
#define		LCD_EBIT		 2
#define		LCD_BITS		 4
#define		LCD_LINES		 2
#define		LCD_COMMANDUS		 2000
#define		LCD_DATAUS		 50

RAM_START       		EQU	00020h
RAM_END         		EQU	001EFh
RAM_BANKS       		EQU	00004h
BANK0_START     		EQU	00020h
BANK0_END       		EQU	0007Fh
BANK1_START     		EQU	000A0h
BANK1_END       		EQU	000EFh
BANK2_START     		EQU	00110h
BANK2_END       		EQU	0016Fh
BANK3_START     		EQU	00190h
BANK3_END       		EQU	001EFh
EEPROM_START    		EQU	02100h
EEPROM_END      		EQU	021FFh

R0              		EQU	RAM_START + 000h
R1              		EQU	RAM_START + 002h
R2              		EQU	RAM_START + 004h
R3              		EQU	RAM_START + 006h
R4              		EQU	RAM_START + 008h
R5              		EQU	RAM_START + 00Ah
R6              		EQU	RAM_START + 00Ch
R7              		EQU	RAM_START + 00Eh
R8              		EQU	RAM_START + 010h
FLAGS           		EQU	RAM_START + 012h
GOP             		EQU	RAM_START + 013h
RM1             		EQU	RAM_START + 014h
RM2             		EQU	RAM_START + 015h
RR1             		EQU	RAM_START + 016h
RR2             		EQU	RAM_START + 017h
_B0              		EQU	RAM_START + 018h
_c0              		EQU	RAM_START + 019h
_d0              		EQU	RAM_START + 01Ah
_PORTL           		EQU	 PORTB
_PORTH           		EQU	 PORTC
_TRISL           		EQU	 TRISB
_TRISH           		EQU	 TRISC
#define _PORTE_1         	 PORTE, 001h
#define _PORTC_6         	 PORTC, 006h
#define _PORTC_7         	 PORTC, 007h

; Constants.
_T2400           		EQU	00000h
_T1200           		EQU	00001h
_T9600           		EQU	00002h
_T300            		EQU	00003h
_N2400           		EQU	00004h
_N1200           		EQU	00005h
_N9600           		EQU	00006h
_N300            		EQU	00007h
_OT2400          		EQU	00008h
_OT1200          		EQU	00009h
_OT9600          		EQU	0000Ah
_OT300           		EQU	0000Bh
_ON2400          		EQU	0000Ch
_ON1200          		EQU	0000Dh
_ON9600          		EQU	0000Eh
_ON300           		EQU	0000Fh
_MSBPRE          		EQU	00000h
_LSBPRE          		EQU	00001h
_MSBPOST         		EQU	00002h
_LSBPOST         		EQU	00003h
_LSBFIRST        		EQU	00000h
_MSBFIRST        		EQU	00001h
_CLS             		EQU	00000h
_HOME            		EQU	00001h
_BELL            		EQU	00007h
_BKSP            		EQU	00008h
_TAB             		EQU	00009h
_CR              		EQU	0000Dh
_UnitOn          		EQU	00012h
_UnitOff         		EQU	0001Ah
_UnitsOff        		EQU	0001Ch
_LightsOn        		EQU	00014h
_LightsOff       		EQU	00010h
_Dim             		EQU	0001Eh
_Bright          		EQU	00016h
	INCLUDE	"SERIN.MAC"
	INCLUDE	"PBPPIC14.LIB"

	MOVE?CB	000h, TRISD
	MOVE?CB	080h, TRISC
	MOVE?CB	00Eh, ADCON1
	LOW?T	_PORTE_1
	PAUSE?C	01388h
	LCDOUT?C	0FEh
	LCDOUT?C	002h
	LCDOUT?C	04Dh
	LCDOUT?C	075h
	LCDOUT?C	06Bh
	LCDOUT?C	06Fh
	LCDOUT?C	064h
	LCDOUT?C	069h
	LCDOUT?C	06Bh
	PAUSE?C	032h
	LCDOUT?C	0FEh
	LCDOUT?C	0C0h
	LCDOUT?C	04Fh
	LCDOUT?C	072h
	LCDOUT?C	061h
	LCDOUT?C	06Ah
	LCDOUT?C	065h
	LCDOUT?C	06Ch
	LCDOUT?C	03Ah
	LCDOUT?C	020h
	LCDOUT?C	032h
	LCDOUT?C	030h
	LCDOUT?C	04Dh
	LCDOUT?C	048h
	LCDOUT?C	07Ah
	PAUSE?C	007D0h
	MOVE?CB	04Dh, _c0
	MOVE?CB	04Bh, _d0
	MOVE?CB	021h, _B0
	LCDOUT?C	0FEh
	LCDOUT?C	001h
	LCDOUT?C	053h
	LCDOUT?C	065h
	LCDOUT?C	072h
	LCDOUT?C	049h
	LCDOUT?C	06Eh
	LCDOUT?C	020h
	LCDOUT?C	065h
	LCDOUT?C	06Ch
	LCDOUT?C	06Fh
	LCDOUT?C	074h
	LCDOUT?C	074h
	PAUSE?C	01388h

	LABEL?L	_Eleje	
	SERPIN?T	_PORTC_6
	SERMODE?C	_N2400
	SERIN?B	_B0
	LCDOUT?C	0FEh
	LCDOUT?C	001h
	LCDOUT?C	053h
	LCDOUT?C	065h
	LCDOUT?C	072h
	LCDOUT?C	049h
	LCDOUT?C	06Eh
	LCDOUT?C	020h
	LCDOUT?C	075h
	LCDOUT?C	074h
	LCDOUT?C	061h
	LCDOUT?C	06Eh
	PAUSE?C	01388h
	CMPNE?BCL	_B0, 000h, L00001
	SERPIN?T	_PORTC_7
	SERMODE?C	_N2400
	SEROUT?C	048h
	SEROUT?C	069h
	LCDOUT?C	0FEh
	LCDOUT?C	001h
	LCDOUT?B	_c0
	LCDOUTD?B	_c0
	LCDOUT?B	_d0
	LCDOUTD?B	_d0
	LCDOUT?B	_B0
	LCDOUTD?B	_B0
	PAUSE?C	01388h
	LCDOUT?C	0FEh
	LCDOUT?C	001h
	LCDOUT?C	049h
	LCDOUT?C	046h
	LCDOUT?C	020h
	LCDOUT?C	061h
	LCDOUT?C	067h
	PAUSE?C	01388h
	GOTO?L	L00002
	LABEL?L	L00001	
	SERPIN?T	_PORTC_7
	SERMODE?C	_N2400
	SEROUT?C	048h
	SEROUT?C	061h
	LCDOUT?C	0FEh
	LCDOUT?C	001h
	LCDOUT?B	_c0
	LCDOUTD?B	_c0
	LCDOUT?B	_d0
	LCDOUTD?B	_d0
	LCDOUT?B	_B0
	LCDOUTD?B	_B0
	PAUSE?C	01388h
	LCDOUT?C	0FEh
	LCDOUT?C	001h
	LCDOUT?C	045h
	LCDOUT?C	04Ch
	LCDOUT?C	053h
	LCDOUT?C	045h
	LCDOUT?C	020h
	LCDOUT?C	061h
	LCDOUT?C	067h
	PAUSE?C	01388h
	LABEL?L	L00002	
	LCDOUT?C	0FEh
	LCDOUT?C	001h
	LCDOUT?C	047h
	LCDOUT?C	06Fh
	LCDOUT?C	054h
	LCDOUT?C	06Fh
	LCDOUT?C	020h
	LCDOUT?C	065h
	LCDOUT?C	06Ch
	LCDOUT?C	06Fh
	LCDOUT?C	074h
	LCDOUT?C	074h
	PAUSE?C	01388h
	GOTO?L	_Eleje
	END?	

	END
