1        LIST
2
3;==========================================================================
4; Build date : Oct 21 2015
5;  MPASM PIC16C717 processor include
6;
7;  (c) Copyright 1999-2015 Microchip Technology, All rights reserved
8;==========================================================================
9
10        NOLIST
11
12;==========================================================================
13;  This header file defines configurations, registers, and other useful
14;  bits of information for the PIC16C717 microcontroller.  These names
15;  are taken to match the data sheets as closely as possible.
16;
17;  Note that the processor must be selected before this file is included.
18;  The processor may be selected the following ways:
19;
20;       1. Command line switch:
21;               C:\MPASM MYFILE.ASM /PIC16C717
22;       2. LIST directive in the source file
23;               LIST   P=PIC16C717
24;       3. Processor Type entry in the MPASM full-screen interface
25;       4. Setting the processor in the MPLAB Project Dialog
26;==========================================================================
27
28;==========================================================================
29;
30;       Verify Processor
31;
32;==========================================================================
33        IFNDEF __16C717
34           MESSG "Processor-header file mismatch.  Verify selected processor."
35        ENDIF
36
37
38
39;==========================================================================
40;
41;       Register Definitions
42;
43;==========================================================================
44
45W                EQU  H'0000'
46F                EQU  H'0001'
47
48;----- Register Files -----------------------------------------------------
49
50;-----Bank0------------------
51INDF             EQU  H'0000'
52TMR0             EQU  H'0001'
53PCL              EQU  H'0002'
54STATUS           EQU  H'0003'
55FSR              EQU  H'0004'
56PORTA            EQU  H'0005'
57PORTB            EQU  H'0006'
58PCLATH           EQU  H'000A'
59INTCON           EQU  H'000B'
60PIR1             EQU  H'000C'
61PIR2             EQU  H'000D'
62TMR1             EQU  H'000E'
63TMR1L            EQU  H'000E'
64TMR1H            EQU  H'000F'
65T1CON            EQU  H'0010'
66TMR2             EQU  H'0011'
67T2CON            EQU  H'0012'
68SSPBUF           EQU  H'0013'
69SSPCON           EQU  H'0014'
70CCPR1            EQU  H'0015'
71CCPR1L           EQU  H'0015'
72CCPR1H           EQU  H'0016'
73CCP1CON          EQU  H'0017'
74ADRESH           EQU  H'001E'
75ADCON0           EQU  H'001F'
76
77;-----Bank1------------------
78OPTION_REG       EQU  H'0081'
79TRISA            EQU  H'0085'
80TRISB            EQU  H'0086'
81PIE1             EQU  H'008C'
82PIE2             EQU  H'008D'
83PCON             EQU  H'008E'
84SSPCON2          EQU  H'0091'
85PR2              EQU  H'0092'
86SSPADD           EQU  H'0093'
87SSPSTAT          EQU  H'0094'
88WPUB             EQU  H'0095'
89IOCB             EQU  H'0096'
90P1DEL            EQU  H'0097'
91REFCON           EQU  H'009B'
92LVDCON           EQU  H'009C'
93ANSEL            EQU  H'009D'
94ADRESL           EQU  H'009E'
95ADCON1           EQU  H'009F'
96
97;-----Bank2------------------
98PMDATL           EQU  H'010C'
99PMADRL           EQU  H'010D'
100PMDATH           EQU  H'010E'
101PMADRH           EQU  H'010F'
102
103;-----Bank3------------------
104PMCON1           EQU  H'018C'
105
106;----- STATUS Bits -----------------------------------------------------
107C                EQU  H'0000'
108DC               EQU  H'0001'
109Z                EQU  H'0002'
110NOT_PD           EQU  H'0003'
111NOT_TO           EQU  H'0004'
112IRP              EQU  H'0007'
113
114RP0              EQU  H'0005'
115RP1              EQU  H'0006'
116
117
118;----- PORTA Bits -----------------------------------------------------
119RA0              EQU  H'0000'
120RA1              EQU  H'0001'
121RA2              EQU  H'0002'
122RA3              EQU  H'0003'
123RA4              EQU  H'0004'
124RA5              EQU  H'0005'
125RA6              EQU  H'0006'
126RA7              EQU  H'0007'
127
128
129;----- PORTB Bits -----------------------------------------------------
130RB0              EQU  H'0000'
131RB1              EQU  H'0001'
132RB2              EQU  H'0002'
133RB3              EQU  H'0003'
134RB4              EQU  H'0004'
135RB5              EQU  H'0005'
136RB6              EQU  H'0006'
137RB7              EQU  H'0007'
138
139
140;----- INTCON Bits -----------------------------------------------------
141RBIF             EQU  H'0000'
142INTF             EQU  H'0001'
143T0IF             EQU  H'0002'
144RBIE             EQU  H'0003'
145INTE             EQU  H'0004'
146T0IE             EQU  H'0005'
147PEIE             EQU  H'0006'
148GIE              EQU  H'0007'
149
150TMR0IF           EQU  H'0002'
151TMR0IE           EQU  H'0005'
152
153
154;----- PIR1 Bits -----------------------------------------------------
155TMR1IF           EQU  H'0000'
156TMR2IF           EQU  H'0001'
157CCP1IF           EQU  H'0002'
158SSPIF            EQU  H'0003'
159ADIF             EQU  H'0006'
160
161
162;----- PIR2 Bits -----------------------------------------------------
163BCLIF            EQU  H'0003'
164LVDIF            EQU  H'0007'
165
166
167;----- T1CON Bits -----------------------------------------------------
168TMR1ON           EQU  H'0000'
169TMR1CS           EQU  H'0001'
170NOT_T1SYNC       EQU  H'0002'
171T1OSCEN          EQU  H'0003'
172
173T1INSYNC         EQU  H'0002'
174T1CKPS0          EQU  H'0004'
175T1CKPS1          EQU  H'0005'
176
177
178;----- T2CON Bits -----------------------------------------------------
179TMR2ON           EQU  H'0002'
180
181T2CKPS0          EQU  H'0000'
182T2CKPS1          EQU  H'0001'
183TOUTPS0          EQU  H'0003'
184TOUTPS1          EQU  H'0004'
185TOUTPS2          EQU  H'0005'
186TOUTPS3          EQU  H'0006'
187
188
189;----- SSPCON Bits -----------------------------------------------------
190CKP              EQU  H'0004'
191SSPEN            EQU  H'0005'
192SSPOV            EQU  H'0006'
193WCOL             EQU  H'0007'
194
195SSPM0            EQU  H'0000'
196SSPM1            EQU  H'0001'
197SSPM2            EQU  H'0002'
198SSPM3            EQU  H'0003'
199
200
201;----- CCP1CON Bits -----------------------------------------------------
202CCP1M0           EQU  H'0000'
203CCP1M1           EQU  H'0001'
204CCP1M2           EQU  H'0002'
205CCP1M3           EQU  H'0003'
206DC1B0            EQU  H'0004'
207DC1B1            EQU  H'0005'
208PWM1M0           EQU  H'0006'
209PWM1M1           EQU  H'0007'
210
211
212;----- ADCON0 Bits -----------------------------------------------------
213ADON             EQU  H'0000'
214CHS3             EQU  H'0001'
215GO_NOT_DONE      EQU  H'0002'
216
217GO               EQU  H'0002'
218CHS0             EQU  H'0003'
219CHS1             EQU  H'0004'
220CHS2             EQU  H'0005'
221ADCS0            EQU  H'0006'
222ADCS1            EQU  H'0007'
223
224NOT_DONE         EQU  H'0002'
225
226GO_DONE          EQU  H'0002'
227
228
229;----- OPTION_REG Bits -----------------------------------------------------
230PSA              EQU  H'0003'
231T0SE             EQU  H'0004'
232T0CS             EQU  H'0005'
233INTEDG           EQU  H'0006'
234NOT_RBPU         EQU  H'0007'
235
236PS0              EQU  H'0000'
237PS1              EQU  H'0001'
238PS2              EQU  H'0002'
239
240
241;----- TRISA Bits -----------------------------------------------------
242TRISA0           EQU  H'0000'
243TRISA1           EQU  H'0001'
244TRISA2           EQU  H'0002'
245TRISA3           EQU  H'0003'
246TRISA4           EQU  H'0004'
247TRISA5           EQU  H'0005'
248TRISA6           EQU  H'0006'
249TRISA7           EQU  H'0007'
250
251
252;----- TRISB Bits -----------------------------------------------------
253TRISB0           EQU  H'0000'
254TRISB1           EQU  H'0001'
255TRISB2           EQU  H'0002'
256TRISB3           EQU  H'0003'
257TRISB4           EQU  H'0004'
258TRISB5           EQU  H'0005'
259TRISB6           EQU  H'0006'
260TRISB7           EQU  H'0007'
261
262
263;----- PIE1 Bits -----------------------------------------------------
264TMR1IE           EQU  H'0000'
265TMR2IE           EQU  H'0001'
266CCP1IE           EQU  H'0002'
267SSPIE            EQU  H'0003'
268ADIE             EQU  H'0006'
269
270
271;----- PIE2 Bits -----------------------------------------------------
272BCLIE            EQU  H'0003'
273LVDIE            EQU  H'0007'
274
275
276;----- PCON Bits -----------------------------------------------------
277NOT_BOR          EQU  H'0000'
278NOT_POR          EQU  H'0001'
279OSCF             EQU  H'0003'
280
281NOT_BO           EQU  H'0000'
282
283
284;----- SSPCON2 Bits -----------------------------------------------------
285SEN              EQU  H'0000'
286RSEN             EQU  H'0001'
287PEN              EQU  H'0002'
288RCEN             EQU  H'0003'
289ACKEN            EQU  H'0004'
290ACKDT            EQU  H'0005'
291ACKSTAT          EQU  H'0006'
292GCEN             EQU  H'0007'
293
294
295;----- SSPSTAT Bits -----------------------------------------------------
296BF               EQU  H'0000'
297UA               EQU  H'0001'
298R_NOT_W          EQU  H'0002'
299S                EQU  H'0003'
300P                EQU  H'0004'
301D_NOT_A          EQU  H'0005'
302CKE              EQU  H'0006'
303SMP              EQU  H'0007'
304
305R                EQU  H'0002'
306D                EQU  H'0005'
307
308I2C_READ         EQU  H'0002'
309I2C_START        EQU  H'0003'
310I2C_STOP         EQU  H'0004'
311I2C_DATA         EQU  H'0005'
312
313R_W              EQU  H'0002'
314D_A              EQU  H'0005'
315
316READ_WRITE       EQU  H'0002'
317DATA_ADDRESS     EQU  H'0005'
318
319NOT_W            EQU  H'0002'
320NOT_A            EQU  H'0005'
321
322NOT_WRITE        EQU  H'0002'
323NOT_ADDRESS      EQU  H'0005'
324
325
326;----- WPUB Bits -----------------------------------------------------
327WPUB0            EQU  H'0000'
328WPUB1            EQU  H'0001'
329WPUB2            EQU  H'0002'
330WPUB3            EQU  H'0003'
331WPUB4            EQU  H'0004'
332WPUB5            EQU  H'0005'
333WPUB6            EQU  H'0006'
334WPUB7            EQU  H'0007'
335
336
337;----- IOCB Bits -----------------------------------------------------
338IOCB0            EQU  H'0000'
339IOCB1            EQU  H'0001'
340IOCB2            EQU  H'0002'
341IOCB3            EQU  H'0003'
342IOCB4            EQU  H'0004'
343IOCB5            EQU  H'0005'
344IOCB6            EQU  H'0006'
345IOCB7            EQU  H'0007'
346
347
348;----- REFCON Bits -----------------------------------------------------
349VRLOEN           EQU  H'0004'
350VRHOEN           EQU  H'0005'
351VRLEN            EQU  H'0006'
352VRHEN            EQU  H'0007'
353
354
355;----- LVDCON Bits -----------------------------------------------------
356LVDEN            EQU  H'0004'
357BGST             EQU  H'0005'
358
359LV0              EQU  H'0000'
360LV1              EQU  H'0001'
361LV2              EQU  H'0002'
362LV3              EQU  H'0003'
363
364
365;----- ANSEL Bits -----------------------------------------------------
366ANS0             EQU  H'0000'
367ANS1             EQU  H'0001'
368ANS2             EQU  H'0002'
369ANS3             EQU  H'0003'
370ANS4             EQU  H'0004'
371ANS5             EQU  H'0005'
372
373
374;----- ADCON1 Bits -----------------------------------------------------
375ADFM             EQU  H'0007'
376
377VCFG0            EQU  H'0004'
378VCFG1            EQU  H'0005'
379VCFG2            EQU  H'0006'
380
381
382;----- PMCON1 Bits -----------------------------------------------------
383RD               EQU  H'0000'
384
385
386
387
388;==========================================================================
389;
390;       RAM Definitions
391;
392;==========================================================================
393       __MAXRAM  H'01FF'
394       __BADRAM  H'0007'-H'0009'
395       __BADRAM  H'0018'-H'001D'
396       __BADRAM  H'0087'-H'0089'
397       __BADRAM  H'008F'-H'0090'
398       __BADRAM  H'0098'-H'009A'
399       __BADRAM  H'0105'
400       __BADRAM  H'0107'-H'0109'
401       __BADRAM  H'0110'-H'011F'
402       __BADRAM  H'0185'
403       __BADRAM  H'0187'-H'0189'
404       __BADRAM  H'018D'-H'018F'
405       __BADRAM  H'0190'-H'01EF'
406
407;==========================================================================
408;
409;       Configuration Bits
410;
411;   NAME            Address
412;   CONFIG1           2007h
413;
414;==========================================================================
415
416; The following is an assignment of address values for all of the
417; configuration registers for the purpose of table reads
418_CONFIG1         EQU  H'2007'
419
420;----- CONFIG1 Options --------------------------------------------------
421_FOSC_LP             EQU  H'3FF8'    ; LP oscillator
422_LP_OSC              EQU  H'3FF8'    ; LP oscillator
423_FOSC_XT             EQU  H'3FF9'    ; XT oscillator
424_XT_OSC              EQU  H'3FF9'    ; XT oscillator
425_FOSC_HS             EQU  H'3FFA'    ; HS oscillator
426_HS_OSC              EQU  H'3FFA'    ; HS oscillator
427_FOSC_EXTCLK         EQU  H'3FFB'    ; EC I/O
428_EXTCLK_OSC          EQU  H'3FFB'    ; EC I/O
429_FOSC_INTRCIO        EQU  H'3FFC'    ; INTRC, OSC2 is I/O
430_INTRC_OSC_NOCLKOUT  EQU  H'3FFC'    ; INTRC, OSC2 is I/O
431_FOSC_INTRCCLK       EQU  H'3FFD'    ; INTRC, clockout on OSC2
432_INTRC_OSC_CLKOUT    EQU  H'3FFD'    ; INTRC, clockout on OSC2
433_FOSC_ER_NOCLKOUT    EQU  H'3FFE'    ; ER I/O
434_ER_OSC_NOCLKOUT     EQU  H'3FFE'    ; ER I/O
435_FOSC_ER_CLKOUT      EQU  H'3FFF'    ; ER CLKOUT
436_ER_OSC_CLKOUT       EQU  H'3FFF'    ; ER CLKOUT
437
438_WDTE_OFF            EQU  H'3FF7'    ; WDT disabled
439_WDT_OFF             EQU  H'3FF7'    ; WDT disabled
440_WDTE_ON             EQU  H'3FFF'    ; WDT enabled
441_WDT_ON              EQU  H'3FFF'    ; WDT enabled
442
443_PWRTE_ON            EQU  H'3FEF'    ; PWRT enabled
444_PWRTE_OFF           EQU  H'3FFF'    ; PWRT disabled
445
446_MCLRE_OFF           EQU  H'3FDF'    ; Internal
447_MCLRE_ON            EQU  H'3FFF'    ; External
448
449_BOREN_OFF           EQU  H'3FBF'    ; BOR disabled
450_BODEN_OFF           EQU  H'3FBF'    ; BOR disabled
451_BOREN_ON            EQU  H'3FFF'    ; BOR enabled
452_BODEN_ON            EQU  H'3FFF'    ; BOR enabled
453
454_CP_ALL              EQU  H'0CFF'    ; All memory is code protected
455_CP_OFF              EQU  H'3FFF'    ; Code protection off
456
457_BODENV_45           EQU  H'33FF'    ; VBOR set to 4.5V
458_VBOR_45             EQU  H'33FF'    ; VBOR set to 4.5V
459_BODENV_42           EQU  H'37FF'    ; VBOR set to 4.2V
460_VBOR_42             EQU  H'37FF'    ; VBOR set to 4.2V
461_BODENV_27           EQU  H'3BFF'    ; VBOR set to 2.7V
462_VBOR_27             EQU  H'3BFF'    ; VBOR set to 2.7V
463_BODENV_25           EQU  H'3FFF'    ; VBOR set to 2.5V
464_VBOR_25             EQU  H'3FFF'    ; VBOR set to 2.5V
465
466
467;----- IDLOC Equates --------------------------------------------------
468_IDLOC0          EQU  H'2000'
469_IDLOC1          EQU  H'2001'
470_IDLOC2          EQU  H'2002'
471_IDLOC3          EQU  H'2003'
472
473        LIST
474