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

📄 target_i0.h

📁 本程序实现在M16C上的AD转换
💻 H
字号:
/*""FILE COMMENT""*************************************************************
*  System Name : This program is only for education.
*  File Name   : target_i0.h
*  Contents    : Practice 8-A SFR definition file for M16C/60 serials (C language)
*              :              - for INT0 interrupt -
*  Model       : OAKS16-LCD Board
*  CPU         : M16C/60 Serials 
*  Assembler   : NC30WA(V.4.00 Release 2 - Entry)
*  Linker      : (ln30) for M16C Family Version 4.00.01
*  OS          : No use 
*  Programer   : RENESAS Semiconductor Training Center 
*  Note        : Fit to OAKS16-M30620FCAFP(M16C/62 group,16MHz)
*******************************************************************************
* COPYRIGHT(C) 2004 RENESAS TECHNOLOGY CORPORATION ALL RIGHTS RESERVED 
*               AND RENESAS SOLUTIONS CORPORATION ALL RIGHTS RESERVED
*******************************************************************************
* History      : ---
*""FILE COMMENT END""*********************************************************/

#ifndef __TARGET_H
#define __TARGET_H

/******************************************************************************
 *  type declaration to SFR area
 *****************************************************************************/
union byte_def{                 /* for accessing bit/byte          */
    struct{                 
        unsigned char b0:1;     /* bit0(LSB)                     */
        unsigned char b1:1;     /* bit1                          */
        unsigned char b2:1;     /* bit2                          */
        unsigned char b3:1;     /* bit3                          */
        unsigned char b4:1;     /* bit4                          */
        unsigned char b5:1;     /* bit5                          */
        unsigned char b6:1;     /* bit6                          */
        unsigned char b7:1;     /* bit7(MSB)                     */
    }bit;                       /* for accessing bit             */
    unsigned char   byte;       /* for accessing byte            */
};

union word_def{                 /* for accessing bit/byte/word    */
    struct{
        unsigned char    b0:1;  /* bit0(LSB)                     */
        unsigned char    b1:1;  /* bit1                          */
        unsigned char    b2:1;  /* bit2                          */
        unsigned char    b3:1;  /* bit3                          */
        unsigned char    b4:1;  /* bit4                          */
        unsigned char    b5:1;  /* bit5                          */
        unsigned char    b6:1;  /* bit6                          */
        unsigned char    b7:1;  /* bit7                          */
        unsigned char    b8:1;  /* bit8                          */
        unsigned char    b9:1;  /* bit9                          */
        unsigned char    b10:1; /* bit10                         */
        unsigned char    b11:1; /* bit11                         */
        unsigned char    b12:1; /* bit12                         */
        unsigned char    b13:1; /* bit13                         */
        unsigned char    b14:1; /* bit14                         */
        unsigned char    b15:1; /* bit15(MSB)                    */
    }bit;                       /* for accessing bit                 */
    struct{
        unsigned char    low;   /* low-order  8bit                    */
        unsigned char    high;  /* high-order  8bit                    */
    }byte;                      /* for accessing byte                 */
    unsigned short  word;       /* for accessing word                 */
};

/******************************************************************************
 *  accessing the absolute address by #pragma defining 
 *****************************************************************************/
/*=============================================================================
 *   related register to I/O Port
 *===========================================================================*/
/*-----------------------------------------------------------------------------
 *  Port P3 register
 *---------------------------------------------------------------------------*/
#pragma ADDRESS p3_addr     003e5H 
union byte_def  p3_addr;
#define     p3      p3_addr.byte

#define     p3_0    p3_addr.bit.b0                  /* Port P3 bit0    */
#define     p3_1    p3_addr.bit.b1                  /* Port P3 bit1    */
#define     p3_2    p3_addr.bit.b2                  /* Port P3 bit2    */
#define     p3_3    p3_addr.bit.b3                  /* Port P3 bit3    */
#define     p3_4    p3_addr.bit.b4                  /* Port P3 bit4    */
#define     p3_5    p3_addr.bit.b5                  /* Port P3 bit5    */
#define     p3_6    p3_addr.bit.b6                  /* Port P3 bit6    */
#define     p3_7    p3_addr.bit.b7                  /* Port P3 bit7    */
/*-----------------------------------------------------------------------------
 *  Port P3 direction register
 *---------------------------------------------------------------------------*/
#pragma ADDRESS pd3_addr    003e7H
union byte_def  pd3_addr;
#define     pd3     pd3_addr.byte
/*-----------------------------------------------------------------------------
 *  Port P2 register
 *---------------------------------------------------------------------------*/
#pragma ADDRESS p2_addr  003e4H
union byte_def  p2_addr;
#define     p2      p2_addr.byte

#define     p2_0    p2_addr.bit.b0                  /* Port P2 bit0    */
#define     p2_1    p2_addr.bit.b1                  /* Port P2 bit1    */
#define     p2_2    p2_addr.bit.b2                  /* Port P2 bit2    */
#define     p2_3    p2_addr.bit.b3                  /* Port P2 bit3    */
#define     p2_4    p2_addr.bit.b4                  /* Port P2 bit4    */
#define     p2_5    p2_addr.bit.b5                  /* Port P2 bit5    */
#define     p2_6    p2_addr.bit.b6                  /* Port P2 bit6    */
#define     p2_7    p2_addr.bit.b7                  /* Port P2 bit7    */
/*-----------------------------------------------------------------------------
 *  Port P7 direction register
 *---------------------------------------------------------------------------*/
#pragma ADDRESS pd2_addr 003e6H
union byte_def  pd2_addr;
#define     pd2     pd2_addr.byte
/*-----------------------------------------------------------------------------
 *  Port P8 register
 *---------------------------------------------------------------------------*/
#pragma ADDRESS p8_addr  003f0H
union byte_def  p8_addr;
#define     p8      p8_addr.byte

#define     p8_2    p8_addr.bit.b2                  /* Port P8 bit2    */
#define     p8_3    p8_addr.bit.b3                  /* Port P8 bit3    */
/*-----------------------------------------------------------------------------
 *  Port P8 direction register
 *---------------------------------------------------------------------------*/
#pragma ADDRESS pd8_addr 003f2H
union byte_def  pd8_addr;
#define     pd8     pd8_addr.byte

/* Port P8 direction register bit2    */
#define     pd8_2   pd8_addr.bit.b2

/*=============================================================================
 *   related register to INT0 
 *===========================================================================*/
/*-----------------------------------------------------------------------------
 *  INT0 interrupt control register  
 *---------------------------------------------------------------------------*/
#pragma ADDRESS int0ic_addr  0005DH
union byte_def    int0ic_addr;
#define     int0ic           int0ic_addr.byte

/* INT0 interrupt request bit */
#define     ir_int0ic        int0ic_addr.bit.b3


#endif  /* __TARGET_H */
/******************************************************************************
    end of file
******************************************************************************/

⌨️ 快捷键说明

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