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

📄 mygpio.h

📁 完整的原创单片机控制彩色液晶源代码(keil工程) 320x240液晶模块底层驱动 控制芯片5408 CPU LPC2131(or Higher) 开发环境 keil C for ARM (MDK
💻 H
字号:
//By Adam 2009.3.4  V1.0
//By Adam 2009.3.5  V1.1
//By Adam 2009.3.5  V1.2
//By Adam 2009.3.25 V1.3
	//定义了更多的io口 1.2以前版本停止使用 另行存档
	//没必要的部分已删除
	//增加方向设置宏定义

#ifndef __MYGPIO_H 
#define __MYGPIO_H

//几种IO口的定义方式
#define BEEP (1 << 7)	// P0.7控制蜂鸣器,低电平蜂鸣

#define LED1 (1 << 18)	// LED8~LED1 8个LED分别由P1.25~P1.18控制
#define LED2 (1 << 19)
#define LED3 (1 << 20)
#define LED4 (1 << 21)
#define LED5 (1 << 22)
#define LED6 (1 << 23)
#define LED7 (1 << 24)
#define LED8 (1 << 25)	//V1.3	

#define LEDS8 (0xFF << 18)

#define KEY1 (1 << 16)		// P0.16	//V1.3
#define KEY2 (1 << 17)		// P0.17
#define KEY3 (1 << 18) 		// P0.18
#define KEY4 (1 << 19)		// P0.19
#define KEY5 (1 << 20)		// P0.20
#define KEY6 (1 << 21)		// P0.21

//#define Delay_Macro(time,i) for (i=0; i<time; i++);
//宏定义方式直接置位IO口
//置1 0 取反 (未采用函数方式由于:费时间 不推荐 需要编译器进行优化)
//注意IO0 IO1
#define LED1_1 IO1SET = LED1		//V1.3

#define LED1_0 IO1CLR = LED1		//V1.3

#define LED2_1 IO1SET = LED2		//V1.3

#define LED2_0 IO1CLR = LED2		//V1.3

#define BEEP_1 IO0SET = BEEP		//V1.3

#define BEEP_0 IO0CLR = BEEP		//V1.3

#define LED1_INV	\
		if (IO1SET & LED1)	\
			IO1CLR = LED1;	\
		else	\
			IO1SET = LED1

#define LED2_INV	\
		if (IO1SET & LED2)	\
			IO1CLR = LED2;	\
		else	\
			IO1SET = LED2

#define LED3_INV	\
		if (IO1SET & LED3)	\
			IO1CLR = LED3;	\
		else	\
			IO1SET = LED3

#define LED4_INV	\
		if (IO1SET & LED4)	\
			IO1CLR = LED4;	\
		else	\
			IO1SET = LED4

#define BEEP_INV	\
		if (IO0SET & BEEP)	\
			IO0CLR = BEEP;	\
		else	\
			IO0SET = BEEP		//V1.3

#define LED1_F(a)	\
		if (a)	\
			IO1SET = LED1;	\
		else	\
			IO1CLR = LED1		//V1.3

#define BEEP_OUT	IO0DIR |= BEEP		// BEEP控制口输出
#define LED1_OUT	IO1DIR |= LED1		// LED1控制口输出
#define LED2_OUT	IO1DIR |= LED2
#define LED3_OUT	IO1DIR |= LED3
#define LED4_OUT	IO1DIR |= LED4
#define LED5_OUT	IO1DIR |= LED5
#define LED6_OUT	IO1DIR |= LED6
#define LED7_OUT	IO1DIR |= LED7
#define LED8_OUT	IO1DIR |= LED8		//V1.3
#define LEDS8_OUT	IO1DIR |= LEDS8		//V1.3

#define LEDS8_1(a)	\
		IO1SET = (a) << 18		//V1.2

#define LEDS8_0(a)	\
		IO1CLR = (a) << 18		//V1.2

#define LEDS8_DATA(a)	\
		IO1CLR = LEDS8;	\
		IO1SET = (a) << 18 

#define KEY1_ON !(IO0PIN & KEY1)		//V1.3	//(IO0PIN & KEY1) == 0	==> !(IO0PIN & KEY1) 

#define KEY2_ON !(IO0PIN & KEY2)		//V1.3

#define KEY3_ON !(IO0PIN & KEY3)		//V1.3

#endif

⌨️ 快捷键说明

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