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

📄 pic18f6720_io.h

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


#ifndef 	__PIC18F6720_IO_
#define __PIC18F6720_IO_

/*	DS1302   */
#define	DSCLKOUT		LATDbits.LATD6	
#define	SETDSCLK		DDRDbits.RD6 = 0;DSCLKOUT = 1

#define DSRSTOUT		LATDbits.LATD4	
#define	SETDSRST		DDRDbits.RD4 = 0;DSRSTOUT = 1

#define	DSDAIN			PORTDbits.RD5			
#define	DSDAOUT		LATDbits.LATD5			
#define	SETDSDAOUT		DDRDbits.RD5 = 0
#define SETDSDAIN		DDRDbits.RD5 = 1
#define SETDSDA			SETDSDAOUT;DSDAOUT = 1	

/*	AT24C1024	*/     
#define	E2WPOUT		LATCbits.LATC2					  
#define	SETE2WP		DDRCbits.RC2 = 0;E2WPOUT = 1

#define	E2CLKOUT		LATCbits.LATC3					  
#define	SETE2CLK		DDRCbits.RC3 = 0;E2CLKOUT = 1

#define E2SDAIN			PORTCbits.RC4					  
#define	E2SDAOUT		LATCbits.LATC4				
#define	SETE2DAOUT		DDRCbits.RC4 = 0
#define SETE2DAIN		DDRCbits.RC4 = 1
#define SETE2DA			SETE2DAIN;E2SDAOUT = 1		

/*	MOTOR	DREVIC	*/	
#define	CLOSEOUT		LATCbits.LATC1			
#define	SETCLOSEOUT	DDRCbits.RC1 = 0
#define SETCLOSE		SETCLOSEOUT;CLOSEOUT = 0			

#define OPENOUT		LATCbits.LATC0					 
#define	SETOPENOUT	DDRCbits.RC0 = 0
#define SETOPEN			SETOPENOUT;OPENOUT = 0

#define 	OPVEL			CLOSEOUT = 0;OPENOUT = 1	//Velue Oparetion
#define CLVEL			OPENOUT = 0;CLOSEOUT = 1
#define RSTVEL			OPENOUT = 0;CLOSEOUT = 0	

#define VELSTAOPIN		PORTBbits.RB5
#define VELSTAOPOUT	LATBbits.LATB5	
#define 	SETVELSTAOPIN	 DDRBbits.RB5 = 1
#define SETVELSTAOP	SETVELSTAOPIN

#define VELSTACLIN		PORTBbits.RB4
#define VELSTACLOUT	LATBbits.LATB4	
#define SETVELSTACLIN 	DDRBbits.RB4 = 1
#define SETVELSTACL		SETVELSTACLIN



/*	SIN1~3	*/
#define SIN1OUT			LATBbits.LATB0	
#define SIN1IN			PORTBbits.RB0
#define	SETSIN1IN		DDRBbits.RB0 = 1
#define 	SETSIN1OUT		DDRBbits.RB0 = 0
#define SIN1INTEN		INTCONbits.INT0IE = 1
#define SIN1INTDS		INTCONbits.INT0IE = 0
#define SIN1EDG			INTCON2bits.INTEDG0	
#define SETSIN1			SETSIN1IN;SIN1OUT = 1;SIN1EDG = 0;SIN1INTEN

#define SIN2OUT			LATBbits.LATB1
#define SIN2IN			PORTBbits.RB1
#define	SETSIN2IN		DDRBbits.RB1 = 1
#define	SETSIN2OUT		DDRBbits.RB1 = 0
#define SIN2INTEN		INTCON3bits.INT1IE = 1
#define SIN2INTDS		INTCON3bits.INT1IE = 0
#define SIN2EDG			INTCON2bits.INTEDG1
#define SIN2IP			INTCON3bits.INT1IP	
#define SETSIN2			SETSIN2IN;SIN2OUT = 1;SIN2EDG = 0;SIN2IP = 1;SIN2INTEN

#define SIN3OUT			LATBbits.LATB2
#define SIN3IN			PORTBbits.RB2
#define	SETSIN3IN		DDRBbits.RB2 = 1
#define	SETSIN3OUT		DDRBbits.RB2 = 0
#define SIN3INTEN		INTCON3bits.INT2IE = 1
#define SIN3INTDS		INTCON3bits.INT2IE = 0
#define SIN3EDG			INTCON2bits.INTEDG2
#define SIN3IP			INTCON3bits.INT2IP					
#define SETSIN3			SETSIN3IN;SIN3OUT = 1;SIN3EDG = 0;SIN3IP = 1;SIN3INTEN


/*	SOUT1~3	*/
#define SOUT1OUT		LATFbits.LATF2
#define SOUT1IN			PORTFbits.RF2
#define SETSOUT1OUT	DDRFbits.RF2 = 0
#define SETSOUT1IN		DDRFbits.RF2 = 1
#define SETSOUT1		SETSOUT1OUT;SOUT1OUT = 1
#define OPOUT1			SOUT1OUT = 0
#define CLOUT1			SOUT1OUT = 1

#define SOUT2OUT		LATFbits.LATF3
#define SOUT2IN			PORTFbits.RF3
#define SETSOUT2OUT	DDRFbits.RF3 = 0
#define SETSOUT2IN		DDRFbits.RF3 = 1
#define SETSOUT2		SETSOUT2OUT;SOUT2OUT = 1
#define OPOUT2			SOUT2OUT = 0	
#define CLOUT2			SOUT2OUT = 1

#define SOUT3OUT		LATFbits.LATF4
#define SOUT3IN			PORTFbits.RF4
#define SETSOUT3OUT	DDRFbits.RF4 = 0
#define SETSOUT3IN		DDRFbits.RF4 = 1
#define SETSOUT3  		SETSOUT3OUT;SOUT3OUT = 1
#define OPOUT3			SOUT3OUT = 0
#define CLOUT3			SOUT3OUT = 1

/*	USER KEY	*/
#define KBINTOUT			LATBbits.LATB3
#define KBINTIN				PORTBbits.RB3
#define SETKBINTIN			DDRBbits.RB3 = 1
#define SETKBINTOUT			DDRBbits.RB3 = 0
#define KBINTINTEN			INTCON3bits.INT3IE = 1	
#define KBINTINTDS			INTCON3bits.INT3IE = 0	
#define KBINTEDG			INTCON2bits.INTEDG3 
#define KBINTIP				INTCON2bits.INT3IP	
#define SETKBINT 			SETKBINTIN;KBINTOUT = 1;KBINTEDG = 0;KBINTIP = 0;KBINTINTDS

#define KEYDOWNOUT		LATFbits.LATF5
#define KEYDOWNIN			PORTFbits.RF5
#define SETKEYDOWNIN		DDRFbits.RF5 = 1
#define SETKEYDOWNOUT		DDRFbits.RF5 = 0
#define SETKEYDOWN		SETKEYDOWNOUT;KEYDOWNOUT = 1
#define KEYDOWNDS			KEYDOWNOUT = 1//;KBINTINTDS
#define KEYDOWNEN			KEYDOWNOUT = 0//;KBINTINTEN	

#define KEYUPOUT			LATFbits.LATF6			
#define KEYUPIN				PORTFbits.RF6
#define SETKEYUPIN			DDRFbits.RF6 = 1
#define SETKEYUPOUT		DDRFbits.RF6 = 0
#define SETKEYUP			SETKEYUPOUT;KEYUPOUT = 1	
#define KEYUPDS				KEYUPOUT = 1//;KBINTINTDS
#define KEYUPEN				KEYUPOUT = 0//;KBINTINTEN	

#define KEYONOFFOUT		LATFbits.LATF7	
#define KEYONOFFIN			PORTFbits.RF7
#define SETKEYONOFFIN		DDRFbits.RF7 = 1
#define SETKEYONOFFOUT	DDRFbits.RF7 = 0
#define SETKEYONOFF		SETKEYONOFFOUT;KEYONOFFOUT = 1
#define KEYONOFFDS			KEYONOFFOUT = 1//;KBINTINTDS
#define KEYONOFFEN			KEYONOFFOUT = 0//;KBINTINTEN	

#define KEYSELOUT			LATGbits.LATG4	
#define KEYSELIN			PORTGbits.RG4
#define SETKEYSELIN			DDRGbits.RG4 = 1
#define SETKEYSELOUT		DDRGbits.RG4 = 0	
#define SETKEYSEL			SETKEYSELOUT;KEYSELOUT = 1
#define KEYSELDS			KEYSELOUT	= 1//;KBINTINTDS
#define KEYSELEN			KEYSELOUT = 0//;KBINTINTEN	


				
/*	HT1623 LCD DISPLAY	*/
#define		LEDCTRL			LATDbits.LATD3                    //PIN 53  OUTPUT
#define		DDRLEDCTRL		DDRDbits.RD3
#define LEDCTRLOUT			LATDbits.LATD3
#define SETLEDCTRLOUT		DDRDbits.RD3 = 0
#define SETLEDCTRL			SETLEDCTRLOUT	;LEDCTRLOUT = 0		 		

#define		LCDCS			LATDbits.LATD2					  //PIN 54  OUTPUT
#define 		DDRLCDCS       	 DDRDbits.RD2
#define	LCDCSOUT			LATDbits.LATD2
#define 	SETLCDCSOUT		DDRDbits.RD2 = 0
#define SETLCDCS			SETLCDCSOUT;LCDCSOUT = 1

#define		LCDRD			LATDbits.LATD1 					  //PIN 55	OUTPUT
#define		DDRLCDRD		DDRDbits.RD1
#define	LCDRDOUT			LATDbits.LATD1
#define SETLCDRDOUT		DDRDbits.RD1 = 0
#define SETLCDRD			SETLCDRDOUT;LCDRDOUT = 1

#define		LCDRW			LATDbits.LATD0					  //PIN 58	OUTPUT
#define		DDRLCDRW		DDRDbits.RD0
#define	LCDRWOUT			LATDbits.LATD0
#define SETLCDRWOUT		DDRDbits.RD0 = 0
#define SETLCDRW			SETLCDRWOUT;LCDRWOUT = 1		
	
#define		LCDDA_IN		PORTEbits.RE7					  //PIN 59	OUTPUT/INPUT
#define		LCDDA_OUT		LATEbits.LATE7
#define		DDRLCDDA		DDREbits.RE7
#define	LCDDAOUT			LATEbits.LATE7
#define	LCDDAIN			PORTEbits.RE7
#define SETLCDDAOUT		DDREbits.RE7 = 0
#define SETLCDDAIN			DDREbits.RE7 = 1
#define SETLCDDA 			SETLCDDAOUT;LCDDAOUT = 1

/*	FM1702 R/W CARD DEVICE	*/
#define HQCCLK				LATEbits.LATE6					  //PIN 60  OUTPUT
#define DDRHQCCLK	       	DDREbits.RE6
#define HQCCLKOUT			LATEbits.LATE6
#define SETHQCCLKOUT		DDREbits.RE6 = 0
#define SETHQCCLKIN		DDREbits.RE6 = 1
#define SETHQCCLK			SETHQCCLKOUT;HQCCLKOUT = 1			

#define	HQCMN				LATEbits.LATE5					  //PIN 61  OUTPUT
#define	DDRHQCMN			DDREbits.RE5
#define	HQCMNOUT			LATEbits.LATE5		
#define  SETHQCMNOUT		DDREbits.RE5 = 0
#define  SETHQCMNIN		DDREbits.RE5 = 1
#define  SETHQCMN			SETHQCMNOUT;HQCMNOUT = 1

#define HQCDI				LATEbits.LATE4					  //PIN	62  INPUT
#define DDRHQCDI			DDREbits.RE4
#define HQCDIIN				PORTEbits.RE4
#define HQCDIOUT			LATEbits.LATE4
#define SETHQCDIOUT		DDREbits.RE4 = 0
#define SETHQCDIIN			DDREbits.RE4 = 1
#define SETHQCDI			SETHQCDIOUT	;HQCDIOUT = 1 		

#define HQCDO				PORTEbits.RE3					  //PIN 63  OUTPUT
#define DDRHQCDO			DDREbits.RE3	
#define HQCDOOUT			LATEbits.LATE3
#define SETHQCDOIN			DDREbits.RE3 = 1
#define SETHQCDO			SETHQCDOIN;HQCDOOUT = 1	

#define HQCRST				LATEbits.LATE2 					  //PIN 64  OUTPUT
#define DDRHQCRST			DDREbits.RE2
#define HQCRSTOUT			LATEbits.LATE2 
#define SETHQCRSTOUT		DDREbits.RE2 = 0
#define SETHQCRSTIN		DDREbits.RE2 = 1
#define SETHQCRST			SETHQCRSTOUT;HQCRSTOUT = 1	

#define	HQCPWRCTRLOUT	LATEbits.LATE1
#define SETHQCPWRCTRLOUT	DDREbits.RE1 = 0
#define SETHQCPWRCTRL		SETHQCPWRCTRLOUT;HQCPWRCTRLOUT = 0			//initialization don`t give power to FM1702

/*	TC35i  R/T SMS DEVICE	*/
#define GSMPWRCTRLOUT		LATEbits.LATE0
#define SETGSMPWRCTRLOUT	DDREbits.RE0 = 0
#define SETGSMPWRCTRL		SETGSMPWRCTRLOUT;GSMPWRCTRLOUT = 0	

#define PDOUT					LATGbits.LATG0
#define SETPDOUT				DDRGbits.RG0 = 0
#define SETPD					SETPDOUT;PDOUT = 1

#define IGTOUT					LATGbits.LATG3
#define SETIGTOUT				DDRGbits.RG3 = 0
#define SETIGT					SETIGTOUT;IGTOUT = 1

#define DTETXDOUT				LATGbits.LATG1
#define SETDTETXDOUT			DDRGbits.RG1 = 0
#define SETDTETXD				SETDTETXDOUT;DTETXDOUT = 1

#define DTERXDOUT				LATGbits.LATG2
#define SETDTERXDIN				DDRGbits.RG1 = 1
#define SETDTERXD				SETDTERXDIN;DTERXDOUT = 1

/*	buzzer	*/								
#define BZOUT					LATDbits.LATD7						//buzzer drived dy 2S9012
#define SETBZOUT 				DDRDbits.RD7 = 0
#define SETBZ					SETBZOUT;BZOUT = 1					
#define BZON					BZOUT = 0
#define BZOFF					BZOUT = 1	



#define YLPWRCTRLOUT			LATCbits.LATC5
#define SETYLPWRCTRLOUT		DDRCbits.RC5 = 0
#define SETYLPWRCTRL			SETYLPWRCTRLOUT;YLPWRCTRLOUT = 0

/*	UART1	*/
#define TXD1OUT					LATCbits.LATC6
#define SETTXD1OUT				DDRCbits.RC6 = 0
#define SETTXD1IN				DDRCbits.RC6 = 1
#define SETTXD1					SETTXD1OUT;TXD1OUT = 1

#define RXD1OUT				LATCbits.LATC7
#define SETRXD1IN				DDRCbits.RC7 = 1			
#define SETRXD1 				SETRXD1IN;RXD1OUT = 1

#define	HWPWCTRL				LATBbits.LATB7
#define SETHWPWCTRLOUT		DDRBbits.RB7 = 0
#define SETHWPWCTRL			SETHWPWCTRLOUT;HWPWCTRL = 1;

#define	RS485RT					LATBbits.LATB7	
#define SETRS485RTOUT			DDRBbits.RB7 = 0
#define SETRS485RTIN			DDRBbits.RB7 = 1
#define SETRS485RT				SETRS485RTOUT;RS485RT = 0	//485 bus rev
#define SET485TTLOUT			RS485RT = 0			
#define SET485TTLIN				RS485RT = 1

#define HW38KOUT				LATAbits.LATA4			
#define SETHW38KOUTOUT		DDRAbits.RA4 = 0
#define	SETHW38KOUT			SETHW38KOUTOUT;HW38KOUT = 1
#define HW38KOUTH				HW38KOUT = 1
#define HW38KOUTL				HW38KOUT = 0

/*	SOLAD battery charge up CONTRL	*/
#define CDCTRLOUT				LATBbits.LATB6
#define SETCDCTRLOUT			DDRBbits.RB6 = 0
#define SETCDCTRL				SETCDCTRLOUT;	CDCTRLOUT = 0 



/*	Power Voltage detect			*/
#define SETPWRDET_ANIN		DDRAbits.RA1 = 1		//6V battery Voltage det		AN1

/*	SOLAD battery Voltage detect	*/
#define SETSPWRDET_ANIN		DDRAbits.RA0 = 1		//sun battery Voltage det		AN0	

/*	Temputer detect				*/
#define SETTEMPUTERDET_ANIN	DDRFbits.RF1 = 1		//INA326					AN6			

/*	Temputer2 detect			*/
#define SETTEMPUTER2DET_ANIN	DDRAbits.RA2 = 1		//LM324						AN2

/*	PRESSURE DETECT			*/
#define SETYLDET_ANIN			DDRAbits.RA5 = 1			//TLC6800					AN4

/*	MOTO DETECT				*/
#define SETMTRDET_ANIN			DDRFbits.RF0 = 1			//motor 						AN5






⌨️ 快捷键说明

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