1        LIST
2
3;==========================================================================
4; Build date : Oct 21 2015
5;  MPASM PIC16F721 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 PIC16F721 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 /PIC16F721
22;       2. LIST directive in the source file
23;               LIST   P=PIC16F721
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 __16F721
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'
58PORTC            EQU  H'0007'
59PCLATH           EQU  H'000A'
60INTCON           EQU  H'000B'
61PIR1             EQU  H'000C'
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'
74RCSTA            EQU  H'0018'
75TXREG            EQU  H'0019'
76RCREG            EQU  H'001A'
77ADRES            EQU  H'001E'
78ADCON0           EQU  H'001F'
79
80;-----Bank1------------------
81OPTION_REG       EQU  H'0081'
82TRISA            EQU  H'0085'
83TRISB            EQU  H'0086'
84TRISC            EQU  H'0087'
85PIE1             EQU  H'008C'
86PCON             EQU  H'008E'
87T1GCON           EQU  H'008F'
88OSCCON           EQU  H'0090'
89OSCTUNE          EQU  H'0091'
90PR2              EQU  H'0092'
91SSPADD           EQU  H'0093'
92SSPMSK           EQU  H'0093'
93SSPSTAT          EQU  H'0094'
94WPUA             EQU  H'0095'
95IOCA             EQU  H'0096'
96TXSTA            EQU  H'0098'
97SPBRG            EQU  H'0099'
98FVRCON           EQU  H'009D'
99ADCON1           EQU  H'009F'
100
101;-----Bank2------------------
102PMDATL           EQU  H'010C'
103PMADRL           EQU  H'010D'
104PMDATH           EQU  H'010E'
105PMADRH           EQU  H'010F'
106WPUB             EQU  H'0115'
107IOCB             EQU  H'0116'
108
109;-----Bank3------------------
110ANSELA           EQU  H'0185'
111ANSELB           EQU  H'0186'
112ANSELC           EQU  H'0187'
113PMCON1           EQU  H'018C'
114PMCON2           EQU  H'018D'
115
116;----- STATUS Bits -----------------------------------------------------
117C                EQU  H'0000'
118DC               EQU  H'0001'
119Z                EQU  H'0002'
120NOT_PD           EQU  H'0003'
121NOT_TO           EQU  H'0004'
122IRP              EQU  H'0007'
123
124RP0              EQU  H'0005'
125RP1              EQU  H'0006'
126
127
128;----- PORTA Bits -----------------------------------------------------
129RA0              EQU  H'0000'
130RA1              EQU  H'0001'
131RA2              EQU  H'0002'
132RA3              EQU  H'0003'
133RA4              EQU  H'0004'
134RA5              EQU  H'0005'
135
136
137;----- PORTB Bits -----------------------------------------------------
138RB4              EQU  H'0004'
139RB5              EQU  H'0005'
140RB6              EQU  H'0006'
141RB7              EQU  H'0007'
142
143
144;----- PORTC Bits -----------------------------------------------------
145RC0              EQU  H'0000'
146RC1              EQU  H'0001'
147RC2              EQU  H'0002'
148RC3              EQU  H'0003'
149RC4              EQU  H'0004'
150RC5              EQU  H'0005'
151RC6              EQU  H'0006'
152RC7              EQU  H'0007'
153
154
155;----- INTCON Bits -----------------------------------------------------
156RABIF            EQU  H'0000'
157INTF             EQU  H'0001'
158TMR0IF           EQU  H'0002'
159RABIE            EQU  H'0003'
160INTE             EQU  H'0004'
161TMR0IE           EQU  H'0005'
162PEIE             EQU  H'0006'
163GIE              EQU  H'0007'
164
165
166;----- PIR1 Bits -----------------------------------------------------
167TMR1IF           EQU  H'0000'
168TMR2IF           EQU  H'0001'
169CCP1IF           EQU  H'0002'
170SSPIF            EQU  H'0003'
171TXIF             EQU  H'0004'
172RCIF             EQU  H'0005'
173ADIF             EQU  H'0006'
174TMR1GIF          EQU  H'0007'
175
176
177;----- T1CON Bits -----------------------------------------------------
178TMR1ON           EQU  H'0000'
179T1SYNC           EQU  H'0002'
180
181NOT_T1SYNC       EQU  H'0002'
182T1CKPS0          EQU  H'0004'
183T1CKPS1          EQU  H'0005'
184TMR1CS0          EQU  H'0006'
185TMR1CS1          EQU  H'0007'
186
187
188;----- T2CON Bits -----------------------------------------------------
189TMR2ON           EQU  H'0002'
190
191T2CKPS0          EQU  H'0000'
192T2CKPS1          EQU  H'0001'
193TOUTPS0          EQU  H'0003'
194TOUTPS1          EQU  H'0004'
195TOUTPS2          EQU  H'0005'
196TOUTPS3          EQU  H'0006'
197
198
199;----- SSPCON Bits -----------------------------------------------------
200CKP              EQU  H'0004'
201SSPEN            EQU  H'0005'
202SSPOV            EQU  H'0006'
203WCOL             EQU  H'0007'
204
205SSPM0            EQU  H'0000'
206SSPM1            EQU  H'0001'
207SSPM2            EQU  H'0002'
208SSPM3            EQU  H'0003'
209
210
211;----- CCP1CON Bits -----------------------------------------------------
212B1               EQU  H'0004'
213DC1              EQU  H'0005'
214
215CCP1M0           EQU  H'0000'
216CCP1M1           EQU  H'0001'
217CCP1M2           EQU  H'0002'
218CCP1M3           EQU  H'0003'
219CCP1Y            EQU  H'0004'
220CCP1X            EQU  H'0005'
221
222
223;----- RCSTA Bits -----------------------------------------------------
224RX9D             EQU  H'0000'
225OERR             EQU  H'0001'
226FERR             EQU  H'0002'
227ADDEN            EQU  H'0003'
228CREN             EQU  H'0004'
229SREN             EQU  H'0005'
230RX9              EQU  H'0006'
231SPEN             EQU  H'0007'
232
233
234;----- ADCON0 Bits -----------------------------------------------------
235ADON             EQU  H'0000'
236GO_NOT_DONE      EQU  H'0001'
237
238CHS0             EQU  H'0002'
239CHS1             EQU  H'0003'
240CHS2             EQU  H'0004'
241CHS3             EQU  H'0005'
242
243
244;----- OPTION_REG Bits -----------------------------------------------------
245PSA              EQU  H'0003'
246T0SE             EQU  H'0004'
247T0CS             EQU  H'0005'
248INTEDG           EQU  H'0006'
249NOT_RABPU        EQU  H'0007'
250
251PS0              EQU  H'0000'
252PS1              EQU  H'0001'
253PS2              EQU  H'0002'
254
255
256;----- TRISA Bits -----------------------------------------------------
257TRISA0           EQU  H'0000'
258TRISA1           EQU  H'0001'
259TRISA2           EQU  H'0002'
260TRISA4           EQU  H'0004'
261TRISA5           EQU  H'0005'
262
263
264;----- TRISB Bits -----------------------------------------------------
265TRISB4           EQU  H'0004'
266TRISB5           EQU  H'0005'
267TRISB6           EQU  H'0006'
268TRISB7           EQU  H'0007'
269
270
271;----- TRISC Bits -----------------------------------------------------
272TRISC0           EQU  H'0000'
273TRISC1           EQU  H'0001'
274TRISC2           EQU  H'0002'
275TRISC3           EQU  H'0003'
276TRISC4           EQU  H'0004'
277TRISC5           EQU  H'0005'
278TRISC6           EQU  H'0006'
279TRISC7           EQU  H'0007'
280
281
282;----- PIE1 Bits -----------------------------------------------------
283TMR1IE           EQU  H'0000'
284TMR2IE           EQU  H'0001'
285CCP1IE           EQU  H'0002'
286SSPIE            EQU  H'0003'
287TXIE             EQU  H'0004'
288RCIE             EQU  H'0005'
289ADIE             EQU  H'0006'
290TMR1GIE          EQU  H'0007'
291
292
293;----- PCON Bits -----------------------------------------------------
294NOT_BOR          EQU  H'0000'
295NOT_POR          EQU  H'0001'
296
297
298;----- T1GCON Bits -----------------------------------------------------
299T1GVAL           EQU  H'0002'
300T1GGO_DONE       EQU  H'0003'
301T1GSPM           EQU  H'0004'
302T1GTM            EQU  H'0005'
303T1GPOL           EQU  H'0006'
304TMR1GE           EQU  H'0007'
305
306T1GSS0           EQU  H'0000'
307T1GSS1           EQU  H'0001'
308T1GGO_NOT_DONE   EQU  H'0003'
309
310
311;----- OSCCON Bits -----------------------------------------------------
312ICSS             EQU  H'0002'
313ICSL             EQU  H'0003'
314
315IRCF0            EQU  H'0004'
316IRCF1            EQU  H'0005'
317
318
319;----- OSCTUNE Bits -----------------------------------------------------
320TUN0             EQU  H'0000'
321TUN1             EQU  H'0001'
322TUN2             EQU  H'0002'
323TUN3             EQU  H'0003'
324TUN4             EQU  H'0004'
325TUN5             EQU  H'0005'
326
327
328;----- SSPADD Bits -----------------------------------------------------
329ADD0             EQU  H'0000'
330ADD1             EQU  H'0001'
331ADD2             EQU  H'0002'
332ADD3             EQU  H'0003'
333ADD4             EQU  H'0004'
334ADD5             EQU  H'0005'
335ADD6             EQU  H'0006'
336ADD7             EQU  H'0007'
337
338
339;----- SSPMSK Bits -----------------------------------------------------
340MSK0             EQU  H'0000'
341MSK1             EQU  H'0001'
342MSK2             EQU  H'0002'
343MSK3             EQU  H'0003'
344MSK4             EQU  H'0004'
345MSK5             EQU  H'0005'
346MSK6             EQU  H'0006'
347MSK7             EQU  H'0007'
348
349
350;----- SSPSTAT Bits -----------------------------------------------------
351BF               EQU  H'0000'
352UA               EQU  H'0001'
353R_NOT_W          EQU  H'0002'
354S                EQU  H'0003'
355P                EQU  H'0004'
356D_NOT_A          EQU  H'0005'
357CKE              EQU  H'0006'
358SMP              EQU  H'0007'
359
360
361;----- WPUA Bits -----------------------------------------------------
362WPUA0            EQU  H'0000'
363WPUA1            EQU  H'0001'
364WPUA2            EQU  H'0002'
365WPUA3            EQU  H'0003'
366WPUA4            EQU  H'0004'
367WPUA5            EQU  H'0005'
368
369
370;----- IOCA Bits -----------------------------------------------------
371IOCA0            EQU  H'0000'
372IOCA1            EQU  H'0001'
373IOCA2            EQU  H'0002'
374IOCA3            EQU  H'0003'
375IOCA4            EQU  H'0004'
376IOCA5            EQU  H'0005'
377
378
379;----- TXSTA Bits -----------------------------------------------------
380TX9D             EQU  H'0000'
381TRMT             EQU  H'0001'
382BRGH             EQU  H'0002'
383SYNC             EQU  H'0004'
384TXEN             EQU  H'0005'
385TX9              EQU  H'0006'
386CSRC             EQU  H'0007'
387
388
389;----- FVRCON Bits -----------------------------------------------------
390ADFVR0           EQU  H'0000'
391ADFVR1           EQU  H'0001'
392TSRNG            EQU  H'0004'
393TSEN             EQU  H'0005'
394FVREN            EQU  H'0006'
395FVRRDY           EQU  H'0007'
396
397
398;----- ADCON1 Bits -----------------------------------------------------
399ADCS0            EQU  H'0004'
400ADCS1            EQU  H'0005'
401ADCS2            EQU  H'0006'
402
403
404;----- WPUB Bits -----------------------------------------------------
405WPUB4            EQU  H'0004'
406WPUB5            EQU  H'0005'
407WPUB6            EQU  H'0006'
408WPUB7            EQU  H'0007'
409
410
411;----- IOCB Bits -----------------------------------------------------
412IOCB4            EQU  H'0004'
413IOCB5            EQU  H'0005'
414IOCB6            EQU  H'0006'
415IOCB7            EQU  H'0007'
416
417
418;----- ANSELA Bits -----------------------------------------------------
419ANSA0            EQU  H'0000'
420ANSA1            EQU  H'0001'
421ANSA2            EQU  H'0002'
422ANSA4            EQU  H'0004'
423ANSA5            EQU  H'0005'
424
425
426;----- ANSELB Bits -----------------------------------------------------
427ANSB4            EQU  H'0004'
428ANSB5            EQU  H'0005'
429
430
431;----- ANSELC Bits -----------------------------------------------------
432ANSC0            EQU  H'0000'
433ANSC1            EQU  H'0001'
434ANSC2            EQU  H'0002'
435ANSC3            EQU  H'0003'
436ANSC6            EQU  H'0006'
437ANSC7            EQU  H'0007'
438
439
440;----- PMCON1 Bits -----------------------------------------------------
441RD               EQU  H'0000'
442WR               EQU  H'0001'
443WREN             EQU  H'0002'
444FREE             EQU  H'0004'
445LWLO             EQU  H'0005'
446CFGS             EQU  H'0006'
447
448
449
450
451;==========================================================================
452;
453;       RAM Definitions
454;
455;==========================================================================
456       __MAXRAM  H'01FF'
457       __BADRAM  H'0008'-H'0009'
458       __BADRAM  H'000D'
459       __BADRAM  H'001B'-H'001D'
460       __BADRAM  H'0088'-H'0089'
461       __BADRAM  H'008D'
462       __BADRAM  H'0097'
463       __BADRAM  H'009A'-H'009C'
464       __BADRAM  H'009E'
465       __BADRAM  H'0105'-H'0109'
466       __BADRAM  H'0110'-H'0114'
467       __BADRAM  H'0117'-H'011F'
468       __BADRAM  H'0188'-H'0189'
469       __BADRAM  H'018E'-H'019F'
470       __BADRAM  H'01A0'-H'01EF'
471
472;==========================================================================
473;
474;       Configuration Bits
475;
476;   NAME            Address
477;   CONFIG1           2007h
478;   CONFIG2           2008h
479;
480;==========================================================================
481
482; The following is an assignment of address values for all of the
483; configuration registers for the purpose of table reads
484_CONFIG1         EQU  H'2007'
485_CONFIG2         EQU  H'2008'
486
487;----- CONFIG1 Options --------------------------------------------------
488_FOSC_INTOSCIO       EQU  H'3FFC'    ; INTOSCIO oscillator: I/O function on RA4/CLKO pin, I/O function on RA5/CLKI
489_INTOSC_NOCLKOUT     EQU  H'3FFC'    ; INTOSCIO oscillator: I/O function on RA4/CLKO pin, I/O function on RA5/CLKI
490_FOSC_INTOSCCLK      EQU  H'3FFD'    ; INTOSC oscillator: CLKO function on RA4/CLKO pin, I/O function on RA5/CLKI
491_INTOSC_CLKOUT       EQU  H'3FFD'    ; INTOSC oscillator: CLKO function on RA4/CLKO pin, I/O function on RA5/CLKI
492_FOSC_ECIO           EQU  H'3FFE'    ; EC oscillator: I/O function on RA4/CLKO pin, CLKI on RA5/CLKI
493_EC_OSC_NOCLKOUT     EQU  H'3FFE'    ; EC oscillator: I/O function on RA4/CLKO pin, CLKI on RA5/CLKI
494_FOSC_ECCLK          EQU  H'3FFF'    ; EC oscillator: CLKO function on RA4/CLKO pin, CLKI on RA5/CLKI
495_EC_OSC_CLKOUT       EQU  H'3FFF'    ; EC oscillator: CLKO function on RA4/CLKO pin, CLKI on RA5/CLKI
496
497_WDTE_OFF            EQU  H'3FF7'    ; WDT disabled
498_WDTEN_OFF           EQU  H'3FF7'    ; WDT disabled
499_WDTE_ON             EQU  H'3FFF'    ; WDT enabled
500_WDTEN_ON            EQU  H'3FFF'    ; WDT enabled
501
502_PWRTE_ON            EQU  H'3FEF'    ; PWRT enabled
503_PWRTE_OFF           EQU  H'3FFF'    ; PWRT disabled
504
505_MCLRE_OFF           EQU  H'3FDF'    ; RA3/MCLR/VPP pin function is digital input; MCLR internally disabled; Weak pull-up disabled
506_MCLRE_ON            EQU  H'3FFF'    ; RA3/MCLR/VPP pin function is MCLR; Weak pull-up enabled.
507
508_CP_ON               EQU  H'3FBF'    ; 0000h to 0FFFh code protection on
509_CP_OFF              EQU  H'3FFF'    ; Code protection off
510
511_BOREN_OFF           EQU  H'3CFF'    ; Brown-out Reset disabled (Preconditioned State)
512_BOREN_NSLEEP        EQU  H'3EFF'    ; Brown-out Reset enabled during operation and disabled in Sleep
513_BOREN_ON            EQU  H'3FFF'    ; Brown-out Reset enabled
514
515_PLLEN_OFF           EQU  H'2FFF'    ; INTOSC Frequency is 500 kHz
516_PLLEN_ON            EQU  H'3FFF'    ; INTOSC Frequency is 16 MHz (32x)
517
518;----- CONFIG2 Options --------------------------------------------------
519_WRTEN_FULL          EQU  H'3FFC'    ; 0h to FFFh of flash memory write protected, no address may be modified
520_WRTEN_HALF          EQU  H'3FFD'    ; 0h to 7FFh of flash memory write protected, 800h to FFFh may be modified
521_WRTEN_BOOT          EQU  H'3FFE'    ; 0h to 1FFh of flash memory write protected, 200h to FFFh may be modified
522_WRTEN_OFF           EQU  H'3FFF'    ; Write protection off
523
524;----- DEVID Equates --------------------------------------------------
525_DEVID1          EQU  H'2006'
526
527;----- IDLOC Equates --------------------------------------------------
528_IDLOC0          EQU  H'2000'
529_IDLOC1          EQU  H'2001'
530_IDLOC2          EQU  H'2002'
531_IDLOC3          EQU  H'2003'
532
533        LIST
534