blob: 34e06d4ecc8989b59d7bd48312206688a352c8db (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
|
/*
* This definitions of the PIC16LF1509 MCU.
*
* This file is part of the GNU PIC library for SDCC, originally
* created by Molnar Karoly <molnarkaroly@users.sf.net> 2016.
*
* This file is generated automatically by the cinc2h.pl, 2016-04-13 17:23:06 UTC.
*
* SDCC is licensed under the GNU Public license (GPL) v2. Note that
* this license covers the code to the compiler and other executables,
* but explicitly does not cover any code or objects generated by sdcc.
*
* For pic device libraries and header files which are derived from
* Microchip header (.inc) and linker script (.lkr) files Microchip
* requires that "The header files should state that they are only to be
* used with authentic Microchip devices" which makes them incompatible
* with the GPL. Pic device libraries and header files are located at
* non-free/lib and non-free/include directories respectively.
* Sdcc should be run with the --use-non-free command line option in
* order to include non-free header files and libraries.
*
* See http://sdcc.sourceforge.net/ for the latest information on sdcc.
*/
#include <pic16lf1509.h>
//==============================================================================
__at(0x0000) __sfr INDF0;
__at(0x0001) __sfr INDF1;
__at(0x0002) __sfr PCL;
__at(0x0003) __sfr STATUS;
__at(0x0003) volatile __STATUSbits_t STATUSbits;
__at(0x0004) __sfr FSR0;
__at(0x0004) __sfr FSR0L;
__at(0x0005) __sfr FSR0H;
__at(0x0006) __sfr FSR1;
__at(0x0006) __sfr FSR1L;
__at(0x0007) __sfr FSR1H;
__at(0x0008) __sfr BSR;
__at(0x0008) volatile __BSRbits_t BSRbits;
__at(0x0009) __sfr WREG;
__at(0x000A) __sfr PCLATH;
__at(0x000B) __sfr INTCON;
__at(0x000B) volatile __INTCONbits_t INTCONbits;
__at(0x000C) __sfr PORTA;
__at(0x000C) volatile __PORTAbits_t PORTAbits;
__at(0x000D) __sfr PORTB;
__at(0x000D) volatile __PORTBbits_t PORTBbits;
__at(0x000E) __sfr PORTC;
__at(0x000E) volatile __PORTCbits_t PORTCbits;
__at(0x0011) __sfr PIR1;
__at(0x0011) volatile __PIR1bits_t PIR1bits;
__at(0x0012) __sfr PIR2;
__at(0x0012) volatile __PIR2bits_t PIR2bits;
__at(0x0013) __sfr PIR3;
__at(0x0013) volatile __PIR3bits_t PIR3bits;
__at(0x0015) __sfr TMR0;
__at(0x0016) __sfr TMR1;
__at(0x0016) __sfr TMR1L;
__at(0x0017) __sfr TMR1H;
__at(0x0018) __sfr T1CON;
__at(0x0018) volatile __T1CONbits_t T1CONbits;
__at(0x0019) __sfr T1GCON;
__at(0x0019) volatile __T1GCONbits_t T1GCONbits;
__at(0x001A) __sfr TMR2;
__at(0x001B) __sfr PR2;
__at(0x001C) __sfr T2CON;
__at(0x001C) volatile __T2CONbits_t T2CONbits;
__at(0x008C) __sfr TRISA;
__at(0x008C) volatile __TRISAbits_t TRISAbits;
__at(0x008D) __sfr TRISB;
__at(0x008D) volatile __TRISBbits_t TRISBbits;
__at(0x008E) __sfr TRISC;
__at(0x008E) volatile __TRISCbits_t TRISCbits;
__at(0x0091) __sfr PIE1;
__at(0x0091) volatile __PIE1bits_t PIE1bits;
__at(0x0092) __sfr PIE2;
__at(0x0092) volatile __PIE2bits_t PIE2bits;
__at(0x0093) __sfr PIE3;
__at(0x0093) volatile __PIE3bits_t PIE3bits;
__at(0x0095) __sfr OPTION_REG;
__at(0x0095) volatile __OPTION_REGbits_t OPTION_REGbits;
__at(0x0096) __sfr PCON;
__at(0x0096) volatile __PCONbits_t PCONbits;
__at(0x0097) __sfr WDTCON;
__at(0x0097) volatile __WDTCONbits_t WDTCONbits;
__at(0x0099) __sfr OSCCON;
__at(0x0099) volatile __OSCCONbits_t OSCCONbits;
__at(0x009A) __sfr OSCSTAT;
__at(0x009A) volatile __OSCSTATbits_t OSCSTATbits;
__at(0x009B) __sfr ADRES;
__at(0x009B) __sfr ADRESL;
__at(0x009C) __sfr ADRESH;
__at(0x009D) __sfr ADCON0;
__at(0x009D) volatile __ADCON0bits_t ADCON0bits;
__at(0x009E) __sfr ADCON1;
__at(0x009E) volatile __ADCON1bits_t ADCON1bits;
__at(0x009F) __sfr ADCON2;
__at(0x009F) volatile __ADCON2bits_t ADCON2bits;
__at(0x010C) __sfr LATA;
__at(0x010C) volatile __LATAbits_t LATAbits;
__at(0x010D) __sfr LATB;
__at(0x010D) volatile __LATBbits_t LATBbits;
__at(0x010E) __sfr LATC;
__at(0x010E) volatile __LATCbits_t LATCbits;
__at(0x0111) __sfr CM1CON0;
__at(0x0111) volatile __CM1CON0bits_t CM1CON0bits;
__at(0x0112) __sfr CM1CON1;
__at(0x0112) volatile __CM1CON1bits_t CM1CON1bits;
__at(0x0113) __sfr CM2CON0;
__at(0x0113) volatile __CM2CON0bits_t CM2CON0bits;
__at(0x0114) __sfr CM2CON1;
__at(0x0114) volatile __CM2CON1bits_t CM2CON1bits;
__at(0x0115) __sfr CMOUT;
__at(0x0115) volatile __CMOUTbits_t CMOUTbits;
__at(0x0116) __sfr BORCON;
__at(0x0116) volatile __BORCONbits_t BORCONbits;
__at(0x0117) __sfr FVRCON;
__at(0x0117) volatile __FVRCONbits_t FVRCONbits;
__at(0x0118) __sfr DACCON0;
__at(0x0118) volatile __DACCON0bits_t DACCON0bits;
__at(0x0119) __sfr DACCON1;
__at(0x0119) volatile __DACCON1bits_t DACCON1bits;
__at(0x011D) __sfr APFCON;
__at(0x011D) volatile __APFCONbits_t APFCONbits;
__at(0x018C) __sfr ANSELA;
__at(0x018C) volatile __ANSELAbits_t ANSELAbits;
__at(0x018D) __sfr ANSELB;
__at(0x018D) volatile __ANSELBbits_t ANSELBbits;
__at(0x018E) __sfr ANSELC;
__at(0x018E) volatile __ANSELCbits_t ANSELCbits;
__at(0x0191) __sfr PMADR;
__at(0x0191) __sfr PMADRL;
__at(0x0192) __sfr PMADRH;
__at(0x0193) __sfr PMDAT;
__at(0x0193) __sfr PMDATL;
__at(0x0194) __sfr PMDATH;
__at(0x0195) __sfr PMCON1;
__at(0x0195) volatile __PMCON1bits_t PMCON1bits;
__at(0x0196) __sfr PMCON2;
__at(0x0199) __sfr RCREG;
__at(0x019A) __sfr TXREG;
__at(0x019B) __sfr SPBRG;
__at(0x019B) __sfr SPBRGL;
__at(0x019C) __sfr SPBRGH;
__at(0x019D) __sfr RCSTA;
__at(0x019D) volatile __RCSTAbits_t RCSTAbits;
__at(0x019E) __sfr TXSTA;
__at(0x019E) volatile __TXSTAbits_t TXSTAbits;
__at(0x019F) __sfr BAUDCON;
__at(0x019F) volatile __BAUDCONbits_t BAUDCONbits;
__at(0x020C) __sfr WPUA;
__at(0x020C) volatile __WPUAbits_t WPUAbits;
__at(0x020D) __sfr WPUB;
__at(0x020D) volatile __WPUBbits_t WPUBbits;
__at(0x0211) __sfr SSP1BUF;
__at(0x0211) __sfr SSPBUF;
__at(0x0212) __sfr SSP1ADD;
__at(0x0212) __sfr SSPADD;
__at(0x0213) __sfr SSP1MSK;
__at(0x0213) __sfr SSPMSK;
__at(0x0214) __sfr SSP1STAT;
__at(0x0214) volatile __SSP1STATbits_t SSP1STATbits;
__at(0x0214) __sfr SSPSTAT;
__at(0x0214) volatile __SSPSTATbits_t SSPSTATbits;
__at(0x0215) __sfr SSP1CON1;
__at(0x0215) volatile __SSP1CON1bits_t SSP1CON1bits;
__at(0x0215) __sfr SSPCON;
__at(0x0215) volatile __SSPCONbits_t SSPCONbits;
__at(0x0215) __sfr SSPCON1;
__at(0x0215) volatile __SSPCON1bits_t SSPCON1bits;
__at(0x0216) __sfr SSP1CON2;
__at(0x0216) volatile __SSP1CON2bits_t SSP1CON2bits;
__at(0x0216) __sfr SSPCON2;
__at(0x0216) volatile __SSPCON2bits_t SSPCON2bits;
__at(0x0217) __sfr SSP1CON3;
__at(0x0217) volatile __SSP1CON3bits_t SSP1CON3bits;
__at(0x0217) __sfr SSPCON3;
__at(0x0217) volatile __SSPCON3bits_t SSPCON3bits;
__at(0x0391) __sfr IOCAP;
__at(0x0391) volatile __IOCAPbits_t IOCAPbits;
__at(0x0392) __sfr IOCAN;
__at(0x0392) volatile __IOCANbits_t IOCANbits;
__at(0x0393) __sfr IOCAF;
__at(0x0393) volatile __IOCAFbits_t IOCAFbits;
__at(0x0394) __sfr IOCBP;
__at(0x0394) volatile __IOCBPbits_t IOCBPbits;
__at(0x0395) __sfr IOCBN;
__at(0x0395) volatile __IOCBNbits_t IOCBNbits;
__at(0x0396) __sfr IOCBF;
__at(0x0396) volatile __IOCBFbits_t IOCBFbits;
__at(0x0498) __sfr NCO1ACC;
__at(0x0498) __sfr NCO1ACCL;
__at(0x0498) volatile __NCO1ACCLbits_t NCO1ACCLbits;
__at(0x0499) __sfr NCO1ACCH;
__at(0x0499) volatile __NCO1ACCHbits_t NCO1ACCHbits;
__at(0x049A) __sfr NCO1ACCU;
__at(0x049A) volatile __NCO1ACCUbits_t NCO1ACCUbits;
__at(0x049B) __sfr NCO1INC;
__at(0x049B) __sfr NCO1INCL;
__at(0x049B) volatile __NCO1INCLbits_t NCO1INCLbits;
__at(0x049C) __sfr NCO1INCH;
__at(0x049C) volatile __NCO1INCHbits_t NCO1INCHbits;
__at(0x049D) __sfr NCO1INCU;
__at(0x049E) __sfr NCO1CON;
__at(0x049E) volatile __NCO1CONbits_t NCO1CONbits;
__at(0x049F) __sfr NCO1CLK;
__at(0x049F) volatile __NCO1CLKbits_t NCO1CLKbits;
__at(0x0611) __sfr PWM1DCL;
__at(0x0611) volatile __PWM1DCLbits_t PWM1DCLbits;
__at(0x0612) __sfr PWM1DCH;
__at(0x0612) volatile __PWM1DCHbits_t PWM1DCHbits;
__at(0x0613) __sfr PWM1CON;
__at(0x0613) volatile __PWM1CONbits_t PWM1CONbits;
__at(0x0613) __sfr PWM1CON0;
__at(0x0613) volatile __PWM1CON0bits_t PWM1CON0bits;
__at(0x0614) __sfr PWM2DCL;
__at(0x0614) volatile __PWM2DCLbits_t PWM2DCLbits;
__at(0x0615) __sfr PWM2DCH;
__at(0x0615) volatile __PWM2DCHbits_t PWM2DCHbits;
__at(0x0616) __sfr PWM2CON;
__at(0x0616) volatile __PWM2CONbits_t PWM2CONbits;
__at(0x0616) __sfr PWM2CON0;
__at(0x0616) volatile __PWM2CON0bits_t PWM2CON0bits;
__at(0x0617) __sfr PWM3DCL;
__at(0x0617) volatile __PWM3DCLbits_t PWM3DCLbits;
__at(0x0618) __sfr PWM3DCH;
__at(0x0618) volatile __PWM3DCHbits_t PWM3DCHbits;
__at(0x0619) __sfr PWM3CON;
__at(0x0619) volatile __PWM3CONbits_t PWM3CONbits;
__at(0x0619) __sfr PWM3CON0;
__at(0x0619) volatile __PWM3CON0bits_t PWM3CON0bits;
__at(0x061A) __sfr PWM4DCL;
__at(0x061A) volatile __PWM4DCLbits_t PWM4DCLbits;
__at(0x061B) __sfr PWM4DCH;
__at(0x061B) volatile __PWM4DCHbits_t PWM4DCHbits;
__at(0x061C) __sfr PWM4CON;
__at(0x061C) volatile __PWM4CONbits_t PWM4CONbits;
__at(0x061C) __sfr PWM4CON0;
__at(0x061C) volatile __PWM4CON0bits_t PWM4CON0bits;
__at(0x0691) __sfr CWG1DBR;
__at(0x0691) volatile __CWG1DBRbits_t CWG1DBRbits;
__at(0x0692) __sfr CWG1DBF;
__at(0x0692) volatile __CWG1DBFbits_t CWG1DBFbits;
__at(0x0693) __sfr CWG1CON0;
__at(0x0693) volatile __CWG1CON0bits_t CWG1CON0bits;
__at(0x0694) __sfr CWG1CON1;
__at(0x0694) volatile __CWG1CON1bits_t CWG1CON1bits;
__at(0x0695) __sfr CWG1CON2;
__at(0x0695) volatile __CWG1CON2bits_t CWG1CON2bits;
__at(0x0F0F) __sfr CLCDATA;
__at(0x0F0F) volatile __CLCDATAbits_t CLCDATAbits;
__at(0x0F10) __sfr CLC1CON;
__at(0x0F10) volatile __CLC1CONbits_t CLC1CONbits;
__at(0x0F11) __sfr CLC1POL;
__at(0x0F11) volatile __CLC1POLbits_t CLC1POLbits;
__at(0x0F12) __sfr CLC1SEL0;
__at(0x0F12) volatile __CLC1SEL0bits_t CLC1SEL0bits;
__at(0x0F13) __sfr CLC1SEL1;
__at(0x0F13) volatile __CLC1SEL1bits_t CLC1SEL1bits;
__at(0x0F14) __sfr CLC1GLS0;
__at(0x0F14) volatile __CLC1GLS0bits_t CLC1GLS0bits;
__at(0x0F15) __sfr CLC1GLS1;
__at(0x0F15) volatile __CLC1GLS1bits_t CLC1GLS1bits;
__at(0x0F16) __sfr CLC1GLS2;
__at(0x0F16) volatile __CLC1GLS2bits_t CLC1GLS2bits;
__at(0x0F17) __sfr CLC1GLS3;
__at(0x0F17) volatile __CLC1GLS3bits_t CLC1GLS3bits;
__at(0x0F18) __sfr CLC2CON;
__at(0x0F18) volatile __CLC2CONbits_t CLC2CONbits;
__at(0x0F19) __sfr CLC2POL;
__at(0x0F19) volatile __CLC2POLbits_t CLC2POLbits;
__at(0x0F1A) __sfr CLC2SEL0;
__at(0x0F1A) volatile __CLC2SEL0bits_t CLC2SEL0bits;
__at(0x0F1B) __sfr CLC2SEL1;
__at(0x0F1B) volatile __CLC2SEL1bits_t CLC2SEL1bits;
__at(0x0F1C) __sfr CLC2GLS0;
__at(0x0F1C) volatile __CLC2GLS0bits_t CLC2GLS0bits;
__at(0x0F1D) __sfr CLC2GLS1;
__at(0x0F1D) volatile __CLC2GLS1bits_t CLC2GLS1bits;
__at(0x0F1E) __sfr CLC2GLS2;
__at(0x0F1E) volatile __CLC2GLS2bits_t CLC2GLS2bits;
__at(0x0F1F) __sfr CLC2GLS3;
__at(0x0F1F) volatile __CLC2GLS3bits_t CLC2GLS3bits;
__at(0x0F20) __sfr CLC3CON;
__at(0x0F20) volatile __CLC3CONbits_t CLC3CONbits;
__at(0x0F21) __sfr CLC3POL;
__at(0x0F21) volatile __CLC3POLbits_t CLC3POLbits;
__at(0x0F22) __sfr CLC3SEL0;
__at(0x0F22) volatile __CLC3SEL0bits_t CLC3SEL0bits;
__at(0x0F23) __sfr CLC3SEL1;
__at(0x0F23) volatile __CLC3SEL1bits_t CLC3SEL1bits;
__at(0x0F24) __sfr CLC3GLS0;
__at(0x0F24) volatile __CLC3GLS0bits_t CLC3GLS0bits;
__at(0x0F25) __sfr CLC3GLS1;
__at(0x0F25) volatile __CLC3GLS1bits_t CLC3GLS1bits;
__at(0x0F26) __sfr CLC3GLS2;
__at(0x0F26) volatile __CLC3GLS2bits_t CLC3GLS2bits;
__at(0x0F27) __sfr CLC3GLS3;
__at(0x0F27) volatile __CLC3GLS3bits_t CLC3GLS3bits;
__at(0x0F28) __sfr CLC4CON;
__at(0x0F28) volatile __CLC4CONbits_t CLC4CONbits;
__at(0x0F29) __sfr CLC4POL;
__at(0x0F29) volatile __CLC4POLbits_t CLC4POLbits;
__at(0x0F2A) __sfr CLC4SEL0;
__at(0x0F2A) volatile __CLC4SEL0bits_t CLC4SEL0bits;
__at(0x0F2B) __sfr CLC4SEL1;
__at(0x0F2B) volatile __CLC4SEL1bits_t CLC4SEL1bits;
__at(0x0F2C) __sfr CLC4GLS0;
__at(0x0F2C) volatile __CLC4GLS0bits_t CLC4GLS0bits;
__at(0x0F2D) __sfr CLC4GLS1;
__at(0x0F2D) volatile __CLC4GLS1bits_t CLC4GLS1bits;
__at(0x0F2E) __sfr CLC4GLS2;
__at(0x0F2E) volatile __CLC4GLS2bits_t CLC4GLS2bits;
__at(0x0F2F) __sfr CLC4GLS3;
__at(0x0F2F) volatile __CLC4GLS3bits_t CLC4GLS3bits;
__at(0x0F8C) __sfr ICDIO;
__at(0x0F8C) volatile __ICDIObits_t ICDIObits;
__at(0x0F8D) __sfr ICDCON0;
__at(0x0F8D) volatile __ICDCON0bits_t ICDCON0bits;
__at(0x0F91) __sfr ICDSTAT;
__at(0x0F91) volatile __ICDSTATbits_t ICDSTATbits;
__at(0x0F95) __sfr DEVSEL;
__at(0x0F95) volatile __DEVSELbits_t DEVSELbits;
__at(0x0F96) __sfr ICDINSTL;
__at(0x0F96) volatile __ICDINSTLbits_t ICDINSTLbits;
__at(0x0F97) __sfr ICDINSTH;
__at(0x0F97) volatile __ICDINSTHbits_t ICDINSTHbits;
__at(0x0F9C) __sfr ICDBK0CON;
__at(0x0F9C) volatile __ICDBK0CONbits_t ICDBK0CONbits;
__at(0x0F9D) __sfr ICDBK0L;
__at(0x0F9D) volatile __ICDBK0Lbits_t ICDBK0Lbits;
__at(0x0F9E) __sfr ICDBK0H;
__at(0x0F9E) volatile __ICDBK0Hbits_t ICDBK0Hbits;
__at(0x0FE3) __sfr BSRICDSHAD;
__at(0x0FE4) __sfr STATUS_SHAD;
__at(0x0FE4) volatile __STATUS_SHADbits_t STATUS_SHADbits;
__at(0x0FE5) __sfr WREG_SHAD;
__at(0x0FE6) __sfr BSR_SHAD;
__at(0x0FE7) __sfr PCLATH_SHAD;
__at(0x0FE8) __sfr FSR0L_SHAD;
__at(0x0FE9) __sfr FSR0H_SHAD;
__at(0x0FEA) __sfr FSR1L_SHAD;
__at(0x0FEB) __sfr FSR1H_SHAD;
__at(0x0FED) __sfr STKPTR;
__at(0x0FEE) __sfr TOSL;
__at(0x0FEF) __sfr TOSH;
|