📄 pic169xx.h
字号:
#ifndef _HTC_H_
#warning Header file pic169xx.h included directly. Use #include <htc.h> instead.
#endif
/*
* Header file for the Microchip
* PIC 16C923 chip
* PIC 16C924 chip
* PIC 16C925 chip
* PIC 16C926 chip
* Midrange Microcontroller
*/
volatile unsigned char INDF @ 0x00;
volatile unsigned char TMR0 @ 0x01;
volatile unsigned char PCL @ 0x02;
volatile unsigned char STATUS @ 0x03;
unsigned char FSR @ 0x04;
volatile unsigned char PORTA @ 0x05;
volatile unsigned char PORTB @ 0x06;
volatile unsigned char PORTC @ 0x07;
volatile unsigned char PORTD @ 0x08;
volatile unsigned char PORTE @ 0x09;
unsigned char PCLATH @ 0x0A;
volatile unsigned char INTCON @ 0x0B;
volatile unsigned char PIR1 @ 0x0C;
volatile unsigned char TMR1L @ 0x0E;
volatile unsigned char TMR1H @ 0x0F;
volatile unsigned char T1CON @ 0x10;
volatile unsigned char TMR2 @ 0x11;
volatile unsigned char T2CON @ 0x12;
volatile unsigned char SSPBUF @ 0x13;
volatile unsigned char SSPCON @ 0x14;
volatile unsigned char CCPR1L @ 0x15;
volatile unsigned char CCPR1H @ 0x16;
volatile unsigned char CCP1CON @ 0x17;
/* Bank 1 */
unsigned char OPTION @ 0x81;
volatile unsigned char TRISA @ 0x85;
volatile unsigned char TRISB @ 0x86;
volatile unsigned char TRISC @ 0x87;
volatile unsigned char TRISD @ 0x88;
volatile unsigned char TRISE @ 0x89;
volatile unsigned char PIE1 @ 0x8C;
volatile unsigned char PCON @ 0x8E;
volatile unsigned char PR2 @ 0x92;
volatile unsigned char SSPADD @ 0x93;
volatile unsigned char SSPSTAT @ 0x94;
/* Bank 2 */
volatile unsigned char PORTF @ 0x107;
volatile unsigned char PORTG @ 0x108;
volatile unsigned char LCDSE @ 0x10D;
volatile unsigned char LCDPS @ 0x10E;
volatile unsigned char LCDCON @ 0x10F;
volatile unsigned char LCDD00 @ 0x110;
volatile unsigned char LCDD01 @ 0x111;
volatile unsigned char LCDD02 @ 0x112;
volatile unsigned char LCDD03 @ 0x113;
volatile unsigned char LCDD04 @ 0x114;
volatile unsigned char LCDD05 @ 0x115;
volatile unsigned char LCDD06 @ 0x116;
volatile unsigned char LCDD07 @ 0x117;
volatile unsigned char LCDD08 @ 0x118;
volatile unsigned char LCDD09 @ 0x119;
volatile unsigned char LCDD10 @ 0x11A;
volatile unsigned char LCDD11 @ 0x11B;
volatile unsigned char LCDD12 @ 0x11C;
volatile unsigned char LCDD13 @ 0x11D;
volatile unsigned char LCDD14 @ 0x11E;
volatile unsigned char LCDD15 @ 0x11F;
/* Bank 3 */
volatile unsigned char TRISF @ 0x187;
volatile unsigned char TRISG @ 0x188;
#ifdef _16C924
volatile unsigned char ADRES @ 0x1E;
volatile unsigned char ADCON0 @ 0x1F;
volatile unsigned char ADCON1 @ 0x9F;
/* ADCON0 bits */
volatile bit ADCS1 @ (unsigned)&ADCON0*8+7;
volatile bit ADCS0 @ (unsigned)&ADCON0*8+6;
volatile bit CHS2 @ (unsigned)&ADCON0*8+5;
volatile bit CHS1 @ (unsigned)&ADCON0*8+4;
volatile bit CHS0 @ (unsigned)&ADCON0*8+3;
volatile bit ADGO @ (unsigned)&ADCON0*8+2;
// Alternate definition for compatability with other devices
volatile bit GODONE @ (unsigned)&ADCON0*8+2;
volatile bit ADON @ (unsigned)&ADCON0*8+0;
/* ADCON1 bits */
volatile bit PCFG2 @ (unsigned)&ADCON1*8+2;
volatile bit PCFG1 @ (unsigned)&ADCON1*8+1;
volatile bit PCFG0 @ (unsigned)&ADCON1*8+0;
#endif
#if defined(_16C925) || defined(_16C926) || defined(_16CR926)
unsigned char ADRESH @ 0x1E;
volatile unsigned char ADCON0 @ 0x1F;
unsigned char ADRESL @ 0x9E;
volatile unsigned char ADCON1 @ 0x9F;
volatile unsigned char PMCON1 @ 0x10C;
unsigned char PMDATA @ 0x18C;
unsigned char PMDATH @ 0x18D;
unsigned char PMADR @ 0x18E;
unsigned char PMADRH @ 0x18F;
/* ADRESH bits */
bit ADRESH7 @ (unsigned)&ADRESH*8+7;
bit ADRESH6 @ (unsigned)&ADRESH*8+6;
bit ADRESH5 @ (unsigned)&ADRESH*8+5;
bit ADRESH4 @ (unsigned)&ADRESH*8+4;
bit ADRESH3 @ (unsigned)&ADRESH*8+4;
bit ADRESH2 @ (unsigned)&ADRESH*8+2;
bit ADRESH1 @ (unsigned)&ADRESH*8+1;
bit ADRESH0 @ (unsigned)&ADRESH*8+0;
/* ADCON0 bits */
volatile bit ADCS1 @ (unsigned)&ADCON0*8+7;
volatile bit ADCS0 @ (unsigned)&ADCON0*8+6;
volatile bit CHS2 @ (unsigned)&ADCON0*8+5;
volatile bit CHS1 @ (unsigned)&ADCON0*8+4;
volatile bit CHS0 @ (unsigned)&ADCON0*8+3;
volatile bit GODONE @ (unsigned)&ADCON0*8+2;
// Alternate definition for compatability with other devices
volatile bit ADGO @ (unsigned)&ADCON0*8+2;
volatile bit ADON @ (unsigned)&ADCON0*8+0;
/* ADRESL bits */
bit ADRESL7 @ (unsigned)&ADRESL*8+7;
bit ADRESL6 @ (unsigned)&ADRESL*8+6;
bit ADRESL5 @ (unsigned)&ADRESL*8+5;
bit ADRESL4 @ (unsigned)&ADRESL*8+4;
bit ADRESL3 @ (unsigned)&ADRESL*8+4;
bit ADRESL2 @ (unsigned)&ADRESL*8+2;
bit ADRESL1 @ (unsigned)&ADRESL*8+1;
bit ADRESL0 @ (unsigned)&ADRESL*8+0;
/* ADCON1 bits */
volatile bit ADFM @ (unsigned)&ADCON1*8+7;
volatile bit PCFG3 @ (unsigned)&ADCON0*8+3;
volatile bit PCFG2 @ (unsigned)&ADCON0*8+2;
volatile bit PCFG1 @ (unsigned)&ADCON0*8+1;
volatile bit PCFG0 @ (unsigned)&ADCON0*8+0;
/* PMCON1 bits */
volatile bit RD @ (unsigned)&PMCON1*8+0;
/* PMDATA bits */
bit PMDATA7 @ (unsigned)&PMDATA*8+7;
bit PMDATA6 @ (unsigned)&PMDATA*8+6;
bit PMDATA5 @ (unsigned)&PMDATA*8+5;
bit PMDATA4 @ (unsigned)&PMDATA*8+4;
bit PMDATA3 @ (unsigned)&PMDATA*8+3;
bit PMDATA2 @ (unsigned)&PMDATA*8+2;
bit PMDATA1 @ (unsigned)&PMDATA*8+1;
bit PMDATA0 @ (unsigned)&PMDATA*8+0;
/* PMADR bits */
bit PMADR7 @ (unsigned)&PMADR*8+7;
bit PMADR6 @ (unsigned)&PMADR*8+6;
bit PMADR5 @ (unsigned)&PMADR*8+5;
bit PMADR4 @ (unsigned)&PMADR*8+4;
bit PMADR3 @ (unsigned)&PMADR*8+3;
bit PMADR2 @ (unsigned)&PMADR*8+2;
bit PMADR1 @ (unsigned)&PMADR*8+1;
bit PMADR0 @ (unsigned)&PMADR*8+0;
/* PMATH bits */
bit PMDATH5 @ (unsigned)&PMDATH*8+5;
bit PMDATH4 @ (unsigned)&PMDATH*8+4;
bit PMDATH3 @ (unsigned)&PMDATH*8+3;
bit PMDATH2 @ (unsigned)&PMDATH*8+2;
bit PMDATH1 @ (unsigned)&PMDATH*8+1;
bit PMDATH0 @ (unsigned)&PMDATH*8+0;
/* PMADRH bits */
bit PMADRH4 @ (unsigned)&PMADRH*8+4;
bit PMADRH3 @ (unsigned)&PMADRH*8+3;
bit PMADRH2 @ (unsigned)&PMADRH*8+2;
bit PMADRH1 @ (unsigned)&PMADRH*8+1;
bit PMADRH0 @ (unsigned)&PMADRH*8+0;
#endif
/* STATUS bits */
volatile bit IRP @ (unsigned)&STATUS*8+7;
volatile bit RP1 @ (unsigned)&STATUS*8+6;
volatile bit RP0 @ (unsigned)&STATUS*8+5;
volatile bit TO @ (unsigned)&STATUS*8+4;
volatile bit PD @ (unsigned)&STATUS*8+3;
volatile bit ZERO @ (unsigned)&STATUS*8+2;
volatile bit DC @ (unsigned)&STATUS*8+1;
volatile bit CARRY @ (unsigned)&STATUS*8+0;
/* PORTA bits */
volatile bit RA5 @ (unsigned)&PORTA*8+5;
volatile bit RA4 @ (unsigned)&PORTA*8+4;
volatile bit RA3 @ (unsigned)&PORTA*8+3;
volatile bit RA2 @ (unsigned)&PORTA*8+2;
volatile bit RA1 @ (unsigned)&PORTA*8+1;
volatile bit RA0 @ (unsigned)&PORTA*8+0;
/* PORTB bits */
volatile bit RB7 @ (unsigned)&PORTB*8+7;
volatile bit RB6 @ (unsigned)&PORTB*8+6;
volatile bit RB5 @ (unsigned)&PORTB*8+5;
volatile bit RB4 @ (unsigned)&PORTB*8+4;
volatile bit RB3 @ (unsigned)&PORTB*8+3;
volatile bit RB2 @ (unsigned)&PORTB*8+2;
volatile bit RB1 @ (unsigned)&PORTB*8+1;
volatile bit RB0 @ (unsigned)&PORTB*8+0;
/* PORTC bits */
volatile bit RC5 @ (unsigned)&PORTC*8+5;
volatile bit RC4 @ (unsigned)&PORTC*8+4;
volatile bit RC3 @ (unsigned)&PORTC*8+3;
volatile bit RC2 @ (unsigned)&PORTC*8+2;
volatile bit RC1 @ (unsigned)&PORTC*8+1;
volatile bit RC0 @ (unsigned)&PORTC*8+0;
/* PORTD bits */
volatile bit RD7 @ (unsigned)&PORTD*8+7;
volatile bit RD6 @ (unsigned)&PORTD*8+6;
volatile bit RD5 @ (unsigned)&PORTD*8+5;
volatile bit RD4 @ (unsigned)&PORTD*8+4;
volatile bit RD3 @ (unsigned)&PORTD*8+3;
volatile bit RD2 @ (unsigned)&PORTD*8+2;
volatile bit RD1 @ (unsigned)&PORTD*8+1;
volatile bit RD0 @ (unsigned)&PORTD*8+0;
/* PORTE bits */
volatile bit RE7 @ (unsigned)&PORTE*8+7;
volatile bit RE6 @ (unsigned)&PORTE*8+6;
volatile bit RE5 @ (unsigned)&PORTE*8+5;
volatile bit RE4 @ (unsigned)&PORTE*8+4;
volatile bit RE3 @ (unsigned)&PORTE*8+3;
volatile bit RE2 @ (unsigned)&PORTE*8+2;
volatile bit RE1 @ (unsigned)&PORTE*8+1;
volatile bit RE0 @ (unsigned)&PORTE*8+0;
/* INTCON bits */
volatile bit GIE @ (unsigned)&INTCON*8+7;
volatile bit PEIE @ (unsigned)&INTCON*8+6;
volatile bit T0IE @ (unsigned)&INTCON*8+5;
volatile bit INTE @ (unsigned)&INTCON*8+4;
volatile bit RBIE @ (unsigned)&INTCON*8+3;
volatile bit T0IF @ (unsigned)&INTCON*8+2;
volatile bit INTF @ (unsigned)&INTCON*8+1;
volatile bit RBIF @ (unsigned)&INTCON*8+0;
/* PIR1 bits */
volatile bit LCDIF @ (unsigned)&PIR1*8+7;
#ifndef _16C923
volatile bit ADIF @ (unsigned)&PIR1*8+6;
#endif
volatile bit SSPIF @ (unsigned)&PIR1*8+3;
volatile bit CCP1IF @ (unsigned)&PIR1*8+2;
volatile bit TMR2IF @ (unsigned)&PIR1*8+1;
volatile bit TMR1IF @ (unsigned)&PIR1*8+0;
/* T1CON bits */
volatile bit T1CKPS1 @ (unsigned)&T1CON*8+5;
volatile bit T1CKPS0 @ (unsigned)&T1CON*8+4;
volatile bit T1OSCEN @ (unsigned)&T1CON*8+3;
volatile bit T1SYNC @ (unsigned)&T1CON*8+2;
volatile bit TMR1CS @ (unsigned)&T1CON*8+1;
volatile bit TMR1ON @ (unsigned)&T1CON*8+0;
/* T2CON bits */
volatile bit TOUTPS3 @ (unsigned)&T2CON*8+6;
volatile bit TOUTPS2 @ (unsigned)&T2CON*8+5;
volatile bit TOUTPS1 @ (unsigned)&T2CON*8+4;
volatile bit TOUTPS0 @ (unsigned)&T2CON*8+3;
volatile bit TMR2ON @ (unsigned)&T2CON*8+2;
volatile bit T2CKPS1 @ (unsigned)&T2CON*8+1;
volatile bit T2CKPS0 @ (unsigned)&T2CON*8+0;
/* SSPCON bits */
volatile bit WCOL @ (unsigned)&SSPCON*8+7;
volatile bit SSPOV @ (unsigned)&SSPCON*8+6;
volatile bit SSPEN @ (unsigned)&SSPCON*8+5;
volatile bit CKP @ (unsigned)&SSPCON*8+4;
volatile bit SSPM3 @ (unsigned)&SSPCON*8+3;
volatile bit SSPM2 @ (unsigned)&SSPCON*8+2;
volatile bit SSPM1 @ (unsigned)&SSPCON*8+1;
volatile bit SSPM0 @ (unsigned)&SSPCON*8+0;
/* CCP1CON bits */
volatile bit CCP1X @ (unsigned)&CCP1CON*8+5;
volatile bit CCPIY @ (unsigned)&CCP1CON*8+4;
volatile bit CCP1M3 @ (unsigned)&CCP1CON*8+3;
volatile bit CCP1M2 @ (unsigned)&CCP1CON*8+2;
volatile bit CCP1M1 @ (unsigned)&CCP1CON*8+1;
volatile bit CCP1M0 @ (unsigned)&CCP1CON*8+0;
/* OPTION bits */
bit RBPU @ (unsigned)&OPTION*8+7;
bit INTEDG @ (unsigned)&OPTION*8+6;
bit T0CS @ (unsigned)&OPTION*8+5;
bit T0SE @ (unsigned)&OPTION*8+4;
bit PSA @ (unsigned)&OPTION*8+3;
bit PS2 @ (unsigned)&OPTION*8+2;
bit PS1 @ (unsigned)&OPTION*8+1;
bit PS0 @ (unsigned)&OPTION*8+0;
/* TRISA bits */
volatile bit TRISA5 @ (unsigned)&TRISA*8+5;
volatile bit TRISA4 @ (unsigned)&TRISA*8+4;
volatile bit TRISA3 @ (unsigned)&TRISA*8+3;
volatile bit TRISA2 @ (unsigned)&TRISA*8+2;
volatile bit TRISA1 @ (unsigned)&TRISA*8+1;
volatile bit TRISA0 @ (unsigned)&TRISA*8+0;
/* TRISB bits */
volatile bit TRISB7 @ (unsigned)&TRISB*8+7;
volatile bit TRISB6 @ (unsigned)&TRISB*8+6;
volatile bit TRISB5 @ (unsigned)&TRISB*8+5;
volatile bit TRISB4 @ (unsigned)&TRISB*8+4;
volatile bit TRISB3 @ (unsigned)&TRISB*8+3;
volatile bit TRISB2 @ (unsigned)&TRISB*8+2;
volatile bit TRISB1 @ (unsigned)&TRISB*8+1;
volatile bit TRISB0 @ (unsigned)&TRISB*8+0;
/* TRISC bits */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -