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

📄 mb95100.h

📁 富士通单片机实现红外遥控电子云台
💻 H
📖 第 1 页 / 共 5 页
字号:
/* FFMC-16 IO-MAP HEADER FILE                                                */
/* ==========================                                                */
/* SOFTUNE WORKBENCH FORMAT                                                  */
/* C-DEFINITIONS FOR IO-SYMBOLS                                              */
/* CREATED BY IO-WIZARD V2.16                                                */
/* $Id: mb95100.h,v 1.9 2006/01/03 17:05:04 mvogel Exp $ */
/* THIS SAMPLE CODE IS PROVIDED AS IS AND IS SUBJECT TO ALTERATIONS. FUJITSU */
/* MICROELECTRONICS ACCEPTS NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR */
/* ELIGIBILITY FOR ANY PURPOSES.                                             */
/*                 (C) Fujitsu Microelectronics Europe GmbH                  */
/* ***************************************************************************** */
/*               FUJITSU MIKROELEKTRONIK GMBH                                */
/*               Am Siebenstein 6-10, 63303 Dreieich                         */
/*               Tel.:++49/6103/690-0,Fax - 122                              */
/*                                                                           */
/* The following software is for demonstration purposes only.                */
/* It is not fully tested, nor validated in order to fullfill                */
/* its task under all circumstances. Therefore, this software                */
/* or any part of it must only be used in an evaluation                      */
/* laboratory environment.                                                   */
/* This software is subject to the rules of our standard                     */
/* DISCLAIMER, that is delivered with our SW-tools (on the CD                */
/* "Micros Documentation & Software V3.0" see "\START.HTM" or                */
/* see our Internet Page -                                                   */
/* http://www.fujitsu-ede.com/products/micro/disclaimer.html                 */
/* ***************************************************************************** */
/*                                                                           */
/* NOTE:                                                                     */
/*                                                                           */
/* This header-file will cover all features of the MB95100series.            */
/* Not all versions of the MB95100series may support all features !          */
/* Please DO NOT USE resources / registers others than specified             */
/* for the dedicated Flash-/Mask-version.                                    */
/* Please refer to the datasheet and hardwaremanual of the MB95FV100.        */
/*                                                                           */
/*                                                                           */
/* ----------------------------------------------------------------------    */
/* Id: mb95100.iow,v 1.10 2006/01/03 17:02:24 mvogel Exp                     */
/* ----------------------------------------------------------------------    */
/* History:                                                                  */
/* Date		Version	Author	Description                                          */
/* Id: mb95100.iow,v 1.1 2004/10/14 06:51:09 hwech Exp                       */
/*      - initial version for CONCERTO-Kit                                   */
/* Id: mb95100.iow,v 1.2 2004/10/15 08:51:09 hwech Exp                       */
/*      - T0DR wordaccess (T01DR, T00DR) added                               */
/*      - T1DR wordaccess (T11DR, T10DR) added                               */
/* Id: mb95100.iow,v 1.3 2004/11/09 13:08:09 mvogel Exp                      */
/*      - corrected registers for 8/16bit PPG ch. 0                          */
/* Id: mb95100.iow,v 1.4 2004/17/22 10:15:09 mvogel Exp                      */
/*      - Dummy cvs ci                                                       */
/* Id: mb95100.iow,v 1.5 2005/01/11 15:13:00 mvogel Exp                      */
/*      - PCSR1 register updated                                             */
/* Id: mb95100.iow,v 1.7 2005/01/20 08:27:14 mvogel Exp                      */
/*      - corrected history part                                             */
/* Id: mb95100.iow,v 1.8 2005/01/25 09:13:19 mvogel Exp                      */
/*      - WDTC bit group added                                               */
/* Id: mb95100.iow,v 1.9 2005/01/25 09:13:19 mvogel Exp                      */
/*      - corrected bit MD0-MD2, CSL0-CSL2 of register TMCSR0/1              */
/* Id: mb95100.iow,v 1.10 2006/01/03 17:02:24 mvogel Exp                     */
/*      - corrected bit group for TMCSR0/1                                   */
/*                                                                           */


#ifndef   __MB90XXX_H
#  define __MB90XXX_H
/*
- Please define __IO_NEAR in LARGE and COMPACT memory model, if the default
  data bank (DTB) is 00. This will result in better performance in these
  models.
- Please define __IO_FAR in SMALL and MEDIUM memory model, if the default
  data bank (DTB) is other than 00. This might be the case in systems with
  external RAM, which are not using internal RAM as default data area.
- Please define neither __IO_NEAR nor __IO_FAR in all other cases. This
  will work with almost all configurations.
*/

#  ifdef  __IO_NEAR
#    ifdef  __IO_FAR
#      error __IO_NEAR and __IO_FAR must not be defined at the same time
#    else
#      define ___IOWIDTH __near
#    endif
#  else
#    ifdef __IO_FAR
#      define ___IOWIDTH __far
#    else                               /* specified by memory model */
#      define ___IOWIDTH
#    endif
#  endif
#  ifdef  __IO_DEFINE
#    define __IO_EXTERN
#    define __IO_EXTENDED volatile ___IOWIDTH
#  else
#    define __IO_EXTERN   extern      /* for data, which can have __io */
#    define __IO_EXTENDED extern volatile ___IOWIDTH
#  endif

typedef unsigned char		IO_BYTE;
typedef unsigned short		IO_WORD;
typedef unsigned long		IO_LWORD;
typedef const unsigned short	IO_WORD_READ;

/* REGISTER BIT STRUCTURES */

typedef union{   /* Port0 */
    IO_BYTE	byte;
    struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE _P07 :1;
    IO_BYTE _P06 :1;
    IO_BYTE _P05 :1;
    IO_BYTE _P04 :1;
    IO_BYTE _P03 :1;
    IO_BYTE _P02 :1;
    IO_BYTE _P01 :1;
    IO_BYTE _P00 :1;
    #else 
    IO_BYTE _P00 :1;
    IO_BYTE _P01 :1;
    IO_BYTE _P02 :1;
    IO_BYTE _P03 :1;
    IO_BYTE _P04 :1;
    IO_BYTE _P05 :1;
    IO_BYTE _P06 :1;
    IO_BYTE _P07 :1;
    #endif 
  }bit;
 }PDR0STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE _D07 :1;
    IO_BYTE _D06 :1;
    IO_BYTE _D05 :1;
    IO_BYTE _D04 :1;
    IO_BYTE _D03 :1;
    IO_BYTE _D02 :1;
    IO_BYTE _D01 :1;
    IO_BYTE _D00 :1;
    #else 
    IO_BYTE _D00 :1;
    IO_BYTE _D01 :1;
    IO_BYTE _D02 :1;
    IO_BYTE _D03 :1;
    IO_BYTE _D04 :1;
    IO_BYTE _D05 :1;
    IO_BYTE _D06 :1;
    IO_BYTE _D07 :1;
    #endif 
  }bit;
 }DDR0STR;
typedef union{   /* Port1    */
    IO_BYTE	byte;
    struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE  :1;
    IO_BYTE _P16 :1;
    IO_BYTE _P15 :1;
    IO_BYTE _P14 :1;
    IO_BYTE _P13 :1;
    IO_BYTE _P12 :1;
    IO_BYTE _P11 :1;
    IO_BYTE _P10 :1;
    #else 
    IO_BYTE _P10 :1;
    IO_BYTE _P11 :1;
    IO_BYTE _P12 :1;
    IO_BYTE _P13 :1;
    IO_BYTE _P14 :1;
    IO_BYTE _P15 :1;
    IO_BYTE _P16 :1;
    IO_BYTE  :1;
    #endif 
  }bit;
 }PDR1STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE  :1;
    IO_BYTE _D16 :1;
    IO_BYTE _D15 :1;
    IO_BYTE _D14 :1;
    IO_BYTE _D13 :1;
    IO_BYTE _D12 :1;
    IO_BYTE _D11 :1;
    IO_BYTE _D10 :1;
    #else 
    IO_BYTE _D10 :1;
    IO_BYTE _D11 :1;
    IO_BYTE _D12 :1;
    IO_BYTE _D13 :1;
    IO_BYTE _D14 :1;
    IO_BYTE _D15 :1;
    IO_BYTE _D16 :1;
    IO_BYTE  :1;
    #endif 
  }bit;
 }DDR1STR;
typedef union{   /* WATR */
    IO_BYTE	byte;
    struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE _SWT3 :1;
    IO_BYTE _SWT2 :1;
    IO_BYTE _SWT1 :1;
    IO_BYTE _SWT0 :1;
    IO_BYTE _MWT3 :1;
    IO_BYTE _MWT2 :1;
    IO_BYTE _MWT1 :1;
    IO_BYTE _MWT0 :1;
    #else 
    IO_BYTE _MWT0 :1;
    IO_BYTE _MWT1 :1;
    IO_BYTE _MWT2 :1;
    IO_BYTE _MWT3 :1;
    IO_BYTE _SWT0 :1;
    IO_BYTE _SWT1 :1;
    IO_BYTE _SWT2 :1;
    IO_BYTE _SWT3 :1;
    #endif 
  }bit;
  struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE _SWT :4;
    IO_BYTE _MWT :4;
    #else 
    IO_BYTE _MWT :4;
    IO_BYTE _SWT :4;
    #endif 
  }bitc;
 }WATRSTR;
typedef union{   /* PLL */
    IO_BYTE	byte;
    struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE _MPEN :1;
    IO_BYTE _MPCM1 :1;
    IO_BYTE _MPCM0 :1;
    IO_BYTE _MPRDY :1;
    IO_BYTE _SPEN :1;
    IO_BYTE _SPMC1 :1;
    IO_BYTE _SPMC0 :1;
    IO_BYTE _SPRDY :1;
    #else 
    IO_BYTE _SPRDY :1;
    IO_BYTE _SPMC0 :1;
    IO_BYTE _SPMC1 :1;
    IO_BYTE _SPEN :1;
    IO_BYTE _MPRDY :1;
    IO_BYTE _MPCM0 :1;
    IO_BYTE _MPCM1 :1;
    IO_BYTE _MPEN :1;
    #endif 
  }bit;
  struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE :1;
    IO_BYTE _MPCM :2;
    IO_BYTE :2;
    IO_BYTE _SPMC :2;
    #else 
    IO_BYTE :1;
    IO_BYTE _SPMC :2;
    IO_BYTE :2;
    IO_BYTE _MPCM :2;
    #endif 
  }bitc;
 }PLLCSTR;
typedef union{   /* SYCC */
    IO_BYTE	byte;
    struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE _SCM1 :1;
    IO_BYTE _SCM0 :1;
    IO_BYTE _SCS1 :1;
    IO_BYTE _SCS0 :1;
    IO_BYTE _SRDY :1;
    IO_BYTE _SUBS :1;
    IO_BYTE _DIV1 :1;
    IO_BYTE _DIV0 :1;
    #else 
    IO_BYTE _DIV0 :1;
    IO_BYTE _DIV1 :1;
    IO_BYTE _SUBS :1;
    IO_BYTE _SRDY :1;
    IO_BYTE _SCS0 :1;
    IO_BYTE _SCS1 :1;
    IO_BYTE _SCM0 :1;
    IO_BYTE _SCM1 :1;
    #endif 
  }bit;
  struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE _SCM :2;
    IO_BYTE _SCS :2;
    IO_BYTE :2;
    IO_BYTE _DIV :2;
    #else 
    IO_BYTE _DIV :2;
    IO_BYTE :2;
    IO_BYTE _SCS :2;
    IO_BYTE _SCM :2;
    #endif 
  }bitc;
 }SYCCSTR;
typedef union{   /* STBC */
    IO_BYTE	byte;
    struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE _STP :1;
    IO_BYTE _SLP :1;
    IO_BYTE _SPL :1;
    IO_BYTE _SRST :1;
    IO_BYTE _TMD :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    #else 
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE _TMD :1;
    IO_BYTE _SRST :1;
    IO_BYTE _SPL :1;
    IO_BYTE _SLP :1;
    IO_BYTE _STP :1;
    #endif 
  }bit;
 }STBCSTR;
typedef union{   /* RSRR */
    IO_BYTE	byte;
    struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE _CSVR :1;
    IO_BYTE _EXTS :1;
    IO_BYTE _WDTR :1;
    IO_BYTE _PONR :1;
    IO_BYTE _HWR :1;
    IO_BYTE _SWR :1;
    #else 
    IO_BYTE _SWR :1;
    IO_BYTE _HWR :1;
    IO_BYTE _PONR :1;
    IO_BYTE _WDTR :1;
    IO_BYTE _EXTS :1;
    IO_BYTE _CSVR :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    #endif 
  }bit;
 }RSRRSTR;
typedef union{   /* TBTC */
    IO_BYTE	byte;
    struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE _TBIF :1;
    IO_BYTE _TBIE :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE _TBC1 :1;
    IO_BYTE _TBC0 :1;
    IO_BYTE _TCLR :1;
    #else 
    IO_BYTE _TCLR :1;
    IO_BYTE _TBC0 :1;
    IO_BYTE _TBC1 :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE _TBIE :1;
    IO_BYTE _TBIF :1;
    #endif 
  }bit;
  struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE :5;
    IO_BYTE _TBC :2;
    #else 
    IO_BYTE :1;
    IO_BYTE _TBC :2;
    #endif 
  }bitc;
 }TBTCSTR;
typedef union{   /* WPCR */
    IO_BYTE	byte;
    struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE _WTIF :1;
    IO_BYTE _WTIE :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE _WTC1 :1;
    IO_BYTE _WTC0 :1;
    IO_BYTE _WCLR :1;
    #else 
    IO_BYTE _WCLR :1;
    IO_BYTE _WTC0 :1;
    IO_BYTE _WTC1 :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE _WTIE :1;
    IO_BYTE _WTIF :1;
    #endif 
  }bit;
  struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE :5;
    IO_BYTE _WTC :2;
    #else 
    IO_BYTE :1;
    IO_BYTE _WTC :2;
    #endif 
  }bitc;
 }WPCRSTR;
typedef union{   /* WDTC */
    IO_BYTE	byte;
    struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE _WTE0 :1;
    IO_BYTE _WTE1 :1;
    IO_BYTE _WTE2 :1;
    IO_BYTE _WTE3 :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE _CS0 :1;
    IO_BYTE _CS1 :1;
    #else 
    IO_BYTE _CS1 :1;
    IO_BYTE _CS0 :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE _WTE3 :1;
    IO_BYTE _WTE2 :1;
    IO_BYTE _WTE1 :1;
    IO_BYTE _WTE0 :1;
    #endif 
  }bit;
  struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE _WTE :4;
    IO_BYTE :2;
    IO_BYTE _CS :2;
    #else 
    IO_BYTE _CS :2;
    IO_BYTE :2;
    IO_BYTE _WTE :4;
    #endif 
  }bitc;
 }WDTCSTR;
typedef union{   /* Port2 */
    IO_BYTE	byte;
    struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE _P27 :1;
    IO_BYTE _P26 :1;
    IO_BYTE _P25 :1;
    IO_BYTE _P24 :1;
    IO_BYTE _P23 :1;
    IO_BYTE _P22 :1;
    IO_BYTE _P21 :1;
    IO_BYTE _P20 :1;
    #else 
    IO_BYTE _P20 :1;
    IO_BYTE _P21 :1;
    IO_BYTE _P22 :1;
    IO_BYTE _P23 :1;
    IO_BYTE _P24 :1;
    IO_BYTE _P25 :1;
    IO_BYTE _P26 :1;
    IO_BYTE _P27 :1;
    #endif 
  }bit;
 }PDR2STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE _D27 :1;
    IO_BYTE _D26 :1;
    IO_BYTE _D25 :1;
    IO_BYTE _D24 :1;
    IO_BYTE _D23 :1;
    IO_BYTE _D22 :1;
    IO_BYTE _D21 :1;
    IO_BYTE _D20 :1;
    #else 
    IO_BYTE _D20 :1;
    IO_BYTE _D21 :1;
    IO_BYTE _D22 :1;
    IO_BYTE _D23 :1;
    IO_BYTE _D24 :1;
    IO_BYTE _D25 :1;
    IO_BYTE _D26 :1;
    IO_BYTE _D27 :1;
    #endif 
  }bit;
 }DDR2STR;
typedef union{   /* Port3 */
    IO_BYTE	byte;
    struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE _P37 :1;
    IO_BYTE _P36 :1;
    IO_BYTE _P35 :1;
    IO_BYTE _P34 :1;
    IO_BYTE _P33 :1;
    IO_BYTE _P32 :1;
    IO_BYTE _P31 :1;
    IO_BYTE _P30 :1;
    #else 
    IO_BYTE _P30 :1;
    IO_BYTE _P31 :1;
    IO_BYTE _P32 :1;
    IO_BYTE _P33 :1;
    IO_BYTE _P34 :1;
    IO_BYTE _P35 :1;
    IO_BYTE _P36 :1;
    IO_BYTE _P37 :1;
    #endif 
  }bit;
 }PDR3STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE _D37 :1;
    IO_BYTE _D36 :1;
    IO_BYTE _D35 :1;
    IO_BYTE _D34 :1;
    IO_BYTE _D33 :1;
    IO_BYTE _D32 :1;
    IO_BYTE _D31 :1;
    IO_BYTE _D30 :1;
    #else 
    IO_BYTE _D30 :1;
    IO_BYTE _D31 :1;
    IO_BYTE _D32 :1;
    IO_BYTE _D33 :1;
    IO_BYTE _D34 :1;
    IO_BYTE _D35 :1;
    IO_BYTE _D36 :1;
    IO_BYTE _D37 :1;
    #endif 
  }bit;
 }DDR3STR;
typedef union{   /* Port4 */
    IO_BYTE	byte;
    struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE _P47 :1;
    IO_BYTE _P46 :1;
    IO_BYTE _P45 :1;
    IO_BYTE _P44 :1;
    IO_BYTE _P43 :1;
    IO_BYTE _P42 :1;
    IO_BYTE _P41 :1;
    IO_BYTE _P40 :1;
    #else 
    IO_BYTE _P40 :1;
    IO_BYTE _P41 :1;
    IO_BYTE _P42 :1;
    IO_BYTE _P43 :1;
    IO_BYTE _P44 :1;
    IO_BYTE _P45 :1;
    IO_BYTE _P46 :1;
    IO_BYTE _P47 :1;
    #endif 
  }bit;
 }PDR4STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    #if   defined(__BITFIELD_ORDER_MSB__)
    IO_BYTE _D47 :1;
    IO_BYTE _D46 :1;
    IO_BYTE _D45 :1;
    IO_BYTE _D44 :1;
    IO_BYTE _D43 :1;
    IO_BYTE _D42 :1;
    IO_BYTE _D41 :1;
    IO_BYTE _D40 :1;
    #else 
    IO_BYTE _D40 :1;
    IO_BYTE _D41 :1;
    IO_BYTE _D42 :1;
    IO_BYTE _D43 :1;
    IO_BYTE _D44 :1;
    IO_BYTE _D45 :1;
    IO_BYTE _D46 :1;

⌨️ 快捷键说明

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