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

📄 pin.h

📁 motor_control.zip
💻 H
字号:
// 硬件相关定义, 请根据实际硬件修改本文件

#pragma NOAREGS		// 如果MCS51使用键盘中断功能,那么建议加入此编译选项

//#define		ENABLE_2_CH452		1	// 在2线接口下支持两个CH452芯片并联

/* 延时1uS子程序,主要用于2线接口,与单片机速度有关 */
//#define		DELAY_1US		{}				// MCS51<=10MHz
//#define		DELAY_1US		{_nop_();}		// MCS51<=20MHz
#define		DELAY_1US		{_nop_();_nop_();}	// MCS51<=30MHz
#define		DELAY_10US		{_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}

/* 2线接口的连接,与实际电路有关 */
//sbit	CH452_SCL=P1^7;
//sbit	CH452_SDA=P1^6;   // 如果使用真正的2线接口,那么SDA接中断引脚P3^3/INT1,用SDA直接做中断输出
//sbit	CH452_ADDR=P1^5;  // 实际电路应该硬件接GND或者VCC
//sbit	CH452_INT=P3^3;   // 标准的2线接口使用该引脚输出中断

/* 4线接口的连接,与实际电路有关 */
sbit   CH452_DCLK=P2^4;                     // 串行数据时钟上升延激活
sbit   CH452_DIN=P2^7;		                // 串行数据输出,接CH452的数据输入
sbit   CH452_LOAD=P2^6;                     // 串行命令加载,上升延激活
sbit   CH452_DOUT=P3^7;                     // INT1,键盘中断和键值数据输入,接CH452的数据输出

/* 2线接口的位操作,与单片机有关 */
#define		CH452_SCL_SET		{CH452_SCL=1;}
#define		CH452_SCL_CLR		{CH452_SCL=0;}
#define		CH452_SCL_D_OUT		{}				// 设置SCL为输出方向,对于双向I/O需切换为输出
#define		CH452_SDA_SET		{CH452_SDA=1;}
#define		CH452_SDA_CLR		{CH452_SDA=0;}
#define		CH452_SDA_IN		(CH452_SDA)
#define		CH452_SDA_D_OUT		{}				// 设置SDA为输出方向,对于双向I/O需切换为输出
#define		CH452_SDA_D_IN		{CH452_SDA=1;}	// 设置SDA为输入方向,对于双向I/O需切换为输入

/* 4线接口的位操作,与单片机有关 */
#define		CH452_DCLK_SET		{CH452_DCLK=1;}
#define		CH452_DCLK_CLR		{CH452_DCLK=0;}
#define		CH452_DCLK_D_OUT	{}				// 设置DCLK为输出方向,对于双向I/O需切换为输出
#define		CH452_DIN_SET		{CH452_DIN=1;}
#define		CH452_DIN_CLR		{CH452_DIN=0;}
#define		CH452_DIN_D_OUT		{}				// 设置DIN为输出方向,对于双向I/O需切换为输出
#define		CH452_LOAD_SET		{CH452_LOAD=1;}
#define		CH452_LOAD_CLR		{CH452_LOAD=0;}
#define		CH452_LOAD_D_OUT	{}				// 设置LOAD为输出方向,对于双向I/O需切换为输出
#define		CH452_DOUT_D_IN		{CH452_DOUT=1;}	// 设置DOUT为输入方向,对于双向I/O需切换为输入


/* 与单片机有关,与中断连接方式有关 */
//#define		USE_CH452_KEY		1			// 使用了CH452的按键中断
//#ifdef USE_CH452_KEY
#define		DISABLE_KEY_INTERRUPT	{EIE2 &= 0xDF;}
#define		ENABLE_KEY_INTERRUPT	{EIE2 |= 0x20;}
#define		CLEAR_KEY_INTER_FLAG	{P3IF &= 0x7F;}
//#else
//#define		DISABLE_KEY_INTERRUPT	{}
//#define		ENABLE_KEY_INTERRUPT	{}
//#define		CLEAR_KEY_INTER_FLAG	{}
//#endif

⌨️ 快捷键说明

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