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

📄 pic18f6720_peripherydevice.h

📁 一个基于PIC18F单片机的开发的流量计量仪表
💻 H
字号:
/*------------------------------------------------------*/
/*FILE NAME	  : PIC18F6720_PERIPHERYDEVICE.H 		*/
/*DATE			  : 06.12.5								*/
/*FOR HardWare	  : wtrctrl_v2.sch						*/
/*NAME			  : QiuHao								*/
/*														*/
/*														*/
/*														*/
/*------------------------------------------------------*/
#ifndef 	__PIC18F6720_DEVICE_OP_
#define __PIC18F6720_DEVICE_OP_

/*	MCU INTERRUPT 		*/
#define ENGIE						INTCONbits.GIE = 1
#define DSGIE						INTCONbits.GIE = 0
#define ENPIE						INTCONbits.PEIE  = 1
#define DSPIE						INTCONbits.PEIE  = 0
#define DsInt						DSGIE
#define OpInt						ENGIE


/*	UART1 for infrared ray	*/
#define SETUART1BUADRATE		SPBRG1 = 207	//1.2k
#define UART1RXEN				RCSTA1bits.CREN = 1		
#define UART1RXDS				RCSTA1bits.CREN = 0
#define CLRUART1RXINTF			PIR1bits.RC1IF = 0			
#define UART1RXINTIF			PIR1bits.RC1IF	

/*	UART2 for GSM TC35i	*/
#define SETUART2BUADRATE		SPBRG2 = 25	//9.6k
#define UART2RXEN				RCSTA2bits.CREN = 1
#define UART2RXDS				RCSTA2bits.CREN = 0
#define CLRUART2RXINTF			PIR3bits.RC2IF = 0
#define UART2RXINTIF			PIR3bits.RC2IF

/*	TIMER0	*/
#define TIMER0ON				T0CONbits.TMR0ON	= 1
#define TIMER0OFF				T0CONbits.TMR0ON	= 0
#define ENTIMER0INT				INTCONbits.TMR0IE	= 1
#define DSTIMER0INT				INTCONbits.TMR0IE	= 0
#define CLRTIMER0INTF			INTCONbits.TMR0IF	= 0
#define TIMER0INTF				INTCONbits.TMR0IF

#define SETT0_31mS				T0CON |= 0x00
#define SETT0_63mS				T0CON |= 0x01
#define SETT0_125mS			T0CON |= 0x02
#define SETT0_250mS			T0CON |= 0x03
#define SETT0_500mS			T0CON |= 0x04
#define SETT0_1S				T0CON |= 0x05
#define SETT0_2S				T0CON |= 0x06
#define SETT0_4S				T0CON |= 0x07
	

/*	TIMER1	*/
#define TIMER1ON				T1CONbits.TMR1ON	= 1
#define 	TIMER1OFF				T1CONbits.TMR1ON	= 0
#define CLRTIMER1INTF			PIR1bits.TMR1IF = 0	
#define TIMER1INTF				PIR1bits.TMR1IF

/*	TIMER2	*/
#define	TIMER2ON				TCON2bits.TMR2ON = 1
#define	TIMER2OFF				TCON2bits.TMR2ON = 0
#define	CLRTIMER2INTF			PIR1bits.TMR2IF = 0
#define	TIMER2INTF				PIR1bits.TMR2IF

#define	SET38K					PR2 = 26
#define	SET56K					PR2 = 17	
#define	SET115k					PR2 = 8

/*	TIMER3	*/
#define TIMER3ON				T3CONbits.TMR3ON	= 1
#define 	TIMER3OFF				T3CONbits.TMR3ON	= 0
#define	CLRTIMER3INTF			PIR2bits.TMR3IF = 0	
#define	TIMER3INTF				PIR2bits.TMR3IF

/*	A/D 	*/
#define TURNADON				ADCON0bits.ADON = 1
#define TURNADOFF				ADCON0bits.ADON = 0
#define STARTAD					ADCON0bits.GO = 1
#define ADSTA					ADCON0bits.GO
#define ADINTF					PIR1bits.ADIF
#define CLRADINTF				PIR1bits.ADIF = 0
#define ADVALH					ADRESH 	
#define ADVALL					ADRESL
#define ADSELCLR				ADCON0 &= 0xc3
#define ADPRESSSEL				ADCON0 |= 0x10		//AN4	TLC6800
#define ADMOTOSEL				ADCON0 |= 0x14		//AN5	Motor Velue  
#define ADPWRSEL				ADCON0 |= 0x04		//AN1	6V battery Voltage det	
#define ADSPWRSEL				ADCON0 |= 0x00		//AN0	sun battery Voltage det
#define ADTEMPSEL				ADCON0 |= 0x18		//AN6	INA326
#define ADTEMP2SEL				ADCON0 |= 0x08		//AN2	LM324


/*	WDT	*/
#define	CLRDOG		asm("clrwdt")


/*	EXTREN INTERRUPT	*/
#define	_INT0F					INTCONbits.INT0IF			//for sin1		
#define	CLR_INT0F				INTCONbits.INT0IF = 0		

#define	_INT1F					INTCON3bits.INT1IF			//for sin2			
#define	CLR_INT1F				INTCON3bits.INT1IF = 0		

#define	_INT2F					INTCON3bits.INT2IF			//for sin3
#define	CLR_INT2F				INTCON3bits.INT2IF = 0

#define	_INT3F					INTCON3bits.INT3IF			//for KBINT
#define	CLR_INT3F				INTCON3bits.INT3IF = 0

#define IBINTEN					INTCONbits.RBIE = 1
#define IBINTDS					INTCONbits.RBIE = 0
#define SETRBINTIP				INTCON2bits.RBIP = 0 
#define _RBINTF					INTCONbits.RBIF 
#define CLR_RBINTF				INTCONbits.RBIF = 0

⌨️ 快捷键说明

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