cd4094_cd4021.h

来自「交流异步电机直接转矩控制程序」· C头文件 代码 · 共 132 行

H
132
字号
/****************************************************************************
* 文 件 名:cd4084_cd4021.h
* 版    本: V1.0
* 功    能:cd4084_cd4021集成电路驱动集头文件
* 连    接:
* 说    明: 有需要就调用
*   作者:黄振升
*   日期:2006/05/31
*---------------历史版本信息-------------------------------------------------
*  修 改 人: 黄振升
*  版    本: V1.0
*  日   期: 2006/05/31
*  描   述:
****************************************************************************/
/***********************************************************************
							包含文件
***********************************************************************/

#include "config.h"
#include "masterine.h"//包含管脚定义头文件//
#include "math.h"

/***********************************************************************
							个种集成电路宏定义
***********************************************************************/

/***********************************************************************
* 型	号:CD4094,串入并出集成电路
* 说	明: CD4094_STROBE      --      P0.7 
*			CD4094_CLK         --      P0.8
*			CD4094_DATA        --      P0.9
***********************************************************************/

/* 定义STROBE控制 */
#define  CD4094_STROBE 9 
#define  CD4094_STROBE_EN()  IO0SET = IO0SET |(1 << CD4094_STROBE )
#define  CD4094_STROBE_CL()  IO0CLR = IO0CLR |(1 << CD4094_STROBE )

/* 定义DATA读数据 */
#define  CD4094_DATA 8 
#define	 CD4094_DATA_Write(dat)  IO0CLR = IO0CLR|(0x01 <<CD4094_DATA);  IO0SET = IO0SET|(dat<< CD4094_DATA)

/* 定义CLK控制 */
#define  CD4094_CLK 7
#define  CD4094_CLK_EN()  IO0SET = IO0SET |(1 << CD4094_CLK )
#define  CD4094_CLK_CL()  IO0CLR = IO0CLR |(1 << CD4094_CLK )
/***********************************************************************
* 名    称:CD4094_Init()
* 功    能:初始化CD4094的各个接口
* 入口参数:无
* 出口参数: 无
* 说    明:4094的output enable 接高电平
***********************************************************************/
void CD4094_Init(void);
 
/***********************************************************************
* 名    称:CD4094_Write(uint8 *value, uint16 bit)
* 功    能:将一字节数据写入4094
* 入口参数:8位数据
* 出口参数: 无
* 说    明:写过程采用模拟总线方式,注意这里输入的数组是储存位的,也就是数组中只允许0与1两个值,这是本
*			次设计方便的需要
*			CD4094_STROBE      --      P1.16 
*			CD4094_CLK         --      P1.17
*			CD4094_DATA        --      P1.18
***********************************************************************/
void CD4094_WriteChar(uint8 value);



/***********************************************************************
* 型	号:CD4021,并入串出集成电路
* 说	明: CD4021_PE     	   --      P1.19 
*			CD4021_CLK         --      P1.20
*			CD4021_DATA        --      P1.21
***********************************************************************/

/* 定义STROBE控制 */
#define  CD4021_PE 19												//串并行控制 
#define  CD4094_PE_EN()  IO1SET = IO1SET |(1 << CD4021_PE )
#define  CD4094_PE_CL()  IO1CLR = IO1CLR |(1 << CD4021_PE )

/* 定义CLK控制 */
#define  CD4021_CLK 20
#define  CD4021_CLK_EN()  IO1SET = IO1SET |(1 << CD4021_CLK )
#define  CD4021_CLK_CL()  IO1CLR = IO1CLR |(1 << CD4021_CLK )


/* 定义DATA读数据 */
#define  CD4021_DATA 21 
#define	 CD4021_DATA_Read()  ((IO1PIN >> (CD4021_DATA)) &0X01)


/***********************************************************************
* 名    称:CD4021_Init()
* 功    能:初始化CD4094的各个接口
* 入口参数:无
* 出口参数: 无
* 说    明:4094的output enable 接高电平
***********************************************************************/
void CD4021_Init(void);

/***********************************************************************
* 名    称:CD4021_Read(uint8 *sbuf,uint16 bit)
* 功    能:将数据写入4094
* 入口参数:一个储存数据的缓冲区,需要读取多少个数据
* 出口参数: 无
* 说    明:读过程采用模拟总线方式,注意这里输出的数组是储存位的,也就是数组中只允许0与1两个值,这是本
*			次设计方便的需要
*		    CD4021_PE     	   --      P1.19 
*			CD4021_CLK         --      P1.20
*			CD4021_DATA        --      P1.21
***********************************************************************/
void CD4021_Read(uint8 *sbuf, uint16 bit);

















⌨️ 快捷键说明

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