📄 iog.h
字号:
/************************************************************************************
* Copyright (c), 2004-2007,西安铭朗电子科技有限责任公司
* All rights reserved.
*
* Http: www.mlarm.com
* Email: mlarm@mlarm.com
*
* File name: IOG.h
* Project : ML-F020ICB
* Processor: C8051F020
* Compiler : Keil C51 Compiler
*
* Author: 李林利
* Version: 1.20
* Date: 2007.6.1
* Email: GavinLi@126.com
*
* Description: 本文件是16路光耦隔离IO(8路输出8路输入)端口硬件驱动程序头文件;
*
* Others: none;
*
* Function List:
* 1. void IOG_Init(void)
* 2. void IOG_PutVal(unsigned char val)
* 3. void IOGx_PutVal(unsigned char chx, unsigned char val)
* 4. unsigned char IOG_GetVal(void)
* 5. unsigned char IOGx_GetVal(unsigned char chx)
*
* History:
* 1. Author: 李林利
* Version: 1.10
* Date: 2007.3.12
* Modification: none
*
* 2. Author: 李林利
* Version: 1.00
* Date: 2004.11.24
* Modification: 建立文件
*
*************************************************************************************/
/*************************************************************************************
* IOG函数使用说明
*
* 1. 第1步,必须先调用函数IOG_Init(),本函数只允许调用一次;
* 2. 第2步,要同时操作8路输入输出端口请优先使用函数IOG_GetVal()和IOG_PutVal();
* 要单独操作1路输入输出端口请优先使用函数IOGx_GetVal()和IOGx_PutVal();
* 3. 其它细节详见具体函数说明;
*
*************************************************************************************/
/*************************************************************************************
* 常量及全局变量定义
*************************************************************************************/
/*************************************************************************************/
//
// IOG函数外部引用声明
//
/*************************************************************************************/
/***********************************************************************************
* Function: IOG_Init;
*
* Description: IOG初始化函数, 8路输出为低;
*
* Input: none;
*
* Output: none;
*
* Return: none;
*
* Note: 调用此函数后, 8路光耦隔离输出为低电平;
************************************************************************************/
void IOG_Init(void);
/***********************************************************************************
* Function: IOG_PutVal;
*
* Description: 输出8路光耦隔离输出数据;
*
* Input: val, 输出的数据, 每位定义如下:
* bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
* OUT8 OUT7 OUT6 OUT5 OUT4 OUT3 OUT2 OUT1
* bitx = 0,输出低电平; bitx = 1,输出高电平;
*
* Output: none;
*
* Return: none;
*
* Note: none;
************************************************************************************/
void IOG_PutVal(unsigned char val);
/***********************************************************************************
* Function: IOGx_PutVal;
*
* Description: 输出1路光耦隔离数据;
*
* Input: val,输出数据,范围0到1; val=0, 输出低电平; val=1, 输出高电平;
* chx,光耦隔离输出数据通道,范围: 1~8;
*
* Output: none;
*
* Return: none;
*
* Note: 如果chx<1或chx>8则输出保持不变;
************************************************************************************/
void IOGx_PutVal(unsigned char chx, unsigned char val);
/***********************************************************************************
* Function: IOG_GetVal;
*
* Description: 读取8路光耦隔离输入数据;
*
* Input: none;
*
* Output: none;
*
* Return: 8路光耦隔离输入数据,每位定义如下:
* bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
* DIN8 DIN7 DIN6 DIN5 DIN4 DIN3 DIN2 DIN1
* bitx = 0,外部低电平输入; bitx = 1,外部高电平输入;
*
* Note: none;
************************************************************************************/
unsigned char IOG_GetVal(void);
/***********************************************************************************
* Function: IOGx_GetVal;
*
* Description: 读取1路光耦隔离输入数据;
*
* Input: chx,光耦隔离输入数据通道,范围: 1~8;
*
* Output: none;
*
* Return: 1路光耦隔离输入数据; 0,外部低电平输入; 1,外部高电平输入;
*
* Note: none;
************************************************************************************/
unsigned char IOGx_GetVal(unsigned char chx);
/***********************************************************************************/
// 文件结束
/***********************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -