⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pic1677x.h

📁 picc
💻 H
📖 第 1 页 / 共 3 页
字号:

#ifndef	_HTC_H_
#warning Header file pic1677x.h included directly. Use #include <htc.h> instead.
#endif

/*
 *	Header file for the Microchip 
 *	PIC 16C770 chip
 *	PIC 16C771 chip
 *	PIC 16C717 chip
 *	PIC 16C773 chip
 *	PIC 16C774 chip
 *	PIC 16C745 chip
 *	PIC 16C765 chip
 *	Midrange Microcontrollers
 */

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;
#if defined(_16C773) || defined(_16C774) || defined(_16C745) || defined(_16C765)
volatile unsigned char	PORTC	@ 0x07;
#endif
#if defined(_16C774) || defined(_16C765)
volatile unsigned char	PORTD	@ 0x08;
volatile unsigned char	PORTE	@ 0x09;
#endif
         unsigned char	PCLATH	@ 0x0A;
volatile unsigned char	INTCON	@ 0x0B;
volatile unsigned char	PIR1	@ 0x0C;
volatile unsigned char	PIR2	@ 0x0D;
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;
#if !defined(_16C745) && !defined(_16C765)
volatile unsigned char	SSPBUF	@ 0x13;
volatile unsigned char	SSPCON	@ 0x14;
#endif
volatile unsigned char	CCPR1L	@ 0x15;
volatile unsigned char	CCPR1H	@ 0x16;
volatile unsigned char	CCP1CON	@ 0x17;
#if defined(_16C773) || defined(_16C774) || defined(_16C745) || defined(_16C765)
volatile unsigned char	RCSTA	@ 0x18;
volatile unsigned char	TXREG	@ 0x19;
volatile unsigned char	RCREG	@ 0x1A;
volatile unsigned char	CCPR2L	@ 0x1B;
volatile unsigned char	CCPR2H	@ 0x1C;
volatile unsigned char	CCP2CON	@ 0x1D;
#endif
volatile unsigned char	ADRESH	@ 0x1E;
volatile unsigned char	ADCON0	@ 0x1F;

         unsigned char      	OPTION	@ 0x81;
         unsigned char      	TRISA	@ 0x85;
         unsigned char      	TRISB	@ 0x86;
#if defined(_16C773) || defined(_16C774) || defined(_16C745) || defined(_16C765)
         unsigned char      	TRISC	@ 0x87;
#endif
#if defined(_16C774) || defined(_16C765)
         unsigned char      	TRISD	@ 0x88;
         unsigned char      	TRISE	@ 0x89;
#endif
volatile unsigned char      	PIE1	@ 0x8C;
volatile unsigned char      	PIE2	@ 0x8D;
volatile unsigned char      	PCON	@ 0x8E;
#if !defined(_16C745) && !defined(_16C765)
volatile unsigned char      	SSPCON2	@ 0x91;
#endif
volatile unsigned char      	PR2	@ 0x92;
#if !defined(_16C745) && !defined(_16C765)
volatile unsigned char      	SSPADD	@ 0x93;
volatile unsigned char      	SSPSTAT	@ 0x94;
#if defined(_16C770) || defined(_16C771) || defined(_16C717)
volatile unsigned char      	WPUB	@ 0x95;
volatile unsigned char      	IOCB	@ 0x96;
volatile unsigned char      	P1DEL	@ 0x97;
#endif
#endif
#if defined(_16C773) || defined(_16C774) || defined(_16C745) || defined(_16C765)
volatile unsigned char      	TXSTA	@ 0x98;
volatile unsigned char      	SPBRG	@ 0x99;
#endif
#if !defined(_16C745) && !defined(_16C765)
volatile unsigned char      	REFCON	@ 0x9B;
volatile unsigned char      	LVDCON	@ 0x9C;
#if defined(_16C770) || defined(_16C771) || defined(_16C717)
volatile unsigned char      	ANSEL	@ 0x9D;
#endif
volatile unsigned char      	ADRESL	@ 0x9E;
#endif
volatile unsigned char      	ADCON1	@ 0x9F;

#if defined(_16C770) || defined(_16C771) || defined(_16C717)
	unsigned char      	PMDATL	@ 0x10C;
	unsigned char      	PMADRL	@ 0x10D;
		unsigned char      	PMDATH	@ 0x10E;
		unsigned char      	PMADRH	@ 0x10F;
#endif

#if defined(_16C745) || defined(_16C765)
/* USB Registers */
volatile unsigned char      	UIR	@ 0x190;
volatile unsigned char      	UIE	@ 0x191;
volatile unsigned char      	UEIR	@ 0x192;
volatile unsigned char      	UEIE	@ 0x193;
volatile unsigned char      	USTAT	@ 0x194;
volatile unsigned char      	UCTRL	@ 0x195;
volatile unsigned char      	UADDR	@ 0x196;
volatile unsigned char      	USWSTAT	@ 0x197;
volatile unsigned char      	UEP0	@ 0x198;
volatile unsigned char      	UEP1	@ 0x199;
volatile unsigned char      	UEP2	@ 0x19A;

volatile unsigned char      	BD0OST @ 0x1A0;
volatile unsigned char      	BD1OST @ 0x1A8;
volatile unsigned char      	BD2OST @ 0x1B0;

volatile unsigned char      	BD0IST @ 0x1A4;
volatile unsigned char      	BD1IST @ 0x1AC;
volatile unsigned char      	BD2IST @ 0x1B4;

volatile unsigned char      	BD0OBC	@ 0x1A1;
volatile unsigned char      	BD1OBC	@ 0x1A9;
volatile unsigned char      	BD2OBC	@ 0x1B1;

volatile unsigned char      	BD0IBC	@ 0x1A5;
volatile unsigned char      	BD1IBC	@ 0x1AD;
volatile unsigned char      	BD2IBC	@ 0x1B5;

volatile unsigned char *      	BD0OAL	@ 0x1A2;
volatile unsigned char *     	BD1OAL	@ 0x1AA;
volatile unsigned char *    	BD2OAL	@ 0x1B2;

volatile unsigned char *   	BD0IAL	@ 0x1A6;
volatile unsigned char *  	BD1IAL	@ 0x1AE;
volatile unsigned char * 	BD2IAL	@ 0x1B6;

/* USB Dual Port Memory buffer */
volatile unsigned char       USBMEM[40]	@ 0x1B8;

#endif


/* 	TMR0 bits	*/
bit	TMR07	@ (unsigned)&TMR0*8+7;
bit	TMR06   @ (unsigned)&TMR0*8+6;
bit	TMR05   @ (unsigned)&TMR0*8+5;
bit	TMR04	@ (unsigned)&TMR0*8+4;
bit	TMR03	@ (unsigned)&TMR0*8+3;
bit	TMR02   @ (unsigned)&TMR0*8+2;
bit	TMR01   @ (unsigned)&TMR0*8+1;
bit	TMR00   @ (unsigned)&TMR0*8+0;

/*	PCL bits	*/
bit	PCL7	@ (unsigned)&PCL*8+7;
bit	PCL6   	@ (unsigned)&PCL*8+6;
bit	PCL5   	@ (unsigned)&PCL*8+5;
bit	PCL4	@ (unsigned)&PCL*8+4;
bit	PCL3	@ (unsigned)&PCL*8+3;
bit	PCL2	@ (unsigned)&PCL*8+2;
bit	PCL1   	@ (unsigned)&PCL*8+1;
bit	PCL0  	@ (unsigned)&PCL*8+0;

/*	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      */
#if defined(_16C770) || defined(_16C771) || defined(_16C717)
volatile bit	RA7     @ (unsigned)&PORTA*8+7;
volatile bit	RA6     @ (unsigned)&PORTA*8+6;
#endif
#if defined(_16C770) || defined(_16C771) || defined(_16C717) || defined(_16C774) || defined(_16C745) || defined(_16C765)
volatile bit	RA5     @ (unsigned)&PORTA*8+5;
#endif
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      */
#if defined(_16C773) || defined(_16C774) || defined(_16C745) || defined(_16C765)
volatile bit	RC7     @ (unsigned)&PORTC*8+7;
volatile bit	RC6     @ (unsigned)&PORTC*8+6;
#if !defined(_16C745) && !defined(_16C765)
volatile bit	RC5     @ (unsigned)&PORTC*8+5;
volatile bit	RC4     @ (unsigned)&PORTC*8+4;
volatile bit	RC3     @ (unsigned)&PORTC*8+3;
#endif
volatile bit	RC2     @ (unsigned)&PORTC*8+2;
volatile bit	RC1     @ (unsigned)&PORTC*8+1;
volatile bit	RC0     @ (unsigned)&PORTC*8+0;
#endif

#if defined(_16C774) || defined(_16C765)
/*      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      RE2     @ (unsigned)&PORTE*8+2;
volatile bit      RE1     @ (unsigned)&PORTE*8+1;
volatile bit      RE0     @ (unsigned)&PORTE*8+0;
#endif

/*	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	*/
#if defined(_16C774) || defined(_16C765)
volatile bit	PSPIF	@ (unsigned)&PIR1*8+7;
#endif
volatile bit	ADIF	@ (unsigned)&PIR1*8+6;
#if defined(_16C773) || defined(_16C774) || defined(_16C745) || defined(_16C765)
volatile bit	RCIF	@ (unsigned)&PIR1*8+5;
volatile bit	TXIF	@ (unsigned)&PIR1*8+4;
#endif
#if defined(_16C745) || defined(_16C765)
volatile bit	USBIF	@ (unsigned)&PIR1*8+3;
#endif
#if !defined(_16C745) && !defined(_16C765)
volatile bit	SSPIF	@ (unsigned)&PIR1*8+3;
#endif
volatile bit	CCP1IF	@ (unsigned)&PIR1*8+2;
volatile bit	TMR2IF	@ (unsigned)&PIR1*8+1;
volatile bit	TMR1IF	@ (unsigned)&PIR1*8+0;

/*	PIR2 bits	*/
#if !defined(_16C745) && !defined(_16C765)
volatile bit	LVDIF	@ (unsigned)&PIR2*8+7;
volatile bit	BCLIF	@ (unsigned)&PIR2*8+3;
#endif
#if defined(_16C773) || defined(_16C774) || defined(_16C745) || defined(_16C765)
volatile bit	CCP2IF	@ (unsigned)&PIR2*8+0;
#endif

/*	TMR1L bits	*/
bit	TMR1L7		@ (unsigned)&TMR1L*8+7;
bit	TMR1L6  	@ (unsigned)&TMR1L*8+6;
bit	TMR1L5  	@ (unsigned)&TMR1L*8+5;
bit	TMR1L4		@ (unsigned)&TMR1L*8+4;
bit	TMR1L3		@ (unsigned)&TMR1L*8+3;
bit	TMR1L2  	@ (unsigned)&TMR1L*8+2;
bit	TMR1L1  	@ (unsigned)&TMR1L*8+1;
bit	TMR1L0  	@ (unsigned)&TMR1L*8+0;

/*	TMR1H bits	*/
bit	TMR1H7		@ (unsigned)&TMR1H*8+7;
bit	TMR1H6  	@ (unsigned)&TMR1H*8+6;
bit	TMR1H5  	@ (unsigned)&TMR1H*8+5;
bit	TMR1H4		@ (unsigned)&TMR1H*8+4;
bit	TMR1H3		@ (unsigned)&TMR1H*8+3;
bit	TMR1H2  	@ (unsigned)&TMR1H*8+2;
bit	TMR1H1  	@ (unsigned)&TMR1H*8+1;
bit	TMR1H0  	@ (unsigned)&TMR1H*8+0;

/* 	TMR2 bits	*/
bit	TMR27	@ (unsigned)&TMR2*8+7;
bit	TMR26   @ (unsigned)&TMR2*8+6;
bit	TMR25   @ (unsigned)&TMR2*8+5;
bit	TMR24	@ (unsigned)&TMR2*8+4;
bit	TMR23	@ (unsigned)&TMR2*8+3;
bit	TMR22   @ (unsigned)&TMR2*8+2;
bit	TMR21   @ (unsigned)&TMR2*8+1;
bit	TMR20   @ (unsigned)&TMR2*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;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -