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

📄 mb90560.h

📁 富士通单片机MB90F387上实现MODBUS
💻 H
📖 第 1 页 / 共 5 页
字号:
/*  FFMC-16 IO-MAP HEADER FILE      */
/*  ==========================      */
/* SOFTUNE WORKBENCH FORMAT         */
/* C-DEFINITIONS FOR IO-SYMBOLS     */
/* CREATED BY IO-WIZARD V2.10   */
/* DATE: 30/01/03 TIME: 10:01:08 AM */
/*  */
/* *********************************************************** */
/*               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   */
/* *********************************************************** */
/* History: */
/* Date      Version     Author      Description */
/* 26-01-99 : initial creation */
/* 20.03.99 : wrong io adresses created due to error in IOWizard input file */
/*                     a special section was defined for the patch function register */
/*                     which lead to complete wrong IO adress map */
/*                     -> IOBASE section added for IO section generation, Patch section removed */
/*  */
/* 29.03.99 : PPGC01, PPGC23, PPGC45 added to be able to start two PPGs simultaneously, */
/*                     additional bit names are modified according to PPG which is used */
/*                     Modified bit names in PCS01, PCS23, PCS45 according to PPG which is used */
/*  */
/* 14.04.00	v1.3    JRO */
/*         	-   generation of header and c file with IO-Wizard V 1.9 */
/*  */
/* 30.04.99	V1.4	VSA */
/* 	- Bitdefinitions for parallelports are changed to Pxx, Dxx */
/* 	- 082h TMCSR0 -> TMCR0 */
/* 	- 086h TMCSR1 -> TMCR1 */
/*  */
/* 18.05.99	V1.5	VSA */
/* 	- disclaimer added */
/* 02.08.99	V1.6	VSA */
/* 	- TMCSRx are added as double identifiers for TMCRx */
/* 27.08.99	V1.7	VSA */
/* 	- ICS23 Addr changed from 0069h to 006Ah */
/*  */
/* 01.09.99 	V1.8	MST */
/*          	- PPGCx change bit name, same bitname will be used for all channels  */
/*          	- PCSx change bit name, same bitname will be used for all channels  */
/* 30.11.99 	V1.9	VSA */
/* 	- 0036 ADCR 2 D0 .. D9 added */
/* 13.04.00	V1.10	VSA */
/* 	- Security section is moved to the end of file */
/* 03.07.00	V1.11	VSA */
/* 	- ADC unit included (adc_01.h) */
/* 10.10.00     V2.0    MST */
/*              - second Security2 section added at the beginning of the flash */
/* 01.11.00	V2.10	NMP */
/* 	- ADC structure realignment */
/* 08.11.00     V2.11   NMP */
/*              - Rebuild to remove incorrect comments */
/* 23.07.02     V2.12   HWe     new adc_01.h, icr.h (RMW-Problem) */
/* 30.01.03     V2.13   HWE     longwordaccess to PPG Reload: PRL01, .. , PRL45 */


#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{   /*  PORT DATA */
    IO_BYTE	byte;
    struct{
    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;
  }bit;
 }PDR0STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    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 P17 :1;
  }bit;
 }PDR1STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    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;
  }bit;
 }PDR2STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    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;
  }bit;
 }PDR3STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    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;
  }bit;
 }PDR4STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    IO_BYTE P50 :1;
    IO_BYTE P51 :1;
    IO_BYTE P52 :1;
    IO_BYTE P53 :1;
    IO_BYTE P54 :1;
    IO_BYTE P55 :1;
    IO_BYTE P56 :1;
    IO_BYTE P57 :1;
  }bit;
 }PDR5STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    IO_BYTE P60 :1;
    IO_BYTE P61 :1;
    IO_BYTE P62 :1;
    IO_BYTE P63 :1;
    IO_BYTE P64 :1;
    IO_BYTE P65 :1;
    IO_BYTE P66 :1;
    IO_BYTE P67 :1;
  }bit;
 }PDR6STR;
typedef union{   /* PORT DIR */
    IO_BYTE	byte;
    struct{
    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;
  }bit;
 }DDR0STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    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 D17 :1;
  }bit;
 }DDR1STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    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;
  }bit;
 }DDR2STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    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;
  }bit;
 }DDR3STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    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;
    IO_BYTE D47 :1;
  }bit;
 }DDR4STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    IO_BYTE D50 :1;
    IO_BYTE D51 :1;
    IO_BYTE D52 :1;
    IO_BYTE D53 :1;
    IO_BYTE D54 :1;
    IO_BYTE D55 :1;
    IO_BYTE D56 :1;
    IO_BYTE D57 :1;
  }bit;
 }DDR5STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    IO_BYTE D60 :1;
    IO_BYTE D61 :1;
    IO_BYTE D62 :1;
    IO_BYTE D63 :1;
    IO_BYTE D64 :1;
    IO_BYTE D65 :1;
    IO_BYTE D66 :1;
    IO_BYTE D67 :1;
  }bit;
 }DDR6STR;
typedef union{   /* Analog Input Enable Register */
    IO_BYTE	byte;
    struct{
    IO_BYTE AE0 :1;
    IO_BYTE AE1 :1;
    IO_BYTE AE2 :1;
    IO_BYTE AE3 :1;
    IO_BYTE AE4 :1;
    IO_BYTE AE5 :1;
    IO_BYTE AE6 :1;
    IO_BYTE AE7 :1;
  }bit;
 }ADERSTR;
typedef union{   /* UART0,1 */
    IO_BYTE	byte;
    struct{
    IO_BYTE SOE :1;
    IO_BYTE SCKE :1;
    IO_BYTE BCH :1;
    IO_BYTE CS0 :1;
    IO_BYTE CS1 :1;
    IO_BYTE CS2 :1;
    IO_BYTE MD0 :1;
    IO_BYTE MD1 :1;
  }bit;
  struct{
    IO_BYTE :1;
    IO_BYTE :1;
    IO_BYTE :1;
    IO_BYTE CS :3;
    IO_BYTE MD :2;
  }bitc;
 }SMR0STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    IO_BYTE TXE :1;
    IO_BYTE RXE :1;
    IO_BYTE REC :1;
    IO_BYTE AD :1;
    IO_BYTE CL :1;
    IO_BYTE SBL :1;
    IO_BYTE P :1;
    IO_BYTE PEN :1;
  }bit;
 }SCR0STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
  }bit;
 }SIDR0STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    IO_BYTE TIE :1;
    IO_BYTE RIE :1;
    IO_BYTE BDS :1;
    IO_BYTE TDRE :1;
    IO_BYTE RDRF :1;
    IO_BYTE FRE :1;
    IO_BYTE ORE :1;
    IO_BYTE PE :1;
  }bit;
 }SSR0STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    IO_BYTE SOE :1;
    IO_BYTE SCKE :1;
    IO_BYTE BCH :1;
    IO_BYTE CS0 :1;
    IO_BYTE CS1 :1;
    IO_BYTE CS2 :1;
    IO_BYTE MD0 :1;
    IO_BYTE MD1 :1;
  }bit;
  struct{
    IO_BYTE :1;
    IO_BYTE :1;
    IO_BYTE :1;
    IO_BYTE CS :3;
    IO_BYTE MD :2;
  }bitc;
 }SMR1STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    IO_BYTE TXE :1;
    IO_BYTE RXE :1;
    IO_BYTE REC :1;
    IO_BYTE AD :1;
    IO_BYTE CL :1;
    IO_BYTE SBL :1;
    IO_BYTE P :1;
    IO_BYTE PEN :1;
  }bit;
 }SCR1STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
  }bit;
 }SIDR1STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    IO_BYTE TIE :1;
    IO_BYTE RIE :1;
    IO_BYTE BDS :1;
    IO_BYTE TDRE :1;
    IO_BYTE RDRF :1;
    IO_BYTE FRE :1;
    IO_BYTE ORE :1;
    IO_BYTE PE :1;
  }bit;
 }SSR1STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    IO_BYTE DIV0 :1;
    IO_BYTE DIV1 :1;
    IO_BYTE DIV2 :1;
    IO_BYTE DIV3 :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE MD :1;
  }bit;
  struct{
    IO_BYTE DIV :4;
  }bitc;
 }CDCR0STR;
typedef union{  
    IO_BYTE	byte;
    struct{
    IO_BYTE DIV0 :1;
    IO_BYTE DIV1 :1;
    IO_BYTE DIV2 :1;
    IO_BYTE DIV3 :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE  :1;
    IO_BYTE MD :1;
  }bit;
  struct{
    IO_BYTE DIV :4;
  }bitc;
 }CDCR1STR;
typedef union{   /* DTP, External Interrupts */
    IO_BYTE	byte;
    struct{
    IO_BYTE EN0 :1;
    IO_BYTE EN1 :1;
    IO_BYTE EN2 :1;
    IO_BYTE EN3 :1;
    IO_BYTE EN4 :1;
    IO_BYTE EN5 :1;
    IO_BYTE EN6 :1;
    IO_BYTE EN7 :1;
  }bit;
 }ENIRSTR;
typedef union{  
    IO_BYTE	byte;
    struct{
    IO_BYTE ER0 :1;
    IO_BYTE ER1 :1;
    IO_BYTE ER2 :1;
    IO_BYTE ER3 :1;
    IO_BYTE ER4 :1;
    IO_BYTE ER5 :1;
    IO_BYTE ER6 :1;
    IO_BYTE ER7 :1;
  }bit;
 }EIRRSTR;
typedef union{  
    IO_WORD	word;
    struct{
    IO_WORD LA0 :1;
    IO_WORD LB0 :1;
    IO_WORD LA1 :1;
    IO_WORD LB1 :1;
    IO_WORD LA2 :1;
    IO_WORD LB2 :1;
    IO_WORD LA3 :1;
    IO_WORD LB3 :1;
    IO_WORD LA4 :1;
    IO_WORD LB4 :1;
    IO_WORD LA5 :1;
    IO_WORD LB5 :1;
    IO_WORD LA6 :1;
    IO_WORD LB6 :1;
    IO_WORD LA7 :1;
    IO_WORD LB7 :1;

⌨️ 快捷键说明

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