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

📄 pic169xx.h

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

#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 + -