📄 iomaxq200x.h
字号:
/********************************************************************
*
* Register and bit definitions for Dallas Semiconductor/Maxim
* MAXQ200X.
*
* This file supports assembler and C development for MAXQ200X
*
* Copyright 2003 IAR Systems. All rights reserved.
*
* $Revision: 1.6 $
*
*
* EDITS:
* Paul Holden - Jun 01, 2005: Added bit-fields for I/O registers.
*
********************************************************************/
#ifndef __IOMAXQ200X
#define __IOMAXQ200X
#if (((__TID__ >> 8) & 0x7F) != 0x42) /* 0x42 = 66 dec */
#error iomaxqxx.h file for use with ICCMAXQ/AMAXQ only
#endif
#ifdef __IAR_SYSTEMS_ICC__
#pragma language=extended
#include "iomaxq.h"
/*-------------------------------------------------------------------------
* Special Function Registers
*-------------------------------------------------------------------------*/
/*-------------------------------*
* Module 0 *
*-------------------------------*/
/* Port 0 Output Register */
__no_init volatile __io union
{
unsigned char PO0;
struct
{
unsigned char bit0 : 1;
unsigned char bit1 : 1;
unsigned char bit2 : 1;
unsigned char bit3 : 1;
unsigned char bit4 : 1;
unsigned char bit5 : 1;
unsigned char bit6 : 1;
unsigned char bit7 : 1;
} PO0_bit;
} @ _M(0,0);
/* Port 1 Output Register */
__no_init volatile __io union
{
unsigned char PO1;
struct
{
unsigned char bit0 : 1;
unsigned char bit1 : 1;
unsigned char bit2 : 1;
unsigned char bit3 : 1;
unsigned char bit4 : 1;
unsigned char bit5 : 1;
unsigned char bit6 : 1;
unsigned char bit7 : 1;
} PO1_bit;
} @ _M(0,1);
/* Port 2 Output Register */
__no_init volatile __io union
{
unsigned char PO2;
struct
{
unsigned char bit0 : 1;
unsigned char bit1 : 1;
unsigned char bit2 : 1;
unsigned char bit3 : 1;
unsigned char bit4 : 1;
unsigned char bit5 : 1;
unsigned char bit6 : 1;
unsigned char bit7 : 1;
} PO2_bit;
} @ _M(0,2);
/* Port 3 Output Register */
__no_init volatile __io union
{
unsigned char PO3;
struct
{
unsigned char bit0 : 1;
unsigned char bit1 : 1;
unsigned char bit2 : 1;
unsigned char bit3 : 1;
unsigned char bit4 : 1;
unsigned char bit5 : 1;
unsigned char bit6 : 1;
unsigned char bit7 : 1;
} PO3_bit;
} @ _M(0,3);
/* External Interrupt Flag 0 Register */
__no_init volatile __io union
{
unsigned char EIF0;
struct
{
unsigned char IE0 : 1;
unsigned char IE1 : 1;
unsigned char IE2 : 1;
unsigned char IE3 : 1;
unsigned char IE4 : 1;
unsigned char IE5 : 1;
unsigned char IE6 : 1;
unsigned char IE7 : 1;
} EIF0_bit;
} @ _M(0,6);
/* External Interrupt Enable 0 Register */
__no_init volatile __io union
{
unsigned char EIE0;
struct
{
unsigned char EX0 : 1;
unsigned char EX1 : 1;
unsigned char EX2 : 1;
unsigned char EX3 : 1;
unsigned char EX4 : 1;
unsigned char EX5 : 1;
unsigned char IT0 : 1;
unsigned char IT1 : 1;
} EIE0_bit;
} @ _M(0x0, 0x7);
/* Port 0 Input Register */
__no_init volatile __io union
{
unsigned char PI0;
struct
{
unsigned char bit0 : 1;
unsigned char bit1 : 1;
unsigned char bit2 : 1;
unsigned char bit3 : 1;
unsigned char bit4 : 1;
unsigned char bit5 : 1;
unsigned char bit6 : 1;
unsigned char bit7 : 1;
} PI0_bit;
} @ _M(0,0x8);
/* Port 1 Input Register */
__no_init volatile __io union
{
unsigned char PI1;
struct
{
unsigned char bit0 : 1;
unsigned char bit1 : 1;
unsigned char bit2 : 1;
unsigned char bit3 : 1;
unsigned char bit4 : 1;
unsigned char bit5 : 1;
unsigned char bit6 : 1;
unsigned char bit7 : 1;
} PI1_bit;
} @ _M(0,0x9);
/* Port 2 Input Register */
__no_init volatile __io union
{
unsigned char PI2;
struct
{
unsigned char bit0 : 1;
unsigned char bit1 : 1;
unsigned char bit2 : 1;
unsigned char bit3 : 1;
unsigned char bit4 : 1;
unsigned char bit5 : 1;
unsigned char bit6 : 1;
unsigned char bit7 : 1;
} PI2_bit;
} @ _M(0,0xA);
/* Port 3 Input Register */
__no_init volatile __io union
{
unsigned char PI3;
struct
{
unsigned char bit0 : 1;
unsigned char bit1 : 1;
unsigned char bit2 : 1;
unsigned char bit3 : 1;
unsigned char bit4 : 1;
unsigned char bit5 : 1;
unsigned char bit6 : 1;
unsigned char bit7 : 1;
} PI3_bit;
} @ _M(0,0xB);
/* External Interrupt Edge Select 0 Register */
__no_init volatile __io union
{
unsigned char EIES0;
struct
{
unsigned char IT0 : 1;
unsigned char IT1 : 1;
unsigned char IT2 : 1;
unsigned char IT3 : 1;
unsigned char IT4 : 1;
unsigned char IT5 : 1;
unsigned char IT6 : 1;
unsigned char IT7 : 1;
} EIES0_bit;
} @ _M(0,0xC);
/* Port 0 Direction Register */
__no_init volatile __io union
{
unsigned char PD0;
struct
{
unsigned char bit0 : 1;
unsigned char bit1 : 1;
unsigned char bit2 : 1;
unsigned char bit3 : 1;
unsigned char bit4 : 1;
unsigned char bit5 : 1;
unsigned char bit6 : 1;
unsigned char bit7 : 1;
} PD0_bit;
} @ _M(0,0x10);
/* Port 1 Direction Register */
__no_init volatile __io union
{
unsigned char PD1;
struct
{
unsigned char bit0 : 1;
unsigned char bit1 : 1;
unsigned char bit2 : 1;
unsigned char bit3 : 1;
unsigned char bit4 : 1;
unsigned char bit5 : 1;
unsigned char bit6 : 1;
unsigned char bit7 : 1;
} PD1_bit;
} @ _M(0,0x11);
/* Port 2 Direction Register */
__no_init volatile __io union
{
unsigned char PD2;
struct
{
unsigned char bit0 : 1;
unsigned char bit1 : 1;
unsigned char bit2 : 1;
unsigned char bit3 : 1;
unsigned char bit4 : 1;
unsigned char bit5 : 1;
unsigned char bit6 : 1;
unsigned char bit7 : 1;
} PD2_bit;
} @ _M(0,0x12);
/* Port 3 Direction Register */
__no_init volatile __io union
{
unsigned char PD3;
struct
{
unsigned char bit0 : 1;
unsigned char bit1 : 1;
unsigned char bit2 : 1;
unsigned char bit3 : 1;
unsigned char bit4 : 1;
unsigned char bit5 : 1;
unsigned char bit6 : 1;
unsigned char bit7 : 1;
} PD3_bit;
} @ _M(0,0x13);
/* Real Time Clock Control Register */
__no_init volatile __io union
{
unsigned short RCNT;
struct
{
unsigned char RTCE : 1;
unsigned char ADE : 1;
unsigned char ASE : 1;
unsigned char BUSY : 1;
unsigned char RDY : 1;
unsigned char RDYE : 1;
unsigned char ALDF : 1;
unsigned char ALSF : 1;
unsigned char : 5;
unsigned char ACS : 1;
unsigned char X32D : 1;
unsigned char WE : 1;
} RCNT_bit;
} @ _M(0,0x19);
__no_init volatile __io unsigned char RTSS @ _M(0,0x1A); /* RT Clock Subsecond Counter */
__no_init volatile __io unsigned short RTSH @ _M(0,0x1B); /* RT Clock Second Counter High*/
__no_init volatile __io unsigned short RTSL @ _M(0,0x1C); /* RT Clock Second Counter Low */
__no_init volatile __io unsigned char RSSA @ _M(0,0x1D); /* RT Clock Subsecond Alarm */
__no_init volatile __io unsigned short RASH @ _M(0,0x1E); /* RT Clock T-O-D Alarm High */
__no_init volatile __io unsigned short RASL @ _M(0,0x1F); /* RT Clock T-O-D Alarm Low */
/*-------------------------------*
* Module 1 *
*-------------------------------*/
/* Port 4 Output Register */
__no_init volatile __io union
{
unsigned char PO4;
struct
{
unsigned char bit0 : 1;
unsigned char bit1 : 1;
unsigned char bit2 : 1;
unsigned char bit3 : 1;
unsigned char bit4 : 1;
unsigned char bit5 : 1;
unsigned char bit6 : 1;
unsigned char bit7 : 1;
} PO4_bit;
} @ _M(1,0);
/* Port 5 Output Register */
__no_init volatile __io union
{
unsigned char PO5;
struct
{
unsigned char bit0 : 1;
unsigned char bit1 : 1;
unsigned char bit2 : 1;
unsigned char bit3 : 1;
unsigned char bit4 : 1;
unsigned char bit5 : 1;
unsigned char bit6 : 1;
unsigned char bit7 : 1;
} PO5_bit;
} @ _M(1,1);
/* Port 6 Output Register */
__no_init volatile __io union
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -