1 /* 2 * This definitions of the PIC18F87J90 MCU. 3 * 4 * This file is part of the GNU PIC library for SDCC, originally 5 * created by Molnar Karoly <molnarkaroly@users.sf.net> 2016. 6 * 7 * This file is generated automatically by the cinc2h.pl, 2016-04-13 17:23:39 UTC. 8 * 9 * SDCC is licensed under the GNU Public license (GPL) v2. Note that 10 * this license covers the code to the compiler and other executables, 11 * but explicitly does not cover any code or objects generated by sdcc. 12 * 13 * For pic device libraries and header files which are derived from 14 * Microchip header (.inc) and linker script (.lkr) files Microchip 15 * requires that "The header files should state that they are only to be 16 * used with authentic Microchip devices" which makes them incompatible 17 * with the GPL. Pic device libraries and header files are located at 18 * non-free/lib and non-free/include directories respectively. 19 * Sdcc should be run with the --use-non-free command line option in 20 * order to include non-free header files and libraries. 21 * 22 * See http://sdcc.sourceforge.net/ for the latest information on sdcc. 23 */ 24 25 #include <pic18f87j90.h> 26 27 //============================================================================== 28 29 __at(0x0F54) __sfr PADCFG1; 30 __at(0x0F54) volatile __PADCFG1bits_t PADCFG1bits; 31 32 __at(0x0F55) __sfr CTMUICON; 33 __at(0x0F55) volatile __CTMUICONbits_t CTMUICONbits; 34 35 __at(0x0F56) __sfr CTMUCONL; 36 __at(0x0F56) volatile __CTMUCONLbits_t CTMUCONLbits; 37 38 __at(0x0F57) __sfr CTMUCONH; 39 __at(0x0F57) volatile __CTMUCONHbits_t CTMUCONHbits; 40 41 __at(0x0F58) __sfr ALRMVALL; 42 43 __at(0x0F59) __sfr ALRMVALH; 44 45 __at(0x0F5A) __sfr ALRMRPT; 46 __at(0x0F5A) volatile __ALRMRPTbits_t ALRMRPTbits; 47 48 __at(0x0F5B) __sfr ALRMCFG; 49 __at(0x0F5B) volatile __ALRMCFGbits_t ALRMCFGbits; 50 51 __at(0x0F5C) __sfr RTCVALL; 52 53 __at(0x0F5D) __sfr RTCVALH; 54 55 __at(0x0F5E) __sfr RTCCAL; 56 __at(0x0F5E) volatile __RTCCALbits_t RTCCALbits; 57 58 __at(0x0F5F) __sfr RTCCFG; 59 __at(0x0F5F) volatile __RTCCFGbits_t RTCCFGbits; 60 61 __at(0x0F60) __sfr RCSTA2; 62 __at(0x0F60) volatile __RCSTA2bits_t RCSTA2bits; 63 64 __at(0x0F61) __sfr TXSTA2; 65 __at(0x0F61) volatile __TXSTA2bits_t TXSTA2bits; 66 67 __at(0x0F62) __sfr TXREG2; 68 69 __at(0x0F63) __sfr RCREG2; 70 71 __at(0x0F64) __sfr SPBRG2; 72 73 __at(0x0F65) __sfr CCP2CON; 74 __at(0x0F65) volatile __CCP2CONbits_t CCP2CONbits; 75 76 __at(0x0F65) __sfr ECCP2CON; 77 __at(0x0F65) volatile __ECCP2CONbits_t ECCP2CONbits; 78 79 __at(0x0F66) __sfr CCPR2; 80 81 __at(0x0F66) __sfr CCPR2L; 82 83 __at(0x0F67) __sfr CCPR2H; 84 85 __at(0x0F68) __sfr CCP1CON; 86 __at(0x0F68) volatile __CCP1CONbits_t CCP1CONbits; 87 88 __at(0x0F68) __sfr ECCP1CON; 89 __at(0x0F68) volatile __ECCP1CONbits_t ECCP1CONbits; 90 91 __at(0x0F69) __sfr CCPR1; 92 93 __at(0x0F69) __sfr CCPR1L; 94 95 __at(0x0F6A) __sfr CCPR1H; 96 97 __at(0x0F6B) __sfr LCDDATA5; 98 __at(0x0F6B) volatile __LCDDATA5bits_t LCDDATA5bits; 99 100 __at(0x0F6C) __sfr LCDDATA6; 101 __at(0x0F6C) volatile __LCDDATA6bits_t LCDDATA6bits; 102 103 __at(0x0F6D) __sfr LCDDATA7; 104 __at(0x0F6D) volatile __LCDDATA7bits_t LCDDATA7bits; 105 106 __at(0x0F6E) __sfr LCDDATA8; 107 __at(0x0F6E) volatile __LCDDATA8bits_t LCDDATA8bits; 108 109 __at(0x0F6F) __sfr LCDDATA9; 110 __at(0x0F6F) volatile __LCDDATA9bits_t LCDDATA9bits; 111 112 __at(0x0F70) __sfr LCDDATA10; 113 __at(0x0F70) volatile __LCDDATA10bits_t LCDDATA10bits; 114 115 __at(0x0F71) __sfr LCDDATA11; 116 __at(0x0F71) volatile __LCDDATA11bits_t LCDDATA11bits; 117 118 __at(0x0F72) __sfr LCDDATA12; 119 __at(0x0F72) volatile __LCDDATA12bits_t LCDDATA12bits; 120 121 __at(0x0F73) __sfr LCDDATA13; 122 __at(0x0F73) volatile __LCDDATA13bits_t LCDDATA13bits; 123 124 __at(0x0F74) __sfr LCDDATA14; 125 __at(0x0F74) volatile __LCDDATA14bits_t LCDDATA14bits; 126 127 __at(0x0F75) __sfr LCDDATA15; 128 __at(0x0F75) volatile __LCDDATA15bits_t LCDDATA15bits; 129 130 __at(0x0F76) __sfr LCDDATA16; 131 __at(0x0F76) volatile __LCDDATA16bits_t LCDDATA16bits; 132 133 __at(0x0F77) __sfr LCDDATA17; 134 __at(0x0F77) volatile __LCDDATA17bits_t LCDDATA17bits; 135 136 __at(0x0F78) __sfr LCDDATA18; 137 __at(0x0F78) volatile __LCDDATA18bits_t LCDDATA18bits; 138 139 __at(0x0F79) __sfr LCDDATA19; 140 __at(0x0F79) volatile __LCDDATA19bits_t LCDDATA19bits; 141 142 __at(0x0F7A) __sfr LCDDATA20; 143 __at(0x0F7A) volatile __LCDDATA20bits_t LCDDATA20bits; 144 145 __at(0x0F7B) __sfr LCDDATA21; 146 __at(0x0F7B) volatile __LCDDATA21bits_t LCDDATA21bits; 147 148 __at(0x0F7C) __sfr LCDDATA22; 149 __at(0x0F7C) volatile __LCDDATA22bits_t LCDDATA22bits; 150 151 __at(0x0F7D) __sfr LCDDATA23; 152 __at(0x0F7D) volatile __LCDDATA23bits_t LCDDATA23bits; 153 154 __at(0x0F7E) __sfr BAUDCON; 155 __at(0x0F7E) volatile __BAUDCONbits_t BAUDCONbits; 156 157 __at(0x0F7E) __sfr BAUDCON1; 158 __at(0x0F7E) volatile __BAUDCON1bits_t BAUDCON1bits; 159 160 __at(0x0F7F) __sfr SPBRGH; 161 162 __at(0x0F7F) __sfr SPBRGH1; 163 164 __at(0x0F80) __sfr PORTA; 165 __at(0x0F80) volatile __PORTAbits_t PORTAbits; 166 167 __at(0x0F81) __sfr PORTB; 168 __at(0x0F81) volatile __PORTBbits_t PORTBbits; 169 170 __at(0x0F82) __sfr PORTC; 171 __at(0x0F82) volatile __PORTCbits_t PORTCbits; 172 173 __at(0x0F83) __sfr PORTD; 174 __at(0x0F83) volatile __PORTDbits_t PORTDbits; 175 176 __at(0x0F84) __sfr PORTE; 177 __at(0x0F84) volatile __PORTEbits_t PORTEbits; 178 179 __at(0x0F85) __sfr PORTF; 180 __at(0x0F85) volatile __PORTFbits_t PORTFbits; 181 182 __at(0x0F86) __sfr PORTG; 183 __at(0x0F86) volatile __PORTGbits_t PORTGbits; 184 185 __at(0x0F87) __sfr PORTH; 186 __at(0x0F87) volatile __PORTHbits_t PORTHbits; 187 188 __at(0x0F88) __sfr PORTJ; 189 __at(0x0F88) volatile __PORTJbits_t PORTJbits; 190 191 __at(0x0F89) __sfr LATA; 192 __at(0x0F89) volatile __LATAbits_t LATAbits; 193 194 __at(0x0F8A) __sfr LATB; 195 __at(0x0F8A) volatile __LATBbits_t LATBbits; 196 197 __at(0x0F8B) __sfr LATC; 198 __at(0x0F8B) volatile __LATCbits_t LATCbits; 199 200 __at(0x0F8C) __sfr LATD; 201 __at(0x0F8C) volatile __LATDbits_t LATDbits; 202 203 __at(0x0F8D) __sfr LATE; 204 __at(0x0F8D) volatile __LATEbits_t LATEbits; 205 206 __at(0x0F8E) __sfr LATF; 207 __at(0x0F8E) volatile __LATFbits_t LATFbits; 208 209 __at(0x0F8F) __sfr LATG; 210 __at(0x0F8F) volatile __LATGbits_t LATGbits; 211 212 __at(0x0F90) __sfr LATH; 213 __at(0x0F90) volatile __LATHbits_t LATHbits; 214 215 __at(0x0F91) __sfr LATJ; 216 __at(0x0F91) volatile __LATJbits_t LATJbits; 217 218 __at(0x0F92) __sfr TRISA; 219 __at(0x0F92) volatile __TRISAbits_t TRISAbits; 220 221 __at(0x0F93) __sfr TRISB; 222 __at(0x0F93) volatile __TRISBbits_t TRISBbits; 223 224 __at(0x0F94) __sfr TRISC; 225 __at(0x0F94) volatile __TRISCbits_t TRISCbits; 226 227 __at(0x0F95) __sfr TRISD; 228 __at(0x0F95) volatile __TRISDbits_t TRISDbits; 229 230 __at(0x0F96) __sfr TRISE; 231 __at(0x0F96) volatile __TRISEbits_t TRISEbits; 232 233 __at(0x0F97) __sfr TRISF; 234 __at(0x0F97) volatile __TRISFbits_t TRISFbits; 235 236 __at(0x0F98) __sfr TRISG; 237 __at(0x0F98) volatile __TRISGbits_t TRISGbits; 238 239 __at(0x0F99) __sfr TRISH; 240 __at(0x0F99) volatile __TRISHbits_t TRISHbits; 241 242 __at(0x0F9A) __sfr TRISJ; 243 __at(0x0F9A) volatile __TRISJbits_t TRISJbits; 244 245 __at(0x0F9B) __sfr OSCTUNE; 246 __at(0x0F9B) volatile __OSCTUNEbits_t OSCTUNEbits; 247 248 __at(0x0F9D) __sfr PIE1; 249 __at(0x0F9D) volatile __PIE1bits_t PIE1bits; 250 251 __at(0x0F9E) __sfr PIR1; 252 __at(0x0F9E) volatile __PIR1bits_t PIR1bits; 253 254 __at(0x0F9F) __sfr IPR1; 255 __at(0x0F9F) volatile __IPR1bits_t IPR1bits; 256 257 __at(0x0FA0) __sfr PIE2; 258 __at(0x0FA0) volatile __PIE2bits_t PIE2bits; 259 260 __at(0x0FA1) __sfr PIR2; 261 __at(0x0FA1) volatile __PIR2bits_t PIR2bits; 262 263 __at(0x0FA2) __sfr IPR2; 264 __at(0x0FA2) volatile __IPR2bits_t IPR2bits; 265 266 __at(0x0FA3) __sfr PIE3; 267 __at(0x0FA3) volatile __PIE3bits_t PIE3bits; 268 269 __at(0x0FA4) __sfr PIR3; 270 __at(0x0FA4) volatile __PIR3bits_t PIR3bits; 271 272 __at(0x0FA5) __sfr IPR3; 273 __at(0x0FA5) volatile __IPR3bits_t IPR3bits; 274 275 __at(0x0FA6) __sfr EECON1; 276 __at(0x0FA6) volatile __EECON1bits_t EECON1bits; 277 278 __at(0x0FA7) __sfr EECON2; 279 280 __at(0x0FA8) __sfr LCDCON; 281 __at(0x0FA8) volatile __LCDCONbits_t LCDCONbits; 282 283 __at(0x0FA9) __sfr LCDSE0; 284 __at(0x0FA9) volatile __LCDSE0bits_t LCDSE0bits; 285 286 __at(0x0FAA) __sfr LCDPS; 287 __at(0x0FAA) volatile __LCDPSbits_t LCDPSbits; 288 289 __at(0x0FAB) __sfr RCSTA; 290 __at(0x0FAB) volatile __RCSTAbits_t RCSTAbits; 291 292 __at(0x0FAB) __sfr RCSTA1; 293 __at(0x0FAB) volatile __RCSTA1bits_t RCSTA1bits; 294 295 __at(0x0FAC) __sfr TXSTA; 296 __at(0x0FAC) volatile __TXSTAbits_t TXSTAbits; 297 298 __at(0x0FAC) __sfr TXSTA1; 299 __at(0x0FAC) volatile __TXSTA1bits_t TXSTA1bits; 300 301 __at(0x0FAD) __sfr TXREG; 302 303 __at(0x0FAD) __sfr TXREG1; 304 305 __at(0x0FAE) __sfr RCREG; 306 307 __at(0x0FAE) __sfr RCREG1; 308 309 __at(0x0FAF) __sfr SPBRG; 310 311 __at(0x0FAF) __sfr SPBRG1; 312 313 __at(0x0FB1) __sfr T3CON; 314 __at(0x0FB1) volatile __T3CONbits_t T3CONbits; 315 316 __at(0x0FB2) __sfr TMR3; 317 318 __at(0x0FB2) __sfr TMR3L; 319 320 __at(0x0FB3) __sfr TMR3H; 321 322 __at(0x0FB4) __sfr CMCON; 323 __at(0x0FB4) volatile __CMCONbits_t CMCONbits; 324 325 __at(0x0FB5) __sfr CVRCON; 326 __at(0x0FB5) volatile __CVRCONbits_t CVRCONbits; 327 328 __at(0x0FB6) __sfr LCDSE1; 329 __at(0x0FB6) volatile __LCDSE1bits_t LCDSE1bits; 330 331 __at(0x0FB7) __sfr LCDSE2; 332 __at(0x0FB7) volatile __LCDSE2bits_t LCDSE2bits; 333 334 __at(0x0FB8) __sfr LCDSE3; 335 __at(0x0FB8) volatile __LCDSE3bits_t LCDSE3bits; 336 337 __at(0x0FB9) __sfr LCDSE4; 338 __at(0x0FB9) volatile __LCDSE4bits_t LCDSE4bits; 339 340 __at(0x0FBA) __sfr LCDSE5; 341 __at(0x0FBA) volatile __LCDSE5bits_t LCDSE5bits; 342 343 __at(0x0FBB) __sfr LCDDATA0; 344 __at(0x0FBB) volatile __LCDDATA0bits_t LCDDATA0bits; 345 346 __at(0x0FBC) __sfr LCDDATA1; 347 __at(0x0FBC) volatile __LCDDATA1bits_t LCDDATA1bits; 348 349 __at(0x0FBD) __sfr LCDDATA2; 350 __at(0x0FBD) volatile __LCDDATA2bits_t LCDDATA2bits; 351 352 __at(0x0FBE) __sfr LCDDATA3; 353 __at(0x0FBE) volatile __LCDDATA3bits_t LCDDATA3bits; 354 355 __at(0x0FBF) __sfr LCDDATA4; 356 __at(0x0FBF) volatile __LCDDATA4bits_t LCDDATA4bits; 357 358 __at(0x0FC0) __sfr ADCON2; 359 __at(0x0FC0) volatile __ADCON2bits_t ADCON2bits; 360 361 __at(0x0FC1) __sfr ADCON1; 362 __at(0x0FC1) volatile __ADCON1bits_t ADCON1bits; 363 364 __at(0x0FC2) __sfr ADCON0; 365 __at(0x0FC2) volatile __ADCON0bits_t ADCON0bits; 366 367 __at(0x0FC3) __sfr ADRES; 368 369 __at(0x0FC3) __sfr ADRESL; 370 371 __at(0x0FC4) __sfr ADRESH; 372 373 __at(0x0FC5) __sfr SSP1CON2; 374 __at(0x0FC5) volatile __SSP1CON2bits_t SSP1CON2bits; 375 376 __at(0x0FC5) __sfr SSPCON2; 377 __at(0x0FC5) volatile __SSPCON2bits_t SSPCON2bits; 378 379 __at(0x0FC6) __sfr SSP1CON1; 380 __at(0x0FC6) volatile __SSP1CON1bits_t SSP1CON1bits; 381 382 __at(0x0FC6) __sfr SSPCON1; 383 __at(0x0FC6) volatile __SSPCON1bits_t SSPCON1bits; 384 385 __at(0x0FC7) __sfr SSP1STAT; 386 __at(0x0FC7) volatile __SSP1STATbits_t SSP1STATbits; 387 388 __at(0x0FC7) __sfr SSPSTAT; 389 __at(0x0FC7) volatile __SSPSTATbits_t SSPSTATbits; 390 391 __at(0x0FC8) __sfr SSP1ADD; 392 __at(0x0FC8) volatile __SSP1ADDbits_t SSP1ADDbits; 393 394 __at(0x0FC8) __sfr SSPADD; 395 __at(0x0FC8) volatile __SSPADDbits_t SSPADDbits; 396 397 __at(0x0FC9) __sfr SSP1BUF; 398 399 __at(0x0FC9) __sfr SSPBUF; 400 401 __at(0x0FCA) __sfr T2CON; 402 __at(0x0FCA) volatile __T2CONbits_t T2CONbits; 403 404 __at(0x0FCB) __sfr PR2; 405 406 __at(0x0FCC) __sfr TMR2; 407 408 __at(0x0FCD) __sfr T1CON; 409 __at(0x0FCD) volatile __T1CONbits_t T1CONbits; 410 411 __at(0x0FCE) __sfr TMR1; 412 413 __at(0x0FCE) __sfr TMR1L; 414 415 __at(0x0FCF) __sfr TMR1H; 416 417 __at(0x0FD0) __sfr RCON; 418 __at(0x0FD0) volatile __RCONbits_t RCONbits; 419 420 __at(0x0FD1) __sfr WDTCON; 421 __at(0x0FD1) volatile __WDTCONbits_t WDTCONbits; 422 423 __at(0x0FD2) __sfr LCDREG; 424 __at(0x0FD2) volatile __LCDREGbits_t LCDREGbits; 425 426 __at(0x0FD3) __sfr OSCCON; 427 __at(0x0FD3) volatile __OSCCONbits_t OSCCONbits; 428 429 __at(0x0FD5) __sfr T0CON; 430 __at(0x0FD5) volatile __T0CONbits_t T0CONbits; 431 432 __at(0x0FD6) __sfr TMR0; 433 434 __at(0x0FD6) __sfr TMR0L; 435 436 __at(0x0FD7) __sfr TMR0H; 437 438 __at(0x0FD8) __sfr STATUS; 439 __at(0x0FD8) volatile __STATUSbits_t STATUSbits; 440 441 __at(0x0FD9) __sfr FSR2L; 442 443 __at(0x0FDA) __sfr FSR2H; 444 445 __at(0x0FDB) __sfr PLUSW2; 446 447 __at(0x0FDC) __sfr PREINC2; 448 449 __at(0x0FDD) __sfr POSTDEC2; 450 451 __at(0x0FDE) __sfr POSTINC2; 452 453 __at(0x0FDF) __sfr INDF2; 454 455 __at(0x0FE0) __sfr BSR; 456 457 __at(0x0FE1) __sfr FSR1L; 458 459 __at(0x0FE2) __sfr FSR1H; 460 461 __at(0x0FE3) __sfr PLUSW1; 462 463 __at(0x0FE4) __sfr PREINC1; 464 465 __at(0x0FE5) __sfr POSTDEC1; 466 467 __at(0x0FE6) __sfr POSTINC1; 468 469 __at(0x0FE7) __sfr INDF1; 470 471 __at(0x0FE8) __sfr WREG; 472 473 __at(0x0FE9) __sfr FSR0L; 474 475 __at(0x0FEA) __sfr FSR0H; 476 477 __at(0x0FEB) __sfr PLUSW0; 478 479 __at(0x0FEC) __sfr PREINC0; 480 481 __at(0x0FED) __sfr POSTDEC0; 482 483 __at(0x0FEE) __sfr POSTINC0; 484 485 __at(0x0FEF) __sfr INDF0; 486 487 __at(0x0FF0) __sfr INTCON3; 488 __at(0x0FF0) volatile __INTCON3bits_t INTCON3bits; 489 490 __at(0x0FF1) __sfr INTCON2; 491 __at(0x0FF1) volatile __INTCON2bits_t INTCON2bits; 492 493 __at(0x0FF2) __sfr INTCON; 494 __at(0x0FF2) volatile __INTCONbits_t INTCONbits; 495 496 __at(0x0FF3) __sfr PROD; 497 498 __at(0x0FF3) __sfr PRODL; 499 500 __at(0x0FF4) __sfr PRODH; 501 502 __at(0x0FF5) __sfr TABLAT; 503 504 __at(0x0FF6) __sfr TBLPTR; 505 506 __at(0x0FF6) __sfr TBLPTRL; 507 508 __at(0x0FF7) __sfr TBLPTRH; 509 510 __at(0x0FF8) __sfr TBLPTRU; 511 512 __at(0x0FF9) __sfr PC; 513 514 __at(0x0FF9) __sfr PCL; 515 516 __at(0x0FFA) __sfr PCLATH; 517 518 __at(0x0FFB) __sfr PCLATU; 519 520 __at(0x0FFC) __sfr STKPTR; 521 __at(0x0FFC) volatile __STKPTRbits_t STKPTRbits; 522 523 __at(0x0FFD) __sfr TOS; 524 525 __at(0x0FFD) __sfr TOSL; 526 527 __at(0x0FFE) __sfr TOSH; 528 529 __at(0x0FFF) __sfr TOSU; 530