;***** WARNING PLEASE EXTRACT THE EQUATES YOU NEED ****
;***** OTHERWISE YOU WILL RUN INTO PROBLEMS WITH CONFLICTS ****
;**********************************************************
; HERE IS WHERE ALL THE PROGRAM EQUATES AND DEFINES
; ARE ALL STORED. THE PIC'S GENERAL EQUATES ARE
; STORED IN THE MICROCHIP'S P16CXX FILE
;**********************************************************
; MAIN PROG EQUATES
TEMP_MAIN EQU 0X20 ;TEMP STORAGE FOR MAIN PROG
GENERAL EQU 0X21 ;
BSHADOW EQU 0X22 ;PORT B SHADOW
B2SHADOW EQU 0X23 ;ANOTHER SHADOW
DISP_TEMP EQU 0X24 ;DISPLAY COUNTER
insflag equ 0x25
; DELAY EQUATES
ADCNT EQU 0X22 ;COUNTER FOR A-D
ADCNT2 EQU 0X23 ;COUNTER FOR A-D
ADCNT3 EQU 0X24 ;COUNTER FOR A-D
CNT EQU 0X25 ;ADDRESS FOR COUNTER
CNT2 EQU 0X26 ;ADDRESS FOR COUNTER2
CNT3 EQU 0X27 ;ADDRESS FOR COUNTER3
CNT4 EQU 0X28 ;ADDRESS FOR COUNTER4
temp_cnt equ 0x29 ;temp store of cnt
temp_cnt2 equ 0x2a ;temp store of cnt2
temp_cnt3 equ 0x2b ;temp store of cnt3
temp_cnt4 equ 0x2c ;temp store of cnt4
;SERIAL DEFINITIONS AND EQUATES
#DEFINE TALK PORTC,1 ;ENABLE POWER FOR MAX232
#DEFINE SWTXPIN PORTC,2 ;SW TX PIN
#DEFINE SWRXPIN PORTA,4
SERIAL EQU 0X31 ;SERIAL FLAG
; SERIAL FLAG BIT DEFINITIONS
; BIT 0 WHEN SET, TX IS IN OPERATION
; BIT 1 WHEN SET, RX IS IN OPERATION
; BIT 2 WHEN CLEAR, START BIT FLAG
; BIT 3 WHEN SET, STOP BIT FLAG
TXF EQU 0X00 ;TXFLAG BIT
RXF EQU 0X01 ;RXFLAG BIT
STRT EQU 0X02 ;STRTFLAG BIT
STP EQU 0X03 ;STPFLAG BIT
STP2 EQU 0X04 ;ANOTHER STOP BIT FLAG
CLR EQU 0X05 ;REPORTS THAT THE SERIAL PORT IS CLEAR
BITS EQU 0X32
;NUMBER OF BITS IN SERIAL
ASHADOW EQU 0X33 ;PORT A SHADOW
SWRXREG EQU 0X34 ;RECEIVER REGISTER
SWTXREG EQU 0X35 ;TRANSMIT REGISTER
PARITY EQU 0X36 ;PARITY BIT REG
SERDATA EQU 0X37 ; ''
; KEYPAD EQUATES
TEMP_KEY EQU 0X30
;ADDRESS FOR STORAGE
COL EQU 0X31 ;COLUMN ADDRESS
KEY_PRESSED EQU 0X32 ;KEY VALUE OUTPUT
temp_key2 equ 0x33
;another storage for the key pad.
; LCD EQUATES AND DEFINES
#DEFINE DDRE TRISA,4 ;DATA DIRECTION
#DEFINE DDRRS TRISA,5 ;DATA DIRECTION
#DEFINE E PORTA,4 ;ENABLE LINE ON LCD
#DEFINE RS PORTA,5 ;INSTRUCTION/DATA SELECT
TEMP_LCD EQU 0X3A ;STORAGE FOR LCD
LCD EQU PORTD ;DATA PORT
CLRSCR EQU B'00000001' ;COMMAND FOR CLRSCR
HOME EQU B'00000010' ;SENDS CURSOR TO HOME
ON EQU B'00001100' ;TURNS ON THE DISPLAY
OFF EQU B'00001000' ;TURNS THE DISPLAY OFF
LEFT EQU B'00011000' ;LEFT SHIFT
RIGHT EQU B'00011100' ;RIGHT SHIFT
LIN2 EQU B'11000000' ;SETS TO LINE 2
;*********************************************
; A FLAG FOR DETECTING WHICH LINE THE
; LCD IS ON IS STORED ON FLAG,1.
; A ZERO HERE IS FOR LINE 1 AND A 1 IS
; FOR LINE 2. IT ALSO TELLS THE MAIN
; PROGRAM WHICH SCREEN TO DISPLAY.
; FLAG BIT 2 IS SCREEN 2, BIT 3 IS
; SCREEN 3 AND SO ON.
;*********************************************
FLAG EQU 0X40 ;LCD FLAGS
p2_flag equ 0x41 ;flag for page2
;IIC EQUATES
ACK EQU .1
#define sda portE,1 ;data line
#define scl portE,0 ;clock line
#define sda_tris trisE,1 ;data line tris
#define scl_tris trisE,0 ;clock line tris
counter equ 0x5A
TX_BUFFER equ 0x5B
rx_buffer EQU 0X5C
DTMF_ADDRESS EQU B'01001000' ;SET UP TO ALWAYS BE WRITTEN TO
C73wrtadd equ b'10000110' ;write info to the processor
C73rdadd equ b'10000111' ;read from the processor
EEPROMWR equ b'10100000' ;write info to the EEPROM
EEPROMRE equ b'10100001' ;read from the EEPROM
hADD equ 0x5D ;HIGH BYTE ADDRESS
LADDRESS EQU 0X58 ;LOW BYTE ADDRESS
DATA_IN EQU 0X5F ;DATA IN
DATA_OUT EQU 0X59 ;DATA OUT
record equ 'R' ;send the command to record
alarm equ 'A' ;send command to alarm the owner
HOOKUP EQU 'U' ;HOOK UP
HOOKDOWN EQU 'D' ;HOOK DOWN
VALID EQU .5 ;VALID FLAG
SDAUP MACRO
BSF STATUS,RP0
;BANK ONE
BSF SDA_TRIS
;UP
BCF STATUS,RP0
;BANK ZERO
ENDM
SDADOWN MACRO
BSF STATUS,RP0
;BANK ONE
BCF SDA_TRIS
;UP
BCF STATUS,RP0
;BANK ZERO
ENDM
SCLUP MACRO
BSF STATUS,RP0
;BANK ONE
BSF SCL_TRIS
;UP
BCF STATUS,RP0
;BANK ZERO
ENDM
SCLDOWN MACRO
BSF STATUS,RP0
;BANK ONE
BCF SCL_TRIS
;UP
BCF STATUS,RP0
;BANK ZERO
ENDM