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

📄 kc_funcs.h

📁 AT80296C 单片机中使用此头文件可方便查找东西,方便于编程 板头文件
💻 H
字号:
/*
 * @(#)kc_funcs.h	1.3
 * Special functions for 80C196KC and compatible processors.
 */
#ifndef _kc_funcs_h
#define _kc_funcs_h

void            enable(void);
void            disable(void);

void            enable_pts(void);
void            disable_pts(void);

void            power_down(void);
void            idle(void);

/****************************************************************************/
/* Define typedefs for PTS Control Blocks of 80C196KC.                      */
/****************************************************************************/

/*
 * Single Transfer PTS Control Block
 */
typedef struct STran_ptscb_t
{
    unsigned char       ptscount;
    struct
    {
        unsigned int        di : 1;
        unsigned int        si : 1;
        unsigned int        du : 1;
        unsigned int        su : 1;
        unsigned int        b_w : 1;
        unsigned int        mode : 3;
    } ptscon;
    void               *ptssrc;
    void               *ptsdst;
    int                 :16;                                /* unused */
} STran_ptscb;


/*
 * Block Transfer PTS Control Block
 */
typedef struct BTran_ptscb_t
{
    unsigned char       ptscount;
    struct
    {
        unsigned int        di : 1;
        unsigned int        si : 1;
        unsigned int        du : 1;
        unsigned int        su : 1;
        unsigned int        b_w : 1;
        unsigned int        mode : 3;
    } ptscon;
    void               *ptssrc;
    void               *ptsdst;
    unsigned char       ptsblock;
    int                 :8;                                 /* unused */
} BTran_ptscb;


/*
 * A/D Mode PTS Control Block
 */
typedef struct AD_ptscb_t
{
    unsigned char       ptscount;
    struct
    {
        unsigned int        const1 : 3;
        unsigned int        updt   : 1;
        unsigned int        const2 : 1;
        unsigned int        mode   : 3;
    } ptscon;
    unsigned int        s_d;
    unsigned int        reg;
    int                 :16;                                /* unused */
} AD_ptscb;


/*
 *  HSI Mode PTS Control Block
 */
typedef struct HSI_ptscb_t
{
    unsigned char       ptscount;
    struct
    {
        unsigned int        const1 : 3;
        unsigned int        updt   : 1;
        unsigned int        const2 : 1;
        unsigned int        mode   : 3;
    } ptscon;
    unsigned int        ptsdst;
    unsigned int        :16;                                /* unused */
    unsigned char       ptsblock;
    int                 : 8;                                /* unused */
} HSI_ptscb;


/*
 * HSO Mode PTS Control Block
 */
typedef struct HSO_ptscb_t
{
    unsigned char       ptscount;
    struct {
        unsigned int        const1 : 3;
        unsigned int        updt   : 1;
        unsigned int        const2 : 1;
        unsigned int        mode   : 3;
    } ptscon;
    unsigned int        ptssrc;
    unsigned int        :16;                                /* unused */
    unsigned char       ptsblock;
    int                 : 8;                                /* unused */
} HSO_ptscb;


/*
 *  PTS A/D Table
 */
typedef struct AD_tab_t
{
    unsigned char       AD_command;
    unsigned int        AD_result;
} AD_tab;

/*
 *  PTS HSI Table
 */
typedef struct HSI_tab_t
{
    unsigned char       HSI_status_lo;
    unsigned char       HSI_status_hi;
    unsigned int        HSI_time;
} HSI_tab;

/*
 *  PTS HSO Table
 */
typedef struct HSO_tab_t
{
    unsigned char       HSO_command;
    unsigned int        HSO_time;
} HSO_tab;

#endif  /* _kc_funcs_h */

⌨️ 快捷键说明

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