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

📄 para_sw.c

📁 CH3xx系列芯片和开发套件开发资料
💻 C
字号:
/* 本例用I/O引脚模拟产生CH374的并口读写时序 */
/* 本例中的硬件连接方式如下(实际应用电路可以参照修改下述定义及子程序) */
/* 单片机的引脚    CH374芯片的引脚
      P2.0                 A0
      P2.6                 CS#    如果模拟出的并口上只有CH374,那么CS#可以直接接低电平,强制片选
      P3.6                 WR#
      P3.7                 RD#
      P0(8位端口)         D7-D0       */
sbit	CH374_A0	=	P2^0;
sbit	CH374_CS	=	P2^6;
sbit	CH374_WR	=	P3^6;
sbit	CH374_RD	=	P3^7;
#define	CH374_DATA_DAT_OUT( d )	{ P0 = d; }		/* 向并口输出数据 */
#define	CH374_DATA_DAT_IN( )	( P0 )			/* 从并口输入数据 */
#define	CH374_DATA_DIR_OUT( )					/* 设置并口方向为输出 */
#define	CH374_DATA_DIR_IN( )	{ P0 = 0xFF; }	/* 设置并口方向为输入 */

void CH374_PORT_INIT( )  /* 由于使用通用I/O模拟并口读写时序,所以进行初始化 */
{
	CH374_CS = 1;
	CH374_WR = 1;
	CH374_RD = 1;
	CH374_A0 = 0;
	CH374_DATA_DIR_IN( );  /* 设置并口输入 */
}

static	void Write374Index( UINT8 mIndex )  /* 向CH374写索引地址 */
{
	CH374_DATA_DAT_OUT( mIndex );  /* 向CH374的并口输出数据 */
	CH374_DATA_DIR_OUT( );  /* 设置并口方向为输出 */
	CH374_A0 = 1;
	CH374_CS = 0;
	CH374_WR = 0;  /* 输出有效写控制信号, 写CH374芯片的索引端口 */
//	CH374_CS = 0;  /* 该操作无意义,仅作延时,CH374要求读写脉冲宽度大于70nS */
	CH374_WR = 1;  /* 输出无效的控制信号, 完成操作CH374芯片 */
	CH374_CS = 1;
	CH374_A0 = 0;
	CH374_DATA_DIR_IN( );  /* 禁止数据输出 */
}

static	void Write374Data( UINT8 mData )  /* 向CH374写数据,索引地址自动加1 */
{
	CH374_DATA_DAT_OUT( mData );  /* 向CH374的并口输出数据 */
	CH374_DATA_DIR_OUT( );  /* 设置并口方向为输出 */
	CH374_A0 = 0;
	CH374_CS = 0;
	CH374_WR = 0;  /* 输出有效写控制信号, 写CH374芯片的数据端口 */
//	CH374_CS = 0;  /* 该操作无意义,仅作延时,CH374要求读写脉冲宽度大于70nS */
	CH374_WR = 1;  /* 输出无效的控制信号, 完成操作CH374芯片 */
	CH374_CS = 1;
	CH374_DATA_DIR_IN( );  /* 禁止数据输出 */
}

static	UINT8 Read374Data( void )  /* 从CH374读数据,索引地址自动加1 */
{
	UINT8	mData;
	CH374_DATA_DIR_IN( );  /* 设置并口方向为输入 */
	CH374_A0 = 0;
	CH374_CS = 0;
	CH374_RD = 0;  /* 输出有效写控制信号, 读CH374芯片的数据端口 */
	CH374_CS = 0;  /* 该操作无意义,仅作延时,CH374要求读写脉冲宽度大于70nS,强烈建议此处执行一条空指令延时以确保并口有足够时间输入数据 */
	mData = CH374_DATA_DAT_IN( );  /* 从CH374的并口输入数据 */
	CH374_RD = 1;  /* 输出无效的控制信号, 完成操作CH374芯片 */
	CH374_CS = 1;
	return( mData );
}

⌨️ 快捷键说明

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