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

📄 elite-iii.h

📁 51开发环境
💻 H
字号:
/*********************************************************************
 *
 *		文件名:	ELITE-III.H
 *
 *		版本号:	0.1
 *
 *		原作者:	ZeroStar < boylinxing@tom.com >
 *
 *		修改者:	ZeroStar < boylinxing@tom.com >
 *
 *		创建日期:	01 / 24 / 2007
 *
 *		更新日期:	01 / 25 / 2007
 *
 *		文件功能:	ELITE-III 实验板的 I/O 口资源分配说明
 *
 *		使用说明:	
 *
 *********************************************************************/

#ifndef	__ELITE_III_H__
#define	__ELITE_III_H__

///////////////////////////////////////////////////////////////////////

/* 红外接收头 */

sbit	IR_IN				= P3^2;			// 红外输入口为 INT0

/* EEPROM */

sbit	EEPROM_SCL			= P1^0;			// EEPROM 的 SCL 口
sbit	EEPROM_SDA			= P1^1;			// EEPROM 的 SDA 口

/* 液晶显示模块 LCD1602、实时时钟芯片 DS1302 */

sbit	LCKLCD				= P3^5;

sbit	DS1302_SCLK			= P1^1;			// 移位时钟线 SCLK
sbit	DS1302_IO			= P1^2;			// 串行数据输入输出端 I/O
sbit	DS1302_CE			= P1^4;			// 片选线 CE (/RST)

sbit	LCD_RS	 			= P1^2;			// LCD 使用的 RS 口
sbit	LCD_RW 				= P1^3;			// LCD 使用的 R/W口
sbit	LCD_EP 				= P1^5;			// LCD 使用的 VEE口
#define	LCD_DATA			P0				// LCD 使用的数据口

#define	DS1302_SET_CE(ce)	(LCKLCD = 0, DS1302_CE = ce, LCKLCD = 1)

#define	LCD_SET_RS(rs)		(LCKLCD = 0, LCD_RS = rs, LCKLCD = 1)
#define	LCD_SET_RW(rw)		(LCKLCD = 0, LCD_RW = rw, LCKLCD = 1)
#define	LCD_SET_EP(ep)		(LCKLCD = 0, LCD_EP = ep, LCKLCD = 1)

/* 其它:继电器、蜂鸣器、LED 8 x 8 点阵 */

sbit	CS138				= P1^7;
sbit	RELAY1				= P0^4;
sbit	RELAY2				= P0^5;
sbit	BUZZER				= P0^6;
#define	LED8X8_ROW			P0
#define	LED8X8_COL			P0

static bit _RELAY1, _RELAY2, _BUZZER;

#define	LCKR1				(0x8f)
#define	LCKC1				(0x9f)
#define	LCKDISP				(0xaf)
#define	CSad				(0xbf)
#define	RDkey				(0xcf)
#define	LCKMOTOR			(0xdf)

#define	LOCK_DATA(x)		\
(							\
	P1 |= 0x70,				\
	P1 &= x,				\
	CS138 = 0,				\
	CS138 = 1,				\
	CS138 = 0				\
)

#define	OTHERS_UPDATE()		\
(							\
	RELAY1 = _RELAY1,		\
	RELAY2 = _RELAY2,		\
	BUZZER = _BUZZER,		\
	LOCK_DATA(LCKMOTOR)		\
)

#define	OTHERS_INIT()		\
(							\
	_RELAY1 = 0,			\
	_RELAY2 = 0,			\
	_BUZZER = 0,			\
	OTHERS_UPDATE()			\
)

#define	RELAY1_ON()			(_RELAY1 = 1, OTHERS_UPDATE())
#define	RELAY1_OFF()		(_RELAY1 = 0, OTHERS_UPDATE())
#define	RELAY2_ON()			(_RELAY2 = 1, OTHERS_UPDATE())
#define	RELAY2_OFF()		(_RELAY2 = 0, OTHERS_UPDATE())
#define	BUZZER_ON()			(_BUZZER = 1, OTHERS_UPDATE())
#define	BUZZER_OFF()		(_BUZZER = 0, OTHERS_UPDATE())
#define	LED8X8_SET_ROW(x)	(LED8X8_ROW = x, LOCK_DATA(LCKR1))
#define	LED8X8_SET_COL(x)	(LED8X8_COL = x, LOCK_DATA(LCKC1))

///////////////////////////////////////////////////////////////////////

#endif

⌨️ 快捷键说明

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